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