X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=common%2Fconfig.c;h=42920001693a45aabe3c13ccb1e039ccfedff77f;hb=662e622b59369f975691a70756f80188d8d27ea0;hp=a6d4f1d3b405ee68b451c9fdd9c8836c221311c2;hpb=2239662e540d460859ef50c7e2137ae1822eb8d9;p=libpicofe.git diff --git a/common/config.c b/common/config.c index a6d4f1d..4292000 100644 --- a/common/config.c +++ b/common/config.c @@ -10,6 +10,7 @@ #include #endif #include "config.h" +#include "plat.h" #include "input.h" #include "lprintf.h" @@ -197,6 +198,7 @@ static int default_var(const menu_entry *me) case MA_OPT2_GAMMA: return defaultConfig.gamma; case MA_OPT_FRAMESKIP: return defaultConfig.Frameskip; case MA_OPT_CPU_CLOCKS: return defaultConfig.CPUclock; + case MA_OPT_RENDERER: return defaultConfig.renderer; case MA_OPT_SAVE_SLOT: default: @@ -217,9 +219,6 @@ static int is_cust_val_default(const menu_entry *me) case MA_OPT_CONFIRM_STATES: return !((defaultConfig.EmuOpt ^ currentConfig.EmuOpt) & (EOPT_CONFIRM_LOAD|EOPT_CONFIRM_SAVE)) == 0; - case MA_OPT_RENDERER: - return ((defaultConfig.s_PicoOpt ^ PicoOpt) & POPT_ALT_RENDERER) == 0 && - ((defaultConfig.EmuOpt ^ currentConfig.EmuOpt) & EOPT_16BPP) == 0; case MA_CDOPT_READAHEAD: return defaultConfig.s_PicoCDBuffers == PicoCDBuffers; default:break; @@ -468,26 +467,21 @@ int config_readlrom(const char *fname) static int custom_read(menu_entry *me, const char *var, const char *val) { char *tmp; - int tmpi; + int i; switch (me->id) { case MA_OPT_RENDERER: - if (strcasecmp(var, "Renderer") != 0) return 0; - if (strcasecmp(val, "8bit fast") == 0 || strcasecmp(val, "fast") == 0) { - PicoOpt |= POPT_ALT_RENDERER; - } - else if (strcasecmp(val, "16bit accurate") == 0 || strcasecmp(val, "accurate") == 0) { - PicoOpt &= ~POPT_ALT_RENDERER; - currentConfig.EmuOpt |= 0x80; - } - else if (strcasecmp(val, "8bit accurate") == 0) { - PicoOpt &= ~POPT_ALT_RENDERER; - currentConfig.EmuOpt &= ~0x80; - } - else + if (strcasecmp(var, "Renderer") != 0 || renderer_names == NULL) return 0; - return 1; + + for (i = 0; renderer_names[i] != NULL; i++) { + if (strcasecmp(val, renderer_names[i]) == 0) { + currentConfig.renderer = i; + return 1; + } + } + return 0; case MA_OPT_SCALING: #ifdef __GP2X__ @@ -589,9 +583,9 @@ static int custom_read(menu_entry *me, const char *var, const char *val) case MA_OPT2_SQUIDGEHACK: if (strcasecmp(var, "Squidgehack") != 0) return 0; - tmpi = atoi(val); - if (tmpi) *(int *)me->var |= me->mask; - else *(int *)me->var &= ~me->mask; + i = atoi(val); + if (i) *(int *)me->var |= me->mask; + else *(int *)me->var &= ~me->mask; return 1; case MA_CDOPT_READAHEAD: