mirror of
https://github.com/libretro/RetroArch
synced 2025-03-23 19:21:03 +00:00
(RARCH_CONSOLE) Refactored sram_dir_enable / state_dir_enable setting -
also fixed a reentrant bug to do with set savestate dir/set sram dir boolean variables in parse_input
This commit is contained in:
parent
c1f5fc8890
commit
ae9a1167b7
@ -326,8 +326,8 @@ begin_loop:
|
||||
|
||||
args.verbose = g_extern.verbose;
|
||||
args.config_path = g_extern.config_path;
|
||||
args.sram_path = g_extern.console.main_wrap.state.default_sram_dir.enable ? g_extern.console.main_wrap.paths.default_sram_dir : NULL;
|
||||
args.state_path = g_extern.console.main_wrap.state.default_savestate_dir.enable ? g_extern.console.main_wrap.paths.default_savestate_dir : NULL;
|
||||
args.sram_path = (g_extern.lifecycle_mode_state & (1ULL << MODE_LOAD_GAME_SRAM_DIR_ENABLE)) ? g_extern.console.main_wrap.default_sram_dir : NULL;
|
||||
args.state_path = (g_extern.lifecycle_mode_state & (1ULL << MODE_LOAD_GAME_STATE_DIR_ENABLE)) ? g_extern.console.main_wrap.default_savestate_dir : NULL;
|
||||
args.rom_path = g_extern.fullpath;
|
||||
args.libretro_path = g_settings.libretro;
|
||||
|
||||
|
@ -467,10 +467,10 @@ static void render_text(rgui_handle_t *rgui)
|
||||
snprintf(type_str, sizeof(type_str), "Cache");
|
||||
break;
|
||||
case RGUI_SETTINGS_SRAM_DIR:
|
||||
snprintf(type_str, sizeof(type_str), g_extern.console.main_wrap.state.default_sram_dir.enable ? "ON" : "OFF");
|
||||
snprintf(type_str, sizeof(type_str), (g_extern.lifecycle_mode_state & (1ULL << MODE_LOAD_GAME_SRAM_DIR_ENABLE)) ? "ON" : "OFF");
|
||||
break;
|
||||
case RGUI_SETTINGS_STATE_DIR:
|
||||
snprintf(type_str, sizeof(type_str), g_extern.console.main_wrap.state.default_savestate_dir.enable ? "ON" : "OFF");
|
||||
snprintf(type_str, sizeof(type_str), (g_extern.lifecycle_mode_state & (1ULL << MODE_LOAD_GAME_STATE_DIR_ENABLE)) ? "ON" : "OFF");
|
||||
break;
|
||||
case RGUI_SETTINGS_DEBUG_TEXT:
|
||||
snprintf(type_str, sizeof(type_str), (g_extern.lifecycle_mode_state & (1ULL << MODE_FPS_DRAW)) ? "ON" : "OFF");
|
||||
@ -764,15 +764,15 @@ static int rgui_settings_toggle_setting(rgui_file_type_t setting, rgui_action_t
|
||||
break;
|
||||
case RGUI_SETTINGS_SRAM_DIR:
|
||||
if (action == RGUI_ACTION_START || action == RGUI_ACTION_LEFT)
|
||||
g_extern.console.main_wrap.state.default_sram_dir.enable = false;
|
||||
g_extern.lifecycle_mode_state &= ~(1ULL << MODE_LOAD_GAME_SRAM_DIR_ENABLE);
|
||||
else if (action == RGUI_ACTION_RIGHT)
|
||||
g_extern.console.main_wrap.state.default_sram_dir.enable = true;
|
||||
g_extern.lifecycle_mode_state |= (1ULL << MODE_LOAD_GAME_SRAM_DIR_ENABLE);
|
||||
break;
|
||||
case RGUI_SETTINGS_STATE_DIR:
|
||||
if (action == RGUI_ACTION_START || action == RGUI_ACTION_LEFT)
|
||||
g_extern.console.main_wrap.state.default_savestate_dir.enable = false;
|
||||
g_extern.lifecycle_mode_state &= ~(1ULL << MODE_LOAD_GAME_STATE_DIR_ENABLE);
|
||||
else if (action == RGUI_ACTION_RIGHT)
|
||||
g_extern.console.main_wrap.state.default_savestate_dir.enable = true;
|
||||
g_extern.lifecycle_mode_state |= (1ULL << MODE_LOAD_GAME_STATE_DIR_ENABLE);
|
||||
break;
|
||||
case RGUI_SETTINGS_DEBUG_TEXT:
|
||||
if (action == RGUI_ACTION_START || action == RGUI_ACTION_LEFT)
|
||||
|
@ -357,17 +357,17 @@ static void populate_setting_item(void *data, unsigned input)
|
||||
break;
|
||||
case SETTING_PATH_DEFAULT_ROM_DIRECTORY:
|
||||
snprintf(current_item->text, sizeof(current_item->text), "Startup ROM Directory");
|
||||
snprintf(current_item->setting_text, sizeof(current_item->setting_text), g_extern.console.main_wrap.paths.default_rom_startup_dir);
|
||||
snprintf(current_item->setting_text, sizeof(current_item->setting_text), g_extern.console.main_wrap.default_rom_startup_dir);
|
||||
snprintf(current_item->comment, sizeof(current_item->comment), "INFO - Set the default [Startup ROM directory]. NOTE: You will have to\nrestart the emulator for this change to have any effect.");
|
||||
break;
|
||||
case SETTING_PATH_SAVESTATES_DIRECTORY:
|
||||
snprintf(current_item->text, sizeof(current_item->text), "Savestate Directory");
|
||||
snprintf(current_item->setting_text, sizeof(current_item->setting_text), g_extern.console.main_wrap.paths.default_savestate_dir);
|
||||
snprintf(current_item->setting_text, sizeof(current_item->setting_text), g_extern.console.main_wrap.default_savestate_dir);
|
||||
snprintf(current_item->comment, sizeof(current_item->comment), "INFO - Set the default path where all the savestate files will be saved to.");
|
||||
break;
|
||||
case SETTING_PATH_SRAM_DIRECTORY:
|
||||
snprintf(current_item->text, sizeof(current_item->text), "SRAM Directory");
|
||||
snprintf(current_item->setting_text, sizeof(current_item->setting_text), g_extern.console.main_wrap.paths.default_sram_dir);
|
||||
snprintf(current_item->setting_text, sizeof(current_item->setting_text), g_extern.console.main_wrap.default_sram_dir);
|
||||
snprintf(current_item->comment, sizeof(current_item->comment), "INFO - Set the default SRAM (SaveRAM) directory path. All the\nbattery backup saves will be stored in this directory.");
|
||||
break;
|
||||
#ifdef HAVE_XML
|
||||
@ -384,13 +384,13 @@ static void populate_setting_item(void *data, unsigned input)
|
||||
break;
|
||||
case SETTING_ENABLE_SRAM_PATH:
|
||||
snprintf(current_item->text, sizeof(current_item->text), "Custom SRAM Dir Enable");
|
||||
snprintf(current_item->setting_text, sizeof(current_item->setting_text), g_extern.console.main_wrap.state.default_sram_dir.enable ? "ON" : "OFF");
|
||||
snprintf(current_item->comment, sizeof(current_item->comment), "INFO - [Custom SRAM Dir Path] is set to '%s'.", g_extern.console.main_wrap.state.default_sram_dir.enable ? "ON" : "OFF");
|
||||
snprintf(current_item->setting_text, sizeof(current_item->setting_text), (g_extern.lifecycle_mode_state & (1ULL << MODE_LOAD_GAME_SRAM_DIR_ENABLE)) ? "ON" : "OFF");
|
||||
snprintf(current_item->comment, sizeof(current_item->comment), "INFO - [Custom SRAM Dir Path] is set to '%s'.", (g_extern.lifecycle_mode_state & (1ULL << MODE_LOAD_GAME_SRAM_DIR_ENABLE)) ? "ON" : "OFF");
|
||||
break;
|
||||
case SETTING_ENABLE_STATE_PATH:
|
||||
snprintf(current_item->text, sizeof(current_item->text), "Custom Savestate Dir Enable");
|
||||
snprintf(current_item->setting_text, sizeof(current_item->setting_text), g_extern.console.main_wrap.state.default_savestate_dir.enable ? "ON" : "OFF");
|
||||
snprintf(current_item->comment, sizeof(current_item->comment), "INFO - [Custom Savestate Dir Path] is set to '%s'.", g_extern.console.main_wrap.state.default_savestate_dir.enable ? "ON" : "OFF");
|
||||
snprintf(current_item->setting_text, sizeof(current_item->setting_text), (g_extern.lifecycle_mode_state & (1ULL << MODE_LOAD_GAME_STATE_DIR_ENABLE)) ? "ON" : "OFF");
|
||||
snprintf(current_item->comment, sizeof(current_item->comment), "INFO - [Custom Savestate Dir Path] is set to '%s'.", (g_extern.lifecycle_mode_state & (1ULL << MODE_LOAD_GAME_STATE_DIR_ENABLE)) ? "ON" : "OFF");
|
||||
break;
|
||||
case SETTING_CONTROLS_SCHEME:
|
||||
snprintf(current_item->text, sizeof(current_item->text), "Control Scheme Preset");
|
||||
@ -778,13 +778,13 @@ int select_directory(void *data, void *state)
|
||||
switch(current_menu->enum_id)
|
||||
{
|
||||
case PATH_SAVESTATES_DIR_CHOICE:
|
||||
strlcpy(g_extern.console.main_wrap.paths.default_savestate_dir, path, sizeof(g_extern.console.main_wrap.paths.default_savestate_dir));
|
||||
strlcpy(g_extern.console.main_wrap.default_savestate_dir, path, sizeof(g_extern.console.main_wrap.default_savestate_dir));
|
||||
break;
|
||||
case PATH_SRAM_DIR_CHOICE:
|
||||
strlcpy(g_extern.console.main_wrap.paths.default_sram_dir, path, sizeof(g_extern.console.main_wrap.paths.default_sram_dir));
|
||||
strlcpy(g_extern.console.main_wrap.default_sram_dir, path, sizeof(g_extern.console.main_wrap.default_sram_dir));
|
||||
break;
|
||||
case PATH_DEFAULT_ROM_DIR_CHOICE:
|
||||
strlcpy(g_extern.console.main_wrap.paths.default_rom_startup_dir, path, sizeof(g_extern.console.main_wrap.paths.default_rom_startup_dir));
|
||||
strlcpy(g_extern.console.main_wrap.default_rom_startup_dir, path, sizeof(g_extern.console.main_wrap.default_rom_startup_dir));
|
||||
break;
|
||||
#ifdef HAVE_XML
|
||||
case PATH_CHEATS_DIR_CHOICE:
|
||||
@ -804,13 +804,13 @@ int select_directory(void *data, void *state)
|
||||
switch(current_menu->enum_id)
|
||||
{
|
||||
case PATH_SAVESTATES_DIR_CHOICE:
|
||||
strlcpy(g_extern.console.main_wrap.paths.default_savestate_dir, path, sizeof(g_extern.console.main_wrap.paths.default_savestate_dir));
|
||||
strlcpy(g_extern.console.main_wrap.default_savestate_dir, path, sizeof(g_extern.console.main_wrap.default_savestate_dir));
|
||||
break;
|
||||
case PATH_SRAM_DIR_CHOICE:
|
||||
strlcpy(g_extern.console.main_wrap.paths.default_sram_dir, path, sizeof(g_extern.console.main_wrap.paths.default_sram_dir));
|
||||
strlcpy(g_extern.console.main_wrap.default_sram_dir, path, sizeof(g_extern.console.main_wrap.default_sram_dir));
|
||||
break;
|
||||
case PATH_DEFAULT_ROM_DIR_CHOICE:
|
||||
strlcpy(g_extern.console.main_wrap.paths.default_rom_startup_dir, path, sizeof(g_extern.console.main_wrap.paths.default_rom_startup_dir));
|
||||
strlcpy(g_extern.console.main_wrap.default_rom_startup_dir, path, sizeof(g_extern.console.main_wrap.default_rom_startup_dir));
|
||||
break;
|
||||
#ifdef HAVE_XML
|
||||
case PATH_CHEATS_DIR_CHOICE:
|
||||
@ -1517,7 +1517,7 @@ static int set_setting_action(void *data, unsigned switchvalue, uint64_t input)
|
||||
}
|
||||
|
||||
if(input & (1ULL << RMENU_DEVICE_NAV_START))
|
||||
strlcpy(g_extern.console.main_wrap.paths.default_rom_startup_dir, default_paths.filesystem_root_dir, sizeof(g_extern.console.main_wrap.paths.default_rom_startup_dir));
|
||||
strlcpy(g_extern.console.main_wrap.default_rom_startup_dir, default_paths.filesystem_root_dir, sizeof(g_extern.console.main_wrap.default_rom_startup_dir));
|
||||
break;
|
||||
case SETTING_PATH_SAVESTATES_DIRECTORY:
|
||||
if((input & (1ULL << RMENU_DEVICE_NAV_LEFT)) || (input & (1ULL << RMENU_DEVICE_NAV_RIGHT)) || (input & (1ULL << RMENU_DEVICE_NAV_B)))
|
||||
@ -1527,7 +1527,7 @@ static int set_setting_action(void *data, unsigned switchvalue, uint64_t input)
|
||||
}
|
||||
|
||||
if(input & (1ULL << RMENU_DEVICE_NAV_START))
|
||||
strlcpy(g_extern.console.main_wrap.paths.default_savestate_dir, default_paths.savestate_dir, sizeof(g_extern.console.main_wrap.paths.default_savestate_dir));
|
||||
strlcpy(g_extern.console.main_wrap.default_savestate_dir, default_paths.savestate_dir, sizeof(g_extern.console.main_wrap.default_savestate_dir));
|
||||
|
||||
break;
|
||||
case SETTING_PATH_SRAM_DIRECTORY:
|
||||
@ -1538,7 +1538,7 @@ static int set_setting_action(void *data, unsigned switchvalue, uint64_t input)
|
||||
}
|
||||
|
||||
if(input & (1ULL << RMENU_DEVICE_NAV_START))
|
||||
strlcpy(g_extern.console.main_wrap.paths.default_sram_dir, default_paths.sram_dir, sizeof(g_extern.console.main_wrap.paths.default_sram_dir));
|
||||
strlcpy(g_extern.console.main_wrap.default_sram_dir, default_paths.sram_dir, sizeof(g_extern.console.main_wrap.default_sram_dir));
|
||||
break;
|
||||
#ifdef HAVE_XML
|
||||
case SETTING_PATH_CHEATS:
|
||||
@ -1564,25 +1564,36 @@ static int set_setting_action(void *data, unsigned switchvalue, uint64_t input)
|
||||
break;
|
||||
case SETTING_ENABLE_SRAM_PATH:
|
||||
if((input & (1ULL << RMENU_DEVICE_NAV_LEFT)) || (input & (1ULL << RMENU_DEVICE_NAV_RIGHT)))
|
||||
g_extern.console.main_wrap.state.default_sram_dir.enable = !g_extern.console.main_wrap.state.default_sram_dir.enable;
|
||||
{
|
||||
if (g_extern.lifecycle_mode_state & (1ULL << MODE_LOAD_GAME_SRAM_DIR_ENABLE))
|
||||
g_extern.lifecycle_mode_state &= ~(1ULL << MODE_LOAD_GAME_SRAM_DIR_ENABLE);
|
||||
else
|
||||
g_extern.lifecycle_mode_state |= (1ULL << MODE_LOAD_GAME_SRAM_DIR_ENABLE);
|
||||
}
|
||||
|
||||
if(input & (1ULL << RMENU_DEVICE_NAV_START))
|
||||
g_extern.console.main_wrap.state.default_sram_dir.enable = true;
|
||||
g_extern.lifecycle_mode_state |= (1ULL << MODE_LOAD_GAME_SRAM_DIR_ENABLE);
|
||||
break;
|
||||
case SETTING_ENABLE_STATE_PATH:
|
||||
if((input & (1ULL << RMENU_DEVICE_NAV_LEFT)) || (input & (1ULL << RMENU_DEVICE_NAV_RIGHT)))
|
||||
g_extern.console.main_wrap.state.default_savestate_dir.enable = !g_extern.console.main_wrap.state.default_savestate_dir.enable;
|
||||
{
|
||||
if (g_extern.lifecycle_mode_state & (1ULL << MODE_LOAD_GAME_STATE_DIR_ENABLE))
|
||||
g_extern.lifecycle_mode_state &= ~(1ULL << MODE_LOAD_GAME_STATE_DIR_ENABLE);
|
||||
else
|
||||
g_extern.lifecycle_mode_state |= (1ULL << MODE_LOAD_GAME_STATE_DIR_ENABLE);
|
||||
}
|
||||
if(input & (1ULL << RMENU_DEVICE_NAV_START))
|
||||
g_extern.console.main_wrap.state.default_savestate_dir.enable = true;
|
||||
g_extern.lifecycle_mode_state |= (1ULL << MODE_LOAD_GAME_STATE_DIR_ENABLE);
|
||||
break;
|
||||
case SETTING_PATH_DEFAULT_ALL:
|
||||
if((input & (1ULL << RMENU_DEVICE_NAV_LEFT)) || (input & (1ULL << RMENU_DEVICE_NAV_RIGHT)) || (input & (1ULL << RMENU_DEVICE_NAV_B)) || (input & (1ULL << RMENU_DEVICE_NAV_START)))
|
||||
{
|
||||
strlcpy(g_extern.console.main_wrap.paths.default_rom_startup_dir, "/", sizeof(g_extern.console.main_wrap.paths.default_rom_startup_dir));
|
||||
strlcpy(g_extern.console.main_wrap.paths.default_savestate_dir, default_paths.port_dir, sizeof(g_extern.console.main_wrap.paths.default_savestate_dir));
|
||||
strlcpy(g_extern.console.main_wrap.default_rom_startup_dir, "/", sizeof(g_extern.console.main_wrap.default_rom_startup_dir));
|
||||
strlcpy(g_extern.console.main_wrap.default_savestate_dir, default_paths.port_dir, sizeof(g_extern.console.main_wrap.default_savestate_dir));
|
||||
#ifdef HAVE_XML
|
||||
strlcpy(g_settings.cheat_database, default_paths.port_dir, sizeof(g_settings.cheat_database));
|
||||
#endif
|
||||
strlcpy(g_extern.console.main_wrap.paths.default_sram_dir, "", sizeof(g_extern.console.main_wrap.paths.default_sram_dir));
|
||||
strlcpy(g_extern.console.main_wrap.default_sram_dir, "", sizeof(g_extern.console.main_wrap.default_sram_dir));
|
||||
}
|
||||
break;
|
||||
case SETTING_CONTROLS_SCHEME:
|
||||
|
23
general.h
23
general.h
@ -104,6 +104,8 @@ enum menu_enums
|
||||
{
|
||||
MODE_GAME = 0,
|
||||
MODE_LOAD_GAME,
|
||||
MODE_LOAD_GAME_SRAM_DIR_ENABLE,
|
||||
MODE_LOAD_GAME_STATE_DIR_ENABLE,
|
||||
MODE_LOAD_FIRST_SHADER,
|
||||
MODE_LOAD_SECOND_SHADER,
|
||||
MODE_INIT,
|
||||
@ -266,12 +268,6 @@ enum rarch_game_type
|
||||
RARCH_CART_SUFAMI
|
||||
};
|
||||
|
||||
typedef struct rarch_boolean_state
|
||||
{
|
||||
bool enable;
|
||||
unsigned value;
|
||||
} rarch_boolean_state_t;
|
||||
|
||||
typedef struct rarch_resolution
|
||||
{
|
||||
unsigned idx;
|
||||
@ -545,18 +541,9 @@ struct global
|
||||
|
||||
struct
|
||||
{
|
||||
struct
|
||||
{
|
||||
char default_rom_startup_dir[PATH_MAX];
|
||||
char default_savestate_dir[PATH_MAX];
|
||||
char default_sram_dir[PATH_MAX];
|
||||
} paths;
|
||||
|
||||
struct
|
||||
{
|
||||
rarch_boolean_state_t default_sram_dir;
|
||||
rarch_boolean_state_t default_savestate_dir;
|
||||
} state;
|
||||
char default_rom_startup_dir[PATH_MAX];
|
||||
char default_savestate_dir[PATH_MAX];
|
||||
char default_sram_dir[PATH_MAX];
|
||||
} main_wrap;
|
||||
|
||||
#ifdef HAVE_OSKUTIL
|
||||
|
@ -886,6 +886,12 @@ static void parse_input(int argc, char *argv[])
|
||||
#endif
|
||||
|
||||
const char *optstring = "hs:fvS:m:p4jJA:g:b:c:B:Y:Z:U:DN:X:" BSV_MOVIE_ARG NETPLAY_ARG DYNAMIC_ARG FFMPEG_RECORD_ARG;
|
||||
#ifdef RARCH_CONSOLE
|
||||
// hack - done for reentrancy reasons
|
||||
g_extern.has_set_save_path = false;
|
||||
g_extern.has_set_state_path = false;
|
||||
#endif
|
||||
|
||||
for (;;)
|
||||
{
|
||||
val = 0;
|
||||
@ -895,6 +901,7 @@ static void parse_input(int argc, char *argv[])
|
||||
if (c == -1)
|
||||
break;
|
||||
|
||||
|
||||
switch (c)
|
||||
{
|
||||
case 'h':
|
||||
|
43
settings.c
43
settings.c
@ -255,7 +255,7 @@ void config_set_defaults(void)
|
||||
g_settings.video.aspect_ratio = -1.0f;
|
||||
|
||||
// g_extern
|
||||
strlcpy(g_extern.console.main_wrap.paths.default_sram_dir, default_paths.sram_dir, sizeof(g_extern.console.main_wrap.paths.default_sram_dir));
|
||||
strlcpy(g_extern.console.main_wrap.default_sram_dir, default_paths.sram_dir, sizeof(g_extern.console.main_wrap.default_sram_dir));
|
||||
g_extern.console.screen.overscan_amount = 0.0f;
|
||||
g_extern.console.screen.gamma_correction = DEFAULT_GAMMA;
|
||||
g_extern.lifecycle_mode_state |= (1ULL << MODE_VIDEO_OVERSCAN_ENABLE);
|
||||
@ -267,12 +267,10 @@ void config_set_defaults(void)
|
||||
g_extern.lifecycle_mode_state |= (1ULL << MODE_VIDEO_FLICKER_FILTER_ENABLE);
|
||||
g_extern.lifecycle_mode_state |= (1ULL << MODE_UNZIP_TO_CURDIR_AND_LOAD_FIRST_FILE);
|
||||
|
||||
g_extern.console.main_wrap.state.default_savestate_dir.enable = false;
|
||||
g_extern.console.main_wrap.state.default_sram_dir.enable = false;
|
||||
g_extern.console.screen.orientation = ORIENTATION_NORMAL;
|
||||
g_extern.console.screen.resolutions.current.id = 0;
|
||||
strlcpy(g_extern.console.main_wrap.paths.default_rom_startup_dir, default_paths.filebrowser_startup_dir, sizeof(g_extern.console.main_wrap.paths.default_rom_startup_dir));
|
||||
strlcpy(g_extern.console.main_wrap.paths.default_savestate_dir, default_paths.savestate_dir, sizeof(g_extern.console.main_wrap.paths.default_savestate_dir));
|
||||
strlcpy(g_extern.console.main_wrap.default_rom_startup_dir, default_paths.filebrowser_startup_dir, sizeof(g_extern.console.main_wrap.default_rom_startup_dir));
|
||||
strlcpy(g_extern.console.main_wrap.default_savestate_dir, default_paths.savestate_dir, sizeof(g_extern.console.main_wrap.default_savestate_dir));
|
||||
g_settings.video.aspect_ratio_idx = 0;
|
||||
g_extern.state_slot = 0;
|
||||
g_extern.audio_data.mute = 0;
|
||||
@ -467,7 +465,7 @@ bool config_load_file(const char *path)
|
||||
CONFIG_GET_INT(input.device[i], cfg);
|
||||
}
|
||||
|
||||
CONFIG_GET_STRING_EXTERN(console.main_wrap.paths.default_rom_startup_dir, "default_rom_startup_dir");
|
||||
CONFIG_GET_STRING_EXTERN(console.main_wrap.default_rom_startup_dir, "default_rom_startup_dir");
|
||||
CONFIG_GET_BOOL_EXTERN(console.screen.gamma_correction, "gamma_correction");
|
||||
|
||||
bool msg_enable = false;
|
||||
@ -478,6 +476,8 @@ bool config_load_file(const char *path)
|
||||
bool screenshots_enable = false;
|
||||
bool flicker_filter_enable = false;
|
||||
bool soft_filter_enable = false;
|
||||
bool sram_dir_enable = false;
|
||||
bool state_dir_enable = false;
|
||||
int zip_extract_mode = 0;
|
||||
|
||||
if (config_get_bool(conf, "info_msg_enable", &msg_enable))
|
||||
@ -563,8 +563,22 @@ bool config_load_file(const char *path)
|
||||
}
|
||||
}
|
||||
|
||||
CONFIG_GET_BOOL_EXTERN(console.main_wrap.state.default_sram_dir.enable, "sram_dir_enable");
|
||||
CONFIG_GET_BOOL_EXTERN(console.main_wrap.state.default_savestate_dir.enable, "savestate_dir_enable");
|
||||
if (config_get_bool(conf, "sram_dir_enable", &sram_dir_enable))
|
||||
{
|
||||
if (sram_dir_enable)
|
||||
g_extern.lifecycle_mode_state |= (1ULL << MODE_LOAD_GAME_SRAM_DIR_ENABLE);
|
||||
else
|
||||
g_extern.lifecycle_mode_state &= ~(1ULL << MODE_LOAD_GAME_SRAM_DIR_ENABLE);
|
||||
}
|
||||
|
||||
if (config_get_bool(conf, "savestate_dir_enable", &state_dir_enable))
|
||||
{
|
||||
if (state_dir_enable)
|
||||
g_extern.lifecycle_mode_state |= (1ULL << MODE_LOAD_GAME_STATE_DIR_ENABLE);
|
||||
else
|
||||
g_extern.lifecycle_mode_state &= ~(1ULL << MODE_LOAD_GAME_STATE_DIR_ENABLE);
|
||||
}
|
||||
|
||||
CONFIG_GET_FLOAT_EXTERN(console.screen.overscan_amount, "overscan_amount");
|
||||
CONFIG_GET_INT_EXTERN(console.screen.flicker_filter_index, "flicker_filter_index");
|
||||
CONFIG_GET_INT_EXTERN(console.screen.soft_filter_index, "soft_filter_index");
|
||||
@ -1217,7 +1231,7 @@ bool config_save_file(const char *path)
|
||||
config_set_int(conf, "custom_viewport_height", g_extern.console.screen.viewports.custom_vp.height);
|
||||
config_set_int(conf, "custom_viewport_x", g_extern.console.screen.viewports.custom_vp.x);
|
||||
config_set_int(conf, "custom_viewport_y", g_extern.console.screen.viewports.custom_vp.y);
|
||||
config_set_string(conf, "default_rom_startup_dir", g_extern.console.main_wrap.paths.default_rom_startup_dir);
|
||||
config_set_string(conf, "default_rom_startup_dir", g_extern.console.main_wrap.default_rom_startup_dir);
|
||||
config_set_float(conf, "overscan_amount", g_extern.console.screen.overscan_amount);
|
||||
|
||||
config_set_float(conf, "video_font_size", g_settings.video.font_size);
|
||||
@ -1233,8 +1247,15 @@ bool config_save_file(const char *path)
|
||||
else
|
||||
config_set_bool(conf, "custom_bgm_enable", false);
|
||||
|
||||
config_set_bool(conf, "sram_dir_enable", g_extern.console.main_wrap.state.default_sram_dir.enable);
|
||||
config_set_bool(conf, "savestate_dir_enable", g_extern.console.main_wrap.state.default_savestate_dir.enable);
|
||||
if (g_extern.lifecycle_mode_state & (1ULL << MODE_LOAD_GAME_SRAM_DIR_ENABLE))
|
||||
config_set_bool(conf, "sram_dir_enable", true);
|
||||
else
|
||||
config_set_bool(conf, "sram_dir_enable", false);
|
||||
|
||||
if (g_extern.lifecycle_mode_state & (1ULL << MODE_LOAD_GAME_STATE_DIR_ENABLE))
|
||||
config_set_bool(conf, "savestate_dir_enable", true);
|
||||
else
|
||||
config_set_bool(conf, "savestate_dir_enable", false);
|
||||
|
||||
for (unsigned i = 0; i < MAX_PLAYERS; i++)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user