frontend: don't frameskip on fast forward
[pcsx_rearmed.git] / frontend / main.c
index d52fe21..da4c713 100644 (file)
@@ -129,28 +129,31 @@ static void set_default_paths(void)
 void emu_set_default_config(void)
 {
        // try to set sane config on which most games work
-       Config.Xa = Config.Cdda = Config.Sio =
-       Config.icache_emulation = Config.SpuIrq = Config.RCntFix = Config.VSyncWA = 0;
+       Config.Xa = Config.Cdda = 0;
+       Config.icache_emulation = 0;
        Config.PsxAuto = 1;
-
-       pl_rearmed_cbs.thread_rendering = 0;
+       Config.cycle_multiplier = CYCLE_MULT_DEFAULT;
+       Config.GpuListWalking = -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.ilace_force = 0;
-       pl_rearmed_cbs.gpu_unai.pixel_skip = 1;
+#if 0
+       pl_rearmed_cbs.gpu_senquack.ilace_force = 0;
+       pl_rearmed_cbs.gpu_senquack.pixel_skip = 0;
+       pl_rearmed_cbs.gpu_senquack.lighting = 1;
+       pl_rearmed_cbs.gpu_senquack.fast_lighting = 0;
+       pl_rearmed_cbs.gpu_senquack.blending = 1;
+       pl_rearmed_cbs.gpu_senquack.dithering = 0;
+#else
        pl_rearmed_cbs.gpu_unai.lighting = 1;
-       pl_rearmed_cbs.gpu_unai.fast_lighting = 1;
        pl_rearmed_cbs.gpu_unai.blending = 1;
-       pl_rearmed_cbs.gpu_unai.dithering = 0;
-       // old gpu_unai config
+#endif
        pl_rearmed_cbs.gpu_unai.abe_hack =
        pl_rearmed_cbs.gpu_unai.no_light =
        pl_rearmed_cbs.gpu_unai.no_blend = 0;
-       pl_rearmed_cbs.gpu_unai.scale_hires = 0;
        memset(&pl_rearmed_cbs.gpu_peopsgl, 0, sizeof(pl_rearmed_cbs.gpu_peopsgl));
        pl_rearmed_cbs.gpu_peopsgl.iVRamSize = 64;
        pl_rearmed_cbs.gpu_peopsgl.iTexGarbageCollection = 1;
@@ -160,7 +163,8 @@ void emu_set_default_config(void)
        spu_config.iXAPitch = 0;
        spu_config.iVolume = 768;
        spu_config.iTempo = 0;
-       spu_config.iUseThread = 1; // no effect if only 1 core is detected
+       // may cause issues, no effect if only 1 core is detected
+       spu_config.iUseThread = 0;
 #if defined(HAVE_PRE_ARMV7) && !defined(_3DS) /* XXX GPH hack */
        spu_config.iUseReverb = 0;
        spu_config.iUseInterpolation = 0;
@@ -169,7 +173,6 @@ void emu_set_default_config(void)
 #endif
 #endif
        new_dynarec_hacks = 0;
-       cycle_multiplier = 200;
 
        in_type[0] = PSE_PAD_TYPE_STANDARD;
        in_type[1] = PSE_PAD_TYPE_STANDARD;
@@ -432,7 +435,7 @@ static void log_wrong_cpu(void)
        CHECK_CPU("ssse3");
 #endif
 #ifdef __SSE4_1__
-       CHECK_CPU("sse4");
+       CHECK_CPU("sse4.1");
 #endif
 #endif // DO_CPU_CHECKS
 }
@@ -489,7 +492,7 @@ int emu_core_init(void)
 
 void emu_core_ask_exit(void)
 {
-       stop = 1;
+       stop++;
        g_emu_want_quit = 1;
 }
 
@@ -705,8 +708,8 @@ static void toggle_fast_forward(int force_off)
 {
        static int fast_forward;
        static int normal_g_opts;
-       static int normal_frameskip;
        static int normal_enhancement_enable;
+       //static int normal_frameskip;
 
        if (force_off && !fast_forward)
                return;
@@ -714,16 +717,16 @@ static void toggle_fast_forward(int force_off)
        fast_forward = !fast_forward;
        if (fast_forward) {
                normal_g_opts = g_opts;
-               normal_frameskip = pl_rearmed_cbs.frameskip;
+               //normal_frameskip = pl_rearmed_cbs.frameskip;
                normal_enhancement_enable =
                        pl_rearmed_cbs.gpu_neon.enhancement_enable;
 
                g_opts |= OPT_NO_FRAMELIM;
-               pl_rearmed_cbs.frameskip = 3;
+               // pl_rearmed_cbs.frameskip = 3; // too broken
                pl_rearmed_cbs.gpu_neon.enhancement_enable = 0;
        } else {
                g_opts = normal_g_opts;
-               pl_rearmed_cbs.frameskip = normal_frameskip;
+               //pl_rearmed_cbs.frameskip = normal_frameskip;
                pl_rearmed_cbs.gpu_neon.enhancement_enable =
                        normal_enhancement_enable;
 
@@ -738,7 +741,7 @@ static void toggle_fast_forward(int force_off)
 static void SignalExit(int sig) {
        // only to restore framebuffer/resolution on some devices
        plat_finish();
-       exit(1);
+       _exit(1);
 }
 #endif
 
@@ -782,9 +785,6 @@ void SysClose() {
        }
 }
 
-void SysUpdate() {
-}
-
 int get_state_filename(char *buf, int size, int i) {
        return get_gameid_filename(buf, size,
                "." STATES_DIR "%.32s-%.9s.%3.3d", i);
@@ -891,8 +891,6 @@ static int _OpenPlugins(void) {
        signal(SIGPIPE, SignalExit);
 #endif
 
-       GPU_clearDynarec(clearDynarec);
-
        ret = CDR_open();
        if (ret < 0) { SysMessage(_("Error opening CD-ROM plugin!")); return -1; }
        ret = SPU_open();