Add a threaded renderer
[pcsx_rearmed.git] / frontend / libretro_core_options.h
index 6ea31e0..1075e8f 100644 (file)
@@ -97,6 +97,65 @@ struct retro_core_option_definition option_defs_us[] = {
       },
       "disabled",
    },
+   {
+      "pcsx_rearmed_show_other_input_settings",
+      "Show other input settings",
+      "Shows or hides other inputs settings like multitaps, player 3-8 ports, analog fine-tunings, etc.",
+      {
+         { "disabled", NULL },
+         { "enabled",  NULL },
+         { NULL, NULL },
+      },
+      "disabled",
+   },
+   {
+      "pcsx_rearmed_input_sensitivity",
+      "Emulated Mouse Sensitivity",
+      "Adjust responsiveness when using mouse controller (Default 1.0).",
+      {
+         { "0.05", NULL },
+         { "0.10", NULL },
+         { "0.15", NULL },
+         { "0.20", NULL },
+         { "0.25", NULL },
+         { "0.30", NULL },
+         { "0.35", NULL },
+         { "0.40", NULL },
+         { "0.45", NULL },
+         { "0.50", NULL },
+         { "0.55", NULL },
+         { "0.60", NULL },
+         { "0.65", NULL },
+         { "0.70", NULL },
+         { "0.75", NULL },
+         { "0.80", NULL },
+         { "0.85", NULL },
+         { "0.90", NULL },
+         { "0.95", NULL },
+         { "1.00", NULL },
+         { "1.05", NULL },
+         { "1.10", NULL },
+         { "1.15", NULL },
+         { "1.20", NULL },
+         { "1.25", NULL },
+         { "1.30", NULL },
+         { "1.35", NULL },
+         { "1.40", NULL },
+         { "1.45", NULL },
+         { "1.50", NULL },
+         { "1.55", NULL },
+         { "1.60", NULL },
+         { "1.65", NULL },
+         { "1.70", NULL },
+         { "1.75", NULL },
+         { "1.80", NULL },
+         { "1.85", NULL },
+         { "1.90", NULL },
+         { "1.95", NULL },
+         { "2.00", NULL },
+      },
+      "1.00",
+   },
    {
       "pcsx_rearmed_pad1type",
       "Pad 1 Type",
@@ -106,6 +165,8 @@ struct retro_core_option_definition option_defs_us[] = {
          { "analog",    NULL },
          { "dualshock", NULL },
          { "negcon",    NULL },
+         { "guncon",    NULL },
+         { "mouse",     NULL },
          { "none",      NULL },
          { NULL, NULL },
       },
@@ -120,6 +181,8 @@ struct retro_core_option_definition option_defs_us[] = {
          { "analog",    NULL },
          { "dualshock", NULL },
          { "negcon",    NULL },
+         { "guncon",    NULL },
+         { "mouse",     NULL },
          { "none",      NULL },
          { NULL, NULL },
       },
@@ -134,6 +197,8 @@ struct retro_core_option_definition option_defs_us[] = {
          { "analog",    NULL },
          { "dualshock", NULL },
          { "negcon",    NULL },
+         { "guncon",    NULL },
+         { "mouse",     NULL },
          { "none",      NULL },
          { NULL, NULL },
       },
@@ -148,6 +213,8 @@ struct retro_core_option_definition option_defs_us[] = {
          { "analog",    NULL },
          { "dualshock", NULL },
          { "negcon",    NULL },
+         { "guncon",    NULL },
+         { "mouse",     NULL },
          { "none",      NULL },
          { NULL, NULL },
       },
@@ -162,6 +229,8 @@ struct retro_core_option_definition option_defs_us[] = {
          { "analog",    NULL },
          { "dualshock", NULL },
          { "negcon",    NULL },
+         { "guncon",    NULL },
+         { "mouse",     NULL },
          { "none",      NULL },
          { NULL, NULL },
       },
@@ -175,6 +244,8 @@ struct retro_core_option_definition option_defs_us[] = {
          { "analog",    NULL },
          { "dualshock", NULL },
          { "negcon",    NULL },
+         { "guncon",    NULL },
+         { "mouse",     NULL },
          { "none",      NULL },
          { NULL, NULL },
       },
@@ -188,6 +259,8 @@ struct retro_core_option_definition option_defs_us[] = {
          { "analog",    NULL },
          { "dualshock", NULL },
          { "negcon",    NULL },
+         { "guncon",    NULL },
+         { "mouse",     NULL },
          { "none",      NULL },
          { NULL, NULL },
       },
@@ -201,6 +274,8 @@ struct retro_core_option_definition option_defs_us[] = {
          { "analog",    NULL },
          { "dualshock", NULL },
          { "negcon",    NULL },
+         { "guncon",    NULL },
+         { "mouse",     NULL },
          { "none",      NULL },
          { NULL, NULL },
       },
@@ -258,6 +333,17 @@ struct retro_core_option_definition option_defs_us[] = {
       },
       "linear",
    },
