From ab50bc9936b2043a69e264f955d92052beee93fd Mon Sep 17 00:00:00 2001 From: Flyinghead Date: Fri, 16 Jul 2021 17:41:40 +0200 Subject: [PATCH] libretro: VGA cable option shown twice. fix arcade/dc option visibility --- shell/libretro/libretro.cpp | 15 ++++++++++++--- shell/libretro/libretro_core_options.h | 1 - shell/libretro/option.cpp | 2 +- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/shell/libretro/libretro.cpp b/shell/libretro/libretro.cpp index 2693a1bce..0b4cc24ce 100644 --- a/shell/libretro/libretro.cpp +++ b/shell/libretro/libretro.cpp @@ -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') { diff --git a/shell/libretro/libretro_core_options.h b/shell/libretro/libretro_core_options.h index c400b7694..1e46d41c1 100644 --- a/shell/libretro/libretro_core_options.h +++ b/shell/libretro/libretro_core_options.h @@ -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 }, diff --git a/shell/libretro/option.cpp b/shell/libretro/option.cpp index fbceafa0c..906343b73 100644 --- a/shell/libretro/option.cpp +++ b/shell/libretro/option.cpp @@ -29,7 +29,7 @@ Option DynarecSafeMode(CORE_OPTION_NAME "_div_matching"); // General -Option Cable(CORE_OPTION_NAME "_cable_type", 3); // TV Composite +Option Cable("", 3); // TV Composite Option Region(CORE_OPTION_NAME "_region", 1); // USA Option Broadcast(CORE_OPTION_NAME "_broadcast", 0); // NTSC Option Language(CORE_OPTION_NAME "_language", 1); // English