From 4392535ee6e8def726dc07e2752102421e088823 Mon Sep 17 00:00:00 2001 From: anod <182859762@qq.com> Date: Tue, 4 Jul 2023 21:56:41 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A4=84=E7=90=86printf=E4=B8=8D=E6=94=AF?= =?UTF-8?q?=E6=8C=81%f=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/arm11/pages.c | 31 +++++++++++++++++++++++-------- 1 file changed, 23 insertions(+), 8 deletions(-) diff --git a/source/arm11/pages.c b/source/arm11/pages.c index fcfef91..70ec303 100644 --- a/source/arm11/pages.c +++ b/source/arm11/pages.c @@ -63,10 +63,10 @@ atp_text_t CONFIG_OUTPUT = "[general]\n" \ "useGbaDb=%s\n\n" \ "[video]\n" \ "scaler=%d\n" \ - "gbaGamma=%1.2f\n" \ - "lcdGamma=%1.2f\n" \ - "contrast=%1.2f\n" \ - "brightness=%1.2f\n\n" \ + "gbaGamma=%s\n" \ + "lcdGamma=%s\n" \ + "contrast=%s\n" \ + "brightness=%s\n\n" \ "[advanced]\n" \ "saveOverride=false\n" \ "defaultSave=%d\n\n" \ @@ -120,6 +120,17 @@ static atp_error_t config_item( atp_callerdata_t gblcfg, atp_counter_t index, at return ATP_SUCCESS; } +static char* float2str( float f, char out[16] ) +{ + int s = (int)f; + if( f < 0 ) f = -f; + f = f - floor(f); + f *= 100; + int n = (int)f; + ee_snprintf(out, 16, "%d.%02d", s, n); + return out; +} + static atp_pageopt_t config_adjust( atp_callerdata_t gblcfg, atp_counter_t index, atp_boolean_t x, atp_boolean_t, atp_boolean_t l, atp_boolean_t r, atp_boolean_t start, atp_boolean_t ) { OafConfig *g_oafConfig = (OafConfig*)gblcfg; @@ -158,16 +169,20 @@ static atp_pageopt_t config_adjust( atp_callerdata_t gblcfg, atp_counter_t index char *data = malloc( len ); if( data == NULL ) return ATP_PAGE_DOSELECT; // only ignore this save + char gbaGamma[16]; + char lcdGamma[16]; + char contract[16]; + char brightness[16]; len = ee_snprintf( data, len, CONFIG_OUTPUT, g_oafConfig->backlight, g_oafConfig->directBoot ? "true":"false", g_oafConfig->useGbaDb ? "true" : "false", g_oafConfig->scaler, - g_oafConfig->gbaGamma, - g_oafConfig->lcdGamma, - g_oafConfig->contrast, - g_oafConfig->brightness, + float2str(g_oafConfig->gbaGamma, gbaGamma), + float2str(g_oafConfig->lcdGamma, lcdGamma), + float2str(g_oafConfig->contrast, contract), + float2str(g_oafConfig->brightness, brightness), g_oafConfig->defaultSave, g_oafConfig->cheatMode );