+   {
+      "pcsx_rearmed_analog_axis_modifier",
+      "Analog axis bounds.",
+      "Range bounds for analog axis. Square bounds help controllers with highly circular ranges that are unable to fully saturate the x and y axis at 45degree deflections.",
+      {
+         { "circle", NULL },
+         { "square", NULL },
+         { NULL, NULL },
+      },
+      "circle",
+   },
    {
       "pcsx_rearmed_vibration",
       "Enable Vibration",
@@ -269,6 +355,250 @@ struct retro_core_option_definition option_defs_us[] = {
       },
       "enabled",
    },
+   {
+      "pcsx_rearmed_gunconadjustx",
+      "Guncon Adjust X",
+      "When using Guncon mode, you can override aim in emulator if shots misaligned, this applies an increment on the x axis.",
+      {
+         { "0", NULL },
+         { "-25", NULL },
+         { "-24", NULL },
+         { "-23", NULL },
+         { "-22", NULL },
+         { "-21", NULL },
+         { "-20", NULL },
+         { "-19", NULL },
+         { "-18", NULL },
+         { "-17", NULL },
+         { "-16", NULL },
+         { "-15", NULL },
+         { "-14", NULL },
+         { "-13", NULL },
+         { "-12", NULL },
+         { "-11", NULL },
+         { "-10", NULL },
+         { "-09", NULL },
+         { "-08", NULL },
+         { "-07", NULL },
+         { "-06", NULL },
+         { "-05", NULL },
+         { "-04", NULL },
+         { "-03", NULL },
+         { "-02", NULL },
+         { "-01", NULL },
+         { "00", NULL },
+         { "01", NULL },
+         { "02", NULL },
+         { "03", NULL },
+         { "04", NULL },
+         { "05", NULL },
+         { "06", NULL },
+         { "07", NULL },
+         { "08", NULL },
+         { "09", NULL },
+         { "10", NULL },
+         { "11", NULL },
+         { "12", NULL },
+         { "13", NULL },
+         { "14", NULL },
+         { "15", NULL },
+         { "16", NULL },
+         { "17", NULL },
+         { "18", NULL },
+         { "19", NULL },
+         { "20", NULL },
+         { "21", NULL },
+         { "22", NULL },
+         { "23", NULL },
+         { "24", NULL },
+         { "25", NULL },
+         { NULL, NULL },
+      },
+      "0",
+   },
+   {
+      "pcsx_rearmed_gunconadjusty",
+      "Guncon Adjust Y",
+      "When using Guncon mode, you can override aim in emulator if shots misaligned, this applies an increment on the y axis.",
+      {
+         { "0", NULL },
+         { "-25", NULL },
+         { "-24", NULL },
+         { "-23", NULL },
+         { "-22", NULL },
+         { "-21", NULL },
+         { "-20", NULL },
+         { "-19", NULL },
+         { "-18", NULL },
+         { "-17", NULL },
+         { "-16", NULL },
+         { "-15", NULL },
+         { "-14", NULL },
+         { "-13", NULL },
+         { "-12", NULL },
+         { "-11", NULL },
+         { "-10", NULL },
+         { "-09", NULL },
+         { "-08", NULL },
+         { "-07", NULL },
+         { "-06", NULL },
+         { "-05", NULL },
+         { "-04", NULL },
+         { "-03", NULL },
+         { "-02", NULL },
+         { "-01", NULL },
+         { "00", NULL },
+         { "01", NULL },
+         { "02", NULL },
+         { "03", NULL },
+         { "04", NULL },
+         { "05", NULL },
+         { "06", NULL },
+         { "07", NULL },
+         { "08", NULL },
+         { "09", NULL },
+         { "10", NULL },
+         { "11", NULL },
+         { "12", NULL },
+         { "13", NULL },
+         { "14", NULL },
+         { "15", NULL },
+         { "16", NULL },
+         { "17", NULL },
+         { "18", NULL },
+         { "19", NULL },
+         { "20", NULL },
+         { "21", NULL },
+         { "22", NULL },
+         { "23", NULL },
+         { "24", NULL },
+         { "25", NULL },
+         { NULL, NULL },
+      },
+      "0",
+   },
+   {
+      "pcsx_rearmed_gunconadjustratiox",
+      "Guncon Adjust Ratio X",
+      "When using Guncon mode, you can override aim in emulator if shots misaligned, this applies a ratio on the x axis.",
+      {
+         { "1", NULL },
+         { "0.75", NULL },
+         { "0.76", NULL },
+         { "0.77", NULL },
+         { "0.78", NULL },
+         { "0.79", NULL },
+         { "0.80", NULL },
+         { "0.81", NULL },
+         { "0.82", NULL },
+         { "0.83", NULL },
+         { "0.84", NULL },
+         { "0.85", NULL },
+         { "0.86", NULL },
+         { "0.87", NULL },
+         { "0.88", NULL },
+         { "0.89", NULL },
+         { "0.90", NULL },
+         { "0.91", NULL },
+         { "0.92", NULL },
+         { "0.93", NULL },
+         { "0.94", NULL },
+         { "0.95", NULL },
+         { "0.96", NULL },
+         { "0.97", NULL },
+         { "0.98", NULL },
+         { "0.99", NULL },
+         { "1.00", NULL },
+         { "1.01", NULL },
+         { "1.02", NULL },
+         { "1.03", NULL },
+         { "1.04", NULL },
+         { "1.05", NULL },
+         { "1.06", NULL },
+         { "1.07", NULL },
+         { "1.08", NULL },
+         { "1.09", NULL },
+         { "1.10", NULL },
+         { "1.11", NULL },
+         { "1.12", NULL },
+         { "1.13", NULL },
+         { "1.14", NULL },
+         { "1.15", NULL },
+         { "1.16", NULL },
+         { "1.17", NULL },
+         { "1.18", NULL },
+         { "1.19", NULL },
+         { "1.20", NULL },
+         { "1.21", NULL },
+         { "1.22", NULL },
+         { "1.23", NULL },
+         { "1.24", NULL },
+         { "1.25", NULL },
+         { NULL, NULL },
+      },
+      "1",
+   },
+   {
+      "pcsx_rearmed_gunconadjustratioy",
+      "Guncon Adjust Ratio Y",
+      "When using Guncon mode, you can override aim in emulator if shots misaligned, this applies a ratio on the y axis.",
+      {
+         { "1", NULL },
+         { "0.75", NULL },
+         { "0.76", NULL },
+         { "0.77", NULL },
+         { "0.78", NULL },
+         { "0.79", NULL },
+         { "0.80", NULL },
+         { "0.81", NULL },
+         { "0.82", NULL },
+         { "0.83", NULL },
+         { "0.84", NULL },
+         { "0.85", NULL },
+         { "0.86", NULL },
+         { "0.87", NULL },
+         { "0.88", NULL },
+         { "0.89", NULL },
+         { "0.90", NULL },
+         { "0.91", NULL },
+         { "0.92", NULL },
+         { "0.93", NULL },
+         { "0.94", NULL },
+         { "0.95", NULL },
+         { "0.96", NULL },
+         { "0.97", NULL },
+         { "0.98", NULL },
+         { "0.99", NULL },
+         { "1.00", NULL },
+         { "1.01", NULL },
+         { "1.02", NULL },
+         { "1.03", NULL },
+         { "1.04", NULL },
+         { "1.05", NULL },
+         { "1.06", NULL },
+         { "1.07", NULL },
+         { "1.08", NULL },
+         { "1.09", NULL },
+         { "1.10", NULL },
+         { "1.11", NULL },
+         { "1.12", NULL },
+         { "1.13", NULL },
+         { "1.14", NULL },
+         { "1.15", NULL },
+         { "1.16", NULL },
+         { "1.17", NULL },
+         { "1.18", NULL },
+         { "1.19", NULL },
+         { "1.20", NULL },
+         { "1.21", NULL },
+         { "1.22", NULL },
+         { "1.23", NULL },
+         { "1.24", NULL },
+         { "1.25", NULL },
+         { NULL, NULL },
+      },
+      "1",
+   },
    {
       "pcsx_rearmed_dithering",
       "Enable Dithering",
@@ -278,10 +608,14 @@ struct retro_core_option_definition option_defs_us[] = {
          { "enabled",  NULL },
          { NULL, NULL },
       },
+#if defined HAVE_LIBNX || defined _3DS
+         "disabled",
+#else
       "enabled",
+#endif
    },
 
-#ifndef DRC_DISABLE
+#if defined(LIGHTREC) || defined(NEW_DYNAREC)
    {
       "pcsx_rearmed_drc",
       "Dynamic Recompiler",
@@ -293,10 +627,13 @@ struct retro_core_option_definition option_defs_us[] = {
       },
       "enabled",
    },
+#endif /* LIGHTREC || NEW_DYNAREC */
+
+#ifdef NEW_DYNAREC
    {
       "pcsx_rearmed_psxclock",
       "PSX CPU Clock",
-#ifdef HAVE_PRE_ARMV7
+#if defined(HAVE_PRE_ARMV7) && !defined(_3DS)
       "Overclock or underclock the PSX clock. Default is 50",
 #else
       "Overclock or underclock the PSX clock. Default is 57",
@@ -375,15 +712,15 @@ struct retro_core_option_definition option_defs_us[] = {
          { "100", NULL },
          { NULL, NULL },
       },
-#ifdef HAVE_PRE_ARMV7
+#if defined(HAVE_PRE_ARMV7) && !defined(_3DS)
       "50",
 #else
       "57",
 #endif
    },
-#endif /* DRC_DISABLE */
+#endif /* NEW_DYNAREC */
 
-#ifdef __ARM_NEON__
+#ifdef GPU_NEON
    {
       "pcsx_rearmed_neon_interlace_enable",
       "Enable Interlacing Mode",
@@ -417,7 +754,7 @@ struct retro_core_option_definition option_defs_us[] = {
       },
       "disabled",
    },
-#endif /* __ARM_NEON__ */
+#endif /* GPU_NEON */
 
    {
       "pcsx_rearmed_duping_enable",
@@ -556,6 +893,101 @@ struct retro_core_option_definition option_defs_us[] = {
    },
 #endif
 
+    /* GPU UNAI Advanced Options */
+#ifdef GPU_UNAI
+   {
+      "pcsx_rearmed_show_gpu_unai_settings",
+      "Advance GPU UNAI/PCSX4All Settings",
+      "Shows or hides advanced gpu settings. A core restart might be needed for settings to take effect. NOTE: Quick Menu must be toggled for this setting to take effect.",
+      {
+         { "disabled", NULL },
+         { "enabled",  NULL },
+         { NULL, NULL},
+      },
+      "disabled",
+   },
+   {
+      "pcsx_rearmed_gpu_unai_blending",
+      "(GPU) Enable Blending",
+      NULL,
+      {
+         { "disabled", NULL },
+         { "enabled",  NULL },
+         { NULL, NULL},
+      },
+      "enabled",
+   },
+   {
+      "pcsx_rearmed_gpu_unai_lighting",
+      "(GPU) Enable Lighting",
+      NULL,
+      {
+         { "disabled", NULL },
+         { "enabled",  NULL },
+         { NULL, NULL},
+      },
+      "enabled",
+   },
+   {
+      "pcsx_rearmed_gpu_unai_fast_lighting",
+      "(GPU) Enable Fast Lighting",
+      NULL,
+      {
+         { "disabled", NULL },
+         { "enabled",  NULL },
+         { NULL, NULL},
+      },
+      "disabled",
+   },
+   {
+      "pcsx_rearmed_gpu_unai_ilace_force",
+      "(GPU) Enable Forced Interlace",
+      NULL,
+      {
+         { "disabled", NULL },
+         { "enabled",  NULL },
+         { NULL, NULL},
+      },
+      "disabled",
+   },
+   {
+      "pcsx_rearmed_gpu_unai_pixel_skip",
+      "(GPU) Enable Pixel Skip",
+      NULL,
+      {
+         { "disabled", NULL },
+         { "enabled",  NULL },
+         { NULL, NULL},
+      },
+      "disabled",
+   },
+   {
+      "pcsx_rearmed_gpu_unai_scale_hires",
+      "(GPU) Enable Hi-Res Downscaling",
+      "When enabled, will scale hi-res modes to 320x240, skipping unrendered pixels.",
+      {
+         { "disabled", NULL },
+         { "enabled",  NULL },
+         { NULL, NULL},
+      },
+      "disabled",
+   },
+#ifdef THREAD_RENDERING
+   {
+      "pcsx_rearmed_gpu_thread_rendering",
+      "Threaded Rendering",
+      "When enabled, runs GPU commands in a thread. Sync waits for drawing to finish before vsync. Async will not wait unless there's another frame behind it.",
+      {
+         { "disabled", NULL },
+         { "sync",  NULL },
+         { "async",  NULL },
+         { NULL, NULL},
+      },
+      "disabled",
+   },
+#endif
+#endif /* GPU UNAI Advanced Settings */
+
    {
       "pcsx_rearmed_show_bios_bootlogo",
       "Show Bios Bootlogo",
@@ -624,7 +1056,19 @@ struct retro_core_option_definition option_defs_us[] = {
       },
       "disabled",
    },
-
+#ifndef _WIN32
+   {
+      "pcsx_rearmed_async_cd",
+      "CD Access Method (Restart)",
+      "Select method used to read data from content disk images. 'Synchronous' mimics original hardware. 'Asynchronous' can reduce stuttering on devices with slow storage.",
+      {
+         { "sync", "Synchronous" },
+         { "async",  "Asynchronous" },
+         { NULL, NULL},
+      },
+      "sync",
+   },
+#endif
    /* ADVANCED OPTIONS */
    {
       "pcsx_rearmed_noxadecoding",
@@ -648,8 +1092,19 @@ struct retro_core_option_definition option_defs_us[] = {
       },
       "enabled",
    },
+   {
+      "pcsx_rearmed_spuirq",
+      "SPU IRQ Always Enabled",
+      "Compatibility tweak, should be left to off in most cases.",
+      {
+         { "disabled", NULL },
+         { "enabled",  NULL },
+         { NULL, NULL },
+      },
+      "disabled",
+   },
 
-#ifndef DRC_DISABLE
+#ifdef NEW_DYNAREC
    {
       "pcsx_rearmed_nosmccheck",
       "(Speed Hack) Disable SMC Checks",
@@ -683,7 +1138,7 @@ struct retro_core_option_definition option_defs_us[] = {
       },
       "disabled",
    },
-#endif /* DRC_DISABLE */
+#endif /* NEW_DYNAREC */
 
    { NULL, NULL, NULL, {{0}}, NULL },
 };