mirror of
https://github.com/libretro/RetroArch.git
synced 2025-04-02 10:51:52 -04:00
allow specifying libretro device and analog dpad mode on remap files
This commit is contained in:
parent
32234b44d3
commit
9862b75b4b
5 changed files with 27 additions and 0 deletions
|
@ -3,6 +3,8 @@
|
||||||
- ANDROID: Fire Stick & Fire TV remote overrides gamepad port 0 on button press and viceversa like SHIELD devices
|
- 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!
|
- AUDIO: Audio mixer supports MOD/S3M/XM file types now!
|
||||||
- INPUT: input swap override flag (for remotes) is cleared correctly
|
- 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: Add 'Delete Core'option to Core Information menu.
|
||||||
- COMMON: Allow Max Timing Skew to be set to 0.
|
- COMMON: Allow Max Timing Skew to be set to 0.
|
||||||
- LOCALIZATION: Update Russian translation
|
- 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_DISABLE_OVERRIDES, NULL);
|
||||||
command_event(CMD_EVENT_RESTORE_DEFAULT_SHADER_PRESET, NULL);
|
command_event(CMD_EVENT_RESTORE_DEFAULT_SHADER_PRESET, NULL);
|
||||||
|
command_event(CMD_EVENT_RESTORE_REMAPS, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void command_event_init_cheats(void)
|
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);
|
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)
|
static bool command_event_save_auto_state(void)
|
||||||
{
|
{
|
||||||
char savestate_name_auto[PATH_MAX_LENGTH] = {0};
|
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_AUTOSAVE_STATE, NULL);
|
||||||
command_event(CMD_EVENT_DISABLE_OVERRIDES, NULL);
|
command_event(CMD_EVENT_DISABLE_OVERRIDES, NULL);
|
||||||
command_event(CMD_EVENT_RESTORE_DEFAULT_SHADER_PRESET, NULL);
|
command_event(CMD_EVENT_RESTORE_DEFAULT_SHADER_PRESET, NULL);
|
||||||
|
command_event(CMD_EVENT_RESTORE_REMAPS, NULL);
|
||||||
|
|
||||||
if (is_inited)
|
if (is_inited)
|
||||||
if (!task_push_start_dummy_core(&content_info))
|
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:
|
case CMD_EVENT_DISABLE_OVERRIDES:
|
||||||
command_event_disable_overrides();
|
command_event_disable_overrides();
|
||||||
break;
|
break;
|
||||||
|
case CMD_EVENT_RESTORE_REMAPS:
|
||||||
|
command_event_restore_remaps();
|
||||||
case CMD_EVENT_RESTORE_DEFAULT_SHADER_PRESET:
|
case CMD_EVENT_RESTORE_DEFAULT_SHADER_PRESET:
|
||||||
command_event_restore_default_shader_preset();
|
command_event_restore_default_shader_preset();
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -218,6 +218,7 @@ enum event_command
|
||||||
CMD_EVENT_MIXER_VOLUME_UP,
|
CMD_EVENT_MIXER_VOLUME_UP,
|
||||||
CMD_EVENT_MIXER_VOLUME_DOWN,
|
CMD_EVENT_MIXER_VOLUME_DOWN,
|
||||||
CMD_EVENT_DISABLE_OVERRIDES,
|
CMD_EVENT_DISABLE_OVERRIDES,
|
||||||
|
CMD_EVENT_RESTORE_REMAPS,
|
||||||
CMD_EVENT_RESTORE_DEFAULT_SHADER_PRESET,
|
CMD_EVENT_RESTORE_DEFAULT_SHADER_PRESET,
|
||||||
CMD_EVENT_LIBUI_TEST
|
CMD_EVENT_LIBUI_TEST
|
||||||
};
|
};
|
||||||
|
|
|
@ -23,6 +23,9 @@
|
||||||
#include "../configuration.h"
|
#include "../configuration.h"
|
||||||
#include "../retroarch.h"
|
#include "../retroarch.h"
|
||||||
|
|
||||||
|
static unsigned old_analog_dpad_mode[MAX_USERS];
|
||||||
|
static unsigned old_libretro_device[MAX_USERS];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* input_remapping_load_file:
|
* input_remapping_load_file:
|
||||||
* @data : Path to config 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++)
|
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 buf[64];
|
||||||
char key_ident[RARCH_FIRST_CUSTOM_BIND + 4][128] = {{0}};
|
char key_ident[RARCH_FIRST_CUSTOM_BIND + 4][128] = {{0}};
|
||||||
char key_strings[RARCH_FIRST_CUSTOM_BIND + 4][128] =
|
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] =
|
settings->uints.input_remap_ids[i][RARCH_FIRST_CUSTOM_BIND + j] =
|
||||||
key_remap;
|
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);
|
config_file_free(conf);
|
||||||
|
@ -180,5 +192,7 @@ void input_remapping_set_defaults(void)
|
||||||
}
|
}
|
||||||
for (j = 0; j < 4; j++)
|
for (j = 0; j < 4; j++)
|
||||||
settings->uints.input_remap_ids[i][RARCH_FIRST_CUSTOM_BIND + j] = 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_AUTOSAVE_STATE, NULL);
|
||||||
command_event(CMD_EVENT_DISABLE_OVERRIDES, NULL);
|
command_event(CMD_EVENT_DISABLE_OVERRIDES, NULL);
|
||||||
command_event(CMD_EVENT_RESTORE_DEFAULT_SHADER_PRESET, NULL);
|
command_event(CMD_EVENT_RESTORE_DEFAULT_SHADER_PRESET, NULL);
|
||||||
|
command_event(CMD_EVENT_RESTORE_REMAPS, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
runloop_shutdown_initiated = true;
|
runloop_shutdown_initiated = true;
|
||||||
|
|
Loading…
Add table
Reference in a new issue