X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=common%2Fconfig.c;h=42920001693a45aabe3c13ccb1e039ccfedff77f;hb=9cfdd2d2e94daaeb85ab7f1675312dec80659ec3;hp=b2f55ccf3f167ed5bc424c49fbaff2d0f1bcb4c3;hpb=fea1749d54845b0c8305d8210369ed45c7eb3e5d;p=libpicofe.git diff --git a/common/config.c b/common/config.c index b2f55cc..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" @@ -21,7 +22,12 @@ static char *mystrip(char *str); #include "emu.h" #include +// always output DOS endlines +#ifdef _WIN32 +#define NL "\n" +#else #define NL "\r\n" +#endif static int seek_sect(FILE *f, const char *section) { @@ -192,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: @@ -212,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; @@ -463,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__ @@ -584,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: