diff options
author | neonloop | 2021-08-15 22:06:22 +0000 |
---|---|---|
committer | neonloop | 2021-08-15 22:06:22 +0000 |
commit | ac7b0281105d2b19ff96f68293416ee1e964fefe (patch) | |
tree | 626b6c543c8b2126519bcb5477156958a5ff4cd3 /overrides/snes9x2005.h | |
parent | 549c48b2b327762e87e327a1ba0221810dcac5ab (diff) | |
download | picoarch-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/snes9x2005.h')
-rw-r--r-- | overrides/snes9x2005.h | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/overrides/snes9x2005.h b/overrides/snes9x2005.h new file mode 100644 index 0000000..af2f0ff --- /dev/null +++ b/overrides/snes9x2005.h @@ -0,0 +1,66 @@ +#include "overrides.h" + +static const struct core_override_option snes9x2005_core_option_overrides[] = { + { + .key = "snes9x_2005_region", + .info = "'PAL' is 50hz, 'NTSC' is 60hz. Games will run faster or slower than normal if the incorrect region is selected.", + }, + { + .key = "snes9x_2005_frameskip", + .info = "Skip frames to avoid audio crackling. Improves performance at the expense of visual smoothness.", + .default_value = "auto" + }, + { + .key = "snes9x_2005_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 = "snes9x_2005_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 = "snes9x_2005_overclock_cycles", + .desc = "Overclock (Restart)", + .info = "Alleviate normal SNES slowdown. Compatible keeps as much compatibility as possible. Max will reduce more slowdown but break more games.", + }, + { + .key = "snes9x_2005_reduce_sprite_flicker", + .desc = "Reduce Flicker", + .info = "Raises sprite limit to reduce flickering in games.", + }, + { NULL } +}; + +me_bind_action snes9x2005_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 }, + { "X BUTTON ", 1 << RETRO_DEVICE_ID_JOYPAD_X }, + { "Y BUTTON ", 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 }, + { NULL, 0 } +}; + +const struct core_override_fast_forward snes9x2005_fast_forward = { + .type_key = "snes9x_2005_frameskip", + .type_value = "auto", + .interval_key = "snes9x_2005_frameskip_interval" +}; + +#define snes9x2005_overrides { \ + .core_name = "snes9x2005", \ + .fast_forward = &snes9x2005_fast_forward, \ + .actions = snes9x2005_ctrl_actions, \ + .action_size = array_size(snes9x2005_ctrl_actions), \ + .options = snes9x2005_core_option_overrides \ +} |