spunull: Add missing callback and fix prototypes
[pcsx_rearmed.git] / frontend / libretro_core_options.h
index 8379ade..e79e902 100644 (file)
@@ -97,13 +97,11 @@ struct retro_core_option_v2_category option_cats_us[] = {
       "Compatibility Fixes",
       "Configure settings/workarounds required for correct operation of specific games."
    },
       "Compatibility Fixes",
       "Configure settings/workarounds required for correct operation of specific games."
    },
-#if !defined(DRC_DISABLE) && !defined(LIGHTREC)
    {
       "speed_hack",
       "Speed Hacks (Advanced)",
       "Configure hacks that may improve performance at the expense of decreased accuracy/stability."
    },
    {
       "speed_hack",
       "Speed Hacks (Advanced)",
       "Configure hacks that may improve performance at the expense of decreased accuracy/stability."
    },
-#endif
    { NULL, NULL, NULL },
 };
 
    { NULL, NULL, NULL },
 };
 
@@ -182,6 +180,25 @@ struct retro_core_option_v2_definition option_defs_us[] = {
       "sync",
    },
 #endif
       "sync",
    },
 #endif
+#ifdef HAVE_CDROM
+#define V(x) { #x, NULL }
+   {
+      "pcsx_rearmed_phys_cd_readahead",
+      "Physical CD read-ahead",
+      NULL,
+      "(Hardware CD-ROM only) Reads the specified amount of sectors ahead of time to try to avoid later stalls. 333000 will try to read the complete disk (requires an additional 750MB of RAM).",
+      NULL,
+      "system",
+      {
+         V(0),  V(1),  V(2),  V(3),  V(4),  V(5),  V(6),  V(7),
+         V(8),  V(9),  V(10), V(11), V(12), V(13), V(14), V(15),
+         V(16), V(32), V(64), V(128), V(256), V(512), V(1024), V(333000),
+         { NULL, NULL},
+      },
+      "12",
+   },
+#undef V
+#endif
 #ifndef DRC_DISABLE
    {
       "pcsx_rearmed_drc",
 #ifndef DRC_DISABLE
    {
       "pcsx_rearmed_drc",
@@ -309,20 +326,6 @@ struct retro_core_option_v2_definition option_defs_us[] = {
       "enabled",
 #endif
    },
       "enabled",
 #endif
    },
-   {
-      "pcsx_rearmed_duping_enable",
-      "Frame Duping (Speedup)",
-      NULL,
-      "When enabled and supported by the libretro frontend, provides a small performance increase by directing the frontend to repeat the previous frame if the core has nothing new to display.",
-      NULL,
-      "video",
-      {
-         { "disabled", NULL },
-         { "enabled",  NULL },
-         { NULL, NULL },
-      },
-      "enabled",
-   },
 #ifdef THREAD_RENDERING
    {
       "pcsx_rearmed_gpu_thread_rendering",
 #ifdef THREAD_RENDERING
    {
       "pcsx_rearmed_gpu_thread_rendering",
@@ -420,6 +423,21 @@ struct retro_core_option_v2_definition option_defs_us[] = {
       },
       "disabled",
    },
       },
       "disabled",
    },
