diff --git a/command.c b/command.c index b6ef5ad914..bd65a53d4c 100755 --- a/command.c +++ b/command.c @@ -298,9 +298,7 @@ static bool command_read_ram(const char *arg) /* RCHEEVOS TODO: remove if condition below */ if (settings->bools.cheevos_rcheevos_enable) - { data = rcheevos_patch_address(addr, rcheevos_get_console()); - } /* RCHEEVOS TODO: remove whole else block below */ else { @@ -481,7 +479,8 @@ static void command_parse_sub_msg(command_t *handle, const char *tok) msg_hash_to_str(MSG_RECEIVED)); } -static void command_parse_msg(command_t *handle, char *buf, enum cmd_source_t source) +static void command_parse_msg(command_t *handle, + char *buf, enum cmd_source_t source) { char *save = NULL; const char *tok = strtok_r(buf, "\n", &save); @@ -1110,7 +1109,9 @@ static void command_event_deinit_core(bool reinit) #ifdef HAVE_CHEEVOS /* RCHEEVOS TODO: remove settings init and test */ settings_t *settings = config_get_ptr(); - settings->bools.cheevos_rcheevos_enable ? rcheevos_unload() : cheevos_unload(); + settings->bools.cheevos_rcheevos_enable + ? rcheevos_unload() + : cheevos_unload(); #endif RARCH_LOG("Unloading game..\n"); @@ -1130,9 +1131,7 @@ static void command_event_deinit_core(bool reinit) static void command_event_init_cheats(void) { - settings_t *settings = config_get_ptr(); bool allow_cheats = true; - #ifdef HAVE_NETWORKING allow_cheats &= !netplay_driver_ctl( RARCH_NETPLAY_CTL_IS_DATA_INITED, NULL); @@ -1145,92 +1144,89 @@ static void command_event_init_cheats(void) cheat_manager_alloc_if_empty() ; cheat_manager_load_game_specific_cheats() ; - if (settings != NULL && settings->bools.apply_cheats_after_load) - cheat_manager_apply_cheats(); + { + settings_t *settings = config_get_ptr(); + if (settings->bools.apply_cheats_after_load) + cheat_manager_apply_cheats(); + } } static void command_event_load_auto_state(void) { - bool ret; - char msg[128] = {0}; - char *savestate_name_auto = (char*)calloc(PATH_MAX_LENGTH, - sizeof(*savestate_name_auto)); - size_t savestate_name_auto_size = PATH_MAX_LENGTH * sizeof(char); - settings_t *settings = config_get_ptr(); - global_t *global = global_get_ptr(); - + char *savestate_name_auto; #ifdef HAVE_NETWORKING if (netplay_driver_ctl(RARCH_NETPLAY_CTL_IS_ENABLED, NULL)) - goto error; + return; #endif + { + global_t *global = global_get_ptr(); -#ifdef HAVE_CHEEVOS - /* RCHEEVOS TODO: remove OR below */ - if (cheevos_hardcore_active || rcheevos_hardcore_active) - goto error; -#endif + if (!global) + return; - if (!settings->bools.savestate_auto_load) - goto error; + savestate_name_auto = (char*)calloc(PATH_MAX_LENGTH, + sizeof(*savestate_name_auto)); - if (global) - fill_pathname_noext(savestate_name_auto, global->name.savestate, + fill_pathname_noext(savestate_name_auto, + global->name.savestate, file_path_str(FILE_PATH_AUTO_EXTENSION), - savestate_name_auto_size); + PATH_MAX_LENGTH * sizeof(char)); - if (!filestream_exists(savestate_name_auto)) - goto error; + if (!filestream_exists(savestate_name_auto)) + { + free(savestate_name_auto); + return; + } + } - ret = content_load_state(savestate_name_auto, false, true); + { + char msg[128] = {0}; + bool ret = content_load_state(savestate_name_auto, false, true); - RARCH_LOG("%s: %s\n", msg_hash_to_str(MSG_FOUND_AUTO_SAVESTATE_IN), - savestate_name_auto); + RARCH_LOG("%s: %s\n", msg_hash_to_str(MSG_FOUND_AUTO_SAVESTATE_IN), + savestate_name_auto); - snprintf(msg, sizeof(msg), "%s \"%s\" %s.", - msg_hash_to_str(MSG_AUTOLOADING_SAVESTATE_FROM), - savestate_name_auto, ret ? "succeeded" : "failed"); - RARCH_LOG("%s\n", msg); + snprintf(msg, sizeof(msg), "%s \"%s\" %s.", + msg_hash_to_str(MSG_AUTOLOADING_SAVESTATE_FROM), + savestate_name_auto, ret ? "succeeded" : "failed"); + RARCH_LOG("%s\n", msg); + } free(savestate_name_auto); - - return; - -error: - free(savestate_name_auto); } static void command_event_set_savestate_auto_index(void) { size_t i; - char *state_dir = (char*)calloc(PATH_MAX_LENGTH, sizeof(*state_dir)); - char *state_base = (char*)calloc(PATH_MAX_LENGTH, sizeof(*state_base)); + char *state_base; + char *state_dir; size_t state_size = PATH_MAX_LENGTH * sizeof(char); struct string_list *dir_list = NULL; unsigned max_idx = 0; - settings_t *settings = config_get_ptr(); global_t *global = global_get_ptr(); - if (!settings->bools.savestate_auto_index) - goto error; + if (!global) + return; - if (global) - { - /* Find the file in the same directory as global->savestate_name - * with the largest numeral suffix. - * - * E.g. /foo/path/content.state, will try to find - * /foo/path/content.state%d, where %d is the largest number available. - */ - fill_pathname_basedir(state_dir, global->name.savestate, - state_size); - fill_pathname_base(state_base, global->name.savestate, - state_size); - } + /* Find the file in the same directory as global->savestate_name + * with the largest numeral suffix. + * + * E.g. /foo/path/content.state, will try to find + * /foo/path/content.state%d, where %d is the largest number available. + */ + state_dir = (char*)calloc(PATH_MAX_LENGTH, sizeof(*state_dir)); + fill_pathname_basedir(state_dir, global->name.savestate, + state_size); dir_list = dir_list_new_special(state_dir, DIR_LIST_PLAIN, NULL); + free(state_dir); if (!dir_list) - goto error; + return; + + state_base = (char*)calloc(PATH_MAX_LENGTH, sizeof(*state_base)); + fill_pathname_base(state_base, global->name.savestate, + state_size); for (i = 0; i < dir_list->size; i++) { @@ -1254,27 +1250,22 @@ static void command_event_set_savestate_auto_index(void) } dir_list_free(dir_list); + free(state_base); - configuration_set_int(settings, settings->ints.state_slot, max_idx); + { + settings_t *settings = config_get_ptr(); + configuration_set_int(settings, settings->ints.state_slot, max_idx); + } RARCH_LOG("%s: #%d\n", msg_hash_to_str(MSG_FOUND_LAST_STATE_SLOT), max_idx); - - free(state_dir); - free(state_base); - return; - -error: - free(state_dir); - free(state_base); } static bool event_init_content(void) { bool contentless = false; bool is_inited = false; - settings_t *settings = config_get_ptr(); content_get_status(&contentless, &is_inited); @@ -1295,23 +1286,39 @@ static bool event_init_content(void) content_get_status(&contentless, &is_inited); - command_event_set_savestate_auto_index(); + { + settings_t *settings = config_get_ptr(); + if (settings->bools.savestate_auto_index) + command_event_set_savestate_auto_index(); + } if (event_load_save_files()) RARCH_LOG("%s.\n", msg_hash_to_str(MSG_SKIPPING_SRAM_LOAD)); /* - Since the operations are asynchronouse we can't guarantee users will not use auto_load_state to cheat on - achievements so we forbid auto_load_state from happening if cheevos_enable and cheevos_hardcode_mode_enable + Since the operations are asynchronouse we can't + guarantee users will not use auto_load_state to cheat on + achievements so we forbid auto_load_state from happening + if cheevos_enable and cheevos_hardcode_mode_enable are true */ + { + settings_t *settings = config_get_ptr(); + if (settings->bools.savestate_auto_load) + { #ifdef HAVE_CHEEVOS - if (!settings->bools.cheevos_enable || !settings->bools.cheevos_hardcore_mode_enable) - command_event_load_auto_state(); + if ( !settings->bools.cheevos_enable || + !settings->bools.cheevos_hardcore_mode_enable) + { + if (!(cheevos_hardcore_active || rcheevos_hardcore_active)) + command_event_load_auto_state(); + } #else - command_event_load_auto_state(); + command_event_load_auto_state(); #endif + } + } command_event(CMD_EVENT_BSV_MOVIE_INIT, NULL); command_event(CMD_EVENT_NETPLAY_INIT, NULL); @@ -1322,13 +1329,15 @@ static bool event_init_content(void) static bool command_event_init_core(enum rarch_core_type *data) { retro_ctx_environ_info_t info; - settings_t *settings = config_get_ptr(); + settings_t *settings; if (!core_init_symbols(data)) return false; rarch_ctl(RARCH_CTL_SYSTEM_INFO_INIT, NULL); + settings = config_get_ptr(); + /* auto overrides: apply overrides */ if(settings->bools.auto_overrides_enable) { @@ -1369,64 +1378,33 @@ static bool command_event_init_core(enum rarch_core_type *data) return true; } -static void command_event_disable_overrides(void) -{ - if (!rarch_ctl(RARCH_CTL_IS_OVERRIDES_ACTIVE, NULL)) - return; - - /* reload the original config */ - config_unload_override(); - rarch_ctl(RARCH_CTL_UNSET_OVERRIDES_ACTIVE, NULL); -} - -static void command_event_restore_default_shader_preset(void) -{ - retroarch_unset_shader_preset(); -} - -static void command_event_restore_remaps(void) -{ - if (rarch_ctl(RARCH_CTL_IS_REMAPS_CORE_ACTIVE, NULL) || - rarch_ctl(RARCH_CTL_IS_REMAPS_CONTENT_DIR_ACTIVE, NULL) || - rarch_ctl(RARCH_CTL_IS_REMAPS_GAME_ACTIVE, NULL)) - input_remapping_set_defaults(true); -} - static bool command_event_save_auto_state(void) { + char *savestate_name_auto; bool ret = false; bool contentless = false; bool is_inited = false; - char *savestate_name_auto = (char*) - calloc(PATH_MAX_LENGTH, sizeof(*savestate_name_auto)); - size_t - savestate_name_auto_size = PATH_MAX_LENGTH * sizeof(char); - settings_t *settings = config_get_ptr(); - global_t *global = global_get_ptr(); - - if (!settings || !settings->bools.savestate_auto_save) - goto error; - if (!global) - goto error; - if (rarch_ctl(RARCH_CTL_IS_DUMMY_CORE, NULL)) - goto error; content_get_status(&contentless, &is_inited); if (contentless) - goto error; + return false; -#ifdef HAVE_CHEEVOS - /* RCHEEVOS TODO: remove OR below */ - if (cheevos_hardcore_active || rcheevos_hardcore_active) - goto error; -#endif + { + global_t *global = global_get_ptr(); + if (!global) + return false; - fill_pathname_noext(savestate_name_auto, global->name.savestate, - file_path_str(FILE_PATH_AUTO_EXTENSION), - savestate_name_auto_size); + savestate_name_auto = (char*) + calloc(PATH_MAX_LENGTH, sizeof(*savestate_name_auto)); - ret = content_save_state((const char*)savestate_name_auto, true, true); + fill_pathname_noext(savestate_name_auto, global->name.savestate, + file_path_str(FILE_PATH_AUTO_EXTENSION), + PATH_MAX_LENGTH * sizeof(char)); + } + + ret = content_save_state((const char*) + savestate_name_auto, true, true); RARCH_LOG("%s \"%s\" %s.\n", msg_hash_to_str(MSG_AUTO_SAVE_STATE_TO), savestate_name_auto, ret ? @@ -1434,10 +1412,6 @@ static bool command_event_save_auto_state(void) free(savestate_name_auto); return true; - -error: - free(savestate_name_auto); - return false; } static bool command_event_save_config( @@ -1449,26 +1423,25 @@ static bool command_event_save_config( const char *str = path_exists ? config_path : path_get(RARCH_PATH_CONFIG); - if (path_exists && config_save_file(config_path)) - { - snprintf(s, len, "%s \"%s\".", - msg_hash_to_str(MSG_SAVED_NEW_CONFIG_TO), - config_path); - snprintf(log, PATH_MAX_LENGTH, "[config] %s", s); - RARCH_LOG("%s\n", log); - return true; - } - - if (!string_is_empty(str)) + if (!string_is_empty(str) || !path_exists) { snprintf(s, len, "%s \"%s\".", msg_hash_to_str(MSG_FAILED_SAVING_CONFIG_TO), str); snprintf(log, PATH_MAX_LENGTH, "[config] %s", s); RARCH_ERR("%s\n", log); + return false; } - return false; + if (!config_save_file(config_path)) + return false; + + snprintf(s, len, "%s \"%s\".", + msg_hash_to_str(MSG_SAVED_NEW_CONFIG_TO), + config_path); + snprintf(log, PATH_MAX_LENGTH, "[config] %s", s); + RARCH_LOG("%s\n", log); + return true; } /** @@ -1497,7 +1470,7 @@ static bool command_event_save_core_config(void) config_dir = strdup(settings->paths.directory_menu_config); else if (!path_is_empty(RARCH_PATH_CONFIG)) /* Fallback */ { - config_dir = (char*)malloc(PATH_MAX_LENGTH * sizeof(char)); + config_dir = (char*)malloc(config_size); config_dir[0] = '\0'; fill_pathname_basedir(config_dir, path_get(RARCH_PATH_CONFIG), config_size); @@ -1505,15 +1478,20 @@ static bool command_event_save_core_config(void) if (string_is_empty(config_dir)) { - runloop_msg_queue_push(msg_hash_to_str(MSG_CONFIG_DIRECTORY_NOT_SET), 1, 180, true, NULL, MESSAGE_QUEUE_ICON_DEFAULT, MESSAGE_QUEUE_CATEGORY_INFO); - RARCH_ERR("[config] %s\n", msg_hash_to_str(MSG_CONFIG_DIRECTORY_NOT_SET)); + runloop_msg_queue_push( + msg_hash_to_str(MSG_CONFIG_DIRECTORY_NOT_SET), 1, 180, true, NULL, + MESSAGE_QUEUE_ICON_DEFAULT, + MESSAGE_QUEUE_CATEGORY_INFO); + RARCH_ERR("[config] %s\n", + msg_hash_to_str(MSG_CONFIG_DIRECTORY_NOT_SET)); free (config_dir); return false; } core_path = path_get(RARCH_PATH_CORE); - config_name = (char*)malloc(PATH_MAX_LENGTH * sizeof(char)); - config_path = (char*)malloc(PATH_MAX_LENGTH * sizeof(char)); + config_name = (char*)malloc( + PATH_MAX_LENGTH * sizeof(char)); + config_path = (char*)malloc(config_size); config_name[0] = '\0'; config_path[0] = '\0'; @@ -1566,6 +1544,9 @@ static bool command_event_save_core_config(void) config_size); } + free(config_dir); + free(config_name); + if (rarch_ctl(RARCH_CTL_IS_OVERRIDES_ACTIVE, NULL)) { /* Overrides block config file saving, @@ -1576,18 +1557,17 @@ static bool command_event_save_core_config(void) } command_event_save_config(config_path, msg, sizeof(msg)); + free(config_path); if (!string_is_empty(msg)) - runloop_msg_queue_push(msg, 1, 180, true, NULL, MESSAGE_QUEUE_ICON_DEFAULT, MESSAGE_QUEUE_CATEGORY_INFO); + runloop_msg_queue_push(msg, 1, 180, true, NULL, + MESSAGE_QUEUE_ICON_DEFAULT, MESSAGE_QUEUE_CATEGORY_INFO); if (overrides_active) rarch_ctl(RARCH_CTL_SET_OVERRIDES_ACTIVE, NULL); else rarch_ctl(RARCH_CTL_UNSET_OVERRIDES_ACTIVE, NULL); - free(config_dir); - free(config_name); - free(config_path); return true; } @@ -1636,46 +1616,6 @@ static void command_event_save_current_config(enum override_type type) runloop_msg_queue_push(msg, 1, 180, true, NULL, MESSAGE_QUEUE_ICON_DEFAULT, MESSAGE_QUEUE_CATEGORY_INFO); } -static void command_event_undo_save_state(char *s, size_t len) -{ - if (content_undo_save_buf_is_empty()) - { - strlcpy(s, - msg_hash_to_str(MSG_NO_SAVE_STATE_HAS_BEEN_OVERWRITTEN_YET), len); - return; - } - - if (!content_undo_save_state()) - return; -} - -static void command_event_undo_load_state(char *s, size_t len) -{ - - if (content_undo_load_buf_is_empty()) - { - strlcpy(s, - msg_hash_to_str(MSG_NO_STATE_HAS_BEEN_LOADED_YET), - len); - return; - } - - if (!content_undo_load_state()) - { - snprintf(s, len, "%s \"%s\".", - msg_hash_to_str(MSG_FAILED_TO_UNDO_LOAD_STATE), - "RAM"); - return; - } - -#ifdef HAVE_NETWORKING - netplay_driver_ctl(RARCH_NETPLAY_CTL_LOAD_SAVESTATE, NULL); -#endif - - strlcpy(s, - msg_hash_to_str(MSG_UNDID_LOAD_STATE), len); -} - static bool command_event_main_state(unsigned cmd) { retro_ctx_size_info_t info; @@ -1729,11 +1669,38 @@ static bool command_event_main_state(unsigned cmd) push_msg = false; break; case CMD_EVENT_UNDO_LOAD_STATE: - command_event_undo_load_state(msg, sizeof(msg)); + if (content_undo_load_buf_is_empty()) + { + strlcpy(msg, + msg_hash_to_str(MSG_NO_STATE_HAS_BEEN_LOADED_YET), + sizeof(msg)); + } + else if (!content_undo_load_state()) + { + snprintf(msg, sizeof(msg), "%s \"%s\".", + msg_hash_to_str(MSG_FAILED_TO_UNDO_LOAD_STATE), + "RAM"); + } + else + { +#ifdef HAVE_NETWORKING + netplay_driver_ctl(RARCH_NETPLAY_CTL_LOAD_SAVESTATE, NULL); +#endif + strlcpy(msg, + msg_hash_to_str(MSG_UNDID_LOAD_STATE), sizeof(msg)); + } ret = true; break; case CMD_EVENT_UNDO_SAVE_STATE: - command_event_undo_save_state(msg, sizeof(msg)); + if (content_undo_save_buf_is_empty()) + { + strlcpy(msg, + msg_hash_to_str( + MSG_NO_SAVE_STATE_HAS_BEEN_OVERWRITTEN_YET), + sizeof(msg)); + } + else + content_undo_save_state(); ret = true; break; } @@ -1801,12 +1768,15 @@ bool command_event(enum event_command cmd, void *data) if (width == 0 || height == 0) snprintf(msg, sizeof(msg), "%s: DEFAULT", - msg_hash_to_str(MENU_ENUM_LABEL_VALUE_SCREEN_RESOLUTION)); + msg_hash_to_str( + MENU_ENUM_LABEL_VALUE_SCREEN_RESOLUTION)); else snprintf(msg, sizeof(msg),"%s: %dx%d", - msg_hash_to_str(MENU_ENUM_LABEL_VALUE_SCREEN_RESOLUTION), + msg_hash_to_str( + MENU_ENUM_LABEL_VALUE_SCREEN_RESOLUTION), width, height); - runloop_msg_queue_push(msg, 1, 100, true, NULL, MESSAGE_QUEUE_ICON_DEFAULT, MESSAGE_QUEUE_CATEGORY_INFO); + runloop_msg_queue_push(msg, 1, 100, true, NULL, + MESSAGE_QUEUE_ICON_DEFAULT, MESSAGE_QUEUE_CATEGORY_INFO); } } #endif @@ -1818,8 +1788,6 @@ bool command_event(enum event_command cmd, void *data) rarch_system_info_t *system_info = NULL; struct retro_system_info *system = NULL; const char *core_path = NULL; - system_info = runloop_get_system_info(); - system = &system_info->info; core_path = path_get(RARCH_PATH_CORE); #if defined(HAVE_DYNAMIC) @@ -1827,6 +1795,9 @@ bool command_event(enum event_command cmd, void *data) return false; #endif + system_info = runloop_get_system_info(); + system = &system_info->info; + if (!libretro_get_system_info( core_path, system, @@ -1845,7 +1816,7 @@ bool command_event(enum event_command cmd, void *data) break; case CMD_EVENT_LOAD_CORE: { - bool success = false; + bool success = false; subsystem_current_count = 0; content_clear_subsystem(); success = command_event(CMD_EVENT_LOAD_CORE_PERSIST, NULL); @@ -1870,13 +1841,9 @@ bool command_event(enum event_command cmd, void *data) if (cheevos_hardcore_active || rcheevos_hardcore_active) return false; #endif - if (!command_event_main_state(cmd)) - return false; - break; + /* fall-through intentional */ case CMD_EVENT_UNDO_LOAD_STATE: - if (!command_event_main_state(cmd)) - return false; - break; + /* fall-through intentional */ case CMD_EVENT_UNDO_SAVE_STATE: if (!command_event_main_state(cmd)) return false; @@ -1900,9 +1867,9 @@ bool command_event(enum event_command cmd, void *data) /* RCHEEVOS TODO: remove starting block bracket, settings init and tests */ { #ifdef HAVE_CHEEVOS - settings_t *settings = config_get_ptr(); + settings_t *settings = config_get_ptr(); rcheevos_state_loaded_flag = cheevos_state_loaded_flag = false; - rcheevos_hardcore_paused = cheevos_hardcore_paused = false; + rcheevos_hardcore_paused = cheevos_hardcore_paused = false; #endif RARCH_LOG("%s.\n", msg_hash_to_str(MSG_RESET)); runloop_msg_queue_push(msg_hash_to_str(MSG_RESET), 1, 120, true, NULL, MESSAGE_QUEUE_ICON_DEFAULT, MESSAGE_QUEUE_CATEGORY_INFO); @@ -2115,7 +2082,16 @@ TODO: Add a setting for these tweaks */ #endif break; case CMD_EVENT_AUTOSAVE_STATE: - command_event_save_auto_state(); + { + settings_t *settings = config_get_ptr(); + if (settings->bools.savestate_auto_save) + if (!rarch_ctl(RARCH_CTL_IS_DUMMY_CORE, NULL)) +#ifdef HAVE_CHEEVOS + /* RCHEEVOS TODO: remove OR below */ + if (!(cheevos_hardcore_active || rcheevos_hardcore_active)) +#endif + command_event_save_auto_state(); + } break; case CMD_EVENT_AUDIO_STOP: midi_driver_set_all_sounds_off(); @@ -2193,9 +2169,9 @@ TODO: Add a setting for these tweaks */ { settings_t *settings = config_get_ptr(); command_event(CMD_EVENT_DSP_FILTER_DEINIT, NULL); - if (string_is_empty(settings->paths.path_audio_dsp_plugin)) - break; - audio_driver_dsp_filter_init(settings->paths.path_audio_dsp_plugin); + if (!string_is_empty(settings->paths.path_audio_dsp_plugin)) + audio_driver_dsp_filter_init( + settings->paths.path_audio_dsp_plugin); } break; case CMD_EVENT_GPU_RECORD_DEINIT: @@ -2317,7 +2293,6 @@ TODO: Add a setting for these tweaks */ case CMD_EVENT_CORE_INFO_INIT: { char ext_name[255]; - settings_t *settings = config_get_ptr(); ext_name[0] = '\0'; @@ -2326,12 +2301,15 @@ TODO: Add a setting for these tweaks */ if (!frontend_driver_get_core_extension(ext_name, sizeof(ext_name))) return false; - if (!string_is_empty(settings->paths.directory_libretro)) - core_info_init_list(settings->paths.path_libretro_info, - settings->paths.directory_libretro, - ext_name, - settings->bools.show_hidden_files - ); + { + settings_t *settings = config_get_ptr(); + if (!string_is_empty(settings->paths.directory_libretro)) + core_info_init_list(settings->paths.path_libretro_info, + settings->paths.directory_libretro, + ext_name, + settings->bools.show_hidden_files + ); + } } break; case CMD_EVENT_CORE_DEINIT: @@ -2372,7 +2350,8 @@ TODO: Add a setting for these tweaks */ { #ifdef HAVE_OVERLAY settings_t *settings = config_get_ptr(); - input_overlay_set_scale_factor(overlay_ptr, settings->floats.input_overlay_scale); + input_overlay_set_scale_factor(overlay_ptr, + settings->floats.input_overlay_scale); #endif } break; @@ -2380,7 +2359,8 @@ TODO: Add a setting for these tweaks */ { #ifdef HAVE_OVERLAY settings_t *settings = config_get_ptr(); - input_overlay_set_alpha_mod(overlay_ptr, settings->floats.input_overlay_opacity); + input_overlay_set_alpha_mod(overlay_ptr, + settings->floats.input_overlay_opacity); #endif } break; @@ -2439,19 +2419,22 @@ TODO: Add a setting for these tweaks */ { struct playlist_entry entry = {0}; - entry.path = str_list->elems[0].data; /* content_path */ - entry.label = str_list->elems[1].data; /* content_label */ + entry.path = str_list->elems[0].data; /* content_path */ + entry.label = str_list->elems[1].data; /* content_label */ entry.core_path = str_list->elems[2].data; /* core_path */ entry.core_name = str_list->elems[3].data; /* core_name */ - entry.crc32 = str_list->elems[4].data; /* crc32 */ - entry.db_name = str_list->elems[5].data; /* db_name */ + entry.crc32 = str_list->elems[4].data; /* crc32 */ + entry.db_name = str_list->elems[5].data; /* db_name */ /* Write playlist entry */ command_playlist_push_write( g_defaults.content_favorites, &entry ); - runloop_msg_queue_push(msg_hash_to_str(MSG_ADDED_TO_FAVORITES), 1, 180, true, NULL, MESSAGE_QUEUE_ICON_DEFAULT, MESSAGE_QUEUE_CATEGORY_INFO); + runloop_msg_queue_push( + msg_hash_to_str(MSG_ADDED_TO_FAVORITES), + 1, 180, true, NULL, MESSAGE_QUEUE_ICON_DEFAULT, + MESSAGE_QUEUE_CATEGORY_INFO); } } @@ -2689,17 +2672,20 @@ TODO: Add a setting for these tweaks */ RARCH_LOG("[netplay] buf %s\n", buf); - hostname = string_split(buf, "|"); + hostname = string_split(buf, "|"); command_event(CMD_EVENT_NETPLAY_DEINIT, NULL); RARCH_LOG("[netplay] connecting to %s:%d (deferred)\n", - hostname->elems[0].data, !string_is_empty(hostname->elems[1].data) - ? atoi(hostname->elems[1].data) : settings->uints.netplay_port); + hostname->elems[0].data, + !string_is_empty(hostname->elems[1].data) + ? atoi(hostname->elems[1].data) + : settings->uints.netplay_port); if (!init_netplay_deferred(hostname->elems[0].data, !string_is_empty(hostname->elems[1].data) - ? atoi(hostname->elems[1].data) : settings->uints.netplay_port)) + ? atoi(hostname->elems[1].data) + : settings->uints.netplay_port)) { command_event(CMD_EVENT_NETPLAY_DEINIT, NULL); string_list_free(hostname); @@ -2735,9 +2721,11 @@ TODO: Add a setting for these tweaks */ if (!is_inited) { runloop_msg_queue_push( - msg_hash_to_str(MENU_ENUM_LABEL_VALUE_NETPLAY_START_WHEN_LOADED), + msg_hash_to_str( + MENU_ENUM_LABEL_VALUE_NETPLAY_START_WHEN_LOADED), 1, 480, true, - NULL, MESSAGE_QUEUE_ICON_DEFAULT, MESSAGE_QUEUE_CATEGORY_INFO); + NULL, MESSAGE_QUEUE_ICON_DEFAULT, + MESSAGE_QUEUE_CATEGORY_INFO); return false; } @@ -2748,21 +2736,19 @@ TODO: Add a setting for these tweaks */ break; } case CMD_EVENT_NETPLAY_DISCONNECT: - { - settings_t *settings = config_get_ptr(); - netplay_driver_ctl(RARCH_NETPLAY_CTL_DISCONNECT, NULL); netplay_driver_ctl(RARCH_NETPLAY_CTL_DISABLE, NULL); - /* Re-enable rewind if it was enabled - TODO: Add a setting for these tweaks */ - if (settings->bools.rewind_enable) - command_event(CMD_EVENT_REWIND_INIT, NULL); - if (settings->uints.autosave_interval != 0) - command_event(CMD_EVENT_AUTOSAVE_INIT, NULL); - + { + settings_t *settings = config_get_ptr(); + /* Re-enable rewind if it was enabled + TODO: Add a setting for these tweaks */ + if (settings->bools.rewind_enable) + command_event(CMD_EVENT_REWIND_INIT, NULL); + if (settings->uints.autosave_interval != 0) + command_event(CMD_EVENT_AUTOSAVE_INIT, NULL); + } break; - } case CMD_EVENT_NETPLAY_HOST_TOGGLE: if (netplay_driver_ctl(RARCH_NETPLAY_CTL_IS_ENABLED, NULL) && netplay_driver_ctl(RARCH_NETPLAY_CTL_IS_SERVER, NULL)) @@ -2883,10 +2869,7 @@ TODO: Add a setting for these tweaks */ (const struct retro_disk_control_callback*) &info->disk_control_cb; - if (!control) - return false; - - if (!control->get_eject_state()) + if (!control || !control->get_eject_state()) return false; command_event_check_disk_next(control); @@ -2908,10 +2891,7 @@ TODO: Add a setting for these tweaks */ (const struct retro_disk_control_callback*) &info->disk_control_cb; - if (!control) - return false; - - if (!control->get_eject_state()) + if (!control || !control->get_eject_state()) return false; command_event_check_disk_prev(control); @@ -2920,7 +2900,8 @@ TODO: Add a setting for these tweaks */ runloop_msg_queue_push( msg_hash_to_str(MSG_CORE_DOES_NOT_SUPPORT_DISK_OPTIONS), 1, 120, true, - NULL, MESSAGE_QUEUE_ICON_DEFAULT, MESSAGE_QUEUE_CATEGORY_INFO); + NULL, MESSAGE_QUEUE_ICON_DEFAULT, + MESSAGE_QUEUE_CATEGORY_INFO); } break; case CMD_EVENT_RUMBLE_STOP: @@ -3023,13 +3004,21 @@ TODO: Add a setting for these tweaks */ rarch_ctl(RARCH_CTL_SET_FRAME_LIMIT, NULL); break; case CMD_EVENT_DISABLE_OVERRIDES: - command_event_disable_overrides(); + if (rarch_ctl(RARCH_CTL_IS_OVERRIDES_ACTIVE, NULL)) + { + /* reload the original config */ + config_unload_override(); + rarch_ctl(RARCH_CTL_UNSET_OVERRIDES_ACTIVE, NULL); + } break; case CMD_EVENT_RESTORE_REMAPS: - command_event_restore_remaps(); + if ( rarch_ctl(RARCH_CTL_IS_REMAPS_CORE_ACTIVE, NULL) || + rarch_ctl(RARCH_CTL_IS_REMAPS_CONTENT_DIR_ACTIVE, NULL) || + rarch_ctl(RARCH_CTL_IS_REMAPS_GAME_ACTIVE, NULL)) + input_remapping_set_defaults(true); break; case CMD_EVENT_RESTORE_DEFAULT_SHADER_PRESET: - command_event_restore_default_shader_preset(); + retroarch_unset_shader_preset(); break; case CMD_EVENT_DISCORD_INIT: #ifdef HAVE_DISCORD