From aea1ab9b8669263d64bba57774818c6aae938386 Mon Sep 17 00:00:00 2001 From: Isaac0-dev <62234577+Isaac0-dev@users.noreply.github.com> Date: Sat, 14 Jun 2025 14:35:09 +1000 Subject: [PATCH] change the djui auto scale math unfortunately the completely dynamic method causes scaling issues with text --- src/pc/djui/djui_gfx.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/pc/djui/djui_gfx.c b/src/pc/djui/djui_gfx.c index 87d398826..5a9d2bbcf 100644 --- a/src/pc/djui/djui_gfx.c +++ b/src/pc/djui/djui_gfx.c @@ -8,6 +8,7 @@ #include "gfx_dimensions.h" #include "djui_gfx.h" #include "pc/debuglog.h" +#include "engine/math_util.h" const Gfx dl_djui_display_list_begin[] = { gsSPTextureAddrDjui(1), @@ -61,11 +62,15 @@ const Gfx dl_djui_simple_rect[] = { gsSPEndDisplayList(), }; +f32 round_to_multiple_f(f32 value, f32 multiple) { + return roundf(value / multiple) * multiple; +} + f32 djui_gfx_get_scale(void) { if (configDjuiScale == 0) { // auto u32 windowWidth, windowHeight; gfx_get_dimensions(&windowWidth, &windowHeight); - return ((f32)windowHeight / (f32)SCREEN_HEIGHT) / 4.0f; + return clamp(round_to_multiple_f(((f32)windowHeight / (f32)SCREEN_HEIGHT) / 4.0f, 0.5f), 0.5f, 1.5f); } else { switch (configDjuiScale) { case 1: return 0.5f;