restore defaults function + some refactoring
[picodrive.git] / platform / gp2x / emu.c
index e7993ec..64b439c 100644 (file)
@@ -341,15 +341,26 @@ static void vidResetMode(void)
        else gp2x_video_RGB_setscaling(0, (PicoOpt&0x100)&&!(Pico.video.reg[12]&1) ? 256 : 320, 240);\r
 }\r
 \r
-void plat_video_toggle_renderer(void)\r
+void plat_video_toggle_renderer(int is_next, int is_menu)\r
 {\r
+       /* alt, 16bpp, 8bpp */\r
        if (PicoOpt & POPT_ALT_RENDERER) {\r
                PicoOpt &= ~POPT_ALT_RENDERER;\r
-               currentConfig.EmuOpt |= EOPT_16BPP;\r
-       } else if (!(currentConfig.EmuOpt & EOPT_16BPP))\r
-               PicoOpt |= POPT_ALT_RENDERER;\r
-       else\r
+               if (is_next)\r
+                       currentConfig.EmuOpt |= EOPT_16BPP;\r
+       } else if (!(currentConfig.EmuOpt & EOPT_16BPP)) {\r
+               if (is_next)\r
+                       PicoOpt |= POPT_ALT_RENDERER;\r
+               else\r
+                       currentConfig.EmuOpt |= EOPT_16BPP;\r
+       } else {\r
                currentConfig.EmuOpt &= ~EOPT_16BPP;\r
+               if (!is_next)\r
+                       PicoOpt |= POPT_ALT_RENDERER;\r
+       }\r
+\r
+       if (is_menu)\r
+               return;\r
 \r
        vidResetMode();\r
 \r