summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMenase Teshale <osome3717@gmail.com>2026-09-04 20:47:08 +0300
committerMenase Teshale <osome3717@gmail.com>2026-09-04 20:47:08 +0300
commit7b407b8083268e982cbc80b6c1f969dcdc6dec8d (patch)
tree85c67eb54bd4c48852bc9777e1596fd192c58f2c
parentcd4a22bbfbe032d92616313853026f17b89b362b (diff)
Scaling Added
-rw-r--r--src/font.c32
-rw-r--r--src/font.h8
-rw-r--r--src/game.c15
-rw-r--r--src/main.c2
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;
}