cdrom: change pause timing again
[pcsx_rearmed.git] / frontend / menu.c
index 6705b63..58efd21 100644 (file)
@@ -316,14 +316,16 @@ static void menu_sync_config(void)
 
        switch (in_type_sel1) {
        case 1:  in_type[0] = PSE_PAD_TYPE_ANALOGPAD; break;
-       case 2:  in_type[0] = PSE_PAD_TYPE_NEGCON;    break;
-       case 3:  in_type[0] = PSE_PAD_TYPE_NONE;      break;
+       case 2:  in_type[0] = PSE_PAD_TYPE_GUNCON;    break;
+       case 3:  in_type[0] = PSE_PAD_TYPE_GUN;       break;
+       case 4:  in_type[0] = PSE_PAD_TYPE_NONE;      break;
        default: in_type[0] = PSE_PAD_TYPE_STANDARD;
        }
        switch (in_type_sel2) {
        case 1:  in_type[1] = PSE_PAD_TYPE_ANALOGPAD; break;
-       case 2:  in_type[1] = PSE_PAD_TYPE_NEGCON;    break;
-       case 3:  in_type[1] = PSE_PAD_TYPE_NONE;      break;
+       case 2:  in_type[1] = PSE_PAD_TYPE_GUNCON;    break;
+       case 3:  in_type[1] = PSE_PAD_TYPE_GUN;       break;
+       case 4:  in_type[1] = PSE_PAD_TYPE_NONE;      break;
        default: in_type[1] = PSE_PAD_TYPE_STANDARD;
        }
        if (in_evdev_allow_abs_only != allow_abs_only_old) {
@@ -406,6 +408,7 @@ static const struct {
        CE_CONFIG_VAL(DisableStalls),
        CE_CONFIG_VAL(Cpu),
        CE_CONFIG_VAL(GpuListWalking),
+       CE_CONFIG_VAL(FractionalFramerate),
        CE_CONFIG_VAL(PreciseExceptions),
        CE_INTVAL(region),
        CE_INTVAL_V(g_scaler, 3),
@@ -448,6 +451,7 @@ static const struct {
        CE_INTVAL_P(gpu_neon.allow_interlace),
        CE_INTVAL_P(gpu_neon.enhancement_enable),
        CE_INTVAL_P(gpu_neon.enhancement_no_main),
+       CE_INTVAL_P(gpu_neon.enhancement_tex_adj),
        CE_INTVAL_P(gpu_peopsgl.bDrawDither),
        CE_INTVAL_P(gpu_peopsgl.iFilterType),
        CE_INTVAL_P(gpu_peopsgl.iFrameTexType),
@@ -901,6 +905,7 @@ me_bind_action emuctrl_actions[] =
        { "Volume Up        ", 1 << SACTION_VOLUME_UP },
        { "Volume Down      ", 1 << SACTION_VOLUME_DOWN },
 #endif
+       { "Analog toggle    ", 1 << SACTION_ANALOG_TOGGLE },
        { NULL,                0 }
 };
 
@@ -1217,6 +1222,7 @@ static const char *men_in_type_sel[] = {
        "Standard (SCPH-1080)",
        "Analog (SCPH-1150)",
        "GunCon",
+       "Konami Gun",
        "None",
        NULL
 };
@@ -1308,7 +1314,7 @@ static int menu_loop_cscaler(int id, int keys)
        for (;;)
        {
                if (saved_layer && last_vout_bpp == 16) {
-                       int top_x = max(0, -g_layer_x * last_vout_h / 800) + 1;
+                       int top_x = max(0, -g_layer_x * last_vout_w / 800) + 1;
                        int top_y = max(0, -g_layer_y * last_vout_h / 480) + 1;
                        char text[128];
                        memcpy(pl_vout_buf, saved_layer, saved_layer_size);
@@ -1410,6 +1416,7 @@ static menu_entry e_menu_plugin_gpu_neon[] =
        mee_enum      ("Enable interlace mode",      0, pl_rearmed_cbs.gpu_neon.allow_interlace, men_gpu_interlace),
        mee_onoff_h   ("Enhanced resolution",        0, pl_rearmed_cbs.gpu_neon.enhancement_enable, 1, h_gpu_neon_enhanced),
        mee_onoff_h   ("Enhanced res. speed hack",   0, pl_rearmed_cbs.gpu_neon.enhancement_no_main, 1, h_gpu_neon_enhanced_hack),
+       mee_onoff     ("Enh. res. texture adjust",   0, pl_rearmed_cbs.gpu_neon.enhancement_tex_adj, 1),
        mee_end,
 };
 
@@ -1632,7 +1639,7 @@ static int menu_loop_speed_hacks(int id, int keys)
        return 0;
 }
 
-static const char *men_gpul[]    = { "Auto", "Off", "On", NULL };
+static const char *men_autooo[]  = { "Auto", "Off", "On", NULL };
 
 static const char h_cfg_cpul[]   = "Shows CPU usage in %";
 static const char h_cfg_spu[]    = "Shows active SPU channels\n"
@@ -1651,10 +1658,12 @@ static const char h_cfg_exc[]    = "Emulate some PSX's debug hw like breakpoints
                                   "and exceptions (slow, interpreter only, keep off)";
 static const char h_cfg_gpul[]   = "Try enabling this if the game misses some graphics\n"
                                   "causes a performance hit";
+static const char h_cfg_ffps[]   = "Instead of 50/60fps for PAL/NTSC use ~49.75/59.81\n"
+                                  "Closer to real hw but doesn't match modern displays.";
 static const char h_cfg_psxclk[]  = "Over/under-clock the PSX, default is " DEFAULT_PSX_CLOCK_S "\n"
                                    "(adjust this if the game is too slow/too fast/hangs)";
 
-enum { AMO_XA, AMO_CDDA, AMO_IC, AMO_BP, AMO_CPU, AMO_GPUL };
+enum { AMO_XA, AMO_CDDA, AMO_IC, AMO_BP, AMO_CPU, AMO_GPUL, AMO_FFPS };
 
 static menu_entry e_menu_adv_options[] =
 {
@@ -1665,7 +1674,8 @@ static menu_entry e_menu_adv_options[] =
        mee_onoff_h   ("Disable CD Audio",       0, menu_iopts[AMO_CDDA], 1, h_cfg_cdda),
        mee_onoff_h   ("ICache emulation",       0, menu_iopts[AMO_IC],   1, h_cfg_icache),
        mee_onoff_h   ("BP exception emulation", 0, menu_iopts[AMO_BP],   1, h_cfg_exc),
-       mee_enum_h    ("GPU l-list slow walking",0, menu_iopts[AMO_GPUL], men_gpul, h_cfg_gpul),
+       mee_enum_h    ("GPU l-list slow walking",0, menu_iopts[AMO_GPUL], men_autooo, h_cfg_gpul),
+       mee_enum_h    ("Fractional framerate",   0, menu_iopts[AMO_FFPS], men_autooo, h_cfg_ffps),
 #if !defined(DRC_DISABLE) || defined(LIGHTREC)
        mee_onoff_h   ("Disable dynarec (slow!)",0, menu_iopts[AMO_CPU],  1, h_cfg_nodrc),
 #endif
@@ -1691,12 +1701,14 @@ static int menu_loop_adv_options(int id, int keys)
        for (i = 0; i < ARRAY_SIZE(opts); i++)
                *opts[i].mopt = *opts[i].opt;
        menu_iopts[AMO_GPUL] = Config.GpuListWalking + 1;
+       menu_iopts[AMO_FFPS] = Config.FractionalFramerate + 1;
 
        me_loop(e_menu_adv_options, &sel);
 
        for (i = 0; i < ARRAY_SIZE(opts); i++)
                *opts[i].opt = *opts[i].mopt;
        Config.GpuListWalking = menu_iopts[AMO_GPUL] - 1;
+       Config.FractionalFramerate = menu_iopts[AMO_FFPS] - 1;
 
        return 0;
 }
@@ -1720,6 +1732,7 @@ static const char h_confirm_save[]    = "Ask for confirmation when overwriting s
 static const char h_restore_def[]     = "Switches back to default / recommended\n"
                                        "configuration";
 static const char h_frameskip[]       = "Warning: frameskip sometimes causes glitches\n";
+static const char h_sputhr[]          = "Warning: has some known bugs\n";
 
 static menu_entry e_menu_options[] =
 {
@@ -1730,9 +1743,9 @@ static menu_entry e_menu_options[] =
        mee_enum      ("Region",                   0, region, men_region),
        mee_range     ("CPU clock",                MA_OPT_CPU_CLOCKS, cpu_clock, 20, 5000),
 #ifdef C64X_DSP
-       mee_onoff     ("Use C64x DSP for sound",   MA_OPT_SPU_THREAD, spu_config.iUseThread, 1),
+       mee_onoff_h   ("Use C64x DSP for sound",   MA_OPT_SPU_THREAD, spu_config.iUseThread, 1, h_sputhr),
 #else
-       mee_onoff     ("Threaded SPU",             MA_OPT_SPU_THREAD, spu_config.iUseThread, 1),
+       mee_onoff_h   ("Threaded SPU",             MA_OPT_SPU_THREAD, spu_config.iUseThread, 1, h_sputhr),
 #endif
        mee_handler_id("[Display]",                MA_OPT_DISP_OPTS, menu_loop_gfx_options),
        mee_handler   ("[BIOS/Plugins]",           menu_loop_plugin_options),