Files
Microtransactions64/s2d_buffer.c

40 lines
789 B
C
Raw Normal View History

2021-03-13 13:06:42 -05:00
#include "config.h"
#include "s2d_error.h"
#include "s2d_print.h"
#define S2D_BUFFERSIZE 100
struct s2d_pos {
int x;
int y;
};
static struct s2d_pos s2d_positions[S2D_BUFFERSIZE];
static char *s2d_charBuffer[S2D_BUFFERSIZE];
static int s2d_charBuffer_index = 0;
void s2d_reset_defer_index(void) {
s2d_charBuffer_index = 0;
}
// TODO: these DO NOT work
// pls debug :)
void s2d_print_deferred(int x, int y, const char *str) {
s2d_charBuffer[s2d_charBuffer_index] = str;
s2d_positions[s2d_charBuffer_index].x = x;
s2d_positions[s2d_charBuffer_index].y = y;
s2d_charBuffer_index++;
}
void s2d_handle_deferred(void) {
for (int i = 0; i < s2d_charBuffer_index; i++) {
s2d_print_alloc(
s2d_positions[i].x,
s2d_positions[i].y,
ALIGN_LEFT,
s2d_charBuffer[i]
);
}
}