ReC98/th01/hardware/text.h

30 lines
935 B
C
Raw Normal View History

// Fills the text layer with spaces.
// ZUN bloat: The slowest imaginable version of this operation.
#define text_fill_space(esc_move_topleft, tmp_x, tmp_y) { \
printf(esc_move_topleft); \
for(tmp_y = 0; tmp_y < (RES_Y / GLYPH_H); tmp_y++) { \
for(tmp_x = 0; tmp_x < (RES_X / GLYPH_HALF_W); tmp_x++) { \
printf(" "); \
} \
} \
}
// Fills the text layer with opaque black.
// MODDERS: This should maybe reset the current text mode color.
#define text_fill_black(tmp_x, tmp_y) { \
printf("\x1B[16;40m"); \
text_fill_space("\x1B[0;0H", tmp_x, tmp_y); \
}
inline void text_color_reset(void) {
printf("\x1B[0m");
}
// Fills the text layer with transparent spaces. Yes, this overwrites the
// perfectly suitable master.lib function with the same name.
#define text_clear_sloppy(tmp_x, tmp_y) { \
text_color_reset(); \
/* (yes, this escape sequence is actually 1-based) */ \
text_fill_space("\x1B[1;1H", tmp_x, tmp_y); \
}