+   {
+      "pcsx_rearmed_fractional_framerate",
+      "Use fractional frame rate",
+      NULL,
+      "Instead of the exact 50 or 60 (maximum) fps for PAL/NTSC the real console runs closer to something like 49.75 and 59.81fps (varies slightly between hw versions). PCSX-ReARMed uses the former \"round\" framerates to better match modern displays, however that may cause audio/video desync in games like DDR and Spyro 2 (intro). With this option you can try to use fractional framerates.",
+      NULL,
+      "video",
+      {
+         { "auto", "Auto" },
+         { "disabled", NULL },
+         { "enabled",  NULL },
+         { NULL, NULL },
+      },
+      "auto",
+   },
    {
       "pcsx_rearmed_gpu_slow_llists",
       "(GPU) Slow linked list processing",
    {
       "pcsx_rearmed_gpu_slow_llists",
       "(GPU) Slow linked list processing",
@@ -428,7 +446,7 @@ struct retro_core_option_v2_definition option_defs_us[] = {
       NULL,
       "video",
       {
       NULL,
       "video",
       {
-         { "auto", NULL },
+         { "auto", "Auto" },
          { "disabled", NULL },
          { "enabled",  NULL },
          { NULL, NULL },
          { "disabled", NULL },
          { "enabled",  NULL },
          { NULL, NULL },
@@ -514,7 +532,21 @@ struct retro_core_option_v2_definition option_defs_us[] = {
       "pcsx_rearmed_neon_enhancement_no_main",
       "(GPU) Enhanced Resolution Speed Hack",
       "Enhanced Resolution Speed Hack",
       "pcsx_rearmed_neon_enhancement_no_main",
       "(GPU) Enhanced Resolution Speed Hack",
       "Enhanced Resolution Speed Hack",
-      "Improves performance when 'Enhanced Resolution' is enabled, but reduces compatibility and may cause rendering errors.",
+      "('Enhanced Resolution' Hack) Improves performance but reduces compatibility and may cause rendering errors.",
+      NULL,
+      "gpu_neon",
+      {
+         { "disabled", NULL },
+         { "enabled",  NULL },
+         { NULL, NULL },
+      },
+      "disabled",
+   },
+   {
+      "pcsx_rearmed_neon_enhancement_tex_adj",
+      "(GPU) Enhanced Resolution Texture Adjustment",
+      "Enhanced Resolution Texture Adjustment",
+      "('Enhanced Resolution' Hack) Attempts to solve some texturing issues in some games, but causes new ones in others.",
       NULL,
       "gpu_neon",
       {
       NULL,
       "gpu_neon",
       {
@@ -853,6 +885,24 @@ struct retro_core_option_v2_definition option_defs_us[] = {
       },
       "enabled",
    },
       },
       "enabled",
    },
+   {
+      "pcsx_rearmed_analog_combo",
+      "DualShock Analog Mode Toggle Key Combo",
+      NULL,
+      "When the input device type is DualShock, this option allows the emulated DualShock to be toggled between DIGITAL and ANALOG mode like original hardware. You can select the button combination for this.",
+      NULL,
+      "input",
+      {
+         { "disabled", NULL },
+         { "l1+r1+select",             "L1 + R1 + Select" },
+         { "l1+r1+start",              "L1 + R1 + Start" },
+         { "l1+r1+l3",                 "L1 + R1 + L3" },
+         { "l1+r1+r3",                 "L1 + R1 + R3" },
+         { "l3+r3",                    "L3 + R3" },
+         { NULL, NULL },
+      },
+      "l1+r1+select"
+   },
    {
       "pcsx_rearmed_multitap",
       "Multitap Mode",
    {
       "pcsx_rearmed_multitap",
       "Multitap Mode",
@@ -1520,6 +1570,20 @@ struct retro_core_option_v2_definition option_defs_us[] = {
       },
       "disabled",
    },
       },
       "disabled",
    },
+   {
+      "pcsx_rearmed_cd_turbo",
+      "Turbo CD",
+      NULL,
+      "This makes the emulated CD-ROM extremely fast and can reduce loading times in some cases. Warning: many games were not programmed to handle such a speed. The game (or even the emulator) MAY CRASH at ANY TIME if this is enabled.",
+      NULL,
+      "speed_hack",
+      {
+         { "disabled", NULL },
+         { "enabled",  NULL },
+         { NULL, NULL },
+      },
+      "disabled",
+   },
 #if !defined(DRC_DISABLE) && !defined(LIGHTREC)
    {
       "pcsx_rearmed_nocompathacks",
 #if !defined(DRC_DISABLE) && !defined(LIGHTREC)
    {
       "pcsx_rearmed_nocompathacks",
@@ -1577,11 +1641,16 @@ struct retro_core_option_v2_definition option_defs_us[] = {
       },
       "disabled",
    },
       },
       "disabled",
    },
+#endif /* !DRC_DISABLE && !LIGHTREC */
    {
       "pcsx_rearmed_nostalls",
    {
       "pcsx_rearmed_nostalls",
-      "(Speed Hack) Disable CPU/GTE Stalls",
       "Disable CPU/GTE Stalls",
       "Disable CPU/GTE Stalls",
-      "Will cause some games to run too quickly.",
+      NULL,
+      "Will cause some games to run too quickly. Should be disabled in almost all cases."
+#if defined(LIGHTREC)
+      " Interpreter only."
+#endif
+      ,
       NULL,
       "speed_hack",
       {
       NULL,
       "speed_hack",
       {
@@ -1591,7 +1660,6 @@ struct retro_core_option_v2_definition option_defs_us[] = {
       },
       "disabled",
    },
       },
       "disabled",
    },
-#endif /* !DRC_DISABLE && !LIGHTREC */
    { NULL, NULL, NULL, NULL, NULL, NULL, {{0}}, NULL },
 };
 
    { NULL, NULL, NULL, NULL, NULL, NULL, {{0}}, NULL },
 };