libretro: VGA cable option shown twice. fix arcade/dc option visibility

This commit is contained in:
Flyinghead 2021-07-16 17:41:40 +02:00
parent a604a3904f
commit ab50bc9936
3 changed files with 13 additions and 5 deletions

View File

@ -594,6 +594,16 @@ static void update_variables(bool first_startup)
environ_cb(RETRO_ENVIRONMENT_SET_SAVE_STATE_IN_BACKGROUND, &save_state_in_background);
environ_cb(RETRO_ENVIRONMENT_POLL_TYPE_OVERRIDE, &poll_type_early);
}
config::Cable = 3;
var.key = CORE_OPTION_NAME "_cable_type";
if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value)
{
if (!strcmp("VGA", var.value))
config::Cable = 0;
else if (!strcmp("TV (RGB)", var.value))
config::Cable = 2;
}
}
var.key = CORE_OPTION_NAME "_enable_purupuru";
@ -1508,9 +1518,6 @@ bool retro_load_game(const struct retro_game_info *game)
|| !strcmp(".7z", ext) || !strcmp(".7Z", ext))
{
settings.platform.system = naomi_cart_GetPlatform(game->path);
/* System may have changed - have to update
* hidden core options */
set_variable_visibility();
// Users should use the superior format instead, let's warn them
if (!strcmp(".lst", ext)
|| !strcmp(".bin", ext) || !strcmp(".BIN", ext)
@ -1535,6 +1542,8 @@ bool retro_load_game(const struct retro_game_info *game)
}
}
}
// System may have changed - have to update hidden core options
set_variable_visibility();
if (game->path[0] == '\0')
{

View File

@ -376,7 +376,6 @@ struct retro_core_option_definition option_defs_us[] = {
"",
{
{ "VGA", NULL },
{ "VGA", NULL }, // FIXME
{ "TV (RGB)", NULL },
{ "TV (Composite)", NULL },
{ NULL, NULL },

View File

@ -29,7 +29,7 @@ Option<bool> DynarecSafeMode(CORE_OPTION_NAME "_div_matching");
// General
Option<int> Cable(CORE_OPTION_NAME "_cable_type", 3); // TV Composite
Option<int> Cable("", 3); // TV Composite
Option<int> Region(CORE_OPTION_NAME "_region", 1); // USA
Option<int> Broadcast(CORE_OPTION_NAME "_broadcast", 0); // NTSC
Option<int> Language(CORE_OPTION_NAME "_language", 1); // English