frontend: add renderer toggle option
[pcsx_rearmed.git] / frontend / main.c
index 59fa24a..7c15cb0 100644 (file)
@@ -143,6 +143,8 @@ void emu_set_default_config(void)
        Config.PsxAuto = 1;
 
        pl_rearmed_cbs.gpu_neon.allow_interlace = 2; // auto
+       pl_rearmed_cbs.gpu_neon.enhancement_enable =
+       pl_rearmed_cbs.gpu_neon.enhancement_no_main = 0;
        pl_rearmed_cbs.gpu_peops.iUseDither = 0;
        pl_rearmed_cbs.gpu_peops.dwActFixes = 1<<7;
        pl_rearmed_cbs.gpu_unai.abe_hack =
@@ -230,6 +232,11 @@ do_state_slot:
                        pl_rearmed_cbs.frameskip == 0 ? "OFF" : "1" );
                plugin_call_rearmed_cbs();
                break;
+       case SACTION_TOGGLE_RENDERER:
+               pl_rearmed_cbs.gpu_neon.enhancement_enable =
+                       !pl_rearmed_cbs.gpu_neon.enhancement_enable;
+               plugin_call_rearmed_cbs();
+               break;
        case SACTION_SCREENSHOT:
                {
                        char buf[MAXPATHLEN];
@@ -255,7 +262,16 @@ do_state_slot:
                plat_step_volume(emu_action == SACTION_VOLUME_UP);
                return;
        case SACTION_MINIMIZE:
+               if (GPU_close != NULL)
+                       GPU_close();
+
                plat_minimize();
+
+               if (GPU_open != NULL) {
+                       ret = GPU_open(&gpuDisp, "PCSX", NULL);
+                       if (ret)
+                               fprintf(stderr, "GPU_open returned %d\n", ret);
+               }
                return;
 #endif
        default: