aboutsummaryrefslogtreecommitdiff
path: root/overrides/gpsp.h
diff options
context:
space:
mode:
authorneonloop2021-08-15 22:06:22 +0000
committerneonloop2021-08-15 22:06:22 +0000
commitac7b0281105d2b19ff96f68293416ee1e964fefe (patch)
tree626b6c543c8b2126519bcb5477156958a5ff4cd3 /overrides/gpsp.h
parent549c48b2b327762e87e327a1ba0221810dcac5ab (diff)
downloadpicoarch-ac7b0281105d2b19ff96f68293416ee1e964fefe.tar.gz
picoarch-ac7b0281105d2b19ff96f68293416ee1e964fefe.tar.bz2
picoarch-ac7b0281105d2b19ff96f68293416ee1e964fefe.zip
Moves core option changes into picoarch
Keeps cores cleaner and avoids conflicts
Diffstat (limited to 'overrides/gpsp.h')
-rw-r--r--overrides/gpsp.h96
1 files changed, 96 insertions, 0 deletions
diff --git a/overrides/gpsp.h b/overrides/gpsp.h
new file mode 100644
index 0000000..eac14c6
--- /dev/null
+++ b/overrides/gpsp.h
@@ -0,0 +1,96 @@
+#include "overrides.h"
+
+static const struct core_override_option gpsp_core_option_overrides[] = {
+ {
+ .key = "gpsp_bios",
+ .info = "Choose the BIOS image to use. The official BIOS must be provided by the user. Using a builtin BIOS might result in compatibility problems.",
+ .options = {
+ { "auto", "auto" },
+ { "builtin", "builtin" },
+ { "official", "original" }
+ }
+ },
+ {
+ .key = "gpsp_boot_mode",
+ .info = "Choose whether to boot the BIOS before the game or not.",
+ .options = {
+ { "game", "auto" },
+ { "bios", "bios" }
+ }
+ },
+ {
+ .key = "gpsp_frameskip",
+ .info = "Skip frames to avoid audio crackling. Improves performance at the expense of visual smoothness.",
+ .default_value = "auto",
+ .options = {
+ [2] = {"auto_threshold", "Threshold"},
+ [3] = {"fixed_interval", "Fixed"},
+ }
+ },
+ {
+ .key = "gpsp_frameskip_threshold",
+ .desc = "FS Threshold (%)",
+ .info = "When 'Frameskip' is set to 'Threshold', sets how low the audio buffer can get before frames will be skipped.",
+ },
+ {
+ .key = "gpsp_frameskip_interval",
+ .desc = "FS Interval",
+ .info = "The maximum number of frames that can be skipped before a new frame is rendered.",
+ .default_value = "3"
+ },
+ {
+ .key = "gpsp_color_correction",
+ .info = "Adjusts output colors to match real GBA hardware.",
+ .options = {
+ {"disabled", NULL},
+ {"enabled", NULL},
+ { NULL, NULL }
+ }
+ },
+ {
+ .key = "gpsp_frame_mixing",
+ .desc = "Frame Blending",
+ .info = "Simulates LCD ghosting effects.",
+ .options = {
+ {"disabled", NULL},
+ {"enabled", NULL},
+ { NULL, NULL }
+ }
+ },
+ {
+ .key = "gpsp_save_method",
+ .blocked = true
+ },
+ { NULL }
+};
+
+me_bind_action gpsp_ctrl_actions[] =
+{
+ { "UP ", 1 << RETRO_DEVICE_ID_JOYPAD_UP},
+ { "DOWN ", 1 << RETRO_DEVICE_ID_JOYPAD_DOWN },
+ { "LEFT ", 1 << RETRO_DEVICE_ID_JOYPAD_LEFT },
+ { "RIGHT ", 1 << RETRO_DEVICE_ID_JOYPAD_RIGHT },
+ { "A BUTTON ", 1 << RETRO_DEVICE_ID_JOYPAD_A },
+ { "B BUTTON ", 1 << RETRO_DEVICE_ID_JOYPAD_B },
+ { "A TURBO ", 1 << RETRO_DEVICE_ID_JOYPAD_X },
+ { "B TURBO ", 1 << RETRO_DEVICE_ID_JOYPAD_Y },
+ { "START ", 1 << RETRO_DEVICE_ID_JOYPAD_START },
+ { "SELECT ", 1 << RETRO_DEVICE_ID_JOYPAD_SELECT },
+ { "L BUTTON ", 1 << RETRO_DEVICE_ID_JOYPAD_L },
+ { "R BUTTON ", 1 << RETRO_DEVICE_ID_JOYPAD_R },
+ /* { "FAST FWD ", 1 << RETRO_DEVICE_ID_JOYPAD_R2 }, */
+ { NULL, 0 }
+};
+
+const struct core_override_fast_forward gpsp_fast_forward = {
+ .type_key = "gpsp_frameskip",
+ .interval_key = "gpsp_frameskip_interval"
+};
+
+#define gpsp_overrides { \
+ .core_name = "gpsp", \
+ .fast_forward = &gpsp_fast_forward, \
+ .actions = gpsp_ctrl_actions, \
+ .action_size = array_size(gpsp_ctrl_actions), \
+ .options = gpsp_core_option_overrides \
+}