From 7b407b8083268e982cbc80b6c1f969dcdc6dec8d Mon Sep 17 00:00:00 2001 From: Menase Teshale Date: Fri, 4 Sep 2026 20:47:08 +0300 Subject: Scaling Added --- src/font.c | 32 +++++++++++++++++++++++++------- src/font.h | 8 ++++++++ src/game.c | 15 ++++++++------- src/main.c | 2 +- 4 files changed, 42 insertions(+), 15 deletions(-) diff --git a/src/font.c b/src/font.c index 17c62ad..b04c0df 100644 --- a/src/font.c +++ b/src/font.c @@ -326,12 +326,13 @@ bool load_sprite_font(SDL_Renderer* renderer, const char* filename, sprite_font* return true; } -void draw_text_with_spritefont +void draw_text_with_spritefont_extended ( SDL_Renderer* renderer, sprite_font* font, const unsigned char* text, - float x_position, float y_position + float x_position, float y_position, + float scale ) { while (*text) { const font_char* fc = &font->characters[*text-font->smallest_character]; @@ -349,12 +350,29 @@ void draw_text_with_spritefont .h = fc->height }, &(SDL_FRect){ - .x = x_position + fc->x_offset, - .y = y_position + fc->y_offset, - .w = fc->width, - .h = fc->height + .x = x_position + fc->x_offset*scale, + .y = (y_position + fc->y_offset) * scale, + .w = fc->width * scale, + .h = fc->height * scale }); - x_position += fc->x_advance; + x_position += fc->x_advance * scale; text++; } } + + +void draw_text_with_spritefont +( + SDL_Renderer* renderer, + sprite_font* font, + const unsigned char* text, + float x_position, float y_position +) { + draw_text_with_spritefont_extended(renderer, + font, + text, + x_position, + y_position, + 1.0 + ); +} diff --git a/src/font.h b/src/font.h index e8fcffa..90c62ce 100644 --- a/src/font.h +++ b/src/font.h @@ -23,6 +23,14 @@ typedef struct { bool load_sprite_font(SDL_Renderer* renderer, const char* filename, sprite_font* font); void free_sprite_font(sprite_font* font); +void draw_text_with_spritefont_extended +( + SDL_Renderer* renderer, + sprite_font* font, + const unsigned char* text, + float x_position, float y_position, + float scale +); void draw_text_with_spritefont ( SDL_Renderer* renderer, diff --git a/src/game.c b/src/game.c index 879cf19..c4dd0e0 100644 --- a/src/game.c +++ b/src/game.c @@ -751,11 +751,12 @@ void draw_timed_mode(SDL_Renderer* renderer) { timed_mode_data* timed_mode_data = &game.timed_mode_data; char timed_mode_display[50]; - snprintf(timed_mode_display, 50, "Time Remaining: %.2f", timed_mode_data->time_remaining); - - draw_text_with_spritefont(renderer, - &game.f, - (unsigned char*)timed_mode_display, - 0, 0 - ); + snprintf(timed_mode_display, 50, "%.1fs, Timed Mode", timed_mode_data->time_remaining); + + draw_text_with_spritefont_extended(renderer, + &game.f, + (unsigned char*)timed_mode_display, + 0, 0, + 2.0 + ); } diff --git a/src/main.c b/src/main.c index e26e971..5102a7f 100644 --- a/src/main.c +++ b/src/main.c @@ -89,7 +89,7 @@ void SDL_AppQuit(void* userdata, SDL_AppResult result) { } void init_app(SDL_Renderer* renderer, MIX_Mixer* mixer) { - init_timed_game(renderer, mixer, 5); + init_timed_game(renderer, mixer, 200); app_state = game_state; } -- cgit v1.2.3