mirror of
https://github.com/libretro/RetroArch
synced 2025-04-11 00:44:20 +00:00
allow specifying libretro device and analog dpad mode on remap files
This commit is contained in:
parent
32234b44d3
commit
9862b75b4b
@ -3,6 +3,8 @@
|
||||
- ANDROID: Fire Stick & Fire TV remote overrides gamepad port 0 on button press and viceversa like SHIELD devices
|
||||
- AUDIO: Audio mixer supports MOD/S3M/XM file types now!
|
||||
- INPUT: input swap override flag (for remotes) is cleared correctly
|
||||
- INPUT: allow specifying libretro device in remap files
|
||||
- INPUT: allow specifying analog dpad mode in remap files
|
||||
- COMMON: Add 'Delete Core'option to Core Information menu.
|
||||
- COMMON: Allow Max Timing Skew to be set to 0.
|
||||
- LOCALIZATION: Update Russian translation
|
||||
|
@ -1053,6 +1053,7 @@ static void command_event_deinit_core(bool reinit)
|
||||
|
||||
command_event(CMD_EVENT_DISABLE_OVERRIDES, NULL);
|
||||
command_event(CMD_EVENT_RESTORE_DEFAULT_SHADER_PRESET, NULL);
|
||||
command_event(CMD_EVENT_RESTORE_REMAPS, NULL);
|
||||
}
|
||||
|
||||
static void command_event_init_cheats(void)
|
||||
@ -1287,6 +1288,11 @@ static void command_event_restore_default_shader_preset(void)
|
||||
path_clear(RARCH_PATH_DEFAULT_SHADER_PRESET);
|
||||
}
|
||||
|
||||
static void command_event_restore_remaps(void)
|
||||
{
|
||||
input_remapping_set_defaults();
|
||||
}
|
||||
|
||||
static bool command_event_save_auto_state(void)
|
||||
{
|
||||
char savestate_name_auto[PATH_MAX_LENGTH] = {0};
|
||||
@ -1797,6 +1803,7 @@ bool command_event(enum event_command cmd, void *data)
|
||||
command_event(CMD_EVENT_AUTOSAVE_STATE, NULL);
|
||||
command_event(CMD_EVENT_DISABLE_OVERRIDES, NULL);
|
||||
command_event(CMD_EVENT_RESTORE_DEFAULT_SHADER_PRESET, NULL);
|
||||
command_event(CMD_EVENT_RESTORE_REMAPS, NULL);
|
||||
|
||||
if (is_inited)
|
||||
if (!task_push_start_dummy_core(&content_info))
|
||||
@ -2589,6 +2596,8 @@ bool command_event(enum event_command cmd, void *data)
|
||||
case CMD_EVENT_DISABLE_OVERRIDES:
|
||||
command_event_disable_overrides();
|
||||
break;
|
||||
case CMD_EVENT_RESTORE_REMAPS:
|
||||
command_event_restore_remaps();
|
||||
case CMD_EVENT_RESTORE_DEFAULT_SHADER_PRESET:
|
||||
command_event_restore_default_shader_preset();
|
||||
break;
|
||||
|
@ -218,6 +218,7 @@ enum event_command
|
||||
CMD_EVENT_MIXER_VOLUME_UP,
|
||||
CMD_EVENT_MIXER_VOLUME_DOWN,
|
||||
CMD_EVENT_DISABLE_OVERRIDES,
|
||||
CMD_EVENT_RESTORE_REMAPS,
|
||||
CMD_EVENT_RESTORE_DEFAULT_SHADER_PRESET,
|
||||
CMD_EVENT_LIBUI_TEST
|
||||
};
|
||||
|
@ -23,6 +23,9 @@
|
||||
#include "../configuration.h"
|
||||
#include "../retroarch.h"
|
||||
|
||||
static unsigned old_analog_dpad_mode[MAX_USERS];
|
||||
static unsigned old_libretro_device[MAX_USERS];
|
||||
|
||||
/**
|
||||
* input_remapping_load_file:
|
||||
* @data : Path to config file.
|
||||
@ -46,6 +49,9 @@ bool input_remapping_load_file(void *data, const char *path)
|
||||
|
||||
for (i = 0; i < MAX_USERS; i++)
|
||||
{
|
||||
old_analog_dpad_mode[i] = settings->uints.input_analog_dpad_mode[i];
|
||||
old_libretro_device[i] = settings->uints.input_libretro_device[i];
|
||||
|
||||
char buf[64];
|
||||
char key_ident[RARCH_FIRST_CUSTOM_BIND + 4][128] = {{0}};
|
||||
char key_strings[RARCH_FIRST_CUSTOM_BIND + 4][128] =
|
||||
@ -82,6 +88,12 @@ bool input_remapping_load_file(void *data, const char *path)
|
||||
settings->uints.input_remap_ids[i][RARCH_FIRST_CUSTOM_BIND + j] =
|
||||
key_remap;
|
||||
}
|
||||
|
||||
snprintf(buf, sizeof(buf), "input_player%u_analog_dpad_mode", i + 1);
|
||||
CONFIG_GET_INT_BASE(conf, settings, uints.input_analog_dpad_mode[i], buf);
|
||||
|
||||
snprintf(buf, sizeof(buf), "input_libretro_device_p%u", i + 1);
|
||||
CONFIG_GET_INT_BASE(conf, settings, uints.input_libretro_device[i], buf);
|
||||
}
|
||||
|
||||
config_file_free(conf);
|
||||
@ -180,5 +192,7 @@ void input_remapping_set_defaults(void)
|
||||
}
|
||||
for (j = 0; j < 4; j++)
|
||||
settings->uints.input_remap_ids[i][RARCH_FIRST_CUSTOM_BIND + j] = j;
|
||||
settings->uints.input_analog_dpad_mode[i] = old_analog_dpad_mode[i];
|
||||
settings->uints.input_libretro_device[i] = old_libretro_device[i];
|
||||
}
|
||||
}
|
||||
|
@ -2161,6 +2161,7 @@ bool retroarch_main_quit(void)
|
||||
command_event(CMD_EVENT_AUTOSAVE_STATE, NULL);
|
||||
command_event(CMD_EVENT_DISABLE_OVERRIDES, NULL);
|
||||
command_event(CMD_EVENT_RESTORE_DEFAULT_SHADER_PRESET, NULL);
|
||||
command_event(CMD_EVENT_RESTORE_REMAPS, NULL);
|
||||
}
|
||||
|
||||
runloop_shutdown_initiated = true;
|
||||
|
Loading…
x
Reference in New Issue
Block a user