Support %i

This commit is contained in:
jaby 2023-12-05 21:04:45 -05:00
parent f762536e33
commit c4892d51ab
4 changed files with 5 additions and 4 deletions

View File

@ -23,7 +23,7 @@ void font_writer_setup() {
void font_writer_update() { void font_writer_update() {
auto state = JabyEngine::State::create(JabyEngine::Make::PositionI16(8, 8), wiggle_count); auto state = JabyEngine::State::create(JabyEngine::Make::PositionI16(8, 8), wiggle_count);
new_font_writer.write(state, "012345 ABCDEFGHIJKL\nabcedfghijkl\n", JabyEngine::GPU::Color24::Blue(), &wiggle); new_font_writer.write(state, "012345 ABCDEFGHIJKL\nabcedfghijkl\n", JabyEngine::GPU::Color24::Blue(), &wiggle);
new_font_writer.write(state, "Mi%iau:", JabyEngine::GPU::Color24::Yellow(), &wiggle, 12345); new_font_writer.write(state, "Wiggle Count: %i", JabyEngine::GPU::Color24::Green(), &wiggle, wiggle_count);
if(timer.is_expired_for(50_ms)) { if(timer.is_expired_for(50_ms)) {
timer.reset(); timer.reset();

View File

@ -5,5 +5,6 @@ typedef __builtin_va_list va_list;
#define va_start __builtin_va_start #define va_start __builtin_va_start
#define va_end __builtin_va_end #define va_end __builtin_va_end
#define next_arg __builtin_next_arg #define next_arg __builtin_next_arg
#define va_arg __builtin_va_arg
#endif // !__STDARG__H #endif // !__STDARG__H

View File

@ -40,7 +40,7 @@ namespace JabyEngine {
void write(State& state, const char* str, GPU::Color24 color, Wiggle* wiggle, ...) { void write(State& state, const char* str, GPU::Color24 color, Wiggle* wiggle, ...) {
__write_impl(wiggle, color, wiggle); __write_impl(wiggle, color, wiggle);
} }
void write(State& state, const char* str, GPU::Color24 color, Wiggle* wiggle, va_list b); void write(State& state, const char* str, GPU::Color24 color, Wiggle* wiggle, va_list list);
void render(); void render();
#undef __write_impl #undef __write_impl

View File

@ -43,7 +43,7 @@ namespace JabyEngine {
} }
} }
void FontWriter :: write(State& state, const char* str, GPU::Color24 color, Wiggle* wiggle, va_list b) { void FontWriter :: write(State& state, const char* str, GPU::Color24 color, Wiggle* wiggle, va_list list) {
const auto* primitive_end = &this->prim_buffer.double_buffer[GPU::Display::current_id][this->prim_buffer.single_buffer_length]; const auto* primitive_end = &this->prim_buffer.double_buffer[GPU::Display::current_id][this->prim_buffer.single_buffer_length];
const auto font_size = this->prim_buffer.double_buffer[0][0]->size; const auto font_size = this->prim_buffer.double_buffer[0][0]->size;
const auto row_count = 256/font_size.width; const auto row_count = 256/font_size.width;
@ -91,7 +91,7 @@ namespace JabyEngine {
switch(*str) { switch(*str) {
case 'i': case 'i':
prev_str = str + 1; prev_str = str + 1;
str = simple_itoa(buffer, -505, 10); str = simple_itoa(buffer, va_arg(list, int), 10);
continue; continue;
case '%': case '%':