Start getting rid of g_settings global

This commit is contained in:
twinaphex 2015-03-20 19:57:16 +01:00
parent 6cefa69aa4
commit a6b9c63d26

View File

@ -264,11 +264,12 @@ void setting_data_get_string_representation(void *data,
static int setting_data_action_start_savestates(void *data)
{
rarch_setting_t *setting = (rarch_setting_t*)data;
settings_t *settings = config_get_ptr();
if (!setting)
return -1;
g_settings.state_slot = 0;
settings->state_slot = 0;
return 0;
}
@ -276,11 +277,12 @@ static int setting_data_action_start_savestates(void *data)
static int setting_data_action_start_bind_device(void *data)
{
rarch_setting_t *setting = (rarch_setting_t*)data;
settings_t *settings = config_get_ptr();
if (!setting)
return -1;
g_settings.input.joypad_map[setting->index_offset] = setting->index_offset;
settings->input.joypad_map[setting->index_offset] = setting->index_offset;
return 0;
}
@ -337,6 +339,7 @@ static int setting_data_action_start_libretro_device_type(void *data)
unsigned current_device, i, devices[128], types = 0, port = 0;
const struct retro_controller_info *desc = NULL;
rarch_setting_t *setting = (rarch_setting_t*)data;
settings_t *settings = config_get_ptr();
if (!setting)
return -1;
@ -367,11 +370,11 @@ static int setting_data_action_start_libretro_device_type(void *data)
}
}
current_device = g_settings.input.libretro_device[port];
current_device = settings->input.libretro_device[port];
current_device = RETRO_DEVICE_JOYPAD;
g_settings.input.libretro_device[port] = current_device;
settings->input.libretro_device[port] = current_device;
pretro_set_controller_port_device(port, current_device);
return 0;
@ -478,7 +481,8 @@ static int setting_data_action_toggle_analog_dpad_mode(void *data,
unsigned action, bool wraparound)
{
unsigned port = 0;
rarch_setting_t *setting = (rarch_setting_t*)data;
rarch_setting_t *setting = (rarch_setting_t*)data;
settings_t *settings = config_get_ptr();
if (!setting)
return -1;
@ -488,14 +492,14 @@ static int setting_data_action_toggle_analog_dpad_mode(void *data,
switch (action)
{
case MENU_ACTION_RIGHT:
g_settings.input.analog_dpad_mode[port] =
(g_settings.input.analog_dpad_mode[port] + 1)
settings->input.analog_dpad_mode[port] =
(settings->input.analog_dpad_mode[port] + 1)
% ANALOG_DPAD_LAST;
break;
case MENU_ACTION_LEFT:
g_settings.input.analog_dpad_mode[port] =
(g_settings.input.analog_dpad_mode
settings->input.analog_dpad_mode[port] =
(settings->input.analog_dpad_mode
[port] + ANALOG_DPAD_LAST - 1) % ANALOG_DPAD_LAST;
break;
}
@ -520,7 +524,8 @@ static int setting_data_action_toggle_libretro_device_type(
unsigned current_device, current_idx, i, devices[128],
types = 0, port = 0;
const struct retro_controller_info *desc = NULL;
rarch_setting_t *setting = (rarch_setting_t*)data;
rarch_setting_t *setting = (rarch_setting_t*)data;
settings_t *settings = config_get_ptr();
if (!setting)
return -1;
@ -549,7 +554,7 @@ static int setting_data_action_toggle_libretro_device_type(
}
}
current_device = g_settings.input.libretro_device[port];
current_device = settings->input.libretro_device[port];
current_idx = 0;
for (i = 0; i < types; i++)
{
@ -566,7 +571,7 @@ static int setting_data_action_toggle_libretro_device_type(
current_device = devices
[(current_idx + types - 1) % types];
g_settings.input.libretro_device[port] = current_device;
settings->input.libretro_device[port] = current_device;
pretro_set_controller_port_device(port, current_device);
break;
@ -574,7 +579,7 @@ static int setting_data_action_toggle_libretro_device_type(
current_device = devices
[(current_idx + 1) % types];
g_settings.input.libretro_device[port] = current_device;
settings->input.libretro_device[port] = current_device;
pretro_set_controller_port_device(port, current_device);
break;
}
@ -596,7 +601,8 @@ static int setting_data_action_toggle_libretro_device_type(
static int setting_data_action_toggle_savestates(
void *data, unsigned action, bool wraparound)
{
rarch_setting_t *setting = (rarch_setting_t*)data;
rarch_setting_t *setting = (rarch_setting_t*)data;
settings_t *settings = config_get_ptr();
if (!setting)
return -1;
@ -605,11 +611,11 @@ static int setting_data_action_toggle_savestates(
{
case MENU_ACTION_LEFT:
/* Slot -1 is (auto) slot. */
if (g_settings.state_slot >= 0)
g_settings.state_slot--;
if (settings->state_slot >= 0)
settings->state_slot--;
break;
case MENU_ACTION_RIGHT:
g_settings.state_slot++;
settings->state_slot++;
break;
}
@ -631,23 +637,24 @@ static int setting_data_action_toggle_bind_device(void *data,
unsigned action, bool wraparound)
{
unsigned *p = NULL;
rarch_setting_t *setting = (rarch_setting_t*)data;
rarch_setting_t *setting = (rarch_setting_t*)data;
settings_t *settings = config_get_ptr();
if (!setting)
return -1;
p = &g_settings.input.joypad_map[setting->index_offset];
p = &settings->input.joypad_map[setting->index_offset];
switch (action)
{
case MENU_ACTION_LEFT:
if ((*p) >= g_settings.input.max_users)
*p = g_settings.input.max_users - 1;
if ((*p) >= settings->input.max_users)
*p = settings->input.max_users - 1;
else if ((*p) > 0)
(*p)--;
break;
case MENU_ACTION_RIGHT:
if (*p < g_settings.input.max_users)
if (*p < settings->input.max_users)
(*p)++;
break;
}
@ -782,16 +789,17 @@ static int setting_data_string_action_toggle_driver(void *data,
static int core_list_action_toggle(void *data, unsigned action, bool wraparound)
{
rarch_setting_t *setting = (rarch_setting_t *)data;
settings_t *settings = config_get_ptr();
if (!setting)
return -1;
/* If the user CANCELs the browse, then g_settings.libretro is now
/* If the user CANCELs the browse, then settings->libretro is now
* set to a directory, which is very bad and will cause a crash
* later on. I need to be able to add something to call when a
* cancel happens.
*/
strlcpy(setting->value.string, g_settings.libretro_directory, setting->size);
strlcpy(setting->value.string, settings->libretro_directory, setting->size);
return 0;
}
@ -819,12 +827,13 @@ static void core_list_change_handler(void *data)
static int load_content_action_toggle(void *data, unsigned action,
bool wraparound)
{
rarch_setting_t *setting = (rarch_setting_t *)data;
rarch_setting_t *setting = (rarch_setting_t *)data;
settings_t *settings = config_get_ptr();
if (!setting)
return -1;
strlcpy(setting->value.string, g_settings.menu_content_directory, setting->size);
strlcpy(setting->value.string, settings->menu_content_directory, setting->size);
if (g_extern.menu.info.valid_extensions)
setting->values = g_extern.menu.info.valid_extensions;
@ -840,13 +849,14 @@ static int load_content_action_toggle(void *data, unsigned action,
static int setting_data_action_ok_bind_all(void *data, unsigned action)
{
rarch_setting_t *setting = (rarch_setting_t*)data;
menu_handle_t *menu = menu_driver_resolve();
rarch_setting_t *setting = (rarch_setting_t*)data;
menu_handle_t *menu = menu_driver_resolve();
settings_t *settings = config_get_ptr();
if (!setting || !menu)
return -1;
menu->binds.target = &g_settings.input.binds
menu->binds.target = &settings->input.binds
[setting->index_offset][0];
menu->binds.begin = MENU_SETTINGS_BIND_BEGIN;
menu->binds.last = MENU_SETTINGS_BIND_LAST;
@ -882,8 +892,9 @@ static int setting_data_action_ok_bind_defaults(void *data, unsigned action)
unsigned i;
struct retro_keybind *target = NULL;
const struct retro_keybind *def_binds = NULL;
rarch_setting_t *setting = (rarch_setting_t*)data;
menu_handle_t *menu = menu_driver_resolve();
rarch_setting_t *setting = (rarch_setting_t*)data;
menu_handle_t *menu = menu_driver_resolve();
settings_t *settings = config_get_ptr();
if (!menu)
return -1;
@ -891,7 +902,7 @@ static int setting_data_action_ok_bind_defaults(void *data, unsigned action)
return -1;
target = (struct retro_keybind*)
&g_settings.input.binds[setting->index_offset][0];
&settings->input.binds[setting->index_offset][0];
def_binds = (setting->index_offset) ?
retro_keybinds_rest : retro_keybinds_1;
@ -1286,14 +1297,16 @@ static void setting_data_get_string_representation_uint_libretro_device(void *da
{
const struct retro_controller_description *desc = NULL;
const char *name = NULL;
rarch_setting_t *setting = (rarch_setting_t*)data;
rarch_setting_t *setting = (rarch_setting_t*)data;
settings_t *settings = config_get_ptr();
if (!setting)
return;
if (setting->index_offset < g_extern.system.num_ports)
desc = libretro_find_controller_description(
&g_extern.system.ports[setting->index_offset],
g_settings.input.libretro_device
settings->input.libretro_device
[setting->index_offset]);
if (desc)
@ -1303,7 +1316,7 @@ static void setting_data_get_string_representation_uint_libretro_device(void *da
{
/* Find generic name. */
switch (g_settings.input.libretro_device
switch (settings->input.libretro_device
[setting->index_offset])
{
case RETRO_DEVICE_NONE:
@ -1328,10 +1341,11 @@ static void setting_data_get_string_representation_uint_archive_mode(void *data,
char *type_str, size_t type_str_size)
{
const char *name = "Unknown";
settings_t *settings = config_get_ptr();
(void)data;
switch (g_settings.archive.mode)
switch (settings->archive.mode)
{
case 0:
name = "Ask";
@ -1355,13 +1369,14 @@ static void setting_data_get_string_representation_uint_analog_dpad_mode(void *d
"Left Analog",
"Right Analog",
};
rarch_setting_t *setting = (rarch_setting_t*)data;
rarch_setting_t *setting = (rarch_setting_t*)data;
settings_t *settings = config_get_ptr();
if (!setting)
return;
(void)data;
strlcpy(type_str, modes[g_settings.input.analog_dpad_mode
strlcpy(type_str, modes[settings->input.analog_dpad_mode
[setting->index_offset] % ANALOG_DPAD_LAST],
type_str_size);
}
@ -1397,11 +1412,12 @@ static void setting_data_get_string_representation_uint_user_language(void *data
"Chinese (Traditional)",
"Chinese (Simplified)"
};
rarch_setting_t *setting = (rarch_setting_t*)data;
rarch_setting_t *setting = (rarch_setting_t*)data;
settings_t *settings = config_get_ptr();
if (!setting)
return;
strlcpy(type_str, modes[g_settings.user_language], type_str_size);
strlcpy(type_str, modes[settings->user_language], type_str_size);
}
static void setting_data_get_string_representation_uint_libretro_log_level(void *data,
@ -1919,9 +1935,11 @@ rarch_setting_t setting_data_string_setting_options(enum setting_type type,
int setting_data_get_description(const char *label, char *msg,
size_t sizeof_msg)
{
settings_t *settings = config_get_ptr();
if (!strcmp(label, "input_driver"))
{
if (!strcmp(g_settings.input.driver, "udev"))
if (!strcmp(settings->input.driver, "udev"))
snprintf(msg, sizeof_msg,
" -- udev Input driver. \n"
" \n"
@ -1940,7 +1958,7 @@ int setting_data_get_description(const char *label, char *msg,
"are root-only (mode 600). You can set up a udev \n"
"rule which makes these accessible to non-root."
);
else if (!strcmp(g_settings.input.driver, "linuxraw"))
else if (!strcmp(settings->input.driver, "linuxraw"))
snprintf(msg, sizeof_msg,
" -- linuxraw Input driver. \n"
" \n"
@ -2011,16 +2029,16 @@ int setting_data_get_description(const char *label, char *msg,
}
else if (!strcmp(label, "audio_resampler_driver"))
{
if (!strcmp(g_settings.audio.resampler, "sinc"))
if (!strcmp(settings->audio.resampler, "sinc"))
snprintf(msg, sizeof_msg,
" -- Windowed SINC implementation.");
else if (!strcmp(g_settings.audio.resampler, "CC"))
else if (!strcmp(settings->audio.resampler, "CC"))
snprintf(msg, sizeof_msg,
" -- Convoluted Cosine implementation.");
}
else if (!strcmp(label, "video_driver"))
{
if (!strcmp(g_settings.video.driver, "gl"))
if (!strcmp(settings->video.driver, "gl"))
snprintf(msg, sizeof_msg,
" -- OpenGL Video driver. \n"
" \n"
@ -2032,7 +2050,7 @@ int setting_data_get_description(const char *label, char *msg,
"libretro GL core implementations is \n"
"dependent on your graphics card's \n"
"underlying GL driver).");
else if (!strcmp(g_settings.video.driver, "sdl2"))
else if (!strcmp(settings->video.driver, "sdl2"))
snprintf(msg, sizeof_msg,
" -- SDL 2 Video driver.\n"
" \n"
@ -2042,7 +2060,7 @@ int setting_data_get_description(const char *label, char *msg,
"Performance for software-rendered libretro \n"
"core implementations is dependent \n"
"on your platform SDL implementation.");
else if (!strcmp(g_settings.video.driver, "sdl"))
else if (!strcmp(settings->video.driver, "sdl"))
snprintf(msg, sizeof_msg,
" -- SDL Video driver.\n"
" \n"
@ -2051,14 +2069,14 @@ int setting_data_get_description(const char *label, char *msg,
" \n"
"Performance is considered to be suboptimal. \n"
"Consider using it only as a last resort.");
else if (!strcmp(g_settings.video.driver, "d3d"))
else if (!strcmp(settings->video.driver, "d3d"))
snprintf(msg, sizeof_msg,
" -- Direct3D Video driver. \n"
" \n"
"Performance for software-rendered cores \n"
"is dependent on your graphic card's \n"
"underlying D3D driver).");
else if (!strcmp(g_settings.video.driver, "exynos"))
else if (!strcmp(settings->video.driver, "exynos"))
snprintf(msg, sizeof_msg,
" -- Exynos-G2D Video Driver. \n"
" \n"
@ -2068,7 +2086,7 @@ int setting_data_get_description(const char *label, char *msg,
" \n"
"Performance for software rendered cores \n"
"should be optimal.");
else if (!strcmp(g_settings.video.driver, "sunxi"))
else if (!strcmp(settings->video.driver, "sunxi"))
snprintf(msg, sizeof_msg,
" -- Sunxi-G2D Video Driver. \n"
" \n"
@ -2856,17 +2874,17 @@ static void get_string_representation_bind_device(void * data, char *type_str,
size_t type_str_size)
{
unsigned map = 0;
rarch_setting_t *setting = (rarch_setting_t*)data;
rarch_setting_t *setting = (rarch_setting_t*)data;
settings_t *settings = config_get_ptr();
if (!setting)
return;
map = g_settings.input.joypad_map[setting->index_offset];
map = settings->input.joypad_map[setting->index_offset];
if (map < g_settings.input.max_users)
if (map < settings->input.max_users)
{
const char *device_name =
g_settings.input.device_names[map];
const char *device_name = settings->input.device_names[map];
if (*device_name)
strlcpy(type_str, device_name, type_str_size);
@ -2882,8 +2900,10 @@ static void get_string_representation_bind_device(void * data, char *type_str,
static void get_string_representation_savestate(void * data, char *type_str,
size_t type_str_size)
{
snprintf(type_str, type_str_size, "%d", g_settings.state_slot);
if (g_settings.state_slot == -1)
settings_t *settings = config_get_ptr();
snprintf(type_str, type_str_size, "%d", settings->state_slot);
if (settings->state_slot == -1)
strlcat(type_str, " (Auto)", type_str_size);
}
@ -2928,46 +2948,48 @@ void setting_data_get_label(file_list_t *list, char *type_str,
static void general_read_handler(void *data)
{
rarch_setting_t *setting = (rarch_setting_t*)data;
rarch_setting_t *setting = (rarch_setting_t*)data;
settings_t *settings = config_get_ptr();
if (!setting)
return;
if (!strcmp(setting->name, "audio_rate_control_delta"))
{
*setting->value.fraction = g_settings.audio.rate_control_delta;
*setting->value.fraction = settings->audio.rate_control_delta;
if (*setting->value.fraction < 0.0005)
{
g_settings.audio.rate_control = false;
g_settings.audio.rate_control_delta = 0.0;
settings->audio.rate_control = false;
settings->audio.rate_control_delta = 0.0;
}
else
{
g_settings.audio.rate_control = true;
g_settings.audio.rate_control_delta = *setting->value.fraction;
settings->audio.rate_control = true;
settings->audio.rate_control_delta = *setting->value.fraction;
}
}
else if (!strcmp(setting->name, "audio_max_timing_skew"))
*setting->value.fraction = g_settings.audio.max_timing_skew;
*setting->value.fraction = settings->audio.max_timing_skew;
else if (!strcmp(setting->name, "video_refresh_rate_auto"))
*setting->value.fraction = g_settings.video.refresh_rate;
*setting->value.fraction = settings->video.refresh_rate;
else if (!strcmp(setting->name, "input_player1_joypad_index"))
*setting->value.integer = g_settings.input.joypad_map[0];
*setting->value.integer = settings->input.joypad_map[0];
else if (!strcmp(setting->name, "input_player2_joypad_index"))
*setting->value.integer = g_settings.input.joypad_map[1];
*setting->value.integer = settings->input.joypad_map[1];
else if (!strcmp(setting->name, "input_player3_joypad_index"))
*setting->value.integer = g_settings.input.joypad_map[2];
*setting->value.integer = settings->input.joypad_map[2];
else if (!strcmp(setting->name, "input_player4_joypad_index"))
*setting->value.integer = g_settings.input.joypad_map[3];
*setting->value.integer = settings->input.joypad_map[3];
else if (!strcmp(setting->name, "input_player5_joypad_index"))
*setting->value.integer = g_settings.input.joypad_map[4];
*setting->value.integer = settings->input.joypad_map[4];
}
static void general_write_handler(void *data)
{
unsigned rarch_cmd = RARCH_CMD_NONE;
rarch_setting_t *setting = (rarch_setting_t*)data;
driver_t *driver = driver_get_ptr();
settings_t *settings = config_get_ptr();
driver_t *driver = driver_get_ptr();
if (!setting)
return;
@ -3009,7 +3031,7 @@ static void general_write_handler(void *data)
if (driver->video_data && driver->video_poke
&& driver->video_poke->set_filtering)
driver->video_poke->set_filtering(driver->video_data,
1, g_settings.video.smooth);
1, settings->video.smooth);
}
else if (!strcmp(setting->name, "pal60_enable"))
{
@ -3048,17 +3070,17 @@ static void general_write_handler(void *data)
{
if (*setting->value.fraction < 0.0005)
{
g_settings.audio.rate_control = false;
g_settings.audio.rate_control_delta = 0.0;
settings->audio.rate_control = false;
settings->audio.rate_control_delta = 0.0;
}
else
{
g_settings.audio.rate_control = true;
g_settings.audio.rate_control_delta = *setting->value.fraction;
settings->audio.rate_control = true;
settings->audio.rate_control_delta = *setting->value.fraction;
}
}
else if (!strcmp(setting->name, "audio_max_timing_skew"))
g_settings.audio.max_timing_skew = *setting->value.fraction;
settings->audio.max_timing_skew = *setting->value.fraction;
else if (!strcmp(setting->name, "video_refresh_rate_auto"))
{
if (driver->video && driver->video_data)
@ -3071,21 +3093,21 @@ static void general_write_handler(void *data)
}
else if (!strcmp(setting->name, "video_scale"))
{
g_settings.video.scale = roundf(*setting->value.fraction);
settings->video.scale = roundf(*setting->value.fraction);
if (!g_settings.video.fullscreen)
if (!settings->video.fullscreen)
rarch_cmd = RARCH_CMD_REINIT;
}
else if (!strcmp(setting->name, "input_player1_joypad_index"))
g_settings.input.joypad_map[0] = *setting->value.integer;
settings->input.joypad_map[0] = *setting->value.integer;
else if (!strcmp(setting->name, "input_player2_joypad_index"))
g_settings.input.joypad_map[1] = *setting->value.integer;
settings->input.joypad_map[1] = *setting->value.integer;
else if (!strcmp(setting->name, "input_player3_joypad_index"))
g_settings.input.joypad_map[2] = *setting->value.integer;
settings->input.joypad_map[2] = *setting->value.integer;
else if (!strcmp(setting->name, "input_player4_joypad_index"))
g_settings.input.joypad_map[3] = *setting->value.integer;
settings->input.joypad_map[3] = *setting->value.integer;
else if (!strcmp(setting->name, "input_player5_joypad_index"))
g_settings.input.joypad_map[4] = *setting->value.integer;
settings->input.joypad_map[4] = *setting->value.integer;
#ifdef HAVE_NETPLAY
else if (!strcmp(setting->name, "netplay_ip_address"))
g_extern.has_set_netplay_ip_address = (setting->value.string[0] != '\0');
@ -3283,7 +3305,8 @@ static bool setting_data_append_list_main_menu_options(
{
rarch_setting_group_info_t group_info;
rarch_setting_group_info_t subgroup_info;
driver_t *driver = driver_get_ptr();
driver_t *driver = driver_get_ptr();
settings_t *settings = config_get_ptr();
START_GROUP(group_info, "Main Menu");
START_SUB_GROUP(list, list_info, "State", group_info.name, subgroup_info);
@ -3293,8 +3316,8 @@ static bool setting_data_append_list_main_menu_options(
"Core Selection",
group_info.name,
subgroup_info.name);
(*list)[list_info->index - 1].size = sizeof(g_settings.libretro);
(*list)[list_info->index - 1].value.string = g_settings.libretro;
(*list)[list_info->index - 1].size = sizeof(settings->libretro);
(*list)[list_info->index - 1].value.string = settings->libretro;
(*list)[list_info->index - 1].values = EXT_EXECUTABLES;
// It is not a good idea to have chosen action_toggle as the place
// to put this callback. It should be called whenever the browser
@ -3313,7 +3336,7 @@ static bool setting_data_append_list_main_menu_options(
subgroup_info.name);
#endif
if (g_settings.history_list_enable)
if (settings->history_list_enable)
{
CONFIG_ACTION(
"history_list",
@ -3475,13 +3498,14 @@ static bool setting_data_append_list_driver_options(
{
rarch_setting_group_info_t group_info;
rarch_setting_group_info_t subgroup_info;
settings_t *settings = config_get_ptr();
START_GROUP(group_info, "Driver Settings");
START_SUB_GROUP(list, list_info, "State", group_info.name, subgroup_info);
CONFIG_STRING_OPTIONS(
g_settings.input.driver,
settings->input.driver,
"input_driver",
"Input Driver",
config_get_default_input(),
@ -3493,7 +3517,7 @@ static bool setting_data_append_list_driver_options(
settings_data_list_current_add_flags(list, list_info, SD_FLAG_IS_DRIVER);
CONFIG_STRING_OPTIONS(
g_settings.video.driver,
settings->video.driver,
"video_driver",
"Video Driver",
config_get_default_video(),
@ -3505,7 +3529,7 @@ static bool setting_data_append_list_driver_options(
settings_data_list_current_add_flags(list, list_info, SD_FLAG_IS_DRIVER);
CONFIG_STRING_OPTIONS(
g_settings.audio.driver,
settings->audio.driver,
"audio_driver",
"Audio Driver",
config_get_default_audio(),
@ -3517,7 +3541,7 @@ static bool setting_data_append_list_driver_options(
settings_data_list_current_add_flags(list, list_info, SD_FLAG_IS_DRIVER);
CONFIG_STRING_OPTIONS(
g_settings.audio.resampler,
settings->audio.resampler,
"audio_resampler_driver",
"Audio Resampler Driver",
config_get_default_audio_resampler(),
@ -3529,7 +3553,7 @@ static bool setting_data_append_list_driver_options(
settings_data_list_current_add_flags(list, list_info, SD_FLAG_IS_DRIVER);
CONFIG_STRING_OPTIONS(
g_settings.camera.driver,
settings->camera.driver,
"camera_driver",
"Camera Driver",
config_get_default_camera(),
@ -3541,7 +3565,7 @@ static bool setting_data_append_list_driver_options(
settings_data_list_current_add_flags(list, list_info, SD_FLAG_IS_DRIVER);
CONFIG_STRING_OPTIONS(
g_settings.location.driver,
settings->location.driver,
"location_driver",
"Location Driver",
config_get_default_location(),
@ -3554,7 +3578,7 @@ static bool setting_data_append_list_driver_options(
#ifdef HAVE_MENU
CONFIG_STRING_OPTIONS(
g_settings.menu.driver,
settings->menu.driver,
"menu_driver",
"Menu Driver",
config_get_default_menu(),
@ -3567,7 +3591,7 @@ static bool setting_data_append_list_driver_options(
#endif
CONFIG_STRING_OPTIONS(
g_settings.input.joypad_driver,
settings->input.joypad_driver,
"input_joypad_driver",
"Joypad Driver",
config_get_default_joypad(),
@ -3590,13 +3614,14 @@ static bool setting_data_append_list_general_options(
{
rarch_setting_group_info_t group_info;
rarch_setting_group_info_t subgroup_info;
settings_t *settings = config_get_ptr();
START_GROUP(group_info, "General Settings");
START_SUB_GROUP(list, list_info, "State", group_info.name, subgroup_info);
CONFIG_BOOL(
g_settings.load_dummy_on_core_shutdown,
settings->load_dummy_on_core_shutdown,
"dummy_on_core_shutdown",
"Dummy On Core Shutdown",
load_dummy_on_core_shutdown,
@ -3609,7 +3634,7 @@ static bool setting_data_append_list_general_options(
settings_data_list_current_add_flags(list, list_info, SD_FLAG_ADVANCED);
CONFIG_BOOL(
g_settings.core_specific_config,
settings->core_specific_config,
"core_specific_config",
"Configuration Per-Core",
default_core_specific_config,
@ -3638,7 +3663,7 @@ static bool setting_data_append_list_general_options(
general_read_handler);
CONFIG_UINT(g_settings.libretro_log_level,
CONFIG_UINT(settings->libretro_log_level,
"libretro_log_level",
"Libretro Logging Level",
libretro_log_level,
@ -3666,7 +3691,7 @@ static bool setting_data_append_list_general_options(
general_read_handler);
settings_data_list_current_add_flags(list, list_info, SD_FLAG_ADVANCED);
CONFIG_BOOL(g_settings.config_save_on_exit,
CONFIG_BOOL(settings->config_save_on_exit,
"config_save_on_exit",
"Configuration Save On Exit",
config_save_on_exit,
@ -3682,7 +3707,7 @@ static bool setting_data_append_list_general_options(
START_SUB_GROUP(list, list_info, "Frame rewinding", group_info.name, subgroup_info);
CONFIG_BOOL(
g_settings.rewind_enable,
settings->rewind_enable,
"rewind_enable",
"Rewind",
rewind_enable,
@ -3696,7 +3721,7 @@ static bool setting_data_append_list_general_options(
settings_data_list_current_add_flags(list, list_info, SD_FLAG_CMD_APPLY_AUTO);
#if 0
CONFIG_SIZE(
g_settings.rewind_buffer_size,
settings->rewind_buffer_size,
"rewind_buffer_size",
"Rewind Buffer Size",
rewind_buffer_size,
@ -3706,7 +3731,7 @@ static bool setting_data_append_list_general_options(
general_read_handler)
#endif
CONFIG_UINT(
g_settings.rewind_granularity,
settings->rewind_granularity,
"rewind_granularity",
"Rewind Granularity",
rewind_granularity,
@ -3722,7 +3747,7 @@ static bool setting_data_append_list_general_options(
START_SUB_GROUP(list, list_info, "Saving", group_info.name, subgroup_info);
CONFIG_BOOL(
g_settings.block_sram_overwrite,
settings->block_sram_overwrite,
"block_sram_overwrite",
"SRAM Block overwrite",
block_sram_overwrite,
@ -3735,7 +3760,7 @@ static bool setting_data_append_list_general_options(
#ifdef HAVE_THREADS
CONFIG_UINT(
g_settings.autosave_interval,
settings->autosave_interval,
"autosave_interval",
"SRAM Autosave",
autosave_interval,
@ -3751,7 +3776,7 @@ static bool setting_data_append_list_general_options(
#endif
CONFIG_BOOL(
g_settings.savestate_auto_index,
settings->savestate_auto_index,
"savestate_auto_index",
"Save State Auto Index",
savestate_auto_index,
@ -3763,7 +3788,7 @@ static bool setting_data_append_list_general_options(
general_read_handler);
CONFIG_BOOL(
g_settings.savestate_auto_save,
settings->savestate_auto_save,
"savestate_auto_save",
"Auto Save State",
savestate_auto_save,
@ -3775,7 +3800,7 @@ static bool setting_data_append_list_general_options(
general_read_handler);
CONFIG_BOOL(
g_settings.savestate_auto_load,
settings->savestate_auto_load,
"savestate_auto_load",
"Auto Load State",
savestate_auto_load,
@ -3792,7 +3817,7 @@ static bool setting_data_append_list_general_options(
START_SUB_GROUP(list, list_info, "Frame throttling", group_info.name, subgroup_info);
CONFIG_BOOL(
g_settings.fastforward_ratio_throttle_enable,
settings->fastforward_ratio_throttle_enable,
"fastforward_ratio_throttle_enable",
"Limit Maximum Run Speed",
fastforward_ratio_throttle_enable,
@ -3804,7 +3829,7 @@ static bool setting_data_append_list_general_options(
general_read_handler);
CONFIG_FLOAT(
g_settings.fastforward_ratio,
settings->fastforward_ratio,
"fastforward_ratio",
"Maximum Run Speed",
fastforward_ratio,
@ -3816,7 +3841,7 @@ static bool setting_data_append_list_general_options(
settings_list_current_add_range(list, list_info, 1, 10, 0.1, true, true);
CONFIG_FLOAT(
g_settings.slowmotion_ratio,
settings->slowmotion_ratio,
"slowmotion_ratio",
"Slow-Motion Ratio",
slowmotion_ratio,