Only grab setting pointer for command events where we need it

This commit is contained in:
twinaphex 2016-12-25 01:28:16 +01:00
parent e50ecc1b5f
commit 17609e1d42

View File

@ -1764,7 +1764,6 @@ static bool command_event_resize_windowed_scale(void)
bool command_event(enum event_command cmd, void *data) bool command_event(enum event_command cmd, void *data)
{ {
bool boolean = false; bool boolean = false;
settings_t *settings = config_get_ptr();
switch (cmd) switch (cmd)
{ {
@ -1838,6 +1837,8 @@ bool command_event(enum event_command cmd, void *data)
#endif #endif
break; break;
case CMD_EVENT_LOAD_STATE: case CMD_EVENT_LOAD_STATE:
{
settings_t *settings = config_get_ptr();
/* Immutable - disallow savestate load when /* Immutable - disallow savestate load when
* we absolutely cannot change game state. */ * we absolutely cannot change game state. */
if (bsv_movie_ctl(BSV_MOVIE_CTL_IS_INITED, NULL)) if (bsv_movie_ctl(BSV_MOVIE_CTL_IS_INITED, NULL))
@ -1849,6 +1850,7 @@ bool command_event(enum event_command cmd, void *data)
#endif #endif
command_event_main_state(cmd); command_event_main_state(cmd);
}
break; break;
case CMD_EVENT_UNDO_LOAD_STATE: case CMD_EVENT_UNDO_LOAD_STATE:
command_event_main_state(cmd); command_event_main_state(cmd);
@ -1879,6 +1881,8 @@ bool command_event(enum event_command cmd, void *data)
core_reset(); core_reset();
break; break;
case CMD_EVENT_SAVE_STATE: case CMD_EVENT_SAVE_STATE:
{
settings_t *settings = config_get_ptr();
#ifdef HAVE_CHEEVOS #ifdef HAVE_CHEEVOS
if (settings->cheevos.hardcore_mode_enable) if (settings->cheevos.hardcore_mode_enable)
return false; return false;
@ -1888,14 +1892,21 @@ bool command_event(enum event_command cmd, void *data)
settings->state_slot++; settings->state_slot++;
command_event_main_state(cmd); command_event_main_state(cmd);
}
break; break;
case CMD_EVENT_SAVE_STATE_DECREMENT: case CMD_EVENT_SAVE_STATE_DECREMENT:
{
settings_t *settings = config_get_ptr();
/* Slot -1 is (auto) slot. */ /* Slot -1 is (auto) slot. */
if (settings->state_slot >= 0) if (settings->state_slot >= 0)
settings->state_slot--; settings->state_slot--;
}
break; break;
case CMD_EVENT_SAVE_STATE_INCREMENT: case CMD_EVENT_SAVE_STATE_INCREMENT:
{
settings_t *settings = config_get_ptr();
settings->state_slot++; settings->state_slot++;
}
break; break;
case CMD_EVENT_TAKE_SCREENSHOT: case CMD_EVENT_TAKE_SCREENSHOT:
if (!take_screenshot(path_get(RARCH_PATH_BASENAME), false)) if (!take_screenshot(path_get(RARCH_PATH_BASENAME), false))
@ -1957,6 +1968,8 @@ bool command_event(enum event_command cmd, void *data)
cheat_manager_apply_cheats(); cheat_manager_apply_cheats();
break; break;
case CMD_EVENT_REWIND_DEINIT: case CMD_EVENT_REWIND_DEINIT:
{
settings_t *settings = config_get_ptr();
#ifdef HAVE_NETWORKING #ifdef HAVE_NETWORKING
if (netplay_driver_ctl(RARCH_NETPLAY_CTL_IS_DATA_INITED, NULL)) if (netplay_driver_ctl(RARCH_NETPLAY_CTL_IS_DATA_INITED, NULL))
return false; return false;
@ -1967,8 +1980,11 @@ bool command_event(enum event_command cmd, void *data)
#endif #endif
state_manager_event_deinit(); state_manager_event_deinit();
}
break; break;
case CMD_EVENT_REWIND_INIT: case CMD_EVENT_REWIND_INIT:
{
settings_t *settings = config_get_ptr();
#ifdef HAVE_CHEEVOS #ifdef HAVE_CHEEVOS
if (settings->cheevos.hardcore_mode_enable) if (settings->cheevos.hardcore_mode_enable)
return false; return false;
@ -1977,12 +1993,16 @@ bool command_event(enum event_command cmd, void *data)
if (!netplay_driver_ctl(RARCH_NETPLAY_CTL_IS_DATA_INITED, NULL)) if (!netplay_driver_ctl(RARCH_NETPLAY_CTL_IS_DATA_INITED, NULL))
#endif #endif
state_manager_event_init(); state_manager_event_init();
}
break; break;
case CMD_EVENT_REWIND_TOGGLE: case CMD_EVENT_REWIND_TOGGLE:
{
settings_t *settings = config_get_ptr();
if (settings->rewind_enable) if (settings->rewind_enable)
command_event(CMD_EVENT_REWIND_INIT, NULL); command_event(CMD_EVENT_REWIND_INIT, NULL);
else else
command_event(CMD_EVENT_REWIND_DEINIT, NULL); command_event(CMD_EVENT_REWIND_DEINIT, NULL);
}
break; break;
case CMD_EVENT_AUTOSAVE_DEINIT: case CMD_EVENT_AUTOSAVE_DEINIT:
#ifdef HAVE_THREADS #ifdef HAVE_THREADS
@ -2008,6 +2028,8 @@ bool command_event(enum event_command cmd, void *data)
return false; return false;
break; break;
case CMD_EVENT_AUDIO_START: case CMD_EVENT_AUDIO_START:
{
settings_t *settings = config_get_ptr();
if (audio_driver_alive()) if (audio_driver_alive())
return false; return false;
@ -2017,9 +2039,11 @@ bool command_event(enum event_command cmd, void *data)
msg_hash_to_str(MSG_FAILED_TO_START_AUDIO_DRIVER)); msg_hash_to_str(MSG_FAILED_TO_START_AUDIO_DRIVER));
audio_driver_unset_active(); audio_driver_unset_active();
} }
}
break; break;
case CMD_EVENT_AUDIO_MUTE_TOGGLE: case CMD_EVENT_AUDIO_MUTE_TOGGLE:
{ {
settings_t *settings = config_get_ptr();
const char *msg = !settings->audio.mute_enable ? const char *msg = !settings->audio.mute_enable ?
msg_hash_to_str(MSG_AUDIO_MUTED): msg_hash_to_str(MSG_AUDIO_MUTED):
msg_hash_to_str(MSG_AUDIO_UNMUTED); msg_hash_to_str(MSG_AUDIO_UNMUTED);
@ -2042,25 +2066,34 @@ bool command_event(enum event_command cmd, void *data)
#endif #endif
break; break;
case CMD_EVENT_OVERLAY_INIT: case CMD_EVENT_OVERLAY_INIT:
{
settings_t *settings = config_get_ptr();
command_event(CMD_EVENT_OVERLAY_DEINIT, NULL); command_event(CMD_EVENT_OVERLAY_DEINIT, NULL);
#ifdef HAVE_OVERLAY #ifdef HAVE_OVERLAY
if (settings->input.overlay_enable) if (settings->input.overlay_enable)
task_push_overlay_load_default(input_overlay_loaded, NULL); task_push_overlay_load_default(input_overlay_loaded, NULL);
#endif #endif
}
break; break;
case CMD_EVENT_OVERLAY_NEXT: case CMD_EVENT_OVERLAY_NEXT:
{
settings_t *settings = config_get_ptr();
#ifdef HAVE_OVERLAY #ifdef HAVE_OVERLAY
input_overlay_next(overlay_ptr, settings->input.overlay_opacity); input_overlay_next(overlay_ptr, settings->input.overlay_opacity);
#endif #endif
}
break; break;
case CMD_EVENT_DSP_FILTER_DEINIT: case CMD_EVENT_DSP_FILTER_DEINIT:
audio_driver_dsp_filter_free(); audio_driver_dsp_filter_free();
break; break;
case CMD_EVENT_DSP_FILTER_INIT: case CMD_EVENT_DSP_FILTER_INIT:
{
settings_t *settings = config_get_ptr();
command_event(CMD_EVENT_DSP_FILTER_DEINIT, NULL); command_event(CMD_EVENT_DSP_FILTER_DEINIT, NULL);
if (string_is_empty(settings->path.audio_dsp_plugin)) if (string_is_empty(settings->path.audio_dsp_plugin))
break; break;
audio_driver_dsp_filter_init(settings->path.audio_dsp_plugin); audio_driver_dsp_filter_init(settings->path.audio_dsp_plugin);
}
break; break;
case CMD_EVENT_GPU_RECORD_DEINIT: case CMD_EVENT_GPU_RECORD_DEINIT:
video_driver_gpu_record_deinit(); video_driver_gpu_record_deinit();
@ -2108,6 +2141,8 @@ bool command_event(enum event_command cmd, void *data)
#endif #endif
break; break;
case CMD_EVENT_HISTORY_INIT: case CMD_EVENT_HISTORY_INIT:
{
settings_t *settings = config_get_ptr();
command_event(CMD_EVENT_HISTORY_DEINIT, NULL); command_event(CMD_EVENT_HISTORY_DEINIT, NULL);
if (!settings->history_list_enable) if (!settings->history_list_enable)
return false; return false;
@ -2143,15 +2178,19 @@ bool command_event(enum event_command cmd, void *data)
settings->path.content_image_history, settings->path.content_image_history,
settings->content_history_size); settings->content_history_size);
#endif #endif
}
break; break;
case CMD_EVENT_CORE_INFO_DEINIT: case CMD_EVENT_CORE_INFO_DEINIT:
core_info_deinit_list(); core_info_deinit_list();
break; break;
case CMD_EVENT_CORE_INFO_INIT: case CMD_EVENT_CORE_INFO_INIT:
{
settings_t *settings = config_get_ptr();
command_event(CMD_EVENT_CORE_INFO_DEINIT, NULL); command_event(CMD_EVENT_CORE_INFO_DEINIT, NULL);
if (!string_is_empty(settings->directory.libretro)) if (!string_is_empty(settings->directory.libretro))
core_info_init_list(); core_info_init_list();
}
break; break;
case CMD_EVENT_CORE_DEINIT: case CMD_EVENT_CORE_DEINIT:
{ {
@ -2187,14 +2226,20 @@ bool command_event(enum event_command cmd, void *data)
audio_driver_set_nonblocking_state(boolean); audio_driver_set_nonblocking_state(boolean);
break; break;
case CMD_EVENT_OVERLAY_SET_SCALE_FACTOR: case CMD_EVENT_OVERLAY_SET_SCALE_FACTOR:
{
#ifdef HAVE_OVERLAY #ifdef HAVE_OVERLAY
settings_t *settings = config_get_ptr();
input_overlay_set_scale_factor(overlay_ptr, settings->input.overlay_scale); input_overlay_set_scale_factor(overlay_ptr, settings->input.overlay_scale);
#endif #endif
}
break; break;
case CMD_EVENT_OVERLAY_SET_ALPHA_MOD: case CMD_EVENT_OVERLAY_SET_ALPHA_MOD:
{
#ifdef HAVE_OVERLAY #ifdef HAVE_OVERLAY
settings_t *settings = config_get_ptr();
input_overlay_set_alpha_mod(overlay_ptr, settings->input.overlay_opacity); input_overlay_set_alpha_mod(overlay_ptr, settings->input.overlay_opacity);
#endif #endif
}
break; break;
case CMD_EVENT_AUDIO_REINIT: case CMD_EVENT_AUDIO_REINIT:
{ {
@ -2272,6 +2317,7 @@ bool command_event(enum event_command cmd, void *data)
if (runloop_ctl(RUNLOOP_CTL_IS_PAUSED, NULL)) if (runloop_ctl(RUNLOOP_CTL_IS_PAUSED, NULL))
{ {
bool is_paused = false; bool is_paused = false;
settings_t *settings = config_get_ptr();
RARCH_LOG("%s\n", msg_hash_to_str(MSG_PAUSED)); RARCH_LOG("%s\n", msg_hash_to_str(MSG_PAUSED));
command_event(CMD_EVENT_AUDIO_STOP, NULL); command_event(CMD_EVENT_AUDIO_STOP, NULL);
@ -2310,7 +2356,10 @@ bool command_event(enum event_command cmd, void *data)
command_event(CMD_EVENT_PAUSE_CHECKS, NULL); command_event(CMD_EVENT_PAUSE_CHECKS, NULL);
break; break;
case CMD_EVENT_MENU_PAUSE_LIBRETRO: case CMD_EVENT_MENU_PAUSE_LIBRETRO:
{
#ifdef HAVE_MENU #ifdef HAVE_MENU
settings_t *settings = config_get_ptr();
if (menu_driver_ctl(RARCH_MENU_CTL_IS_ALIVE, NULL)) if (menu_driver_ctl(RARCH_MENU_CTL_IS_ALIVE, NULL))
{ {
if (settings->menu.pause_libretro) if (settings->menu.pause_libretro)
@ -2324,6 +2373,7 @@ bool command_event(enum event_command cmd, void *data)
command_event(CMD_EVENT_AUDIO_START, NULL); command_event(CMD_EVENT_AUDIO_START, NULL);
} }
#endif #endif
}
break; break;
case CMD_EVENT_SHADER_DIR_DEINIT: case CMD_EVENT_SHADER_DIR_DEINIT:
dir_free_shader(); dir_free_shader();
@ -2357,6 +2407,8 @@ bool command_event(enum event_command cmd, void *data)
#endif #endif
break; break;
case CMD_EVENT_NETPLAY_INIT: case CMD_EVENT_NETPLAY_INIT:
{
settings_t *settings = config_get_ptr();
command_event(CMD_EVENT_NETPLAY_DEINIT, NULL); command_event(CMD_EVENT_NETPLAY_DEINIT, NULL);
#ifdef HAVE_NETWORKING #ifdef HAVE_NETWORKING
if (!init_netplay( if (!init_netplay(
@ -2364,6 +2416,7 @@ bool command_event(enum event_command cmd, void *data)
settings->netplay.port)) settings->netplay.port))
return false; return false;
#endif #endif
}
break; break;
case CMD_EVENT_NETPLAY_FLIP_PLAYERS: case CMD_EVENT_NETPLAY_FLIP_PLAYERS:
#ifdef HAVE_NETWORKING #ifdef HAVE_NETWORKING
@ -2376,6 +2429,8 @@ bool command_event(enum event_command cmd, void *data)
#endif #endif
break; break;
case CMD_EVENT_FULLSCREEN_TOGGLE: case CMD_EVENT_FULLSCREEN_TOGGLE:
{
settings_t *settings = config_get_ptr();
if (!video_driver_has_windowed()) if (!video_driver_has_windowed())
return false; return false;
@ -2387,6 +2442,7 @@ bool command_event(enum event_command cmd, void *data)
video_driver_hide_mouse(); video_driver_hide_mouse();
else else
video_driver_show_mouse(); video_driver_show_mouse();
}
break; break;
case CMD_EVENT_COMMAND_DEINIT: case CMD_EVENT_COMMAND_DEINIT:
input_driver_deinit_command(); input_driver_deinit_command();