frontend: don't frameskip on fast forward
authornotaz <notasas@gmail.com>
Thu, 31 Aug 2023 20:32:18 +0000 (23:32 +0300)
committernotaz <notasas@gmail.com>
Thu, 31 Aug 2023 20:32:18 +0000 (23:32 +0300)
It just glitches everything.
Standalone only, libretro does it's own thing.

frontend/main.c
frontend/menu.c

index be93282..092a844 100644 (file)
@@ -703,8 +703,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;
@@ -712,16 +712,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;
 
index 901c72d..ee60df6 100644 (file)
@@ -91,7 +91,8 @@ typedef enum
 } menu_id;
 
 static int last_vout_w, last_vout_h, last_vout_bpp;
-static int cpu_clock, cpu_clock_st, volume_boost, frameskip;
+static int cpu_clock, cpu_clock_st, volume_boost;
+static int frameskip = 1; // 0 - auto, 1 - off
 static char last_selected_fname[MAXPATHLEN];
 static int config_save_counter, region, in_type_sel1, in_type_sel2;
 static int psx_clock;
@@ -337,7 +338,7 @@ static void menu_set_defconfig(void)
        g_scaler = SCALE_4_3;
        g_gamma = 100;
        volume_boost = 0;
-       frameskip = 0;
+       frameskip = 1; // 1 - off
        analog_deadzone = 50;
        soft_scaling = 1;
        soft_filter = 0;
@@ -424,7 +425,7 @@ static const struct {
        CE_INTVAL(g_autostateld_opt),
        CE_INTVAL_N("adev0_is_nublike", in_adev_is_nublike[0]),
        CE_INTVAL_N("adev1_is_nublike", in_adev_is_nublike[1]),
-       CE_INTVAL_V(frameskip, 3),
+       CE_INTVAL_V(frameskip, 4),
        CE_INTVAL_P(gpu_peops.iUseDither),
        CE_INTVAL_P(gpu_peops.dwActFixes),
        CE_INTVAL_P(gpu_unai.lineskip),