From 234955ac01ac189ba0e65814da432a935efb2e5f Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 27 Jan 2023 22:20:02 +0000 Subject: [PATCH 01/22] Fetch translations & Recreate libretro_core_options_intl.h --- shell/libretro/libretro_core_options_intl.h | 1729 ++++++++++++++++--- 1 file changed, 1475 insertions(+), 254 deletions(-) diff --git a/shell/libretro/libretro_core_options_intl.h b/shell/libretro/libretro_core_options_intl.h index 064390e85..f7f5b6fcd 100644 --- a/shell/libretro/libretro_core_options_intl.h +++ b/shell/libretro/libretro_core_options_intl.h @@ -94,6 +94,10 @@ extern "C" { #define CORE_OPTION_NAME_ALLOW_SERVICE_BUTTONS_INFO_0_AR NULL #define CORE_OPTION_NAME_FORCE_FREEPLAY_LABEL_AR NULL #define CORE_OPTION_NAME_FORCE_FREEPLAY_INFO_0_AR NULL +#define CORE_OPTION_NAME_EMULATE_BBA_LABEL_AR NULL +#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_AR NULL +#define CORE_OPTION_NAME_UPNP_LABEL_AR NULL +#define CORE_OPTION_NAME_UPNP_INFO_0_AR NULL #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_AR NULL #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_INFO_0_AR NULL #define OPTION_VAL_320X240_AR NULL @@ -170,7 +174,7 @@ extern "C" { #define CORE_OPTION_NAME_PVR2_FILTERING_INFO_0_AR NULL #define CORE_OPTION_NAME_TEXUPSCALE_LABEL_AR NULL #define CORE_OPTION_NAME_TEXUPSCALE_INFO_0_AR NULL -#define OPTION_VAL_2_O25_AR NULL +#define OPTION_VAL_2_O27_AR NULL #define OPTION_VAL_4_AR NULL #define OPTION_VAL_6_AR NULL #define CORE_OPTION_NAME_TEXUPSCALE_MAX_FILTERED_TEXTURE_SIZE_LABEL_AR NULL @@ -445,6 +449,35 @@ struct retro_core_option_v2_definition option_defs_ar[] = { }, "enabled", }, + { + CORE_OPTION_NAME "_emulate_bba", + CORE_OPTION_NAME_EMULATE_BBA_LABEL_AR, + NULL, + CORE_OPTION_NAME_EMULATE_BBA_INFO_0_AR, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled", + }, + { + CORE_OPTION_NAME "_upnp", + CORE_OPTION_NAME_UPNP_LABEL_AR, + NULL, + CORE_OPTION_NAME_UPNP_INFO_0_AR, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "enabled", + }, + { CORE_OPTION_NAME "_internal_resolution", CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_AR, @@ -744,7 +777,7 @@ struct retro_core_option_v2_definition option_defs_ar[] = { "video", { { "1", "disabled" }, - { "2", OPTION_VAL_2_O25_AR }, + { "2", OPTION_VAL_2_O27_AR }, { "4", OPTION_VAL_4_AR }, { "6", OPTION_VAL_6_AR }, { NULL, NULL }, @@ -1137,7 +1170,7 @@ struct retro_core_option_v2_definition option_defs_ar[] = { "vmu", { { "1x", OPTION_VAL_1X_AR }, - { "2x", OPTION_VAL_2_O25_AR }, + { "2x", OPTION_VAL_2_O27_AR }, { "3x", OPTION_VAL_3X_AR }, { "4x", OPTION_VAL_4_AR }, { "5x", OPTION_VAL_5X_AR }, @@ -1288,7 +1321,7 @@ struct retro_core_option_v2_definition option_defs_ar[] = { "vmu", { { "1x", OPTION_VAL_1X_AR }, - { "2x", OPTION_VAL_2_O25_AR }, + { "2x", OPTION_VAL_2_O27_AR }, { "3x", OPTION_VAL_3X_AR }, { "4x", OPTION_VAL_4_AR }, { "5x", OPTION_VAL_5X_AR }, @@ -1439,7 +1472,7 @@ struct retro_core_option_v2_definition option_defs_ar[] = { "vmu", { { "1x", OPTION_VAL_1X_AR }, - { "2x", OPTION_VAL_2_O25_AR }, + { "2x", OPTION_VAL_2_O27_AR }, { "3x", OPTION_VAL_3X_AR }, { "4x", OPTION_VAL_4_AR }, { "5x", OPTION_VAL_5X_AR }, @@ -1590,7 +1623,7 @@ struct retro_core_option_v2_definition option_defs_ar[] = { "vmu", { { "1x", OPTION_VAL_1X_AR }, - { "2x", OPTION_VAL_2_O25_AR }, + { "2x", OPTION_VAL_2_O27_AR }, { "3x", OPTION_VAL_3X_AR }, { "4x", OPTION_VAL_4_AR }, { "5x", OPTION_VAL_5X_AR }, @@ -1736,7 +1769,7 @@ struct retro_core_options_v2 options_ar = { #define OPTION_VAL_FRENCH_AST "Francés" #define OPTION_VAL_SPANISH_AST "Castellán" #define OPTION_VAL_ITALIAN_AST "Italianu" -#define CORE_OPTION_NAME_HLE_BIOS_LABEL_AST "BIOS HLE" +#define CORE_OPTION_NAME_HLE_BIOS_LABEL_AST NULL #define CORE_OPTION_NAME_HLE_BIOS_INFO_0_AST NULL #define CORE_OPTION_NAME_BOOT_TO_BIOS_LABEL_AST NULL #define CORE_OPTION_NAME_BOOT_TO_BIOS_INFO_0_AST NULL @@ -1748,6 +1781,10 @@ struct retro_core_options_v2 options_ar = { #define CORE_OPTION_NAME_ALLOW_SERVICE_BUTTONS_INFO_0_AST NULL #define CORE_OPTION_NAME_FORCE_FREEPLAY_LABEL_AST NULL #define CORE_OPTION_NAME_FORCE_FREEPLAY_INFO_0_AST NULL +#define CORE_OPTION_NAME_EMULATE_BBA_LABEL_AST NULL +#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_AST NULL +#define CORE_OPTION_NAME_UPNP_LABEL_AST NULL +#define CORE_OPTION_NAME_UPNP_INFO_0_AST NULL #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_AST "Resolución interna" #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_INFO_0_AST "Modifica la resolución del renderizáu." #define OPTION_VAL_320X240_AST NULL @@ -1824,7 +1861,7 @@ struct retro_core_options_v2 options_ar = { #define CORE_OPTION_NAME_PVR2_FILTERING_INFO_0_AST NULL #define CORE_OPTION_NAME_TEXUPSCALE_LABEL_AST NULL #define CORE_OPTION_NAME_TEXUPSCALE_INFO_0_AST NULL -#define OPTION_VAL_2_O25_AST "x2" +#define OPTION_VAL_2_O27_AST "x2" #define OPTION_VAL_4_AST "x4" #define OPTION_VAL_6_AST "x6" #define CORE_OPTION_NAME_TEXUPSCALE_MAX_FILTERED_TEXTURE_SIZE_LABEL_AST NULL @@ -2099,6 +2136,35 @@ struct retro_core_option_v2_definition option_defs_ast[] = { }, "enabled", }, + { + CORE_OPTION_NAME "_emulate_bba", + CORE_OPTION_NAME_EMULATE_BBA_LABEL_AST, + NULL, + CORE_OPTION_NAME_EMULATE_BBA_INFO_0_AST, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled", + }, + { + CORE_OPTION_NAME "_upnp", + CORE_OPTION_NAME_UPNP_LABEL_AST, + NULL, + CORE_OPTION_NAME_UPNP_INFO_0_AST, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "enabled", + }, + { CORE_OPTION_NAME "_internal_resolution", CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_AST, @@ -2398,7 +2464,7 @@ struct retro_core_option_v2_definition option_defs_ast[] = { "video", { { "1", "disabled" }, - { "2", OPTION_VAL_2_O25_AST }, + { "2", OPTION_VAL_2_O27_AST }, { "4", OPTION_VAL_4_AST }, { "6", OPTION_VAL_6_AST }, { NULL, NULL }, @@ -2791,7 +2857,7 @@ struct retro_core_option_v2_definition option_defs_ast[] = { "vmu", { { "1x", OPTION_VAL_1X_AST }, - { "2x", OPTION_VAL_2_O25_AST }, + { "2x", OPTION_VAL_2_O27_AST }, { "3x", OPTION_VAL_3X_AST }, { "4x", OPTION_VAL_4_AST }, { "5x", OPTION_VAL_5X_AST }, @@ -2942,7 +3008,7 @@ struct retro_core_option_v2_definition option_defs_ast[] = { "vmu", { { "1x", OPTION_VAL_1X_AST }, - { "2x", OPTION_VAL_2_O25_AST }, + { "2x", OPTION_VAL_2_O27_AST }, { "3x", OPTION_VAL_3X_AST }, { "4x", OPTION_VAL_4_AST }, { "5x", OPTION_VAL_5X_AST }, @@ -3093,7 +3159,7 @@ struct retro_core_option_v2_definition option_defs_ast[] = { "vmu", { { "1x", OPTION_VAL_1X_AST }, - { "2x", OPTION_VAL_2_O25_AST }, + { "2x", OPTION_VAL_2_O27_AST }, { "3x", OPTION_VAL_3X_AST }, { "4x", OPTION_VAL_4_AST }, { "5x", OPTION_VAL_5X_AST }, @@ -3244,7 +3310,7 @@ struct retro_core_option_v2_definition option_defs_ast[] = { "vmu", { { "1x", OPTION_VAL_1X_AST }, - { "2x", OPTION_VAL_2_O25_AST }, + { "2x", OPTION_VAL_2_O27_AST }, { "3x", OPTION_VAL_3X_AST }, { "4x", OPTION_VAL_4_AST }, { "5x", OPTION_VAL_5X_AST }, @@ -3402,6 +3468,10 @@ struct retro_core_options_v2 options_ast = { #define CORE_OPTION_NAME_ALLOW_SERVICE_BUTTONS_INFO_0_CA NULL #define CORE_OPTION_NAME_FORCE_FREEPLAY_LABEL_CA NULL #define CORE_OPTION_NAME_FORCE_FREEPLAY_INFO_0_CA NULL +#define CORE_OPTION_NAME_EMULATE_BBA_LABEL_CA NULL +#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_CA NULL +#define CORE_OPTION_NAME_UPNP_LABEL_CA NULL +#define CORE_OPTION_NAME_UPNP_INFO_0_CA NULL #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_CA "Resolució Interna" #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_INFO_0_CA NULL #define OPTION_VAL_320X240_CA "320×240" @@ -3478,7 +3548,7 @@ struct retro_core_options_v2 options_ast = { #define CORE_OPTION_NAME_PVR2_FILTERING_INFO_0_CA NULL #define CORE_OPTION_NAME_TEXUPSCALE_LABEL_CA NULL #define CORE_OPTION_NAME_TEXUPSCALE_INFO_0_CA NULL -#define OPTION_VAL_2_O25_CA NULL +#define OPTION_VAL_2_O27_CA NULL #define OPTION_VAL_4_CA NULL #define OPTION_VAL_6_CA NULL #define CORE_OPTION_NAME_TEXUPSCALE_MAX_FILTERED_TEXTURE_SIZE_LABEL_CA NULL @@ -3753,6 +3823,35 @@ struct retro_core_option_v2_definition option_defs_ca[] = { }, "enabled", }, + { + CORE_OPTION_NAME "_emulate_bba", + CORE_OPTION_NAME_EMULATE_BBA_LABEL_CA, + NULL, + CORE_OPTION_NAME_EMULATE_BBA_INFO_0_CA, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled", + }, + { + CORE_OPTION_NAME "_upnp", + CORE_OPTION_NAME_UPNP_LABEL_CA, + NULL, + CORE_OPTION_NAME_UPNP_INFO_0_CA, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "enabled", + }, + { CORE_OPTION_NAME "_internal_resolution", CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_CA, @@ -4052,7 +4151,7 @@ struct retro_core_option_v2_definition option_defs_ca[] = { "video", { { "1", "disabled" }, - { "2", OPTION_VAL_2_O25_CA }, + { "2", OPTION_VAL_2_O27_CA }, { "4", OPTION_VAL_4_CA }, { "6", OPTION_VAL_6_CA }, { NULL, NULL }, @@ -4445,7 +4544,7 @@ struct retro_core_option_v2_definition option_defs_ca[] = { "vmu", { { "1x", OPTION_VAL_1X_CA }, - { "2x", OPTION_VAL_2_O25_CA }, + { "2x", OPTION_VAL_2_O27_CA }, { "3x", OPTION_VAL_3X_CA }, { "4x", OPTION_VAL_4_CA }, { "5x", OPTION_VAL_5X_CA }, @@ -4596,7 +4695,7 @@ struct retro_core_option_v2_definition option_defs_ca[] = { "vmu", { { "1x", OPTION_VAL_1X_CA }, - { "2x", OPTION_VAL_2_O25_CA }, + { "2x", OPTION_VAL_2_O27_CA }, { "3x", OPTION_VAL_3X_CA }, { "4x", OPTION_VAL_4_CA }, { "5x", OPTION_VAL_5X_CA }, @@ -4747,7 +4846,7 @@ struct retro_core_option_v2_definition option_defs_ca[] = { "vmu", { { "1x", OPTION_VAL_1X_CA }, - { "2x", OPTION_VAL_2_O25_CA }, + { "2x", OPTION_VAL_2_O27_CA }, { "3x", OPTION_VAL_3X_CA }, { "4x", OPTION_VAL_4_CA }, { "5x", OPTION_VAL_5X_CA }, @@ -4898,7 +4997,7 @@ struct retro_core_option_v2_definition option_defs_ca[] = { "vmu", { { "1x", OPTION_VAL_1X_CA }, - { "2x", OPTION_VAL_2_O25_CA }, + { "2x", OPTION_VAL_2_O27_CA }, { "3x", OPTION_VAL_3X_CA }, { "4x", OPTION_VAL_4_CA }, { "5x", OPTION_VAL_5X_CA }, @@ -5056,6 +5155,10 @@ struct retro_core_options_v2 options_ca = { #define CORE_OPTION_NAME_ALLOW_SERVICE_BUTTONS_INFO_0_CHS NULL #define CORE_OPTION_NAME_FORCE_FREEPLAY_LABEL_CHS NULL #define CORE_OPTION_NAME_FORCE_FREEPLAY_INFO_0_CHS NULL +#define CORE_OPTION_NAME_EMULATE_BBA_LABEL_CHS NULL +#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_CHS NULL +#define CORE_OPTION_NAME_UPNP_LABEL_CHS NULL +#define CORE_OPTION_NAME_UPNP_INFO_0_CHS NULL #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_CHS "内部分辨率" #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_INFO_0_CHS NULL #define OPTION_VAL_320X240_CHS NULL @@ -5132,7 +5235,7 @@ struct retro_core_options_v2 options_ca = { #define CORE_OPTION_NAME_PVR2_FILTERING_INFO_0_CHS NULL #define CORE_OPTION_NAME_TEXUPSCALE_LABEL_CHS NULL #define CORE_OPTION_NAME_TEXUPSCALE_INFO_0_CHS NULL -#define OPTION_VAL_2_O25_CHS "2 倍" +#define OPTION_VAL_2_O27_CHS "2 倍" #define OPTION_VAL_4_CHS "4 倍" #define OPTION_VAL_6_CHS NULL #define CORE_OPTION_NAME_TEXUPSCALE_MAX_FILTERED_TEXTURE_SIZE_LABEL_CHS NULL @@ -5407,6 +5510,35 @@ struct retro_core_option_v2_definition option_defs_chs[] = { }, "enabled", }, + { + CORE_OPTION_NAME "_emulate_bba", + CORE_OPTION_NAME_EMULATE_BBA_LABEL_CHS, + NULL, + CORE_OPTION_NAME_EMULATE_BBA_INFO_0_CHS, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled", + }, + { + CORE_OPTION_NAME "_upnp", + CORE_OPTION_NAME_UPNP_LABEL_CHS, + NULL, + CORE_OPTION_NAME_UPNP_INFO_0_CHS, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "enabled", + }, + { CORE_OPTION_NAME "_internal_resolution", CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_CHS, @@ -5706,7 +5838,7 @@ struct retro_core_option_v2_definition option_defs_chs[] = { "video", { { "1", "disabled" }, - { "2", OPTION_VAL_2_O25_CHS }, + { "2", OPTION_VAL_2_O27_CHS }, { "4", OPTION_VAL_4_CHS }, { "6", OPTION_VAL_6_CHS }, { NULL, NULL }, @@ -6099,7 +6231,7 @@ struct retro_core_option_v2_definition option_defs_chs[] = { "vmu", { { "1x", OPTION_VAL_1X_CHS }, - { "2x", OPTION_VAL_2_O25_CHS }, + { "2x", OPTION_VAL_2_O27_CHS }, { "3x", OPTION_VAL_3X_CHS }, { "4x", OPTION_VAL_4_CHS }, { "5x", OPTION_VAL_5X_CHS }, @@ -6250,7 +6382,7 @@ struct retro_core_option_v2_definition option_defs_chs[] = { "vmu", { { "1x", OPTION_VAL_1X_CHS }, - { "2x", OPTION_VAL_2_O25_CHS }, + { "2x", OPTION_VAL_2_O27_CHS }, { "3x", OPTION_VAL_3X_CHS }, { "4x", OPTION_VAL_4_CHS }, { "5x", OPTION_VAL_5X_CHS }, @@ -6401,7 +6533,7 @@ struct retro_core_option_v2_definition option_defs_chs[] = { "vmu", { { "1x", OPTION_VAL_1X_CHS }, - { "2x", OPTION_VAL_2_O25_CHS }, + { "2x", OPTION_VAL_2_O27_CHS }, { "3x", OPTION_VAL_3X_CHS }, { "4x", OPTION_VAL_4_CHS }, { "5x", OPTION_VAL_5X_CHS }, @@ -6552,7 +6684,7 @@ struct retro_core_option_v2_definition option_defs_chs[] = { "vmu", { { "1x", OPTION_VAL_1X_CHS }, - { "2x", OPTION_VAL_2_O25_CHS }, + { "2x", OPTION_VAL_2_O27_CHS }, { "3x", OPTION_VAL_3X_CHS }, { "4x", OPTION_VAL_4_CHS }, { "5x", OPTION_VAL_5X_CHS }, @@ -6710,6 +6842,10 @@ struct retro_core_options_v2 options_chs = { #define CORE_OPTION_NAME_ALLOW_SERVICE_BUTTONS_INFO_0_CHT NULL #define CORE_OPTION_NAME_FORCE_FREEPLAY_LABEL_CHT NULL #define CORE_OPTION_NAME_FORCE_FREEPLAY_INFO_0_CHT NULL +#define CORE_OPTION_NAME_EMULATE_BBA_LABEL_CHT NULL +#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_CHT NULL +#define CORE_OPTION_NAME_UPNP_LABEL_CHT NULL +#define CORE_OPTION_NAME_UPNP_INFO_0_CHT NULL #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_CHT NULL #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_INFO_0_CHT NULL #define OPTION_VAL_320X240_CHT NULL @@ -6786,7 +6922,7 @@ struct retro_core_options_v2 options_chs = { #define CORE_OPTION_NAME_PVR2_FILTERING_INFO_0_CHT NULL #define CORE_OPTION_NAME_TEXUPSCALE_LABEL_CHT NULL #define CORE_OPTION_NAME_TEXUPSCALE_INFO_0_CHT NULL -#define OPTION_VAL_2_O25_CHT "2倍" +#define OPTION_VAL_2_O27_CHT "2倍" #define OPTION_VAL_4_CHT "4倍" #define OPTION_VAL_6_CHT "6倍" #define CORE_OPTION_NAME_TEXUPSCALE_MAX_FILTERED_TEXTURE_SIZE_LABEL_CHT NULL @@ -7061,6 +7197,35 @@ struct retro_core_option_v2_definition option_defs_cht[] = { }, "enabled", }, + { + CORE_OPTION_NAME "_emulate_bba", + CORE_OPTION_NAME_EMULATE_BBA_LABEL_CHT, + NULL, + CORE_OPTION_NAME_EMULATE_BBA_INFO_0_CHT, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled", + }, + { + CORE_OPTION_NAME "_upnp", + CORE_OPTION_NAME_UPNP_LABEL_CHT, + NULL, + CORE_OPTION_NAME_UPNP_INFO_0_CHT, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "enabled", + }, + { CORE_OPTION_NAME "_internal_resolution", CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_CHT, @@ -7360,7 +7525,7 @@ struct retro_core_option_v2_definition option_defs_cht[] = { "video", { { "1", "disabled" }, - { "2", OPTION_VAL_2_O25_CHT }, + { "2", OPTION_VAL_2_O27_CHT }, { "4", OPTION_VAL_4_CHT }, { "6", OPTION_VAL_6_CHT }, { NULL, NULL }, @@ -7753,7 +7918,7 @@ struct retro_core_option_v2_definition option_defs_cht[] = { "vmu", { { "1x", OPTION_VAL_1X_CHT }, - { "2x", OPTION_VAL_2_O25_CHT }, + { "2x", OPTION_VAL_2_O27_CHT }, { "3x", OPTION_VAL_3X_CHT }, { "4x", OPTION_VAL_4_CHT }, { "5x", OPTION_VAL_5X_CHT }, @@ -7904,7 +8069,7 @@ struct retro_core_option_v2_definition option_defs_cht[] = { "vmu", { { "1x", OPTION_VAL_1X_CHT }, - { "2x", OPTION_VAL_2_O25_CHT }, + { "2x", OPTION_VAL_2_O27_CHT }, { "3x", OPTION_VAL_3X_CHT }, { "4x", OPTION_VAL_4_CHT }, { "5x", OPTION_VAL_5X_CHT }, @@ -8055,7 +8220,7 @@ struct retro_core_option_v2_definition option_defs_cht[] = { "vmu", { { "1x", OPTION_VAL_1X_CHT }, - { "2x", OPTION_VAL_2_O25_CHT }, + { "2x", OPTION_VAL_2_O27_CHT }, { "3x", OPTION_VAL_3X_CHT }, { "4x", OPTION_VAL_4_CHT }, { "5x", OPTION_VAL_5X_CHT }, @@ -8206,7 +8371,7 @@ struct retro_core_option_v2_definition option_defs_cht[] = { "vmu", { { "1x", OPTION_VAL_1X_CHT }, - { "2x", OPTION_VAL_2_O25_CHT }, + { "2x", OPTION_VAL_2_O27_CHT }, { "3x", OPTION_VAL_3X_CHT }, { "4x", OPTION_VAL_4_CHT }, { "5x", OPTION_VAL_5X_CHT }, @@ -8364,6 +8529,10 @@ struct retro_core_options_v2 options_cht = { #define CORE_OPTION_NAME_ALLOW_SERVICE_BUTTONS_INFO_0_CS "Povolí tlačítko SERVIS pro NAOMI, abyste mohli vstoupit do nastavení skříně." #define CORE_OPTION_NAME_FORCE_FREEPLAY_LABEL_CS "Nastavení her NAOMI na volné hraní" #define CORE_OPTION_NAME_FORCE_FREEPLAY_INFO_0_CS "Upravte nastavení mincí ve hře na volnou hru." +#define CORE_OPTION_NAME_EMULATE_BBA_LABEL_CS NULL +#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_CS NULL +#define CORE_OPTION_NAME_UPNP_LABEL_CS NULL +#define CORE_OPTION_NAME_UPNP_INFO_0_CS NULL #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_CS "Vnitřní Rozlišení" #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_INFO_0_CS "Úprava Rozlišení Vykreslování." #define OPTION_VAL_320X240_CS NULL @@ -8418,10 +8587,10 @@ struct retro_core_options_v2 options_cht = { #define OPTION_VAL_4GB_CS NULL #define CORE_OPTION_NAME_OIT_LAYERS_LABEL_CS "Maximální počet průhledných vrstev" #define CORE_OPTION_NAME_OIT_LAYERS_INFO_0_CS "U složitých scén mohou být nutné vyšší hodnoty." -#define CORE_OPTION_NAME_EMULATE_FRAMEBUFFER_LABEL_CS NULL -#define CORE_OPTION_NAME_EMULATE_FRAMEBUFFER_INFO_0_CS NULL +#define CORE_OPTION_NAME_EMULATE_FRAMEBUFFER_LABEL_CS "Úplná emulace framebufferu" +#define CORE_OPTION_NAME_EMULATE_FRAMEBUFFER_INFO_0_CS "Povolení úplné emulace framebufferu v paměti VRAM. To je užitečné pro hry, které přímo čtou nebo zapisují framebuffer do VRAM. Pokud je tato funkce povolena, interní rozlišení je vynuceno na 640x480 a může dojít k výraznému snížení výkonu." #define CORE_OPTION_NAME_ENABLE_RTTB_LABEL_CS "Povolení Vyrovnávací Paměti RTT (Render To Texture)" -#define CORE_OPTION_NAME_ENABLE_RTTB_INFO_0_CS NULL +#define CORE_OPTION_NAME_ENABLE_RTTB_INFO_0_CS "Kopírování vykreslených textur z GPU zpět do VRAM. Tato možnost je obvykle povolena u her, které ji vyžadují. Pokud je povolena, je vypnuto zvyšování rozlišení vykreslovaných textur a může dojít ke snížení výkonu." #define CORE_OPTION_NAME_MIPMAPPING_LABEL_CS "Mipmapování" #define CORE_OPTION_NAME_FOG_LABEL_CS "Efekty Mlhy" #define CORE_OPTION_NAME_VOLUME_MODIFIER_ENABLE_LABEL_CS "Modifikátor Hlasitosti" @@ -8440,7 +8609,7 @@ struct retro_core_options_v2 options_cht = { #define CORE_OPTION_NAME_PVR2_FILTERING_INFO_0_CS "Následné zpracování vykresleného obrazu pro simulaci efektů specifických pro grafický procesor PowerVR2 a analogové video signály." #define CORE_OPTION_NAME_TEXUPSCALE_LABEL_CS "Vylepšení Textur (xBRZ)" #define CORE_OPTION_NAME_TEXUPSCALE_INFO_0_CS "Vylepšete ručně kreslenou 2D pixelovou grafiku. Mělo by se používat pouze ve 2D pixelových hrách." -#define OPTION_VAL_2_O25_CS NULL +#define OPTION_VAL_2_O27_CS NULL #define OPTION_VAL_4_CS NULL #define OPTION_VAL_6_CS NULL #define CORE_OPTION_NAME_TEXUPSCALE_MAX_FILTERED_TEXTURE_SIZE_LABEL_CS "Zvýšení Rozlišení Textur Max. Filtrovaná Velikost" @@ -8715,6 +8884,35 @@ struct retro_core_option_v2_definition option_defs_cs[] = { }, "enabled", }, + { + CORE_OPTION_NAME "_emulate_bba", + CORE_OPTION_NAME_EMULATE_BBA_LABEL_CS, + NULL, + CORE_OPTION_NAME_EMULATE_BBA_INFO_0_CS, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled", + }, + { + CORE_OPTION_NAME "_upnp", + CORE_OPTION_NAME_UPNP_LABEL_CS, + NULL, + CORE_OPTION_NAME_UPNP_INFO_0_CS, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "enabled", + }, + { CORE_OPTION_NAME "_internal_resolution", CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_CS, @@ -9014,7 +9212,7 @@ struct retro_core_option_v2_definition option_defs_cs[] = { "video", { { "1", "disabled" }, - { "2", OPTION_VAL_2_O25_CS }, + { "2", OPTION_VAL_2_O27_CS }, { "4", OPTION_VAL_4_CS }, { "6", OPTION_VAL_6_CS }, { NULL, NULL }, @@ -9407,7 +9605,7 @@ struct retro_core_option_v2_definition option_defs_cs[] = { "vmu", { { "1x", OPTION_VAL_1X_CS }, - { "2x", OPTION_VAL_2_O25_CS }, + { "2x", OPTION_VAL_2_O27_CS }, { "3x", OPTION_VAL_3X_CS }, { "4x", OPTION_VAL_4_CS }, { "5x", OPTION_VAL_5X_CS }, @@ -9558,7 +9756,7 @@ struct retro_core_option_v2_definition option_defs_cs[] = { "vmu", { { "1x", OPTION_VAL_1X_CS }, - { "2x", OPTION_VAL_2_O25_CS }, + { "2x", OPTION_VAL_2_O27_CS }, { "3x", OPTION_VAL_3X_CS }, { "4x", OPTION_VAL_4_CS }, { "5x", OPTION_VAL_5X_CS }, @@ -9709,7 +9907,7 @@ struct retro_core_option_v2_definition option_defs_cs[] = { "vmu", { { "1x", OPTION_VAL_1X_CS }, - { "2x", OPTION_VAL_2_O25_CS }, + { "2x", OPTION_VAL_2_O27_CS }, { "3x", OPTION_VAL_3X_CS }, { "4x", OPTION_VAL_4_CS }, { "5x", OPTION_VAL_5X_CS }, @@ -9860,7 +10058,7 @@ struct retro_core_option_v2_definition option_defs_cs[] = { "vmu", { { "1x", OPTION_VAL_1X_CS }, - { "2x", OPTION_VAL_2_O25_CS }, + { "2x", OPTION_VAL_2_O27_CS }, { "3x", OPTION_VAL_3X_CS }, { "4x", OPTION_VAL_4_CS }, { "5x", OPTION_VAL_5X_CS }, @@ -10018,6 +10216,10 @@ struct retro_core_options_v2 options_cs = { #define CORE_OPTION_NAME_ALLOW_SERVICE_BUTTONS_INFO_0_CY NULL #define CORE_OPTION_NAME_FORCE_FREEPLAY_LABEL_CY NULL #define CORE_OPTION_NAME_FORCE_FREEPLAY_INFO_0_CY NULL +#define CORE_OPTION_NAME_EMULATE_BBA_LABEL_CY NULL +#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_CY NULL +#define CORE_OPTION_NAME_UPNP_LABEL_CY NULL +#define CORE_OPTION_NAME_UPNP_INFO_0_CY NULL #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_CY NULL #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_INFO_0_CY NULL #define OPTION_VAL_320X240_CY NULL @@ -10094,7 +10296,7 @@ struct retro_core_options_v2 options_cs = { #define CORE_OPTION_NAME_PVR2_FILTERING_INFO_0_CY NULL #define CORE_OPTION_NAME_TEXUPSCALE_LABEL_CY NULL #define CORE_OPTION_NAME_TEXUPSCALE_INFO_0_CY NULL -#define OPTION_VAL_2_O25_CY NULL +#define OPTION_VAL_2_O27_CY NULL #define OPTION_VAL_4_CY NULL #define OPTION_VAL_6_CY NULL #define CORE_OPTION_NAME_TEXUPSCALE_MAX_FILTERED_TEXTURE_SIZE_LABEL_CY NULL @@ -10369,6 +10571,35 @@ struct retro_core_option_v2_definition option_defs_cy[] = { }, "enabled", }, + { + CORE_OPTION_NAME "_emulate_bba", + CORE_OPTION_NAME_EMULATE_BBA_LABEL_CY, + NULL, + CORE_OPTION_NAME_EMULATE_BBA_INFO_0_CY, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled", + }, + { + CORE_OPTION_NAME "_upnp", + CORE_OPTION_NAME_UPNP_LABEL_CY, + NULL, + CORE_OPTION_NAME_UPNP_INFO_0_CY, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "enabled", + }, + { CORE_OPTION_NAME "_internal_resolution", CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_CY, @@ -10668,7 +10899,7 @@ struct retro_core_option_v2_definition option_defs_cy[] = { "video", { { "1", "disabled" }, - { "2", OPTION_VAL_2_O25_CY }, + { "2", OPTION_VAL_2_O27_CY }, { "4", OPTION_VAL_4_CY }, { "6", OPTION_VAL_6_CY }, { NULL, NULL }, @@ -11061,7 +11292,7 @@ struct retro_core_option_v2_definition option_defs_cy[] = { "vmu", { { "1x", OPTION_VAL_1X_CY }, - { "2x", OPTION_VAL_2_O25_CY }, + { "2x", OPTION_VAL_2_O27_CY }, { "3x", OPTION_VAL_3X_CY }, { "4x", OPTION_VAL_4_CY }, { "5x", OPTION_VAL_5X_CY }, @@ -11212,7 +11443,7 @@ struct retro_core_option_v2_definition option_defs_cy[] = { "vmu", { { "1x", OPTION_VAL_1X_CY }, - { "2x", OPTION_VAL_2_O25_CY }, + { "2x", OPTION_VAL_2_O27_CY }, { "3x", OPTION_VAL_3X_CY }, { "4x", OPTION_VAL_4_CY }, { "5x", OPTION_VAL_5X_CY }, @@ -11363,7 +11594,7 @@ struct retro_core_option_v2_definition option_defs_cy[] = { "vmu", { { "1x", OPTION_VAL_1X_CY }, - { "2x", OPTION_VAL_2_O25_CY }, + { "2x", OPTION_VAL_2_O27_CY }, { "3x", OPTION_VAL_3X_CY }, { "4x", OPTION_VAL_4_CY }, { "5x", OPTION_VAL_5X_CY }, @@ -11514,7 +11745,7 @@ struct retro_core_option_v2_definition option_defs_cy[] = { "vmu", { { "1x", OPTION_VAL_1X_CY }, - { "2x", OPTION_VAL_2_O25_CY }, + { "2x", OPTION_VAL_2_O27_CY }, { "3x", OPTION_VAL_3X_CY }, { "4x", OPTION_VAL_4_CY }, { "5x", OPTION_VAL_5X_CY }, @@ -11672,6 +11903,10 @@ struct retro_core_options_v2 options_cy = { #define CORE_OPTION_NAME_ALLOW_SERVICE_BUTTONS_INFO_0_DA NULL #define CORE_OPTION_NAME_FORCE_FREEPLAY_LABEL_DA NULL #define CORE_OPTION_NAME_FORCE_FREEPLAY_INFO_0_DA NULL +#define CORE_OPTION_NAME_EMULATE_BBA_LABEL_DA NULL +#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_DA NULL +#define CORE_OPTION_NAME_UPNP_LABEL_DA NULL +#define CORE_OPTION_NAME_UPNP_INFO_0_DA NULL #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_DA NULL #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_INFO_0_DA NULL #define OPTION_VAL_320X240_DA NULL @@ -11748,7 +11983,7 @@ struct retro_core_options_v2 options_cy = { #define CORE_OPTION_NAME_PVR2_FILTERING_INFO_0_DA NULL #define CORE_OPTION_NAME_TEXUPSCALE_LABEL_DA NULL #define CORE_OPTION_NAME_TEXUPSCALE_INFO_0_DA NULL -#define OPTION_VAL_2_O25_DA NULL +#define OPTION_VAL_2_O27_DA NULL #define OPTION_VAL_4_DA NULL #define OPTION_VAL_6_DA NULL #define CORE_OPTION_NAME_TEXUPSCALE_MAX_FILTERED_TEXTURE_SIZE_LABEL_DA NULL @@ -12023,6 +12258,35 @@ struct retro_core_option_v2_definition option_defs_da[] = { }, "enabled", }, + { + CORE_OPTION_NAME "_emulate_bba", + CORE_OPTION_NAME_EMULATE_BBA_LABEL_DA, + NULL, + CORE_OPTION_NAME_EMULATE_BBA_INFO_0_DA, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled", + }, + { + CORE_OPTION_NAME "_upnp", + CORE_OPTION_NAME_UPNP_LABEL_DA, + NULL, + CORE_OPTION_NAME_UPNP_INFO_0_DA, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "enabled", + }, + { CORE_OPTION_NAME "_internal_resolution", CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_DA, @@ -12322,7 +12586,7 @@ struct retro_core_option_v2_definition option_defs_da[] = { "video", { { "1", "disabled" }, - { "2", OPTION_VAL_2_O25_DA }, + { "2", OPTION_VAL_2_O27_DA }, { "4", OPTION_VAL_4_DA }, { "6", OPTION_VAL_6_DA }, { NULL, NULL }, @@ -12715,7 +12979,7 @@ struct retro_core_option_v2_definition option_defs_da[] = { "vmu", { { "1x", OPTION_VAL_1X_DA }, - { "2x", OPTION_VAL_2_O25_DA }, + { "2x", OPTION_VAL_2_O27_DA }, { "3x", OPTION_VAL_3X_DA }, { "4x", OPTION_VAL_4_DA }, { "5x", OPTION_VAL_5X_DA }, @@ -12866,7 +13130,7 @@ struct retro_core_option_v2_definition option_defs_da[] = { "vmu", { { "1x", OPTION_VAL_1X_DA }, - { "2x", OPTION_VAL_2_O25_DA }, + { "2x", OPTION_VAL_2_O27_DA }, { "3x", OPTION_VAL_3X_DA }, { "4x", OPTION_VAL_4_DA }, { "5x", OPTION_VAL_5X_DA }, @@ -13017,7 +13281,7 @@ struct retro_core_option_v2_definition option_defs_da[] = { "vmu", { { "1x", OPTION_VAL_1X_DA }, - { "2x", OPTION_VAL_2_O25_DA }, + { "2x", OPTION_VAL_2_O27_DA }, { "3x", OPTION_VAL_3X_DA }, { "4x", OPTION_VAL_4_DA }, { "5x", OPTION_VAL_5X_DA }, @@ -13168,7 +13432,7 @@ struct retro_core_option_v2_definition option_defs_da[] = { "vmu", { { "1x", OPTION_VAL_1X_DA }, - { "2x", OPTION_VAL_2_O25_DA }, + { "2x", OPTION_VAL_2_O27_DA }, { "3x", OPTION_VAL_3X_DA }, { "4x", OPTION_VAL_4_DA }, { "5x", OPTION_VAL_5X_DA }, @@ -13314,7 +13578,7 @@ struct retro_core_options_v2 options_da = { #define OPTION_VAL_FRENCH_DE "Französisch" #define OPTION_VAL_SPANISH_DE "Spanisch" #define OPTION_VAL_ITALIAN_DE "Italienisch" -#define CORE_OPTION_NAME_HLE_BIOS_LABEL_DE NULL +#define CORE_OPTION_NAME_HLE_BIOS_LABEL_DE "HLE BIOS (Neustart erforderlich)" #define CORE_OPTION_NAME_HLE_BIOS_INFO_0_DE "Erzwingt Verwendung von High-Level-Emulation BIOS." #define CORE_OPTION_NAME_BOOT_TO_BIOS_LABEL_DE "BIOS starten (Neustart erforderlich)" #define CORE_OPTION_NAME_BOOT_TO_BIOS_INFO_0_DE "Direkt ins Dreamcast BIOS Menü starten." @@ -13326,6 +13590,10 @@ struct retro_core_options_v2 options_da = { #define CORE_OPTION_NAME_ALLOW_SERVICE_BUTTONS_INFO_0_DE "Aktiviert den SERVICE-Knopf für NAOMI, um die Automateneinstellungen aufzurufen." #define CORE_OPTION_NAME_FORCE_FREEPLAY_LABEL_DE "NAOMI Spiele auf kostenloses Spiel setzen" #define CORE_OPTION_NAME_FORCE_FREEPLAY_INFO_0_DE "Ändert die Münzeinstellungen des Spiels zu kostenlos." +#define CORE_OPTION_NAME_EMULATE_BBA_LABEL_DE "Breitband-Adapter Emulation" +#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_DE "Den Ethernet Breitband-Adapter anstelle des Modems emulieren. (Neustart erforderlich)" +#define CORE_OPTION_NAME_UPNP_LABEL_DE "UPnP aktivieren" +#define CORE_OPTION_NAME_UPNP_INFO_0_DE "Verwendet UPnP, um den Internet Router automatisch für Onlinespiele zu konfigurieren." #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_DE "Interne Auflösung" #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_INFO_0_DE "Rendering-Auflösung ändern." #define OPTION_VAL_320X240_DE "320 x 240" @@ -13402,7 +13670,7 @@ struct retro_core_options_v2 options_da = { #define CORE_OPTION_NAME_PVR2_FILTERING_INFO_0_DE "Nachbearbeitung des gerenderten Bildes zur Simulation von Effekten speziell für PowerVR2 GPU und analoge Videosignale." #define CORE_OPTION_NAME_TEXUPSCALE_LABEL_DE "Texturen hochskalieren (xBRZ)" #define CORE_OPTION_NAME_TEXUPSCALE_INFO_0_DE "Erweitert handgezeichnete 2D Pixel Kunstgrafiken. Darf nur mit 2D verpixelten Spielen verwendet werden." -#define OPTION_VAL_2_O25_DE "2×" +#define OPTION_VAL_2_O27_DE NULL #define OPTION_VAL_4_DE NULL #define OPTION_VAL_6_DE "6 x" #define CORE_OPTION_NAME_TEXUPSCALE_MAX_FILTERED_TEXTURE_SIZE_LABEL_DE "Textur-Hochskalierung Max. Gefilterte Größe" @@ -13677,6 +13945,35 @@ struct retro_core_option_v2_definition option_defs_de[] = { }, "enabled", }, + { + CORE_OPTION_NAME "_emulate_bba", + CORE_OPTION_NAME_EMULATE_BBA_LABEL_DE, + NULL, + CORE_OPTION_NAME_EMULATE_BBA_INFO_0_DE, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled", + }, + { + CORE_OPTION_NAME "_upnp", + CORE_OPTION_NAME_UPNP_LABEL_DE, + NULL, + CORE_OPTION_NAME_UPNP_INFO_0_DE, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "enabled", + }, + { CORE_OPTION_NAME "_internal_resolution", CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_DE, @@ -13976,7 +14273,7 @@ struct retro_core_option_v2_definition option_defs_de[] = { "video", { { "1", "disabled" }, - { "2", OPTION_VAL_2_O25_DE }, + { "2", OPTION_VAL_2_O27_DE }, { "4", OPTION_VAL_4_DE }, { "6", OPTION_VAL_6_DE }, { NULL, NULL }, @@ -14369,7 +14666,7 @@ struct retro_core_option_v2_definition option_defs_de[] = { "vmu", { { "1x", OPTION_VAL_1X_DE }, - { "2x", OPTION_VAL_2_O25_DE }, + { "2x", OPTION_VAL_2_O27_DE }, { "3x", OPTION_VAL_3X_DE }, { "4x", OPTION_VAL_4_DE }, { "5x", OPTION_VAL_5X_DE }, @@ -14520,7 +14817,7 @@ struct retro_core_option_v2_definition option_defs_de[] = { "vmu", { { "1x", OPTION_VAL_1X_DE }, - { "2x", OPTION_VAL_2_O25_DE }, + { "2x", OPTION_VAL_2_O27_DE }, { "3x", OPTION_VAL_3X_DE }, { "4x", OPTION_VAL_4_DE }, { "5x", OPTION_VAL_5X_DE }, @@ -14671,7 +14968,7 @@ struct retro_core_option_v2_definition option_defs_de[] = { "vmu", { { "1x", OPTION_VAL_1X_DE }, - { "2x", OPTION_VAL_2_O25_DE }, + { "2x", OPTION_VAL_2_O27_DE }, { "3x", OPTION_VAL_3X_DE }, { "4x", OPTION_VAL_4_DE }, { "5x", OPTION_VAL_5X_DE }, @@ -14822,7 +15119,7 @@ struct retro_core_option_v2_definition option_defs_de[] = { "vmu", { { "1x", OPTION_VAL_1X_DE }, - { "2x", OPTION_VAL_2_O25_DE }, + { "2x", OPTION_VAL_2_O27_DE }, { "3x", OPTION_VAL_3X_DE }, { "4x", OPTION_VAL_4_DE }, { "5x", OPTION_VAL_5X_DE }, @@ -14980,6 +15277,10 @@ struct retro_core_options_v2 options_de = { #define CORE_OPTION_NAME_ALLOW_SERVICE_BUTTONS_INFO_0_EL NULL #define CORE_OPTION_NAME_FORCE_FREEPLAY_LABEL_EL NULL #define CORE_OPTION_NAME_FORCE_FREEPLAY_INFO_0_EL NULL +#define CORE_OPTION_NAME_EMULATE_BBA_LABEL_EL NULL +#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_EL NULL +#define CORE_OPTION_NAME_UPNP_LABEL_EL NULL +#define CORE_OPTION_NAME_UPNP_INFO_0_EL NULL #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_EL NULL #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_INFO_0_EL NULL #define OPTION_VAL_320X240_EL NULL @@ -15056,7 +15357,7 @@ struct retro_core_options_v2 options_de = { #define CORE_OPTION_NAME_PVR2_FILTERING_INFO_0_EL NULL #define CORE_OPTION_NAME_TEXUPSCALE_LABEL_EL NULL #define CORE_OPTION_NAME_TEXUPSCALE_INFO_0_EL NULL -#define OPTION_VAL_2_O25_EL NULL +#define OPTION_VAL_2_O27_EL NULL #define OPTION_VAL_4_EL NULL #define OPTION_VAL_6_EL NULL #define CORE_OPTION_NAME_TEXUPSCALE_MAX_FILTERED_TEXTURE_SIZE_LABEL_EL NULL @@ -15331,6 +15632,35 @@ struct retro_core_option_v2_definition option_defs_el[] = { }, "enabled", }, + { + CORE_OPTION_NAME "_emulate_bba", + CORE_OPTION_NAME_EMULATE_BBA_LABEL_EL, + NULL, + CORE_OPTION_NAME_EMULATE_BBA_INFO_0_EL, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled", + }, + { + CORE_OPTION_NAME "_upnp", + CORE_OPTION_NAME_UPNP_LABEL_EL, + NULL, + CORE_OPTION_NAME_UPNP_INFO_0_EL, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "enabled", + }, + { CORE_OPTION_NAME "_internal_resolution", CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_EL, @@ -15630,7 +15960,7 @@ struct retro_core_option_v2_definition option_defs_el[] = { "video", { { "1", "disabled" }, - { "2", OPTION_VAL_2_O25_EL }, + { "2", OPTION_VAL_2_O27_EL }, { "4", OPTION_VAL_4_EL }, { "6", OPTION_VAL_6_EL }, { NULL, NULL }, @@ -16023,7 +16353,7 @@ struct retro_core_option_v2_definition option_defs_el[] = { "vmu", { { "1x", OPTION_VAL_1X_EL }, - { "2x", OPTION_VAL_2_O25_EL }, + { "2x", OPTION_VAL_2_O27_EL }, { "3x", OPTION_VAL_3X_EL }, { "4x", OPTION_VAL_4_EL }, { "5x", OPTION_VAL_5X_EL }, @@ -16174,7 +16504,7 @@ struct retro_core_option_v2_definition option_defs_el[] = { "vmu", { { "1x", OPTION_VAL_1X_EL }, - { "2x", OPTION_VAL_2_O25_EL }, + { "2x", OPTION_VAL_2_O27_EL }, { "3x", OPTION_VAL_3X_EL }, { "4x", OPTION_VAL_4_EL }, { "5x", OPTION_VAL_5X_EL }, @@ -16325,7 +16655,7 @@ struct retro_core_option_v2_definition option_defs_el[] = { "vmu", { { "1x", OPTION_VAL_1X_EL }, - { "2x", OPTION_VAL_2_O25_EL }, + { "2x", OPTION_VAL_2_O27_EL }, { "3x", OPTION_VAL_3X_EL }, { "4x", OPTION_VAL_4_EL }, { "5x", OPTION_VAL_5X_EL }, @@ -16476,7 +16806,7 @@ struct retro_core_option_v2_definition option_defs_el[] = { "vmu", { { "1x", OPTION_VAL_1X_EL }, - { "2x", OPTION_VAL_2_O25_EL }, + { "2x", OPTION_VAL_2_O27_EL }, { "3x", OPTION_VAL_3X_EL }, { "4x", OPTION_VAL_4_EL }, { "5x", OPTION_VAL_5X_EL }, @@ -16634,6 +16964,10 @@ struct retro_core_options_v2 options_el = { #define CORE_OPTION_NAME_ALLOW_SERVICE_BUTTONS_INFO_0_EN NULL #define CORE_OPTION_NAME_FORCE_FREEPLAY_LABEL_EN NULL #define CORE_OPTION_NAME_FORCE_FREEPLAY_INFO_0_EN NULL +#define CORE_OPTION_NAME_EMULATE_BBA_LABEL_EN NULL +#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_EN NULL +#define CORE_OPTION_NAME_UPNP_LABEL_EN NULL +#define CORE_OPTION_NAME_UPNP_INFO_0_EN NULL #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_EN NULL #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_INFO_0_EN NULL #define OPTION_VAL_320X240_EN NULL @@ -16710,7 +17044,7 @@ struct retro_core_options_v2 options_el = { #define CORE_OPTION_NAME_PVR2_FILTERING_INFO_0_EN "Post-process the rendered image to simulate effects specific to the PowerVR2 GPU and analogue video signals." #define CORE_OPTION_NAME_TEXUPSCALE_LABEL_EN NULL #define CORE_OPTION_NAME_TEXUPSCALE_INFO_0_EN NULL -#define OPTION_VAL_2_O25_EN NULL +#define OPTION_VAL_2_O27_EN NULL #define OPTION_VAL_4_EN NULL #define OPTION_VAL_6_EN NULL #define CORE_OPTION_NAME_TEXUPSCALE_MAX_FILTERED_TEXTURE_SIZE_LABEL_EN "Texture Upscaling Maximum Filtered Size" @@ -16985,6 +17319,35 @@ struct retro_core_option_v2_definition option_defs_en[] = { }, "enabled", }, + { + CORE_OPTION_NAME "_emulate_bba", + CORE_OPTION_NAME_EMULATE_BBA_LABEL_EN, + NULL, + CORE_OPTION_NAME_EMULATE_BBA_INFO_0_EN, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled", + }, + { + CORE_OPTION_NAME "_upnp", + CORE_OPTION_NAME_UPNP_LABEL_EN, + NULL, + CORE_OPTION_NAME_UPNP_INFO_0_EN, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "enabled", + }, + { CORE_OPTION_NAME "_internal_resolution", CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_EN, @@ -17284,7 +17647,7 @@ struct retro_core_option_v2_definition option_defs_en[] = { "video", { { "1", "disabled" }, - { "2", OPTION_VAL_2_O25_EN }, + { "2", OPTION_VAL_2_O27_EN }, { "4", OPTION_VAL_4_EN }, { "6", OPTION_VAL_6_EN }, { NULL, NULL }, @@ -17677,7 +18040,7 @@ struct retro_core_option_v2_definition option_defs_en[] = { "vmu", { { "1x", OPTION_VAL_1X_EN }, - { "2x", OPTION_VAL_2_O25_EN }, + { "2x", OPTION_VAL_2_O27_EN }, { "3x", OPTION_VAL_3X_EN }, { "4x", OPTION_VAL_4_EN }, { "5x", OPTION_VAL_5X_EN }, @@ -17828,7 +18191,7 @@ struct retro_core_option_v2_definition option_defs_en[] = { "vmu", { { "1x", OPTION_VAL_1X_EN }, - { "2x", OPTION_VAL_2_O25_EN }, + { "2x", OPTION_VAL_2_O27_EN }, { "3x", OPTION_VAL_3X_EN }, { "4x", OPTION_VAL_4_EN }, { "5x", OPTION_VAL_5X_EN }, @@ -17979,7 +18342,7 @@ struct retro_core_option_v2_definition option_defs_en[] = { "vmu", { { "1x", OPTION_VAL_1X_EN }, - { "2x", OPTION_VAL_2_O25_EN }, + { "2x", OPTION_VAL_2_O27_EN }, { "3x", OPTION_VAL_3X_EN }, { "4x", OPTION_VAL_4_EN }, { "5x", OPTION_VAL_5X_EN }, @@ -18130,7 +18493,7 @@ struct retro_core_option_v2_definition option_defs_en[] = { "vmu", { { "1x", OPTION_VAL_1X_EN }, - { "2x", OPTION_VAL_2_O25_EN }, + { "2x", OPTION_VAL_2_O27_EN }, { "3x", OPTION_VAL_3X_EN }, { "4x", OPTION_VAL_4_EN }, { "5x", OPTION_VAL_5X_EN }, @@ -18288,6 +18651,10 @@ struct retro_core_options_v2 options_en = { #define CORE_OPTION_NAME_ALLOW_SERVICE_BUTTONS_INFO_0_EO NULL #define CORE_OPTION_NAME_FORCE_FREEPLAY_LABEL_EO NULL #define CORE_OPTION_NAME_FORCE_FREEPLAY_INFO_0_EO NULL +#define CORE_OPTION_NAME_EMULATE_BBA_LABEL_EO NULL +#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_EO NULL +#define CORE_OPTION_NAME_UPNP_LABEL_EO NULL +#define CORE_OPTION_NAME_UPNP_INFO_0_EO NULL #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_EO "Interna Rezolucio" #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_INFO_0_EO NULL #define OPTION_VAL_320X240_EO NULL @@ -18364,7 +18731,7 @@ struct retro_core_options_v2 options_en = { #define CORE_OPTION_NAME_PVR2_FILTERING_INFO_0_EO NULL #define CORE_OPTION_NAME_TEXUPSCALE_LABEL_EO NULL #define CORE_OPTION_NAME_TEXUPSCALE_INFO_0_EO NULL -#define OPTION_VAL_2_O25_EO NULL +#define OPTION_VAL_2_O27_EO NULL #define OPTION_VAL_4_EO NULL #define OPTION_VAL_6_EO NULL #define CORE_OPTION_NAME_TEXUPSCALE_MAX_FILTERED_TEXTURE_SIZE_LABEL_EO NULL @@ -18639,6 +19006,35 @@ struct retro_core_option_v2_definition option_defs_eo[] = { }, "enabled", }, + { + CORE_OPTION_NAME "_emulate_bba", + CORE_OPTION_NAME_EMULATE_BBA_LABEL_EO, + NULL, + CORE_OPTION_NAME_EMULATE_BBA_INFO_0_EO, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled", + }, + { + CORE_OPTION_NAME "_upnp", + CORE_OPTION_NAME_UPNP_LABEL_EO, + NULL, + CORE_OPTION_NAME_UPNP_INFO_0_EO, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "enabled", + }, + { CORE_OPTION_NAME "_internal_resolution", CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_EO, @@ -18938,7 +19334,7 @@ struct retro_core_option_v2_definition option_defs_eo[] = { "video", { { "1", "disabled" }, - { "2", OPTION_VAL_2_O25_EO }, + { "2", OPTION_VAL_2_O27_EO }, { "4", OPTION_VAL_4_EO }, { "6", OPTION_VAL_6_EO }, { NULL, NULL }, @@ -19331,7 +19727,7 @@ struct retro_core_option_v2_definition option_defs_eo[] = { "vmu", { { "1x", OPTION_VAL_1X_EO }, - { "2x", OPTION_VAL_2_O25_EO }, + { "2x", OPTION_VAL_2_O27_EO }, { "3x", OPTION_VAL_3X_EO }, { "4x", OPTION_VAL_4_EO }, { "5x", OPTION_VAL_5X_EO }, @@ -19482,7 +19878,7 @@ struct retro_core_option_v2_definition option_defs_eo[] = { "vmu", { { "1x", OPTION_VAL_1X_EO }, - { "2x", OPTION_VAL_2_O25_EO }, + { "2x", OPTION_VAL_2_O27_EO }, { "3x", OPTION_VAL_3X_EO }, { "4x", OPTION_VAL_4_EO }, { "5x", OPTION_VAL_5X_EO }, @@ -19633,7 +20029,7 @@ struct retro_core_option_v2_definition option_defs_eo[] = { "vmu", { { "1x", OPTION_VAL_1X_EO }, - { "2x", OPTION_VAL_2_O25_EO }, + { "2x", OPTION_VAL_2_O27_EO }, { "3x", OPTION_VAL_3X_EO }, { "4x", OPTION_VAL_4_EO }, { "5x", OPTION_VAL_5X_EO }, @@ -19784,7 +20180,7 @@ struct retro_core_option_v2_definition option_defs_eo[] = { "vmu", { { "1x", OPTION_VAL_1X_EO }, - { "2x", OPTION_VAL_2_O25_EO }, + { "2x", OPTION_VAL_2_O27_EO }, { "3x", OPTION_VAL_3X_EO }, { "4x", OPTION_VAL_4_EO }, { "5x", OPTION_VAL_5X_EO }, @@ -19930,7 +20326,7 @@ struct retro_core_options_v2 options_eo = { #define OPTION_VAL_FRENCH_ES "Francés" #define OPTION_VAL_SPANISH_ES "Español" #define OPTION_VAL_ITALIAN_ES "Italiano" -#define CORE_OPTION_NAME_HLE_BIOS_LABEL_ES "BIOS HLE" +#define CORE_OPTION_NAME_HLE_BIOS_LABEL_ES "BIOS HLE (es necesario reiniciar)" #define CORE_OPTION_NAME_HLE_BIOS_INFO_0_ES "Fuerza el uso de una BIOS creada con emulación de alto nivel." #define CORE_OPTION_NAME_BOOT_TO_BIOS_LABEL_ES "Arrancar desde la BIOS (es necesario reiniciar)" #define CORE_OPTION_NAME_BOOT_TO_BIOS_INFO_0_ES "Arranca directamente el menú de la BIOS de Dreamcast." @@ -19942,6 +20338,10 @@ struct retro_core_options_v2 options_eo = { #define CORE_OPTION_NAME_ALLOW_SERVICE_BUTTONS_INFO_0_ES "Activa el botón SERVICE de la placa NAOMI para acceder a la configuración del mueble." #define CORE_OPTION_NAME_FORCE_FREEPLAY_LABEL_ES "Partidas gratuitas en NAOMI" #define CORE_OPTION_NAME_FORCE_FREEPLAY_INFO_0_ES "Modifica la configuración de monedas del juego a partidas gratuitas." +#define CORE_OPTION_NAME_EMULATE_BBA_LABEL_ES "Emulación del Broadband Adapter (BBA)" +#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_ES "Emula el adaptador de banda ancha por Ethernet en lugar del módem (es necesario reiniciar)." +#define CORE_OPTION_NAME_UPNP_LABEL_ES "Activar UPnP" +#define CORE_OPTION_NAME_UPNP_INFO_0_ES "Utiliza UPnP para configurar automáticamente tu router/enrutador de Internet para poder conectarte a juegos online." #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_ES "Resolución interna" #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_INFO_0_ES "Modifica la resolución de renderizado." #define OPTION_VAL_320X240_ES "320 × 240" @@ -20018,7 +20418,7 @@ struct retro_core_options_v2 options_eo = { #define CORE_OPTION_NAME_PVR2_FILTERING_INFO_0_ES "Posprocesa la imagen renderizada para simular los efectos dedicados de la GPU PowerVR2 y las señales de vídeo analógico." #define CORE_OPTION_NAME_TEXUPSCALE_LABEL_ES "Reescalado de texturas (xBRZ)" #define CORE_OPTION_NAME_TEXUPSCALE_INFO_0_ES "Mejora los gráficos 2D de corte «pixel art» dibujado a mano. Utilizar solo con juegos en 2D pixelado." -#define OPTION_VAL_2_O25_ES NULL +#define OPTION_VAL_2_O27_ES NULL #define OPTION_VAL_4_ES NULL #define OPTION_VAL_6_ES NULL #define CORE_OPTION_NAME_TEXUPSCALE_MAX_FILTERED_TEXTURE_SIZE_LABEL_ES "Tamaño máximo del escalado de texturas" @@ -20293,6 +20693,35 @@ struct retro_core_option_v2_definition option_defs_es[] = { }, "enabled", }, + { + CORE_OPTION_NAME "_emulate_bba", + CORE_OPTION_NAME_EMULATE_BBA_LABEL_ES, + NULL, + CORE_OPTION_NAME_EMULATE_BBA_INFO_0_ES, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled", + }, + { + CORE_OPTION_NAME "_upnp", + CORE_OPTION_NAME_UPNP_LABEL_ES, + NULL, + CORE_OPTION_NAME_UPNP_INFO_0_ES, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "enabled", + }, + { CORE_OPTION_NAME "_internal_resolution", CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_ES, @@ -20592,7 +21021,7 @@ struct retro_core_option_v2_definition option_defs_es[] = { "video", { { "1", "disabled" }, - { "2", OPTION_VAL_2_O25_ES }, + { "2", OPTION_VAL_2_O27_ES }, { "4", OPTION_VAL_4_ES }, { "6", OPTION_VAL_6_ES }, { NULL, NULL }, @@ -20985,7 +21414,7 @@ struct retro_core_option_v2_definition option_defs_es[] = { "vmu", { { "1x", OPTION_VAL_1X_ES }, - { "2x", OPTION_VAL_2_O25_ES }, + { "2x", OPTION_VAL_2_O27_ES }, { "3x", OPTION_VAL_3X_ES }, { "4x", OPTION_VAL_4_ES }, { "5x", OPTION_VAL_5X_ES }, @@ -21136,7 +21565,7 @@ struct retro_core_option_v2_definition option_defs_es[] = { "vmu", { { "1x", OPTION_VAL_1X_ES }, - { "2x", OPTION_VAL_2_O25_ES }, + { "2x", OPTION_VAL_2_O27_ES }, { "3x", OPTION_VAL_3X_ES }, { "4x", OPTION_VAL_4_ES }, { "5x", OPTION_VAL_5X_ES }, @@ -21287,7 +21716,7 @@ struct retro_core_option_v2_definition option_defs_es[] = { "vmu", { { "1x", OPTION_VAL_1X_ES }, - { "2x", OPTION_VAL_2_O25_ES }, + { "2x", OPTION_VAL_2_O27_ES }, { "3x", OPTION_VAL_3X_ES }, { "4x", OPTION_VAL_4_ES }, { "5x", OPTION_VAL_5X_ES }, @@ -21438,7 +21867,7 @@ struct retro_core_option_v2_definition option_defs_es[] = { "vmu", { { "1x", OPTION_VAL_1X_ES }, - { "2x", OPTION_VAL_2_O25_ES }, + { "2x", OPTION_VAL_2_O27_ES }, { "3x", OPTION_VAL_3X_ES }, { "4x", OPTION_VAL_4_ES }, { "5x", OPTION_VAL_5X_ES }, @@ -21596,6 +22025,10 @@ struct retro_core_options_v2 options_es = { #define CORE_OPTION_NAME_ALLOW_SERVICE_BUTTONS_INFO_0_FA NULL #define CORE_OPTION_NAME_FORCE_FREEPLAY_LABEL_FA NULL #define CORE_OPTION_NAME_FORCE_FREEPLAY_INFO_0_FA NULL +#define CORE_OPTION_NAME_EMULATE_BBA_LABEL_FA NULL +#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_FA NULL +#define CORE_OPTION_NAME_UPNP_LABEL_FA NULL +#define CORE_OPTION_NAME_UPNP_INFO_0_FA NULL #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_FA NULL #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_INFO_0_FA NULL #define OPTION_VAL_320X240_FA NULL @@ -21672,7 +22105,7 @@ struct retro_core_options_v2 options_es = { #define CORE_OPTION_NAME_PVR2_FILTERING_INFO_0_FA NULL #define CORE_OPTION_NAME_TEXUPSCALE_LABEL_FA NULL #define CORE_OPTION_NAME_TEXUPSCALE_INFO_0_FA NULL -#define OPTION_VAL_2_O25_FA NULL +#define OPTION_VAL_2_O27_FA NULL #define OPTION_VAL_4_FA NULL #define OPTION_VAL_6_FA NULL #define CORE_OPTION_NAME_TEXUPSCALE_MAX_FILTERED_TEXTURE_SIZE_LABEL_FA NULL @@ -21947,6 +22380,35 @@ struct retro_core_option_v2_definition option_defs_fa[] = { }, "enabled", }, + { + CORE_OPTION_NAME "_emulate_bba", + CORE_OPTION_NAME_EMULATE_BBA_LABEL_FA, + NULL, + CORE_OPTION_NAME_EMULATE_BBA_INFO_0_FA, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled", + }, + { + CORE_OPTION_NAME "_upnp", + CORE_OPTION_NAME_UPNP_LABEL_FA, + NULL, + CORE_OPTION_NAME_UPNP_INFO_0_FA, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "enabled", + }, + { CORE_OPTION_NAME "_internal_resolution", CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_FA, @@ -22246,7 +22708,7 @@ struct retro_core_option_v2_definition option_defs_fa[] = { "video", { { "1", "disabled" }, - { "2", OPTION_VAL_2_O25_FA }, + { "2", OPTION_VAL_2_O27_FA }, { "4", OPTION_VAL_4_FA }, { "6", OPTION_VAL_6_FA }, { NULL, NULL }, @@ -22639,7 +23101,7 @@ struct retro_core_option_v2_definition option_defs_fa[] = { "vmu", { { "1x", OPTION_VAL_1X_FA }, - { "2x", OPTION_VAL_2_O25_FA }, + { "2x", OPTION_VAL_2_O27_FA }, { "3x", OPTION_VAL_3X_FA }, { "4x", OPTION_VAL_4_FA }, { "5x", OPTION_VAL_5X_FA }, @@ -22790,7 +23252,7 @@ struct retro_core_option_v2_definition option_defs_fa[] = { "vmu", { { "1x", OPTION_VAL_1X_FA }, - { "2x", OPTION_VAL_2_O25_FA }, + { "2x", OPTION_VAL_2_O27_FA }, { "3x", OPTION_VAL_3X_FA }, { "4x", OPTION_VAL_4_FA }, { "5x", OPTION_VAL_5X_FA }, @@ -22941,7 +23403,7 @@ struct retro_core_option_v2_definition option_defs_fa[] = { "vmu", { { "1x", OPTION_VAL_1X_FA }, - { "2x", OPTION_VAL_2_O25_FA }, + { "2x", OPTION_VAL_2_O27_FA }, { "3x", OPTION_VAL_3X_FA }, { "4x", OPTION_VAL_4_FA }, { "5x", OPTION_VAL_5X_FA }, @@ -23092,7 +23554,7 @@ struct retro_core_option_v2_definition option_defs_fa[] = { "vmu", { { "1x", OPTION_VAL_1X_FA }, - { "2x", OPTION_VAL_2_O25_FA }, + { "2x", OPTION_VAL_2_O27_FA }, { "3x", OPTION_VAL_3X_FA }, { "4x", OPTION_VAL_4_FA }, { "5x", OPTION_VAL_5X_FA }, @@ -23250,6 +23712,10 @@ struct retro_core_options_v2 options_fa = { #define CORE_OPTION_NAME_ALLOW_SERVICE_BUTTONS_INFO_0_FI NULL #define CORE_OPTION_NAME_FORCE_FREEPLAY_LABEL_FI NULL #define CORE_OPTION_NAME_FORCE_FREEPLAY_INFO_0_FI NULL +#define CORE_OPTION_NAME_EMULATE_BBA_LABEL_FI "Laajakaista-adapterin emulaatio" +#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_FI NULL +#define CORE_OPTION_NAME_UPNP_LABEL_FI "Käytä UPnP:tä" +#define CORE_OPTION_NAME_UPNP_INFO_0_FI "Käytä UPnP:tä Internet-reitittimen määrittämiseksi verkkopelejä varten." #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_FI "Sisäinen resoluutio" #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_INFO_0_FI NULL #define OPTION_VAL_320X240_FI NULL @@ -23326,7 +23792,7 @@ struct retro_core_options_v2 options_fa = { #define CORE_OPTION_NAME_PVR2_FILTERING_INFO_0_FI NULL #define CORE_OPTION_NAME_TEXUPSCALE_LABEL_FI "Tekstuurin yliskaalaus (xBRZ)" #define CORE_OPTION_NAME_TEXUPSCALE_INFO_0_FI NULL -#define OPTION_VAL_2_O25_FI NULL +#define OPTION_VAL_2_O27_FI NULL #define OPTION_VAL_4_FI NULL #define OPTION_VAL_6_FI NULL #define CORE_OPTION_NAME_TEXUPSCALE_MAX_FILTERED_TEXTURE_SIZE_LABEL_FI NULL @@ -23601,6 +24067,35 @@ struct retro_core_option_v2_definition option_defs_fi[] = { }, "enabled", }, + { + CORE_OPTION_NAME "_emulate_bba", + CORE_OPTION_NAME_EMULATE_BBA_LABEL_FI, + NULL, + CORE_OPTION_NAME_EMULATE_BBA_INFO_0_FI, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled", + }, + { + CORE_OPTION_NAME "_upnp", + CORE_OPTION_NAME_UPNP_LABEL_FI, + NULL, + CORE_OPTION_NAME_UPNP_INFO_0_FI, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "enabled", + }, + { CORE_OPTION_NAME "_internal_resolution", CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_FI, @@ -23900,7 +24395,7 @@ struct retro_core_option_v2_definition option_defs_fi[] = { "video", { { "1", "disabled" }, - { "2", OPTION_VAL_2_O25_FI }, + { "2", OPTION_VAL_2_O27_FI }, { "4", OPTION_VAL_4_FI }, { "6", OPTION_VAL_6_FI }, { NULL, NULL }, @@ -24293,7 +24788,7 @@ struct retro_core_option_v2_definition option_defs_fi[] = { "vmu", { { "1x", OPTION_VAL_1X_FI }, - { "2x", OPTION_VAL_2_O25_FI }, + { "2x", OPTION_VAL_2_O27_FI }, { "3x", OPTION_VAL_3X_FI }, { "4x", OPTION_VAL_4_FI }, { "5x", OPTION_VAL_5X_FI }, @@ -24444,7 +24939,7 @@ struct retro_core_option_v2_definition option_defs_fi[] = { "vmu", { { "1x", OPTION_VAL_1X_FI }, - { "2x", OPTION_VAL_2_O25_FI }, + { "2x", OPTION_VAL_2_O27_FI }, { "3x", OPTION_VAL_3X_FI }, { "4x", OPTION_VAL_4_FI }, { "5x", OPTION_VAL_5X_FI }, @@ -24595,7 +25090,7 @@ struct retro_core_option_v2_definition option_defs_fi[] = { "vmu", { { "1x", OPTION_VAL_1X_FI }, - { "2x", OPTION_VAL_2_O25_FI }, + { "2x", OPTION_VAL_2_O27_FI }, { "3x", OPTION_VAL_3X_FI }, { "4x", OPTION_VAL_4_FI }, { "5x", OPTION_VAL_5X_FI }, @@ -24746,7 +25241,7 @@ struct retro_core_option_v2_definition option_defs_fi[] = { "vmu", { { "1x", OPTION_VAL_1X_FI }, - { "2x", OPTION_VAL_2_O25_FI }, + { "2x", OPTION_VAL_2_O27_FI }, { "3x", OPTION_VAL_3X_FI }, { "4x", OPTION_VAL_4_FI }, { "5x", OPTION_VAL_5X_FI }, @@ -24892,7 +25387,7 @@ struct retro_core_options_v2 options_fi = { #define OPTION_VAL_FRENCH_FR "Français" #define OPTION_VAL_SPANISH_FR "Espagnol" #define OPTION_VAL_ITALIAN_FR "Italien" -#define CORE_OPTION_NAME_HLE_BIOS_LABEL_FR "BIOS HLE" +#define CORE_OPTION_NAME_HLE_BIOS_LABEL_FR NULL #define CORE_OPTION_NAME_HLE_BIOS_INFO_0_FR "Forcer l'utilisation d'un BIOS en émulation de haut niveau." #define CORE_OPTION_NAME_BOOT_TO_BIOS_LABEL_FR "Démarrer sur le BIOS (Redémarrage requis)" #define CORE_OPTION_NAME_BOOT_TO_BIOS_INFO_0_FR "Démarrer directement sur le menu BIOS Dreamcast." @@ -24904,6 +25399,10 @@ struct retro_core_options_v2 options_fi = { #define CORE_OPTION_NAME_ALLOW_SERVICE_BUTTONS_INFO_0_FR "Active le bouton SERVICE pour NAOMI, pour entrer dans les paramètres de la borne." #define CORE_OPTION_NAME_FORCE_FREEPLAY_LABEL_FR "Définir les jeux NAOMI en Free Play" #define CORE_OPTION_NAME_FORCE_FREEPLAY_INFO_0_FR "Modifier les réglages de pièces du jeu en mode gratuit." +#define CORE_OPTION_NAME_EMULATE_BBA_LABEL_FR NULL +#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_FR NULL +#define CORE_OPTION_NAME_UPNP_LABEL_FR NULL +#define CORE_OPTION_NAME_UPNP_INFO_0_FR NULL #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_FR "Résolution interne" #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_INFO_0_FR "Modifier la résolution de rendu." #define OPTION_VAL_320X240_FR NULL @@ -24980,7 +25479,7 @@ struct retro_core_options_v2 options_fi = { #define CORE_OPTION_NAME_PVR2_FILTERING_INFO_0_FR "Post-traitement de l'image rendue pour simuler les effets spécifiques au processeur graphique PowerVR2 et aux signaux vidéo analogiques." #define CORE_OPTION_NAME_TEXUPSCALE_LABEL_FR "Agrandissement des textures (xBRZ)" #define CORE_OPTION_NAME_TEXUPSCALE_INFO_0_FR "Améliorer les graphismes en pixels 2D dessinés à la main. Devrait être utilisé uniquement avec les jeux en 2D pixelisés." -#define OPTION_VAL_2_O25_FR "x2" +#define OPTION_VAL_2_O27_FR "x2" #define OPTION_VAL_4_FR "x4" #define OPTION_VAL_6_FR "x6" #define CORE_OPTION_NAME_TEXUPSCALE_MAX_FILTERED_TEXTURE_SIZE_LABEL_FR "Facteur maximal du filtre d'agrandissement de textures" @@ -25255,6 +25754,35 @@ struct retro_core_option_v2_definition option_defs_fr[] = { }, "enabled", }, + { + CORE_OPTION_NAME "_emulate_bba", + CORE_OPTION_NAME_EMULATE_BBA_LABEL_FR, + NULL, + CORE_OPTION_NAME_EMULATE_BBA_INFO_0_FR, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled", + }, + { + CORE_OPTION_NAME "_upnp", + CORE_OPTION_NAME_UPNP_LABEL_FR, + NULL, + CORE_OPTION_NAME_UPNP_INFO_0_FR, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "enabled", + }, + { CORE_OPTION_NAME "_internal_resolution", CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_FR, @@ -25554,7 +26082,7 @@ struct retro_core_option_v2_definition option_defs_fr[] = { "video", { { "1", "disabled" }, - { "2", OPTION_VAL_2_O25_FR }, + { "2", OPTION_VAL_2_O27_FR }, { "4", OPTION_VAL_4_FR }, { "6", OPTION_VAL_6_FR }, { NULL, NULL }, @@ -25947,7 +26475,7 @@ struct retro_core_option_v2_definition option_defs_fr[] = { "vmu", { { "1x", OPTION_VAL_1X_FR }, - { "2x", OPTION_VAL_2_O25_FR }, + { "2x", OPTION_VAL_2_O27_FR }, { "3x", OPTION_VAL_3X_FR }, { "4x", OPTION_VAL_4_FR }, { "5x", OPTION_VAL_5X_FR }, @@ -26098,7 +26626,7 @@ struct retro_core_option_v2_definition option_defs_fr[] = { "vmu", { { "1x", OPTION_VAL_1X_FR }, - { "2x", OPTION_VAL_2_O25_FR }, + { "2x", OPTION_VAL_2_O27_FR }, { "3x", OPTION_VAL_3X_FR }, { "4x", OPTION_VAL_4_FR }, { "5x", OPTION_VAL_5X_FR }, @@ -26249,7 +26777,7 @@ struct retro_core_option_v2_definition option_defs_fr[] = { "vmu", { { "1x", OPTION_VAL_1X_FR }, - { "2x", OPTION_VAL_2_O25_FR }, + { "2x", OPTION_VAL_2_O27_FR }, { "3x", OPTION_VAL_3X_FR }, { "4x", OPTION_VAL_4_FR }, { "5x", OPTION_VAL_5X_FR }, @@ -26400,7 +26928,7 @@ struct retro_core_option_v2_definition option_defs_fr[] = { "vmu", { { "1x", OPTION_VAL_1X_FR }, - { "2x", OPTION_VAL_2_O25_FR }, + { "2x", OPTION_VAL_2_O27_FR }, { "3x", OPTION_VAL_3X_FR }, { "4x", OPTION_VAL_4_FR }, { "5x", OPTION_VAL_5X_FR }, @@ -26546,7 +27074,7 @@ struct retro_core_options_v2 options_fr = { #define OPTION_VAL_FRENCH_GL NULL #define OPTION_VAL_SPANISH_GL NULL #define OPTION_VAL_ITALIAN_GL NULL -#define CORE_OPTION_NAME_HLE_BIOS_LABEL_GL "BIOS HLE" +#define CORE_OPTION_NAME_HLE_BIOS_LABEL_GL NULL #define CORE_OPTION_NAME_HLE_BIOS_INFO_0_GL "Forza o uso de emulación BIOS de alto nivel." #define CORE_OPTION_NAME_BOOT_TO_BIOS_LABEL_GL "Arranca na BIOS (requírese reiniciar)" #define CORE_OPTION_NAME_BOOT_TO_BIOS_INFO_0_GL "Arranca directamente no menú da BIOS de Dreamcast." @@ -26558,6 +27086,10 @@ struct retro_core_options_v2 options_fr = { #define CORE_OPTION_NAME_ALLOW_SERVICE_BUTTONS_INFO_0_GL "Activa o botón SERVIZO para NAOMI, para entrar nas opcións da recreativa." #define CORE_OPTION_NAME_FORCE_FREEPLAY_LABEL_GL NULL #define CORE_OPTION_NAME_FORCE_FREEPLAY_INFO_0_GL NULL +#define CORE_OPTION_NAME_EMULATE_BBA_LABEL_GL NULL +#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_GL NULL +#define CORE_OPTION_NAME_UPNP_LABEL_GL NULL +#define CORE_OPTION_NAME_UPNP_INFO_0_GL NULL #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_GL "Resolución interna" #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_INFO_0_GL "Modificar a resolución do renderizado." #define OPTION_VAL_320X240_GL NULL @@ -26634,7 +27166,7 @@ struct retro_core_options_v2 options_fr = { #define CORE_OPTION_NAME_PVR2_FILTERING_INFO_0_GL "Postproceso da imaxe renderizada para simular efectos específicos da PowerVR2 GPU e os sinais analóxicos de vídeo." #define CORE_OPTION_NAME_TEXUPSCALE_LABEL_GL "Aumento das texturas (xBRZ)" #define CORE_OPTION_NAME_TEXUPSCALE_INFO_0_GL "Millora dos gráficos 2D pixel art debuxados a man. Só se debería usar con xogos pixelados en 2D." -#define OPTION_VAL_2_O25_GL NULL +#define OPTION_VAL_2_O27_GL NULL #define OPTION_VAL_4_GL NULL #define OPTION_VAL_6_GL NULL #define CORE_OPTION_NAME_TEXUPSCALE_MAX_FILTERED_TEXTURE_SIZE_LABEL_GL "Aumento da escala das texturas. Tamaño filtrado" @@ -26909,6 +27441,35 @@ struct retro_core_option_v2_definition option_defs_gl[] = { }, "enabled", }, + { + CORE_OPTION_NAME "_emulate_bba", + CORE_OPTION_NAME_EMULATE_BBA_LABEL_GL, + NULL, + CORE_OPTION_NAME_EMULATE_BBA_INFO_0_GL, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled", + }, + { + CORE_OPTION_NAME "_upnp", + CORE_OPTION_NAME_UPNP_LABEL_GL, + NULL, + CORE_OPTION_NAME_UPNP_INFO_0_GL, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "enabled", + }, + { CORE_OPTION_NAME "_internal_resolution", CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_GL, @@ -27208,7 +27769,7 @@ struct retro_core_option_v2_definition option_defs_gl[] = { "video", { { "1", "disabled" }, - { "2", OPTION_VAL_2_O25_GL }, + { "2", OPTION_VAL_2_O27_GL }, { "4", OPTION_VAL_4_GL }, { "6", OPTION_VAL_6_GL }, { NULL, NULL }, @@ -27601,7 +28162,7 @@ struct retro_core_option_v2_definition option_defs_gl[] = { "vmu", { { "1x", OPTION_VAL_1X_GL }, - { "2x", OPTION_VAL_2_O25_GL }, + { "2x", OPTION_VAL_2_O27_GL }, { "3x", OPTION_VAL_3X_GL }, { "4x", OPTION_VAL_4_GL }, { "5x", OPTION_VAL_5X_GL }, @@ -27752,7 +28313,7 @@ struct retro_core_option_v2_definition option_defs_gl[] = { "vmu", { { "1x", OPTION_VAL_1X_GL }, - { "2x", OPTION_VAL_2_O25_GL }, + { "2x", OPTION_VAL_2_O27_GL }, { "3x", OPTION_VAL_3X_GL }, { "4x", OPTION_VAL_4_GL }, { "5x", OPTION_VAL_5X_GL }, @@ -27903,7 +28464,7 @@ struct retro_core_option_v2_definition option_defs_gl[] = { "vmu", { { "1x", OPTION_VAL_1X_GL }, - { "2x", OPTION_VAL_2_O25_GL }, + { "2x", OPTION_VAL_2_O27_GL }, { "3x", OPTION_VAL_3X_GL }, { "4x", OPTION_VAL_4_GL }, { "5x", OPTION_VAL_5X_GL }, @@ -28054,7 +28615,7 @@ struct retro_core_option_v2_definition option_defs_gl[] = { "vmu", { { "1x", OPTION_VAL_1X_GL }, - { "2x", OPTION_VAL_2_O25_GL }, + { "2x", OPTION_VAL_2_O27_GL }, { "3x", OPTION_VAL_3X_GL }, { "4x", OPTION_VAL_4_GL }, { "5x", OPTION_VAL_5X_GL }, @@ -28212,6 +28773,10 @@ struct retro_core_options_v2 options_gl = { #define CORE_OPTION_NAME_ALLOW_SERVICE_BUTTONS_INFO_0_HE NULL #define CORE_OPTION_NAME_FORCE_FREEPLAY_LABEL_HE NULL #define CORE_OPTION_NAME_FORCE_FREEPLAY_INFO_0_HE NULL +#define CORE_OPTION_NAME_EMULATE_BBA_LABEL_HE NULL +#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_HE NULL +#define CORE_OPTION_NAME_UPNP_LABEL_HE NULL +#define CORE_OPTION_NAME_UPNP_INFO_0_HE NULL #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_HE NULL #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_INFO_0_HE NULL #define OPTION_VAL_320X240_HE NULL @@ -28288,7 +28853,7 @@ struct retro_core_options_v2 options_gl = { #define CORE_OPTION_NAME_PVR2_FILTERING_INFO_0_HE NULL #define CORE_OPTION_NAME_TEXUPSCALE_LABEL_HE NULL #define CORE_OPTION_NAME_TEXUPSCALE_INFO_0_HE NULL -#define OPTION_VAL_2_O25_HE NULL +#define OPTION_VAL_2_O27_HE NULL #define OPTION_VAL_4_HE NULL #define OPTION_VAL_6_HE NULL #define CORE_OPTION_NAME_TEXUPSCALE_MAX_FILTERED_TEXTURE_SIZE_LABEL_HE NULL @@ -28563,6 +29128,35 @@ struct retro_core_option_v2_definition option_defs_he[] = { }, "enabled", }, + { + CORE_OPTION_NAME "_emulate_bba", + CORE_OPTION_NAME_EMULATE_BBA_LABEL_HE, + NULL, + CORE_OPTION_NAME_EMULATE_BBA_INFO_0_HE, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled", + }, + { + CORE_OPTION_NAME "_upnp", + CORE_OPTION_NAME_UPNP_LABEL_HE, + NULL, + CORE_OPTION_NAME_UPNP_INFO_0_HE, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "enabled", + }, + { CORE_OPTION_NAME "_internal_resolution", CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_HE, @@ -28862,7 +29456,7 @@ struct retro_core_option_v2_definition option_defs_he[] = { "video", { { "1", "disabled" }, - { "2", OPTION_VAL_2_O25_HE }, + { "2", OPTION_VAL_2_O27_HE }, { "4", OPTION_VAL_4_HE }, { "6", OPTION_VAL_6_HE }, { NULL, NULL }, @@ -29255,7 +29849,7 @@ struct retro_core_option_v2_definition option_defs_he[] = { "vmu", { { "1x", OPTION_VAL_1X_HE }, - { "2x", OPTION_VAL_2_O25_HE }, + { "2x", OPTION_VAL_2_O27_HE }, { "3x", OPTION_VAL_3X_HE }, { "4x", OPTION_VAL_4_HE }, { "5x", OPTION_VAL_5X_HE }, @@ -29406,7 +30000,7 @@ struct retro_core_option_v2_definition option_defs_he[] = { "vmu", { { "1x", OPTION_VAL_1X_HE }, - { "2x", OPTION_VAL_2_O25_HE }, + { "2x", OPTION_VAL_2_O27_HE }, { "3x", OPTION_VAL_3X_HE }, { "4x", OPTION_VAL_4_HE }, { "5x", OPTION_VAL_5X_HE }, @@ -29557,7 +30151,7 @@ struct retro_core_option_v2_definition option_defs_he[] = { "vmu", { { "1x", OPTION_VAL_1X_HE }, - { "2x", OPTION_VAL_2_O25_HE }, + { "2x", OPTION_VAL_2_O27_HE }, { "3x", OPTION_VAL_3X_HE }, { "4x", OPTION_VAL_4_HE }, { "5x", OPTION_VAL_5X_HE }, @@ -29708,7 +30302,7 @@ struct retro_core_option_v2_definition option_defs_he[] = { "vmu", { { "1x", OPTION_VAL_1X_HE }, - { "2x", OPTION_VAL_2_O25_HE }, + { "2x", OPTION_VAL_2_O27_HE }, { "3x", OPTION_VAL_3X_HE }, { "4x", OPTION_VAL_4_HE }, { "5x", OPTION_VAL_5X_HE }, @@ -29866,6 +30460,10 @@ struct retro_core_options_v2 options_he = { #define CORE_OPTION_NAME_ALLOW_SERVICE_BUTTONS_INFO_0_HR NULL #define CORE_OPTION_NAME_FORCE_FREEPLAY_LABEL_HR NULL #define CORE_OPTION_NAME_FORCE_FREEPLAY_INFO_0_HR NULL +#define CORE_OPTION_NAME_EMULATE_BBA_LABEL_HR NULL +#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_HR NULL +#define CORE_OPTION_NAME_UPNP_LABEL_HR NULL +#define CORE_OPTION_NAME_UPNP_INFO_0_HR NULL #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_HR NULL #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_INFO_0_HR NULL #define OPTION_VAL_320X240_HR NULL @@ -29942,7 +30540,7 @@ struct retro_core_options_v2 options_he = { #define CORE_OPTION_NAME_PVR2_FILTERING_INFO_0_HR NULL #define CORE_OPTION_NAME_TEXUPSCALE_LABEL_HR NULL #define CORE_OPTION_NAME_TEXUPSCALE_INFO_0_HR NULL -#define OPTION_VAL_2_O25_HR NULL +#define OPTION_VAL_2_O27_HR NULL #define OPTION_VAL_4_HR NULL #define OPTION_VAL_6_HR NULL #define CORE_OPTION_NAME_TEXUPSCALE_MAX_FILTERED_TEXTURE_SIZE_LABEL_HR NULL @@ -30217,6 +30815,35 @@ struct retro_core_option_v2_definition option_defs_hr[] = { }, "enabled", }, + { + CORE_OPTION_NAME "_emulate_bba", + CORE_OPTION_NAME_EMULATE_BBA_LABEL_HR, + NULL, + CORE_OPTION_NAME_EMULATE_BBA_INFO_0_HR, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled", + }, + { + CORE_OPTION_NAME "_upnp", + CORE_OPTION_NAME_UPNP_LABEL_HR, + NULL, + CORE_OPTION_NAME_UPNP_INFO_0_HR, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "enabled", + }, + { CORE_OPTION_NAME "_internal_resolution", CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_HR, @@ -30516,7 +31143,7 @@ struct retro_core_option_v2_definition option_defs_hr[] = { "video", { { "1", "disabled" }, - { "2", OPTION_VAL_2_O25_HR }, + { "2", OPTION_VAL_2_O27_HR }, { "4", OPTION_VAL_4_HR }, { "6", OPTION_VAL_6_HR }, { NULL, NULL }, @@ -30909,7 +31536,7 @@ struct retro_core_option_v2_definition option_defs_hr[] = { "vmu", { { "1x", OPTION_VAL_1X_HR }, - { "2x", OPTION_VAL_2_O25_HR }, + { "2x", OPTION_VAL_2_O27_HR }, { "3x", OPTION_VAL_3X_HR }, { "4x", OPTION_VAL_4_HR }, { "5x", OPTION_VAL_5X_HR }, @@ -31060,7 +31687,7 @@ struct retro_core_option_v2_definition option_defs_hr[] = { "vmu", { { "1x", OPTION_VAL_1X_HR }, - { "2x", OPTION_VAL_2_O25_HR }, + { "2x", OPTION_VAL_2_O27_HR }, { "3x", OPTION_VAL_3X_HR }, { "4x", OPTION_VAL_4_HR }, { "5x", OPTION_VAL_5X_HR }, @@ -31211,7 +31838,7 @@ struct retro_core_option_v2_definition option_defs_hr[] = { "vmu", { { "1x", OPTION_VAL_1X_HR }, - { "2x", OPTION_VAL_2_O25_HR }, + { "2x", OPTION_VAL_2_O27_HR }, { "3x", OPTION_VAL_3X_HR }, { "4x", OPTION_VAL_4_HR }, { "5x", OPTION_VAL_5X_HR }, @@ -31362,7 +31989,7 @@ struct retro_core_option_v2_definition option_defs_hr[] = { "vmu", { { "1x", OPTION_VAL_1X_HR }, - { "2x", OPTION_VAL_2_O25_HR }, + { "2x", OPTION_VAL_2_O27_HR }, { "3x", OPTION_VAL_3X_HR }, { "4x", OPTION_VAL_4_HR }, { "5x", OPTION_VAL_5X_HR }, @@ -31520,6 +32147,10 @@ struct retro_core_options_v2 options_hr = { #define CORE_OPTION_NAME_ALLOW_SERVICE_BUTTONS_INFO_0_HU "A NAOMI szervizgombjának engedélyezése, a kabinet beállításaihoz." #define CORE_OPTION_NAME_FORCE_FREEPLAY_LABEL_HU "Ingyen játék a NAOMI játékokhoz" #define CORE_OPTION_NAME_FORCE_FREEPLAY_INFO_0_HU "Az érmebeállítások ingyen játékra állítása." +#define CORE_OPTION_NAME_EMULATE_BBA_LABEL_HU NULL +#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_HU NULL +#define CORE_OPTION_NAME_UPNP_LABEL_HU NULL +#define CORE_OPTION_NAME_UPNP_INFO_0_HU NULL #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_HU "Belső felbontás" #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_INFO_0_HU "A képelőállítás felbontása." #define OPTION_VAL_320X240_HU NULL @@ -31574,8 +32205,8 @@ struct retro_core_options_v2 options_hr = { #define OPTION_VAL_4GB_HU NULL #define CORE_OPTION_NAME_OIT_LAYERS_LABEL_HU "Átlátszó rétegek maximális száma" #define CORE_OPTION_NAME_OIT_LAYERS_INFO_0_HU "Összetett jelenetekhez nagyobb értékekre lehet szükség." -#define CORE_OPTION_NAME_EMULATE_FRAMEBUFFER_LABEL_HU NULL -#define CORE_OPTION_NAME_EMULATE_FRAMEBUFFER_INFO_0_HU NULL +#define CORE_OPTION_NAME_EMULATE_FRAMEBUFFER_LABEL_HU "Teljes framebuffer emuláció" +#define CORE_OPTION_NAME_EMULATE_FRAMEBUFFER_INFO_0_HU "A VRAM framebuffer teljes emulálásának engedélyezése. Olyan játékokhoz hasznos, amelyek közvetlenül a VRAM-ban írják vagy olvassák a framebuffert. Bekapcsolva a belső felbontás mindenképpen 640x480 lesz és a teljesítmény erősen visszaeshet." #define CORE_OPTION_NAME_ENABLE_RTTB_LABEL_HU "RTT (Render to texture) puffer engedélyezése" #define CORE_OPTION_NAME_ENABLE_RTTB_INFO_0_HU NULL #define CORE_OPTION_NAME_MIPMAPPING_LABEL_HU NULL @@ -31596,7 +32227,7 @@ struct retro_core_options_v2 options_hr = { #define CORE_OPTION_NAME_PVR2_FILTERING_INFO_0_HU "Az előállított kép utófeldolgozása a PowerVR2 GPU és az analóg videojelek egyedi effektjeinek szimulálásához." #define CORE_OPTION_NAME_TEXUPSCALE_LABEL_HU "Textúra felméretezés (xBRZ)" #define CORE_OPTION_NAME_TEXUPSCALE_INFO_0_HU "A kézzel rajzolt 2D pixel art grafikák feljavítása. Csak a 2D pixelgrafikus játékokhoz ajánlott." -#define OPTION_VAL_2_O25_HU NULL +#define OPTION_VAL_2_O27_HU NULL #define OPTION_VAL_4_HU NULL #define OPTION_VAL_6_HU NULL #define CORE_OPTION_NAME_TEXUPSCALE_MAX_FILTERED_TEXTURE_SIZE_LABEL_HU "Textúra felméretezés maximális szűrt mérete" @@ -31664,28 +32295,28 @@ struct retro_core_options_v2 options_hr = { #define OPTION_VAL_DEFAULT_ON_00_HU NULL #define OPTION_VAL_DEFAULT_OFF_01_HU NULL #define OPTION_VAL_BLACK_02_HU "Fekete" -#define OPTION_VAL_LIGHT_BLUE_04_HU NULL +#define OPTION_VAL_LIGHT_BLUE_04_HU "Világoskék" #define OPTION_VAL_CYAN_06_HU "Ciánkék" -#define OPTION_VAL_CYAN_BLUE_07_HU NULL -#define OPTION_VAL_LIGHT_GREEN_08_HU NULL -#define OPTION_VAL_CYAN_GREEN_09_HU NULL -#define OPTION_VAL_LIGHT_CYAN_10_HU NULL +#define OPTION_VAL_CYAN_BLUE_07_HU "Ciánkék" +#define OPTION_VAL_LIGHT_GREEN_08_HU "Világoszöld" +#define OPTION_VAL_CYAN_GREEN_09_HU "Ciánzöld" +#define OPTION_VAL_LIGHT_CYAN_10_HU "Világos ciánkék" #define OPTION_VAL_PURPLE_12_HU "Lila" -#define OPTION_VAL_LIGHT_PURPLE_13_HU NULL +#define OPTION_VAL_LIGHT_PURPLE_13_HU "Világoslila" #define OPTION_VAL_YELLOW_14_HU "Sárga" -#define OPTION_VAL_GRAY_15_HU NULL -#define OPTION_VAL_LIGHT_PURPLE_2_16_HU NULL -#define OPTION_VAL_LIGHT_GREEN_2_17_HU NULL -#define OPTION_VAL_LIGHT_GREEN_3_18_HU NULL -#define OPTION_VAL_LIGHT_CYAN_2_19_HU NULL -#define OPTION_VAL_LIGHT_RED_2_20_HU NULL -#define OPTION_VAL_MAGENTA_21_HU NULL -#define OPTION_VAL_LIGHT_PURPLE_3_22_HU NULL -#define OPTION_VAL_LIGHT_ORANGE_23_HU NULL +#define OPTION_VAL_GRAY_15_HU "Szürke" +#define OPTION_VAL_LIGHT_PURPLE_2_16_HU "Világoslila (2)" +#define OPTION_VAL_LIGHT_GREEN_2_17_HU "Világoszöld (2)" +#define OPTION_VAL_LIGHT_GREEN_3_18_HU "Világoszöld (3)" +#define OPTION_VAL_LIGHT_CYAN_2_19_HU "Világos ciánkék (2)" +#define OPTION_VAL_LIGHT_RED_2_20_HU "Világospiros (2)" +#define OPTION_VAL_MAGENTA_21_HU "Bíbor" +#define OPTION_VAL_LIGHT_PURPLE_3_22_HU "Világoslila (3)" +#define OPTION_VAL_LIGHT_ORANGE_23_HU "Világos narancs" #define OPTION_VAL_ORANGE_24_HU "Narancssárga" -#define OPTION_VAL_LIGHT_PURPLE_4_25_HU NULL -#define OPTION_VAL_LIGHT_YELLOW_26_HU NULL -#define OPTION_VAL_LIGHT_YELLOW_2_27_HU NULL +#define OPTION_VAL_LIGHT_PURPLE_4_25_HU "Világoslila (4)" +#define OPTION_VAL_LIGHT_YELLOW_26_HU "Halványsárga" +#define OPTION_VAL_LIGHT_YELLOW_2_27_HU "Halványsárga (2)" #define CORE_OPTION_NAME_VMU1_PIXEL_OFF_COLOR_LABEL_HU NULL #define CORE_OPTION_NAME_VMU1_SCREEN_OPACITY_LABEL_HU NULL #define OPTION_VAL_40_HU NULL @@ -31871,6 +32502,35 @@ struct retro_core_option_v2_definition option_defs_hu[] = { }, "enabled", }, + { + CORE_OPTION_NAME "_emulate_bba", + CORE_OPTION_NAME_EMULATE_BBA_LABEL_HU, + NULL, + CORE_OPTION_NAME_EMULATE_BBA_INFO_0_HU, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled", + }, + { + CORE_OPTION_NAME "_upnp", + CORE_OPTION_NAME_UPNP_LABEL_HU, + NULL, + CORE_OPTION_NAME_UPNP_INFO_0_HU, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "enabled", + }, + { CORE_OPTION_NAME "_internal_resolution", CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_HU, @@ -32170,7 +32830,7 @@ struct retro_core_option_v2_definition option_defs_hu[] = { "video", { { "1", "disabled" }, - { "2", OPTION_VAL_2_O25_HU }, + { "2", OPTION_VAL_2_O27_HU }, { "4", OPTION_VAL_4_HU }, { "6", OPTION_VAL_6_HU }, { NULL, NULL }, @@ -32563,7 +33223,7 @@ struct retro_core_option_v2_definition option_defs_hu[] = { "vmu", { { "1x", OPTION_VAL_1X_HU }, - { "2x", OPTION_VAL_2_O25_HU }, + { "2x", OPTION_VAL_2_O27_HU }, { "3x", OPTION_VAL_3X_HU }, { "4x", OPTION_VAL_4_HU }, { "5x", OPTION_VAL_5X_HU }, @@ -32714,7 +33374,7 @@ struct retro_core_option_v2_definition option_defs_hu[] = { "vmu", { { "1x", OPTION_VAL_1X_HU }, - { "2x", OPTION_VAL_2_O25_HU }, + { "2x", OPTION_VAL_2_O27_HU }, { "3x", OPTION_VAL_3X_HU }, { "4x", OPTION_VAL_4_HU }, { "5x", OPTION_VAL_5X_HU }, @@ -32865,7 +33525,7 @@ struct retro_core_option_v2_definition option_defs_hu[] = { "vmu", { { "1x", OPTION_VAL_1X_HU }, - { "2x", OPTION_VAL_2_O25_HU }, + { "2x", OPTION_VAL_2_O27_HU }, { "3x", OPTION_VAL_3X_HU }, { "4x", OPTION_VAL_4_HU }, { "5x", OPTION_VAL_5X_HU }, @@ -33016,7 +33676,7 @@ struct retro_core_option_v2_definition option_defs_hu[] = { "vmu", { { "1x", OPTION_VAL_1X_HU }, - { "2x", OPTION_VAL_2_O25_HU }, + { "2x", OPTION_VAL_2_O27_HU }, { "3x", OPTION_VAL_3X_HU }, { "4x", OPTION_VAL_4_HU }, { "5x", OPTION_VAL_5X_HU }, @@ -33174,6 +33834,10 @@ struct retro_core_options_v2 options_hu = { #define CORE_OPTION_NAME_ALLOW_SERVICE_BUTTONS_INFO_0_ID NULL #define CORE_OPTION_NAME_FORCE_FREEPLAY_LABEL_ID NULL #define CORE_OPTION_NAME_FORCE_FREEPLAY_INFO_0_ID NULL +#define CORE_OPTION_NAME_EMULATE_BBA_LABEL_ID NULL +#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_ID NULL +#define CORE_OPTION_NAME_UPNP_LABEL_ID NULL +#define CORE_OPTION_NAME_UPNP_INFO_0_ID NULL #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_ID NULL #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_INFO_0_ID "Modifikasi resolusi pelukisan." #define OPTION_VAL_320X240_ID NULL @@ -33250,7 +33914,7 @@ struct retro_core_options_v2 options_hu = { #define CORE_OPTION_NAME_PVR2_FILTERING_INFO_0_ID "Pasca-olah gambar yang dilukiskan untuk menyimulasikan efek dengan spesifik ke GPU PowerVR2 dan sinyal video analog." #define CORE_OPTION_NAME_TEXUPSCALE_LABEL_ID "Penskalaan Naik Tekstur (xBRZ)" #define CORE_OPTION_NAME_TEXUPSCALE_INFO_0_ID "Tingkatkan grafis seni piksel 2D tulisan tangan. Hanya bisa digunakan di pemainan terpikselisasi 2D." -#define OPTION_VAL_2_O25_ID NULL +#define OPTION_VAL_2_O27_ID NULL #define OPTION_VAL_4_ID NULL #define OPTION_VAL_6_ID NULL #define CORE_OPTION_NAME_TEXUPSCALE_MAX_FILTERED_TEXTURE_SIZE_LABEL_ID "Ukuran Terfilter Maks. Penskalaan Naik" @@ -33525,6 +34189,35 @@ struct retro_core_option_v2_definition option_defs_id[] = { }, "enabled", }, + { + CORE_OPTION_NAME "_emulate_bba", + CORE_OPTION_NAME_EMULATE_BBA_LABEL_ID, + NULL, + CORE_OPTION_NAME_EMULATE_BBA_INFO_0_ID, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled", + }, + { + CORE_OPTION_NAME "_upnp", + CORE_OPTION_NAME_UPNP_LABEL_ID, + NULL, + CORE_OPTION_NAME_UPNP_INFO_0_ID, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "enabled", + }, + { CORE_OPTION_NAME "_internal_resolution", CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_ID, @@ -33824,7 +34517,7 @@ struct retro_core_option_v2_definition option_defs_id[] = { "video", { { "1", "disabled" }, - { "2", OPTION_VAL_2_O25_ID }, + { "2", OPTION_VAL_2_O27_ID }, { "4", OPTION_VAL_4_ID }, { "6", OPTION_VAL_6_ID }, { NULL, NULL }, @@ -34217,7 +34910,7 @@ struct retro_core_option_v2_definition option_defs_id[] = { "vmu", { { "1x", OPTION_VAL_1X_ID }, - { "2x", OPTION_VAL_2_O25_ID }, + { "2x", OPTION_VAL_2_O27_ID }, { "3x", OPTION_VAL_3X_ID }, { "4x", OPTION_VAL_4_ID }, { "5x", OPTION_VAL_5X_ID }, @@ -34368,7 +35061,7 @@ struct retro_core_option_v2_definition option_defs_id[] = { "vmu", { { "1x", OPTION_VAL_1X_ID }, - { "2x", OPTION_VAL_2_O25_ID }, + { "2x", OPTION_VAL_2_O27_ID }, { "3x", OPTION_VAL_3X_ID }, { "4x", OPTION_VAL_4_ID }, { "5x", OPTION_VAL_5X_ID }, @@ -34519,7 +35212,7 @@ struct retro_core_option_v2_definition option_defs_id[] = { "vmu", { { "1x", OPTION_VAL_1X_ID }, - { "2x", OPTION_VAL_2_O25_ID }, + { "2x", OPTION_VAL_2_O27_ID }, { "3x", OPTION_VAL_3X_ID }, { "4x", OPTION_VAL_4_ID }, { "5x", OPTION_VAL_5X_ID }, @@ -34670,7 +35363,7 @@ struct retro_core_option_v2_definition option_defs_id[] = { "vmu", { { "1x", OPTION_VAL_1X_ID }, - { "2x", OPTION_VAL_2_O25_ID }, + { "2x", OPTION_VAL_2_O27_ID }, { "3x", OPTION_VAL_3X_ID }, { "4x", OPTION_VAL_4_ID }, { "5x", OPTION_VAL_5X_ID }, @@ -34816,7 +35509,7 @@ struct retro_core_options_v2 options_id = { #define OPTION_VAL_FRENCH_IT "Francese" #define OPTION_VAL_SPANISH_IT "Spagnolo" #define OPTION_VAL_ITALIAN_IT "Italiano" -#define CORE_OPTION_NAME_HLE_BIOS_LABEL_IT NULL +#define CORE_OPTION_NAME_HLE_BIOS_LABEL_IT "HLE BIOS (Riavvio Richiesto)" #define CORE_OPTION_NAME_HLE_BIOS_INFO_0_IT "Forza l'uso di BIOS di emulazione di alto livello." #define CORE_OPTION_NAME_BOOT_TO_BIOS_LABEL_IT "Avvio in BIOS (Riavvio richiesto)" #define CORE_OPTION_NAME_BOOT_TO_BIOS_INFO_0_IT "Avviare direttamente nel menu BIOS Dreamcast." @@ -34828,6 +35521,10 @@ struct retro_core_options_v2 options_id = { #define CORE_OPTION_NAME_ALLOW_SERVICE_BUTTONS_INFO_0_IT "Abilita il pulsante SERVICE per NAOMI, per inserire le impostazioni del cabinato." #define CORE_OPTION_NAME_FORCE_FREEPLAY_LABEL_IT "Imposta giochi NAOMI a Free Play" #define CORE_OPTION_NAME_FORCE_FREEPLAY_INFO_0_IT "Modificare le impostazioni del gioco per free play." +#define CORE_OPTION_NAME_EMULATE_BBA_LABEL_IT "Emulazione Adattatore A banda larga" +#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_IT "Emulare l'adattatore a banda larga ethernet invece del modem. (Riavvio richiesto)" +#define CORE_OPTION_NAME_UPNP_LABEL_IT "Abilita UPnP" +#define CORE_OPTION_NAME_UPNP_INFO_0_IT "Usa UPnP per configurare automaticamente il router Internet per i giochi online." #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_IT "Risoluzione Interna" #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_INFO_0_IT "Modificare la risoluzione di rendering." #define OPTION_VAL_320X240_IT NULL @@ -34904,7 +35601,7 @@ struct retro_core_options_v2 options_id = { #define CORE_OPTION_NAME_PVR2_FILTERING_INFO_0_IT "Post-elaborare l'immagine renderizzata per simulare effetti specifici alla GPU PowerVR2 e segnali video analogici." #define CORE_OPTION_NAME_TEXUPSCALE_LABEL_IT "Miglioramento Della Texture (xbrz)" #define CORE_OPTION_NAME_TEXUPSCALE_INFO_0_IT "Migliora la grafica grafica grafica a pixel 2D disegnata a mano. Dovrebbe essere usata solo con giochi in pixel 2D." -#define OPTION_VAL_2_O25_IT NULL +#define OPTION_VAL_2_O27_IT NULL #define OPTION_VAL_4_IT NULL #define OPTION_VAL_6_IT NULL #define CORE_OPTION_NAME_TEXUPSCALE_MAX_FILTERED_TEXTURE_SIZE_LABEL_IT "Miglioramento Texture Dimensione Massima Filtrata" @@ -35179,6 +35876,35 @@ struct retro_core_option_v2_definition option_defs_it[] = { }, "enabled", }, + { + CORE_OPTION_NAME "_emulate_bba", + CORE_OPTION_NAME_EMULATE_BBA_LABEL_IT, + NULL, + CORE_OPTION_NAME_EMULATE_BBA_INFO_0_IT, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled", + }, + { + CORE_OPTION_NAME "_upnp", + CORE_OPTION_NAME_UPNP_LABEL_IT, + NULL, + CORE_OPTION_NAME_UPNP_INFO_0_IT, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "enabled", + }, + { CORE_OPTION_NAME "_internal_resolution", CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_IT, @@ -35478,7 +36204,7 @@ struct retro_core_option_v2_definition option_defs_it[] = { "video", { { "1", "disabled" }, - { "2", OPTION_VAL_2_O25_IT }, + { "2", OPTION_VAL_2_O27_IT }, { "4", OPTION_VAL_4_IT }, { "6", OPTION_VAL_6_IT }, { NULL, NULL }, @@ -35871,7 +36597,7 @@ struct retro_core_option_v2_definition option_defs_it[] = { "vmu", { { "1x", OPTION_VAL_1X_IT }, - { "2x", OPTION_VAL_2_O25_IT }, + { "2x", OPTION_VAL_2_O27_IT }, { "3x", OPTION_VAL_3X_IT }, { "4x", OPTION_VAL_4_IT }, { "5x", OPTION_VAL_5X_IT }, @@ -36022,7 +36748,7 @@ struct retro_core_option_v2_definition option_defs_it[] = { "vmu", { { "1x", OPTION_VAL_1X_IT }, - { "2x", OPTION_VAL_2_O25_IT }, + { "2x", OPTION_VAL_2_O27_IT }, { "3x", OPTION_VAL_3X_IT }, { "4x", OPTION_VAL_4_IT }, { "5x", OPTION_VAL_5X_IT }, @@ -36173,7 +36899,7 @@ struct retro_core_option_v2_definition option_defs_it[] = { "vmu", { { "1x", OPTION_VAL_1X_IT }, - { "2x", OPTION_VAL_2_O25_IT }, + { "2x", OPTION_VAL_2_O27_IT }, { "3x", OPTION_VAL_3X_IT }, { "4x", OPTION_VAL_4_IT }, { "5x", OPTION_VAL_5X_IT }, @@ -36324,7 +37050,7 @@ struct retro_core_option_v2_definition option_defs_it[] = { "vmu", { { "1x", OPTION_VAL_1X_IT }, - { "2x", OPTION_VAL_2_O25_IT }, + { "2x", OPTION_VAL_2_O27_IT }, { "3x", OPTION_VAL_3X_IT }, { "4x", OPTION_VAL_4_IT }, { "5x", OPTION_VAL_5X_IT }, @@ -36482,6 +37208,10 @@ struct retro_core_options_v2 options_it = { #define CORE_OPTION_NAME_ALLOW_SERVICE_BUTTONS_INFO_0_JA NULL #define CORE_OPTION_NAME_FORCE_FREEPLAY_LABEL_JA NULL #define CORE_OPTION_NAME_FORCE_FREEPLAY_INFO_0_JA NULL +#define CORE_OPTION_NAME_EMULATE_BBA_LABEL_JA NULL +#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_JA NULL +#define CORE_OPTION_NAME_UPNP_LABEL_JA NULL +#define CORE_OPTION_NAME_UPNP_INFO_0_JA NULL #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_JA NULL #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_INFO_0_JA NULL #define OPTION_VAL_320X240_JA NULL @@ -36558,7 +37288,7 @@ struct retro_core_options_v2 options_it = { #define CORE_OPTION_NAME_PVR2_FILTERING_INFO_0_JA NULL #define CORE_OPTION_NAME_TEXUPSCALE_LABEL_JA NULL #define CORE_OPTION_NAME_TEXUPSCALE_INFO_0_JA NULL -#define OPTION_VAL_2_O25_JA NULL +#define OPTION_VAL_2_O27_JA NULL #define OPTION_VAL_4_JA NULL #define OPTION_VAL_6_JA NULL #define CORE_OPTION_NAME_TEXUPSCALE_MAX_FILTERED_TEXTURE_SIZE_LABEL_JA NULL @@ -36833,6 +37563,35 @@ struct retro_core_option_v2_definition option_defs_ja[] = { }, "enabled", }, + { + CORE_OPTION_NAME "_emulate_bba", + CORE_OPTION_NAME_EMULATE_BBA_LABEL_JA, + NULL, + CORE_OPTION_NAME_EMULATE_BBA_INFO_0_JA, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled", + }, + { + CORE_OPTION_NAME "_upnp", + CORE_OPTION_NAME_UPNP_LABEL_JA, + NULL, + CORE_OPTION_NAME_UPNP_INFO_0_JA, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "enabled", + }, + { CORE_OPTION_NAME "_internal_resolution", CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_JA, @@ -37132,7 +37891,7 @@ struct retro_core_option_v2_definition option_defs_ja[] = { "video", { { "1", "disabled" }, - { "2", OPTION_VAL_2_O25_JA }, + { "2", OPTION_VAL_2_O27_JA }, { "4", OPTION_VAL_4_JA }, { "6", OPTION_VAL_6_JA }, { NULL, NULL }, @@ -37525,7 +38284,7 @@ struct retro_core_option_v2_definition option_defs_ja[] = { "vmu", { { "1x", OPTION_VAL_1X_JA }, - { "2x", OPTION_VAL_2_O25_JA }, + { "2x", OPTION_VAL_2_O27_JA }, { "3x", OPTION_VAL_3X_JA }, { "4x", OPTION_VAL_4_JA }, { "5x", OPTION_VAL_5X_JA }, @@ -37676,7 +38435,7 @@ struct retro_core_option_v2_definition option_defs_ja[] = { "vmu", { { "1x", OPTION_VAL_1X_JA }, - { "2x", OPTION_VAL_2_O25_JA }, + { "2x", OPTION_VAL_2_O27_JA }, { "3x", OPTION_VAL_3X_JA }, { "4x", OPTION_VAL_4_JA }, { "5x", OPTION_VAL_5X_JA }, @@ -37827,7 +38586,7 @@ struct retro_core_option_v2_definition option_defs_ja[] = { "vmu", { { "1x", OPTION_VAL_1X_JA }, - { "2x", OPTION_VAL_2_O25_JA }, + { "2x", OPTION_VAL_2_O27_JA }, { "3x", OPTION_VAL_3X_JA }, { "4x", OPTION_VAL_4_JA }, { "5x", OPTION_VAL_5X_JA }, @@ -37978,7 +38737,7 @@ struct retro_core_option_v2_definition option_defs_ja[] = { "vmu", { { "1x", OPTION_VAL_1X_JA }, - { "2x", OPTION_VAL_2_O25_JA }, + { "2x", OPTION_VAL_2_O27_JA }, { "3x", OPTION_VAL_3X_JA }, { "4x", OPTION_VAL_4_JA }, { "5x", OPTION_VAL_5X_JA }, @@ -38136,6 +38895,10 @@ struct retro_core_options_v2 options_ja = { #define CORE_OPTION_NAME_ALLOW_SERVICE_BUTTONS_INFO_0_KO "캐비넷 설정에 들어가기위한 NAOMI 서비스 버튼을 활성화합니다." #define CORE_OPTION_NAME_FORCE_FREEPLAY_LABEL_KO "NAOMI 게임을 무료 플레이로 설정" #define CORE_OPTION_NAME_FORCE_FREEPLAY_INFO_0_KO "무료 플레이를 위해 게임의 코인 설정을 수정합니다." +#define CORE_OPTION_NAME_EMULATE_BBA_LABEL_KO NULL +#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_KO NULL +#define CORE_OPTION_NAME_UPNP_LABEL_KO NULL +#define CORE_OPTION_NAME_UPNP_INFO_0_KO NULL #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_KO "내부 해상도" #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_INFO_0_KO "렌더링 해상도를 변경합니다." #define OPTION_VAL_320X240_KO NULL @@ -38212,7 +38975,7 @@ struct retro_core_options_v2 options_ja = { #define CORE_OPTION_NAME_PVR2_FILTERING_INFO_0_KO "렌더된 이미지에 PowerVR2 GPU와 아날로그 비디오 신호에서 나타나는 효과를 후처리로 구현합니다." #define CORE_OPTION_NAME_TEXUPSCALE_LABEL_KO "텍스쳐 업스케일링 (xBRZ)" #define CORE_OPTION_NAME_TEXUPSCALE_INFO_0_KO "손으로 그려진 2D 픽셀아트 그래픽을 개선합니다. 2D 픽셀아트 게임에서만 사용되어야 합니다." -#define OPTION_VAL_2_O25_KO NULL +#define OPTION_VAL_2_O27_KO NULL #define OPTION_VAL_4_KO NULL #define OPTION_VAL_6_KO NULL #define CORE_OPTION_NAME_TEXUPSCALE_MAX_FILTERED_TEXTURE_SIZE_LABEL_KO "텍스쳐 업스케일링 필터 최대 크기" @@ -38487,6 +39250,35 @@ struct retro_core_option_v2_definition option_defs_ko[] = { }, "enabled", }, + { + CORE_OPTION_NAME "_emulate_bba", + CORE_OPTION_NAME_EMULATE_BBA_LABEL_KO, + NULL, + CORE_OPTION_NAME_EMULATE_BBA_INFO_0_KO, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled", + }, + { + CORE_OPTION_NAME "_upnp", + CORE_OPTION_NAME_UPNP_LABEL_KO, + NULL, + CORE_OPTION_NAME_UPNP_INFO_0_KO, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "enabled", + }, + { CORE_OPTION_NAME "_internal_resolution", CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_KO, @@ -38786,7 +39578,7 @@ struct retro_core_option_v2_definition option_defs_ko[] = { "video", { { "1", "disabled" }, - { "2", OPTION_VAL_2_O25_KO }, + { "2", OPTION_VAL_2_O27_KO }, { "4", OPTION_VAL_4_KO }, { "6", OPTION_VAL_6_KO }, { NULL, NULL }, @@ -39179,7 +39971,7 @@ struct retro_core_option_v2_definition option_defs_ko[] = { "vmu", { { "1x", OPTION_VAL_1X_KO }, - { "2x", OPTION_VAL_2_O25_KO }, + { "2x", OPTION_VAL_2_O27_KO }, { "3x", OPTION_VAL_3X_KO }, { "4x", OPTION_VAL_4_KO }, { "5x", OPTION_VAL_5X_KO }, @@ -39330,7 +40122,7 @@ struct retro_core_option_v2_definition option_defs_ko[] = { "vmu", { { "1x", OPTION_VAL_1X_KO }, - { "2x", OPTION_VAL_2_O25_KO }, + { "2x", OPTION_VAL_2_O27_KO }, { "3x", OPTION_VAL_3X_KO }, { "4x", OPTION_VAL_4_KO }, { "5x", OPTION_VAL_5X_KO }, @@ -39481,7 +40273,7 @@ struct retro_core_option_v2_definition option_defs_ko[] = { "vmu", { { "1x", OPTION_VAL_1X_KO }, - { "2x", OPTION_VAL_2_O25_KO }, + { "2x", OPTION_VAL_2_O27_KO }, { "3x", OPTION_VAL_3X_KO }, { "4x", OPTION_VAL_4_KO }, { "5x", OPTION_VAL_5X_KO }, @@ -39632,7 +40424,7 @@ struct retro_core_option_v2_definition option_defs_ko[] = { "vmu", { { "1x", OPTION_VAL_1X_KO }, - { "2x", OPTION_VAL_2_O25_KO }, + { "2x", OPTION_VAL_2_O27_KO }, { "3x", OPTION_VAL_3X_KO }, { "4x", OPTION_VAL_4_KO }, { "5x", OPTION_VAL_5X_KO }, @@ -39790,6 +40582,10 @@ struct retro_core_options_v2 options_ko = { #define CORE_OPTION_NAME_ALLOW_SERVICE_BUTTONS_INFO_0_NL NULL #define CORE_OPTION_NAME_FORCE_FREEPLAY_LABEL_NL NULL #define CORE_OPTION_NAME_FORCE_FREEPLAY_INFO_0_NL NULL +#define CORE_OPTION_NAME_EMULATE_BBA_LABEL_NL NULL +#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_NL NULL +#define CORE_OPTION_NAME_UPNP_LABEL_NL NULL +#define CORE_OPTION_NAME_UPNP_INFO_0_NL NULL #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_NL NULL #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_INFO_0_NL NULL #define OPTION_VAL_320X240_NL NULL @@ -39866,7 +40662,7 @@ struct retro_core_options_v2 options_ko = { #define CORE_OPTION_NAME_PVR2_FILTERING_INFO_0_NL NULL #define CORE_OPTION_NAME_TEXUPSCALE_LABEL_NL NULL #define CORE_OPTION_NAME_TEXUPSCALE_INFO_0_NL NULL -#define OPTION_VAL_2_O25_NL NULL +#define OPTION_VAL_2_O27_NL NULL #define OPTION_VAL_4_NL NULL #define OPTION_VAL_6_NL NULL #define CORE_OPTION_NAME_TEXUPSCALE_MAX_FILTERED_TEXTURE_SIZE_LABEL_NL NULL @@ -40141,6 +40937,35 @@ struct retro_core_option_v2_definition option_defs_nl[] = { }, "enabled", }, + { + CORE_OPTION_NAME "_emulate_bba", + CORE_OPTION_NAME_EMULATE_BBA_LABEL_NL, + NULL, + CORE_OPTION_NAME_EMULATE_BBA_INFO_0_NL, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled", + }, + { + CORE_OPTION_NAME "_upnp", + CORE_OPTION_NAME_UPNP_LABEL_NL, + NULL, + CORE_OPTION_NAME_UPNP_INFO_0_NL, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "enabled", + }, + { CORE_OPTION_NAME "_internal_resolution", CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_NL, @@ -40440,7 +41265,7 @@ struct retro_core_option_v2_definition option_defs_nl[] = { "video", { { "1", "disabled" }, - { "2", OPTION_VAL_2_O25_NL }, + { "2", OPTION_VAL_2_O27_NL }, { "4", OPTION_VAL_4_NL }, { "6", OPTION_VAL_6_NL }, { NULL, NULL }, @@ -40833,7 +41658,7 @@ struct retro_core_option_v2_definition option_defs_nl[] = { "vmu", { { "1x", OPTION_VAL_1X_NL }, - { "2x", OPTION_VAL_2_O25_NL }, + { "2x", OPTION_VAL_2_O27_NL }, { "3x", OPTION_VAL_3X_NL }, { "4x", OPTION_VAL_4_NL }, { "5x", OPTION_VAL_5X_NL }, @@ -40984,7 +41809,7 @@ struct retro_core_option_v2_definition option_defs_nl[] = { "vmu", { { "1x", OPTION_VAL_1X_NL }, - { "2x", OPTION_VAL_2_O25_NL }, + { "2x", OPTION_VAL_2_O27_NL }, { "3x", OPTION_VAL_3X_NL }, { "4x", OPTION_VAL_4_NL }, { "5x", OPTION_VAL_5X_NL }, @@ -41135,7 +41960,7 @@ struct retro_core_option_v2_definition option_defs_nl[] = { "vmu", { { "1x", OPTION_VAL_1X_NL }, - { "2x", OPTION_VAL_2_O25_NL }, + { "2x", OPTION_VAL_2_O27_NL }, { "3x", OPTION_VAL_3X_NL }, { "4x", OPTION_VAL_4_NL }, { "5x", OPTION_VAL_5X_NL }, @@ -41286,7 +42111,7 @@ struct retro_core_option_v2_definition option_defs_nl[] = { "vmu", { { "1x", OPTION_VAL_1X_NL }, - { "2x", OPTION_VAL_2_O25_NL }, + { "2x", OPTION_VAL_2_O27_NL }, { "3x", OPTION_VAL_3X_NL }, { "4x", OPTION_VAL_4_NL }, { "5x", OPTION_VAL_5X_NL }, @@ -41444,6 +42269,10 @@ struct retro_core_options_v2 options_nl = { #define CORE_OPTION_NAME_ALLOW_SERVICE_BUTTONS_INFO_0_NO NULL #define CORE_OPTION_NAME_FORCE_FREEPLAY_LABEL_NO NULL #define CORE_OPTION_NAME_FORCE_FREEPLAY_INFO_0_NO NULL +#define CORE_OPTION_NAME_EMULATE_BBA_LABEL_NO NULL +#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_NO NULL +#define CORE_OPTION_NAME_UPNP_LABEL_NO NULL +#define CORE_OPTION_NAME_UPNP_INFO_0_NO NULL #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_NO "Intern oppløsning" #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_INFO_0_NO NULL #define OPTION_VAL_320X240_NO NULL @@ -41520,7 +42349,7 @@ struct retro_core_options_v2 options_nl = { #define CORE_OPTION_NAME_PVR2_FILTERING_INFO_0_NO NULL #define CORE_OPTION_NAME_TEXUPSCALE_LABEL_NO NULL #define CORE_OPTION_NAME_TEXUPSCALE_INFO_0_NO NULL -#define OPTION_VAL_2_O25_NO NULL +#define OPTION_VAL_2_O27_NO NULL #define OPTION_VAL_4_NO NULL #define OPTION_VAL_6_NO NULL #define CORE_OPTION_NAME_TEXUPSCALE_MAX_FILTERED_TEXTURE_SIZE_LABEL_NO NULL @@ -41795,6 +42624,35 @@ struct retro_core_option_v2_definition option_defs_no[] = { }, "enabled", }, + { + CORE_OPTION_NAME "_emulate_bba", + CORE_OPTION_NAME_EMULATE_BBA_LABEL_NO, + NULL, + CORE_OPTION_NAME_EMULATE_BBA_INFO_0_NO, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled", + }, + { + CORE_OPTION_NAME "_upnp", + CORE_OPTION_NAME_UPNP_LABEL_NO, + NULL, + CORE_OPTION_NAME_UPNP_INFO_0_NO, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "enabled", + }, + { CORE_OPTION_NAME "_internal_resolution", CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_NO, @@ -42094,7 +42952,7 @@ struct retro_core_option_v2_definition option_defs_no[] = { "video", { { "1", "disabled" }, - { "2", OPTION_VAL_2_O25_NO }, + { "2", OPTION_VAL_2_O27_NO }, { "4", OPTION_VAL_4_NO }, { "6", OPTION_VAL_6_NO }, { NULL, NULL }, @@ -42487,7 +43345,7 @@ struct retro_core_option_v2_definition option_defs_no[] = { "vmu", { { "1x", OPTION_VAL_1X_NO }, - { "2x", OPTION_VAL_2_O25_NO }, + { "2x", OPTION_VAL_2_O27_NO }, { "3x", OPTION_VAL_3X_NO }, { "4x", OPTION_VAL_4_NO }, { "5x", OPTION_VAL_5X_NO }, @@ -42638,7 +43496,7 @@ struct retro_core_option_v2_definition option_defs_no[] = { "vmu", { { "1x", OPTION_VAL_1X_NO }, - { "2x", OPTION_VAL_2_O25_NO }, + { "2x", OPTION_VAL_2_O27_NO }, { "3x", OPTION_VAL_3X_NO }, { "4x", OPTION_VAL_4_NO }, { "5x", OPTION_VAL_5X_NO }, @@ -42789,7 +43647,7 @@ struct retro_core_option_v2_definition option_defs_no[] = { "vmu", { { "1x", OPTION_VAL_1X_NO }, - { "2x", OPTION_VAL_2_O25_NO }, + { "2x", OPTION_VAL_2_O27_NO }, { "3x", OPTION_VAL_3X_NO }, { "4x", OPTION_VAL_4_NO }, { "5x", OPTION_VAL_5X_NO }, @@ -42940,7 +43798,7 @@ struct retro_core_option_v2_definition option_defs_no[] = { "vmu", { { "1x", OPTION_VAL_1X_NO }, - { "2x", OPTION_VAL_2_O25_NO }, + { "2x", OPTION_VAL_2_O27_NO }, { "3x", OPTION_VAL_3X_NO }, { "4x", OPTION_VAL_4_NO }, { "5x", OPTION_VAL_5X_NO }, @@ -43086,7 +43944,7 @@ struct retro_core_options_v2 options_no = { #define OPTION_VAL_FRENCH_PL "francuski" #define OPTION_VAL_SPANISH_PL "hiszpański" #define OPTION_VAL_ITALIAN_PL "włoski" -#define CORE_OPTION_NAME_HLE_BIOS_LABEL_PL NULL +#define CORE_OPTION_NAME_HLE_BIOS_LABEL_PL "HLE BIOS (wymagany restart)" #define CORE_OPTION_NAME_HLE_BIOS_INFO_0_PL NULL #define CORE_OPTION_NAME_BOOT_TO_BIOS_LABEL_PL NULL #define CORE_OPTION_NAME_BOOT_TO_BIOS_INFO_0_PL NULL @@ -43098,6 +43956,10 @@ struct retro_core_options_v2 options_no = { #define CORE_OPTION_NAME_ALLOW_SERVICE_BUTTONS_INFO_0_PL NULL #define CORE_OPTION_NAME_FORCE_FREEPLAY_LABEL_PL "Ustaw gry NAOMI jako Free Play" #define CORE_OPTION_NAME_FORCE_FREEPLAY_INFO_0_PL NULL +#define CORE_OPTION_NAME_EMULATE_BBA_LABEL_PL "Emulacja adaptera szerokopasmowego" +#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_PL NULL +#define CORE_OPTION_NAME_UPNP_LABEL_PL "Włącz UPnP" +#define CORE_OPTION_NAME_UPNP_INFO_0_PL "Użyj UPnP, aby automatycznie skonfigurować router internetowy dla gier online." #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_PL "Rozdzielczość wewnętrzna" #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_INFO_0_PL NULL #define OPTION_VAL_320X240_PL NULL @@ -43174,7 +44036,7 @@ struct retro_core_options_v2 options_no = { #define CORE_OPTION_NAME_PVR2_FILTERING_INFO_0_PL NULL #define CORE_OPTION_NAME_TEXUPSCALE_LABEL_PL NULL #define CORE_OPTION_NAME_TEXUPSCALE_INFO_0_PL NULL -#define OPTION_VAL_2_O25_PL NULL +#define OPTION_VAL_2_O27_PL NULL #define OPTION_VAL_4_PL NULL #define OPTION_VAL_6_PL NULL #define CORE_OPTION_NAME_TEXUPSCALE_MAX_FILTERED_TEXTURE_SIZE_LABEL_PL NULL @@ -43449,6 +44311,35 @@ struct retro_core_option_v2_definition option_defs_pl[] = { }, "enabled", }, + { + CORE_OPTION_NAME "_emulate_bba", + CORE_OPTION_NAME_EMULATE_BBA_LABEL_PL, + NULL, + CORE_OPTION_NAME_EMULATE_BBA_INFO_0_PL, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled", + }, + { + CORE_OPTION_NAME "_upnp", + CORE_OPTION_NAME_UPNP_LABEL_PL, + NULL, + CORE_OPTION_NAME_UPNP_INFO_0_PL, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "enabled", + }, + { CORE_OPTION_NAME "_internal_resolution", CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_PL, @@ -43748,7 +44639,7 @@ struct retro_core_option_v2_definition option_defs_pl[] = { "video", { { "1", "disabled" }, - { "2", OPTION_VAL_2_O25_PL }, + { "2", OPTION_VAL_2_O27_PL }, { "4", OPTION_VAL_4_PL }, { "6", OPTION_VAL_6_PL }, { NULL, NULL }, @@ -44141,7 +45032,7 @@ struct retro_core_option_v2_definition option_defs_pl[] = { "vmu", { { "1x", OPTION_VAL_1X_PL }, - { "2x", OPTION_VAL_2_O25_PL }, + { "2x", OPTION_VAL_2_O27_PL }, { "3x", OPTION_VAL_3X_PL }, { "4x", OPTION_VAL_4_PL }, { "5x", OPTION_VAL_5X_PL }, @@ -44292,7 +45183,7 @@ struct retro_core_option_v2_definition option_defs_pl[] = { "vmu", { { "1x", OPTION_VAL_1X_PL }, - { "2x", OPTION_VAL_2_O25_PL }, + { "2x", OPTION_VAL_2_O27_PL }, { "3x", OPTION_VAL_3X_PL }, { "4x", OPTION_VAL_4_PL }, { "5x", OPTION_VAL_5X_PL }, @@ -44443,7 +45334,7 @@ struct retro_core_option_v2_definition option_defs_pl[] = { "vmu", { { "1x", OPTION_VAL_1X_PL }, - { "2x", OPTION_VAL_2_O25_PL }, + { "2x", OPTION_VAL_2_O27_PL }, { "3x", OPTION_VAL_3X_PL }, { "4x", OPTION_VAL_4_PL }, { "5x", OPTION_VAL_5X_PL }, @@ -44594,7 +45485,7 @@ struct retro_core_option_v2_definition option_defs_pl[] = { "vmu", { { "1x", OPTION_VAL_1X_PL }, - { "2x", OPTION_VAL_2_O25_PL }, + { "2x", OPTION_VAL_2_O27_PL }, { "3x", OPTION_VAL_3X_PL }, { "4x", OPTION_VAL_4_PL }, { "5x", OPTION_VAL_5X_PL }, @@ -44740,7 +45631,7 @@ struct retro_core_options_v2 options_pl = { #define OPTION_VAL_FRENCH_PT_BR "Francês" #define OPTION_VAL_SPANISH_PT_BR "Espanhol" #define OPTION_VAL_ITALIAN_PT_BR "Italiano" -#define CORE_OPTION_NAME_HLE_BIOS_LABEL_PT_BR "BIOS HLE" +#define CORE_OPTION_NAME_HLE_BIOS_LABEL_PT_BR NULL #define CORE_OPTION_NAME_HLE_BIOS_INFO_0_PT_BR "Força o uso de uma BIOS criada com emulação de alto nível." #define CORE_OPTION_NAME_BOOT_TO_BIOS_LABEL_PT_BR "Inicialização a partir da BIOS (requer reinício)" #define CORE_OPTION_NAME_BOOT_TO_BIOS_INFO_0_PT_BR "Inicializa diretamente no menu da BIOS do Dreamcast." @@ -44752,6 +45643,10 @@ struct retro_core_options_v2 options_pl = { #define CORE_OPTION_NAME_ALLOW_SERVICE_BUTTONS_INFO_0_PT_BR "Ativa o botão SERVICE da placa NAOMI para acessar a configuração do gabinete." #define CORE_OPTION_NAME_FORCE_FREEPLAY_LABEL_PT_BR NULL #define CORE_OPTION_NAME_FORCE_FREEPLAY_INFO_0_PT_BR NULL +#define CORE_OPTION_NAME_EMULATE_BBA_LABEL_PT_BR NULL +#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_PT_BR NULL +#define CORE_OPTION_NAME_UPNP_LABEL_PT_BR NULL +#define CORE_OPTION_NAME_UPNP_INFO_0_PT_BR NULL #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_PT_BR "Resolução interna" #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_INFO_0_PT_BR "Modificar resolução de renderização." #define OPTION_VAL_320X240_PT_BR NULL @@ -44828,7 +45723,7 @@ struct retro_core_options_v2 options_pl = { #define CORE_OPTION_NAME_PVR2_FILTERING_INFO_0_PT_BR "Pós-processa a imagem renderizada para simular efeitos específicos da GPU PowerVR2 e os sinais de vídeo analógicos." #define CORE_OPTION_NAME_TEXUPSCALE_LABEL_PT_BR "Redimensionamento de textura (xBRZ)" #define CORE_OPTION_NAME_TEXUPSCALE_INFO_0_PT_BR "Melhora os gráficos 2D de 'pixel arte' desenhados à mão. Usar somente com jogos em 2D pixelado." -#define OPTION_VAL_2_O25_PT_BR NULL +#define OPTION_VAL_2_O27_PT_BR NULL #define OPTION_VAL_4_PT_BR NULL #define OPTION_VAL_6_PT_BR NULL #define CORE_OPTION_NAME_TEXUPSCALE_MAX_FILTERED_TEXTURE_SIZE_LABEL_PT_BR "Tamanho máximo do redimensionamento de texturas" @@ -45103,6 +45998,35 @@ struct retro_core_option_v2_definition option_defs_pt_br[] = { }, "enabled", }, + { + CORE_OPTION_NAME "_emulate_bba", + CORE_OPTION_NAME_EMULATE_BBA_LABEL_PT_BR, + NULL, + CORE_OPTION_NAME_EMULATE_BBA_INFO_0_PT_BR, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled", + }, + { + CORE_OPTION_NAME "_upnp", + CORE_OPTION_NAME_UPNP_LABEL_PT_BR, + NULL, + CORE_OPTION_NAME_UPNP_INFO_0_PT_BR, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "enabled", + }, + { CORE_OPTION_NAME "_internal_resolution", CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_PT_BR, @@ -45402,7 +46326,7 @@ struct retro_core_option_v2_definition option_defs_pt_br[] = { "video", { { "1", "disabled" }, - { "2", OPTION_VAL_2_O25_PT_BR }, + { "2", OPTION_VAL_2_O27_PT_BR }, { "4", OPTION_VAL_4_PT_BR }, { "6", OPTION_VAL_6_PT_BR }, { NULL, NULL }, @@ -45795,7 +46719,7 @@ struct retro_core_option_v2_definition option_defs_pt_br[] = { "vmu", { { "1x", OPTION_VAL_1X_PT_BR }, - { "2x", OPTION_VAL_2_O25_PT_BR }, + { "2x", OPTION_VAL_2_O27_PT_BR }, { "3x", OPTION_VAL_3X_PT_BR }, { "4x", OPTION_VAL_4_PT_BR }, { "5x", OPTION_VAL_5X_PT_BR }, @@ -45946,7 +46870,7 @@ struct retro_core_option_v2_definition option_defs_pt_br[] = { "vmu", { { "1x", OPTION_VAL_1X_PT_BR }, - { "2x", OPTION_VAL_2_O25_PT_BR }, + { "2x", OPTION_VAL_2_O27_PT_BR }, { "3x", OPTION_VAL_3X_PT_BR }, { "4x", OPTION_VAL_4_PT_BR }, { "5x", OPTION_VAL_5X_PT_BR }, @@ -46097,7 +47021,7 @@ struct retro_core_option_v2_definition option_defs_pt_br[] = { "vmu", { { "1x", OPTION_VAL_1X_PT_BR }, - { "2x", OPTION_VAL_2_O25_PT_BR }, + { "2x", OPTION_VAL_2_O27_PT_BR }, { "3x", OPTION_VAL_3X_PT_BR }, { "4x", OPTION_VAL_4_PT_BR }, { "5x", OPTION_VAL_5X_PT_BR }, @@ -46248,7 +47172,7 @@ struct retro_core_option_v2_definition option_defs_pt_br[] = { "vmu", { { "1x", OPTION_VAL_1X_PT_BR }, - { "2x", OPTION_VAL_2_O25_PT_BR }, + { "2x", OPTION_VAL_2_O27_PT_BR }, { "3x", OPTION_VAL_3X_PT_BR }, { "4x", OPTION_VAL_4_PT_BR }, { "5x", OPTION_VAL_5X_PT_BR }, @@ -46406,6 +47330,10 @@ struct retro_core_options_v2 options_pt_br = { #define CORE_OPTION_NAME_ALLOW_SERVICE_BUTTONS_INFO_0_PT_PT NULL #define CORE_OPTION_NAME_FORCE_FREEPLAY_LABEL_PT_PT NULL #define CORE_OPTION_NAME_FORCE_FREEPLAY_INFO_0_PT_PT NULL +#define CORE_OPTION_NAME_EMULATE_BBA_LABEL_PT_PT NULL +#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_PT_PT NULL +#define CORE_OPTION_NAME_UPNP_LABEL_PT_PT NULL +#define CORE_OPTION_NAME_UPNP_INFO_0_PT_PT NULL #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_PT_PT NULL #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_INFO_0_PT_PT NULL #define OPTION_VAL_320X240_PT_PT NULL @@ -46482,7 +47410,7 @@ struct retro_core_options_v2 options_pt_br = { #define CORE_OPTION_NAME_PVR2_FILTERING_INFO_0_PT_PT NULL #define CORE_OPTION_NAME_TEXUPSCALE_LABEL_PT_PT NULL #define CORE_OPTION_NAME_TEXUPSCALE_INFO_0_PT_PT NULL -#define OPTION_VAL_2_O25_PT_PT NULL +#define OPTION_VAL_2_O27_PT_PT NULL #define OPTION_VAL_4_PT_PT NULL #define OPTION_VAL_6_PT_PT NULL #define CORE_OPTION_NAME_TEXUPSCALE_MAX_FILTERED_TEXTURE_SIZE_LABEL_PT_PT NULL @@ -46757,6 +47685,35 @@ struct retro_core_option_v2_definition option_defs_pt_pt[] = { }, "enabled", }, + { + CORE_OPTION_NAME "_emulate_bba", + CORE_OPTION_NAME_EMULATE_BBA_LABEL_PT_PT, + NULL, + CORE_OPTION_NAME_EMULATE_BBA_INFO_0_PT_PT, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled", + }, + { + CORE_OPTION_NAME "_upnp", + CORE_OPTION_NAME_UPNP_LABEL_PT_PT, + NULL, + CORE_OPTION_NAME_UPNP_INFO_0_PT_PT, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "enabled", + }, + { CORE_OPTION_NAME "_internal_resolution", CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_PT_PT, @@ -47056,7 +48013,7 @@ struct retro_core_option_v2_definition option_defs_pt_pt[] = { "video", { { "1", "disabled" }, - { "2", OPTION_VAL_2_O25_PT_PT }, + { "2", OPTION_VAL_2_O27_PT_PT }, { "4", OPTION_VAL_4_PT_PT }, { "6", OPTION_VAL_6_PT_PT }, { NULL, NULL }, @@ -47449,7 +48406,7 @@ struct retro_core_option_v2_definition option_defs_pt_pt[] = { "vmu", { { "1x", OPTION_VAL_1X_PT_PT }, - { "2x", OPTION_VAL_2_O25_PT_PT }, + { "2x", OPTION_VAL_2_O27_PT_PT }, { "3x", OPTION_VAL_3X_PT_PT }, { "4x", OPTION_VAL_4_PT_PT }, { "5x", OPTION_VAL_5X_PT_PT }, @@ -47600,7 +48557,7 @@ struct retro_core_option_v2_definition option_defs_pt_pt[] = { "vmu", { { "1x", OPTION_VAL_1X_PT_PT }, - { "2x", OPTION_VAL_2_O25_PT_PT }, + { "2x", OPTION_VAL_2_O27_PT_PT }, { "3x", OPTION_VAL_3X_PT_PT }, { "4x", OPTION_VAL_4_PT_PT }, { "5x", OPTION_VAL_5X_PT_PT }, @@ -47751,7 +48708,7 @@ struct retro_core_option_v2_definition option_defs_pt_pt[] = { "vmu", { { "1x", OPTION_VAL_1X_PT_PT }, - { "2x", OPTION_VAL_2_O25_PT_PT }, + { "2x", OPTION_VAL_2_O27_PT_PT }, { "3x", OPTION_VAL_3X_PT_PT }, { "4x", OPTION_VAL_4_PT_PT }, { "5x", OPTION_VAL_5X_PT_PT }, @@ -47902,7 +48859,7 @@ struct retro_core_option_v2_definition option_defs_pt_pt[] = { "vmu", { { "1x", OPTION_VAL_1X_PT_PT }, - { "2x", OPTION_VAL_2_O25_PT_PT }, + { "2x", OPTION_VAL_2_O27_PT_PT }, { "3x", OPTION_VAL_3X_PT_PT }, { "4x", OPTION_VAL_4_PT_PT }, { "5x", OPTION_VAL_5X_PT_PT }, @@ -48048,7 +49005,7 @@ struct retro_core_options_v2 options_pt_pt = { #define OPTION_VAL_FRENCH_RU "Французский" #define OPTION_VAL_SPANISH_RU "Испанский" #define OPTION_VAL_ITALIAN_RU "Итальянский" -#define CORE_OPTION_NAME_HLE_BIOS_LABEL_RU NULL +#define CORE_OPTION_NAME_HLE_BIOS_LABEL_RU "HLE BIOS (требуется перезапуск)" #define CORE_OPTION_NAME_HLE_BIOS_INFO_0_RU "Принудительно использовать высокоуровневую эмуляцию BIOS." #define CORE_OPTION_NAME_BOOT_TO_BIOS_LABEL_RU "Загрузка в BIOS (требуется перезапуск)" #define CORE_OPTION_NAME_BOOT_TO_BIOS_INFO_0_RU "Загружаться непосредственно в меню Dreamcast BIOS." @@ -48060,6 +49017,10 @@ struct retro_core_options_v2 options_pt_pt = { #define CORE_OPTION_NAME_ALLOW_SERVICE_BUTTONS_INFO_0_RU NULL #define CORE_OPTION_NAME_FORCE_FREEPLAY_LABEL_RU NULL #define CORE_OPTION_NAME_FORCE_FREEPLAY_INFO_0_RU NULL +#define CORE_OPTION_NAME_EMULATE_BBA_LABEL_RU "Эмуляция Broadband Adapter" +#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_RU "Эмулировать вместо модема широкополосный Ethernet-адаптер (требуется перезапуск)." +#define CORE_OPTION_NAME_UPNP_LABEL_RU "Включить UPnP" +#define CORE_OPTION_NAME_UPNP_INFO_0_RU "Использовать UPnP для автоматической настройки вашего Интернет-роутера для онлайн-игр." #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_RU "Внутреннее разрешение" #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_INFO_0_RU "Настройка разрешения рендеринга." #define OPTION_VAL_320X240_RU NULL @@ -48136,7 +49097,7 @@ struct retro_core_options_v2 options_pt_pt = { #define CORE_OPTION_NAME_PVR2_FILTERING_INFO_0_RU "Делает постобработку отображаемого изображения для имитации эффектов, специфичных для графического процессора PowerVR2 и аналоговых видеосигналов." #define CORE_OPTION_NAME_TEXUPSCALE_LABEL_RU "Масштабирование текстур (xBRZ)" #define CORE_OPTION_NAME_TEXUPSCALE_INFO_0_RU NULL -#define OPTION_VAL_2_O25_RU NULL +#define OPTION_VAL_2_O27_RU NULL #define OPTION_VAL_4_RU NULL #define OPTION_VAL_6_RU NULL #define CORE_OPTION_NAME_TEXUPSCALE_MAX_FILTERED_TEXTURE_SIZE_LABEL_RU NULL @@ -48411,6 +49372,35 @@ struct retro_core_option_v2_definition option_defs_ru[] = { }, "enabled", }, + { + CORE_OPTION_NAME "_emulate_bba", + CORE_OPTION_NAME_EMULATE_BBA_LABEL_RU, + NULL, + CORE_OPTION_NAME_EMULATE_BBA_INFO_0_RU, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled", + }, + { + CORE_OPTION_NAME "_upnp", + CORE_OPTION_NAME_UPNP_LABEL_RU, + NULL, + CORE_OPTION_NAME_UPNP_INFO_0_RU, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "enabled", + }, + { CORE_OPTION_NAME "_internal_resolution", CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_RU, @@ -48710,7 +49700,7 @@ struct retro_core_option_v2_definition option_defs_ru[] = { "video", { { "1", "disabled" }, - { "2", OPTION_VAL_2_O25_RU }, + { "2", OPTION_VAL_2_O27_RU }, { "4", OPTION_VAL_4_RU }, { "6", OPTION_VAL_6_RU }, { NULL, NULL }, @@ -49103,7 +50093,7 @@ struct retro_core_option_v2_definition option_defs_ru[] = { "vmu", { { "1x", OPTION_VAL_1X_RU }, - { "2x", OPTION_VAL_2_O25_RU }, + { "2x", OPTION_VAL_2_O27_RU }, { "3x", OPTION_VAL_3X_RU }, { "4x", OPTION_VAL_4_RU }, { "5x", OPTION_VAL_5X_RU }, @@ -49254,7 +50244,7 @@ struct retro_core_option_v2_definition option_defs_ru[] = { "vmu", { { "1x", OPTION_VAL_1X_RU }, - { "2x", OPTION_VAL_2_O25_RU }, + { "2x", OPTION_VAL_2_O27_RU }, { "3x", OPTION_VAL_3X_RU }, { "4x", OPTION_VAL_4_RU }, { "5x", OPTION_VAL_5X_RU }, @@ -49405,7 +50395,7 @@ struct retro_core_option_v2_definition option_defs_ru[] = { "vmu", { { "1x", OPTION_VAL_1X_RU }, - { "2x", OPTION_VAL_2_O25_RU }, + { "2x", OPTION_VAL_2_O27_RU }, { "3x", OPTION_VAL_3X_RU }, { "4x", OPTION_VAL_4_RU }, { "5x", OPTION_VAL_5X_RU }, @@ -49556,7 +50546,7 @@ struct retro_core_option_v2_definition option_defs_ru[] = { "vmu", { { "1x", OPTION_VAL_1X_RU }, - { "2x", OPTION_VAL_2_O25_RU }, + { "2x", OPTION_VAL_2_O27_RU }, { "3x", OPTION_VAL_3X_RU }, { "4x", OPTION_VAL_4_RU }, { "5x", OPTION_VAL_5X_RU }, @@ -49714,6 +50704,10 @@ struct retro_core_options_v2 options_ru = { #define CORE_OPTION_NAME_ALLOW_SERVICE_BUTTONS_INFO_0_SK NULL #define CORE_OPTION_NAME_FORCE_FREEPLAY_LABEL_SK NULL #define CORE_OPTION_NAME_FORCE_FREEPLAY_INFO_0_SK NULL +#define CORE_OPTION_NAME_EMULATE_BBA_LABEL_SK NULL +#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_SK NULL +#define CORE_OPTION_NAME_UPNP_LABEL_SK NULL +#define CORE_OPTION_NAME_UPNP_INFO_0_SK NULL #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_SK "Vnútorné rozlíšenie" #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_INFO_0_SK NULL #define OPTION_VAL_320X240_SK NULL @@ -49790,7 +50784,7 @@ struct retro_core_options_v2 options_ru = { #define CORE_OPTION_NAME_PVR2_FILTERING_INFO_0_SK NULL #define CORE_OPTION_NAME_TEXUPSCALE_LABEL_SK NULL #define CORE_OPTION_NAME_TEXUPSCALE_INFO_0_SK NULL -#define OPTION_VAL_2_O25_SK NULL +#define OPTION_VAL_2_O27_SK NULL #define OPTION_VAL_4_SK NULL #define OPTION_VAL_6_SK NULL #define CORE_OPTION_NAME_TEXUPSCALE_MAX_FILTERED_TEXTURE_SIZE_LABEL_SK NULL @@ -50065,6 +51059,35 @@ struct retro_core_option_v2_definition option_defs_sk[] = { }, "enabled", }, + { + CORE_OPTION_NAME "_emulate_bba", + CORE_OPTION_NAME_EMULATE_BBA_LABEL_SK, + NULL, + CORE_OPTION_NAME_EMULATE_BBA_INFO_0_SK, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled", + }, + { + CORE_OPTION_NAME "_upnp", + CORE_OPTION_NAME_UPNP_LABEL_SK, + NULL, + CORE_OPTION_NAME_UPNP_INFO_0_SK, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "enabled", + }, + { CORE_OPTION_NAME "_internal_resolution", CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_SK, @@ -50364,7 +51387,7 @@ struct retro_core_option_v2_definition option_defs_sk[] = { "video", { { "1", "disabled" }, - { "2", OPTION_VAL_2_O25_SK }, + { "2", OPTION_VAL_2_O27_SK }, { "4", OPTION_VAL_4_SK }, { "6", OPTION_VAL_6_SK }, { NULL, NULL }, @@ -50757,7 +51780,7 @@ struct retro_core_option_v2_definition option_defs_sk[] = { "vmu", { { "1x", OPTION_VAL_1X_SK }, - { "2x", OPTION_VAL_2_O25_SK }, + { "2x", OPTION_VAL_2_O27_SK }, { "3x", OPTION_VAL_3X_SK }, { "4x", OPTION_VAL_4_SK }, { "5x", OPTION_VAL_5X_SK }, @@ -50908,7 +51931,7 @@ struct retro_core_option_v2_definition option_defs_sk[] = { "vmu", { { "1x", OPTION_VAL_1X_SK }, - { "2x", OPTION_VAL_2_O25_SK }, + { "2x", OPTION_VAL_2_O27_SK }, { "3x", OPTION_VAL_3X_SK }, { "4x", OPTION_VAL_4_SK }, { "5x", OPTION_VAL_5X_SK }, @@ -51059,7 +52082,7 @@ struct retro_core_option_v2_definition option_defs_sk[] = { "vmu", { { "1x", OPTION_VAL_1X_SK }, - { "2x", OPTION_VAL_2_O25_SK }, + { "2x", OPTION_VAL_2_O27_SK }, { "3x", OPTION_VAL_3X_SK }, { "4x", OPTION_VAL_4_SK }, { "5x", OPTION_VAL_5X_SK }, @@ -51210,7 +52233,7 @@ struct retro_core_option_v2_definition option_defs_sk[] = { "vmu", { { "1x", OPTION_VAL_1X_SK }, - { "2x", OPTION_VAL_2_O25_SK }, + { "2x", OPTION_VAL_2_O27_SK }, { "3x", OPTION_VAL_3X_SK }, { "4x", OPTION_VAL_4_SK }, { "5x", OPTION_VAL_5X_SK }, @@ -51368,6 +52391,10 @@ struct retro_core_options_v2 options_sk = { #define CORE_OPTION_NAME_ALLOW_SERVICE_BUTTONS_INFO_0_SR NULL #define CORE_OPTION_NAME_FORCE_FREEPLAY_LABEL_SR NULL #define CORE_OPTION_NAME_FORCE_FREEPLAY_INFO_0_SR NULL +#define CORE_OPTION_NAME_EMULATE_BBA_LABEL_SR NULL +#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_SR NULL +#define CORE_OPTION_NAME_UPNP_LABEL_SR NULL +#define CORE_OPTION_NAME_UPNP_INFO_0_SR NULL #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_SR NULL #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_INFO_0_SR NULL #define OPTION_VAL_320X240_SR NULL @@ -51444,7 +52471,7 @@ struct retro_core_options_v2 options_sk = { #define CORE_OPTION_NAME_PVR2_FILTERING_INFO_0_SR NULL #define CORE_OPTION_NAME_TEXUPSCALE_LABEL_SR NULL #define CORE_OPTION_NAME_TEXUPSCALE_INFO_0_SR NULL -#define OPTION_VAL_2_O25_SR NULL +#define OPTION_VAL_2_O27_SR NULL #define OPTION_VAL_4_SR NULL #define OPTION_VAL_6_SR NULL #define CORE_OPTION_NAME_TEXUPSCALE_MAX_FILTERED_TEXTURE_SIZE_LABEL_SR NULL @@ -51719,6 +52746,35 @@ struct retro_core_option_v2_definition option_defs_sr[] = { }, "enabled", }, + { + CORE_OPTION_NAME "_emulate_bba", + CORE_OPTION_NAME_EMULATE_BBA_LABEL_SR, + NULL, + CORE_OPTION_NAME_EMULATE_BBA_INFO_0_SR, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled", + }, + { + CORE_OPTION_NAME "_upnp", + CORE_OPTION_NAME_UPNP_LABEL_SR, + NULL, + CORE_OPTION_NAME_UPNP_INFO_0_SR, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "enabled", + }, + { CORE_OPTION_NAME "_internal_resolution", CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_SR, @@ -52018,7 +53074,7 @@ struct retro_core_option_v2_definition option_defs_sr[] = { "video", { { "1", "disabled" }, - { "2", OPTION_VAL_2_O25_SR }, + { "2", OPTION_VAL_2_O27_SR }, { "4", OPTION_VAL_4_SR }, { "6", OPTION_VAL_6_SR }, { NULL, NULL }, @@ -52411,7 +53467,7 @@ struct retro_core_option_v2_definition option_defs_sr[] = { "vmu", { { "1x", OPTION_VAL_1X_SR }, - { "2x", OPTION_VAL_2_O25_SR }, + { "2x", OPTION_VAL_2_O27_SR }, { "3x", OPTION_VAL_3X_SR }, { "4x", OPTION_VAL_4_SR }, { "5x", OPTION_VAL_5X_SR }, @@ -52562,7 +53618,7 @@ struct retro_core_option_v2_definition option_defs_sr[] = { "vmu", { { "1x", OPTION_VAL_1X_SR }, - { "2x", OPTION_VAL_2_O25_SR }, + { "2x", OPTION_VAL_2_O27_SR }, { "3x", OPTION_VAL_3X_SR }, { "4x", OPTION_VAL_4_SR }, { "5x", OPTION_VAL_5X_SR }, @@ -52713,7 +53769,7 @@ struct retro_core_option_v2_definition option_defs_sr[] = { "vmu", { { "1x", OPTION_VAL_1X_SR }, - { "2x", OPTION_VAL_2_O25_SR }, + { "2x", OPTION_VAL_2_O27_SR }, { "3x", OPTION_VAL_3X_SR }, { "4x", OPTION_VAL_4_SR }, { "5x", OPTION_VAL_5X_SR }, @@ -52864,7 +53920,7 @@ struct retro_core_option_v2_definition option_defs_sr[] = { "vmu", { { "1x", OPTION_VAL_1X_SR }, - { "2x", OPTION_VAL_2_O25_SR }, + { "2x", OPTION_VAL_2_O27_SR }, { "3x", OPTION_VAL_3X_SR }, { "4x", OPTION_VAL_4_SR }, { "5x", OPTION_VAL_5X_SR }, @@ -53022,6 +54078,10 @@ struct retro_core_options_v2 options_sr = { #define CORE_OPTION_NAME_ALLOW_SERVICE_BUTTONS_INFO_0_SV NULL #define CORE_OPTION_NAME_FORCE_FREEPLAY_LABEL_SV NULL #define CORE_OPTION_NAME_FORCE_FREEPLAY_INFO_0_SV NULL +#define CORE_OPTION_NAME_EMULATE_BBA_LABEL_SV NULL +#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_SV NULL +#define CORE_OPTION_NAME_UPNP_LABEL_SV NULL +#define CORE_OPTION_NAME_UPNP_INFO_0_SV NULL #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_SV "Intern upplösning" #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_INFO_0_SV NULL #define OPTION_VAL_320X240_SV NULL @@ -53098,7 +54158,7 @@ struct retro_core_options_v2 options_sr = { #define CORE_OPTION_NAME_PVR2_FILTERING_INFO_0_SV NULL #define CORE_OPTION_NAME_TEXUPSCALE_LABEL_SV NULL #define CORE_OPTION_NAME_TEXUPSCALE_INFO_0_SV NULL -#define OPTION_VAL_2_O25_SV NULL +#define OPTION_VAL_2_O27_SV NULL #define OPTION_VAL_4_SV NULL #define OPTION_VAL_6_SV NULL #define CORE_OPTION_NAME_TEXUPSCALE_MAX_FILTERED_TEXTURE_SIZE_LABEL_SV NULL @@ -53373,6 +54433,35 @@ struct retro_core_option_v2_definition option_defs_sv[] = { }, "enabled", }, + { + CORE_OPTION_NAME "_emulate_bba", + CORE_OPTION_NAME_EMULATE_BBA_LABEL_SV, + NULL, + CORE_OPTION_NAME_EMULATE_BBA_INFO_0_SV, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled", + }, + { + CORE_OPTION_NAME "_upnp", + CORE_OPTION_NAME_UPNP_LABEL_SV, + NULL, + CORE_OPTION_NAME_UPNP_INFO_0_SV, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "enabled", + }, + { CORE_OPTION_NAME "_internal_resolution", CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_SV, @@ -53672,7 +54761,7 @@ struct retro_core_option_v2_definition option_defs_sv[] = { "video", { { "1", "disabled" }, - { "2", OPTION_VAL_2_O25_SV }, + { "2", OPTION_VAL_2_O27_SV }, { "4", OPTION_VAL_4_SV }, { "6", OPTION_VAL_6_SV }, { NULL, NULL }, @@ -54065,7 +55154,7 @@ struct retro_core_option_v2_definition option_defs_sv[] = { "vmu", { { "1x", OPTION_VAL_1X_SV }, - { "2x", OPTION_VAL_2_O25_SV }, + { "2x", OPTION_VAL_2_O27_SV }, { "3x", OPTION_VAL_3X_SV }, { "4x", OPTION_VAL_4_SV }, { "5x", OPTION_VAL_5X_SV }, @@ -54216,7 +55305,7 @@ struct retro_core_option_v2_definition option_defs_sv[] = { "vmu", { { "1x", OPTION_VAL_1X_SV }, - { "2x", OPTION_VAL_2_O25_SV }, + { "2x", OPTION_VAL_2_O27_SV }, { "3x", OPTION_VAL_3X_SV }, { "4x", OPTION_VAL_4_SV }, { "5x", OPTION_VAL_5X_SV }, @@ -54367,7 +55456,7 @@ struct retro_core_option_v2_definition option_defs_sv[] = { "vmu", { { "1x", OPTION_VAL_1X_SV }, - { "2x", OPTION_VAL_2_O25_SV }, + { "2x", OPTION_VAL_2_O27_SV }, { "3x", OPTION_VAL_3X_SV }, { "4x", OPTION_VAL_4_SV }, { "5x", OPTION_VAL_5X_SV }, @@ -54518,7 +55607,7 @@ struct retro_core_option_v2_definition option_defs_sv[] = { "vmu", { { "1x", OPTION_VAL_1X_SV }, - { "2x", OPTION_VAL_2_O25_SV }, + { "2x", OPTION_VAL_2_O27_SV }, { "3x", OPTION_VAL_3X_SV }, { "4x", OPTION_VAL_4_SV }, { "5x", OPTION_VAL_5X_SV }, @@ -54676,6 +55765,10 @@ struct retro_core_options_v2 options_sv = { #define CORE_OPTION_NAME_ALLOW_SERVICE_BUTTONS_INFO_0_TR "Kabin ayarlarına girmek için NAOMI için SERVICE düğmesini etkinleştirir." #define CORE_OPTION_NAME_FORCE_FREEPLAY_LABEL_TR "NAOMI Oyunlarını Serbest Oynamaya Ayarlayın" #define CORE_OPTION_NAME_FORCE_FREEPLAY_INFO_0_TR "Serbest oynamak için oyunun jeton ayarlarını değiştirin." +#define CORE_OPTION_NAME_EMULATE_BBA_LABEL_TR NULL +#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_TR NULL +#define CORE_OPTION_NAME_UPNP_LABEL_TR NULL +#define CORE_OPTION_NAME_UPNP_INFO_0_TR NULL #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_TR "Dahili Çözünürlük" #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_INFO_0_TR "İşleme çözünürlüğünü değiştirin." #define OPTION_VAL_320X240_TR NULL @@ -54752,7 +55845,7 @@ struct retro_core_options_v2 options_sv = { #define CORE_OPTION_NAME_PVR2_FILTERING_INFO_0_TR "PowerVR2 GPU'ya ve analog video sinyallerine özgü efektleri simüle etmek için işlenen görüntüyü son işlemden geçirin." #define CORE_OPTION_NAME_TEXUPSCALE_LABEL_TR "Doku Yükseltme (xBRZ)" #define CORE_OPTION_NAME_TEXUPSCALE_INFO_0_TR "Elle çizilmiş 2B piksel sanatsal grafiklerini geliştirin. Yalnızca 2D piksel oyunlarla kullanılmalıdır." -#define OPTION_VAL_2_O25_TR NULL +#define OPTION_VAL_2_O27_TR NULL #define OPTION_VAL_4_TR NULL #define OPTION_VAL_6_TR NULL #define CORE_OPTION_NAME_TEXUPSCALE_MAX_FILTERED_TEXTURE_SIZE_LABEL_TR "Doku Yükseltme Azami Filtre Boyutu" @@ -55027,6 +56120,35 @@ struct retro_core_option_v2_definition option_defs_tr[] = { }, "enabled", }, + { + CORE_OPTION_NAME "_emulate_bba", + CORE_OPTION_NAME_EMULATE_BBA_LABEL_TR, + NULL, + CORE_OPTION_NAME_EMULATE_BBA_INFO_0_TR, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled", + }, + { + CORE_OPTION_NAME "_upnp", + CORE_OPTION_NAME_UPNP_LABEL_TR, + NULL, + CORE_OPTION_NAME_UPNP_INFO_0_TR, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "enabled", + }, + { CORE_OPTION_NAME "_internal_resolution", CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_TR, @@ -55326,7 +56448,7 @@ struct retro_core_option_v2_definition option_defs_tr[] = { "video", { { "1", "disabled" }, - { "2", OPTION_VAL_2_O25_TR }, + { "2", OPTION_VAL_2_O27_TR }, { "4", OPTION_VAL_4_TR }, { "6", OPTION_VAL_6_TR }, { NULL, NULL }, @@ -55719,7 +56841,7 @@ struct retro_core_option_v2_definition option_defs_tr[] = { "vmu", { { "1x", OPTION_VAL_1X_TR }, - { "2x", OPTION_VAL_2_O25_TR }, + { "2x", OPTION_VAL_2_O27_TR }, { "3x", OPTION_VAL_3X_TR }, { "4x", OPTION_VAL_4_TR }, { "5x", OPTION_VAL_5X_TR }, @@ -55870,7 +56992,7 @@ struct retro_core_option_v2_definition option_defs_tr[] = { "vmu", { { "1x", OPTION_VAL_1X_TR }, - { "2x", OPTION_VAL_2_O25_TR }, + { "2x", OPTION_VAL_2_O27_TR }, { "3x", OPTION_VAL_3X_TR }, { "4x", OPTION_VAL_4_TR }, { "5x", OPTION_VAL_5X_TR }, @@ -56021,7 +57143,7 @@ struct retro_core_option_v2_definition option_defs_tr[] = { "vmu", { { "1x", OPTION_VAL_1X_TR }, - { "2x", OPTION_VAL_2_O25_TR }, + { "2x", OPTION_VAL_2_O27_TR }, { "3x", OPTION_VAL_3X_TR }, { "4x", OPTION_VAL_4_TR }, { "5x", OPTION_VAL_5X_TR }, @@ -56172,7 +57294,7 @@ struct retro_core_option_v2_definition option_defs_tr[] = { "vmu", { { "1x", OPTION_VAL_1X_TR }, - { "2x", OPTION_VAL_2_O25_TR }, + { "2x", OPTION_VAL_2_O27_TR }, { "3x", OPTION_VAL_3X_TR }, { "4x", OPTION_VAL_4_TR }, { "5x", OPTION_VAL_5X_TR }, @@ -56330,6 +57452,10 @@ struct retro_core_options_v2 options_tr = { #define CORE_OPTION_NAME_ALLOW_SERVICE_BUTTONS_INFO_0_UK NULL #define CORE_OPTION_NAME_FORCE_FREEPLAY_LABEL_UK "Встановити NAOMI ігри для безкоштовної гри" #define CORE_OPTION_NAME_FORCE_FREEPLAY_INFO_0_UK NULL +#define CORE_OPTION_NAME_EMULATE_BBA_LABEL_UK NULL +#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_UK NULL +#define CORE_OPTION_NAME_UPNP_LABEL_UK NULL +#define CORE_OPTION_NAME_UPNP_INFO_0_UK NULL #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_UK "Роздільна здатність" #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_INFO_0_UK "Змінити роздільну здатність візуалізації." #define OPTION_VAL_320X240_UK NULL @@ -56406,7 +57532,7 @@ struct retro_core_options_v2 options_tr = { #define CORE_OPTION_NAME_PVR2_FILTERING_INFO_0_UK "Постобробка зображення для імітації ефектів відеоданих на PowerVR2 та аналогових відео сигналів." #define CORE_OPTION_NAME_TEXUPSCALE_LABEL_UK "Вдосконалення текстур (xBRZ)" #define CORE_OPTION_NAME_TEXUPSCALE_INFO_0_UK "Покращення графіки 2D пікселів. Має використовуватися лише з 2D піксельними іграми." -#define OPTION_VAL_2_O25_UK NULL +#define OPTION_VAL_2_O27_UK NULL #define OPTION_VAL_4_UK NULL #define OPTION_VAL_6_UK NULL #define CORE_OPTION_NAME_TEXUPSCALE_MAX_FILTERED_TEXTURE_SIZE_LABEL_UK "Збільшення масштабу текстур. Відфільтрований розмір" @@ -56681,6 +57807,35 @@ struct retro_core_option_v2_definition option_defs_uk[] = { }, "enabled", }, + { + CORE_OPTION_NAME "_emulate_bba", + CORE_OPTION_NAME_EMULATE_BBA_LABEL_UK, + NULL, + CORE_OPTION_NAME_EMULATE_BBA_INFO_0_UK, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled", + }, + { + CORE_OPTION_NAME "_upnp", + CORE_OPTION_NAME_UPNP_LABEL_UK, + NULL, + CORE_OPTION_NAME_UPNP_INFO_0_UK, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "enabled", + }, + { CORE_OPTION_NAME "_internal_resolution", CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_UK, @@ -56980,7 +58135,7 @@ struct retro_core_option_v2_definition option_defs_uk[] = { "video", { { "1", "disabled" }, - { "2", OPTION_VAL_2_O25_UK }, + { "2", OPTION_VAL_2_O27_UK }, { "4", OPTION_VAL_4_UK }, { "6", OPTION_VAL_6_UK }, { NULL, NULL }, @@ -57373,7 +58528,7 @@ struct retro_core_option_v2_definition option_defs_uk[] = { "vmu", { { "1x", OPTION_VAL_1X_UK }, - { "2x", OPTION_VAL_2_O25_UK }, + { "2x", OPTION_VAL_2_O27_UK }, { "3x", OPTION_VAL_3X_UK }, { "4x", OPTION_VAL_4_UK }, { "5x", OPTION_VAL_5X_UK }, @@ -57524,7 +58679,7 @@ struct retro_core_option_v2_definition option_defs_uk[] = { "vmu", { { "1x", OPTION_VAL_1X_UK }, - { "2x", OPTION_VAL_2_O25_UK }, + { "2x", OPTION_VAL_2_O27_UK }, { "3x", OPTION_VAL_3X_UK }, { "4x", OPTION_VAL_4_UK }, { "5x", OPTION_VAL_5X_UK }, @@ -57675,7 +58830,7 @@ struct retro_core_option_v2_definition option_defs_uk[] = { "vmu", { { "1x", OPTION_VAL_1X_UK }, - { "2x", OPTION_VAL_2_O25_UK }, + { "2x", OPTION_VAL_2_O27_UK }, { "3x", OPTION_VAL_3X_UK }, { "4x", OPTION_VAL_4_UK }, { "5x", OPTION_VAL_5X_UK }, @@ -57826,7 +58981,7 @@ struct retro_core_option_v2_definition option_defs_uk[] = { "vmu", { { "1x", OPTION_VAL_1X_UK }, - { "2x", OPTION_VAL_2_O25_UK }, + { "2x", OPTION_VAL_2_O27_UK }, { "3x", OPTION_VAL_3X_UK }, { "4x", OPTION_VAL_4_UK }, { "5x", OPTION_VAL_5X_UK }, @@ -57984,6 +59139,10 @@ struct retro_core_options_v2 options_uk = { #define CORE_OPTION_NAME_ALLOW_SERVICE_BUTTONS_INFO_0_VAL NULL #define CORE_OPTION_NAME_FORCE_FREEPLAY_LABEL_VAL NULL #define CORE_OPTION_NAME_FORCE_FREEPLAY_INFO_0_VAL NULL +#define CORE_OPTION_NAME_EMULATE_BBA_LABEL_VAL NULL +#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_VAL NULL +#define CORE_OPTION_NAME_UPNP_LABEL_VAL NULL +#define CORE_OPTION_NAME_UPNP_INFO_0_VAL NULL #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_VAL NULL #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_INFO_0_VAL NULL #define OPTION_VAL_320X240_VAL "320×240" @@ -58060,7 +59219,7 @@ struct retro_core_options_v2 options_uk = { #define CORE_OPTION_NAME_PVR2_FILTERING_INFO_0_VAL NULL #define CORE_OPTION_NAME_TEXUPSCALE_LABEL_VAL NULL #define CORE_OPTION_NAME_TEXUPSCALE_INFO_0_VAL NULL -#define OPTION_VAL_2_O25_VAL NULL +#define OPTION_VAL_2_O27_VAL NULL #define OPTION_VAL_4_VAL NULL #define OPTION_VAL_6_VAL NULL #define CORE_OPTION_NAME_TEXUPSCALE_MAX_FILTERED_TEXTURE_SIZE_LABEL_VAL NULL @@ -58335,6 +59494,35 @@ struct retro_core_option_v2_definition option_defs_val[] = { }, "enabled", }, + { + CORE_OPTION_NAME "_emulate_bba", + CORE_OPTION_NAME_EMULATE_BBA_LABEL_VAL, + NULL, + CORE_OPTION_NAME_EMULATE_BBA_INFO_0_VAL, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled", + }, + { + CORE_OPTION_NAME "_upnp", + CORE_OPTION_NAME_UPNP_LABEL_VAL, + NULL, + CORE_OPTION_NAME_UPNP_INFO_0_VAL, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "enabled", + }, + { CORE_OPTION_NAME "_internal_resolution", CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_VAL, @@ -58634,7 +59822,7 @@ struct retro_core_option_v2_definition option_defs_val[] = { "video", { { "1", "disabled" }, - { "2", OPTION_VAL_2_O25_VAL }, + { "2", OPTION_VAL_2_O27_VAL }, { "4", OPTION_VAL_4_VAL }, { "6", OPTION_VAL_6_VAL }, { NULL, NULL }, @@ -59027,7 +60215,7 @@ struct retro_core_option_v2_definition option_defs_val[] = { "vmu", { { "1x", OPTION_VAL_1X_VAL }, - { "2x", OPTION_VAL_2_O25_VAL }, + { "2x", OPTION_VAL_2_O27_VAL }, { "3x", OPTION_VAL_3X_VAL }, { "4x", OPTION_VAL_4_VAL }, { "5x", OPTION_VAL_5X_VAL }, @@ -59178,7 +60366,7 @@ struct retro_core_option_v2_definition option_defs_val[] = { "vmu", { { "1x", OPTION_VAL_1X_VAL }, - { "2x", OPTION_VAL_2_O25_VAL }, + { "2x", OPTION_VAL_2_O27_VAL }, { "3x", OPTION_VAL_3X_VAL }, { "4x", OPTION_VAL_4_VAL }, { "5x", OPTION_VAL_5X_VAL }, @@ -59329,7 +60517,7 @@ struct retro_core_option_v2_definition option_defs_val[] = { "vmu", { { "1x", OPTION_VAL_1X_VAL }, - { "2x", OPTION_VAL_2_O25_VAL }, + { "2x", OPTION_VAL_2_O27_VAL }, { "3x", OPTION_VAL_3X_VAL }, { "4x", OPTION_VAL_4_VAL }, { "5x", OPTION_VAL_5X_VAL }, @@ -59480,7 +60668,7 @@ struct retro_core_option_v2_definition option_defs_val[] = { "vmu", { { "1x", OPTION_VAL_1X_VAL }, - { "2x", OPTION_VAL_2_O25_VAL }, + { "2x", OPTION_VAL_2_O27_VAL }, { "3x", OPTION_VAL_3X_VAL }, { "4x", OPTION_VAL_4_VAL }, { "5x", OPTION_VAL_5X_VAL }, @@ -59638,6 +60826,10 @@ struct retro_core_options_v2 options_val = { #define CORE_OPTION_NAME_ALLOW_SERVICE_BUTTONS_INFO_0_VN NULL #define CORE_OPTION_NAME_FORCE_FREEPLAY_LABEL_VN NULL #define CORE_OPTION_NAME_FORCE_FREEPLAY_INFO_0_VN NULL +#define CORE_OPTION_NAME_EMULATE_BBA_LABEL_VN NULL +#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_VN NULL +#define CORE_OPTION_NAME_UPNP_LABEL_VN NULL +#define CORE_OPTION_NAME_UPNP_INFO_0_VN NULL #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_VN NULL #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_INFO_0_VN NULL #define OPTION_VAL_320X240_VN NULL @@ -59714,7 +60906,7 @@ struct retro_core_options_v2 options_val = { #define CORE_OPTION_NAME_PVR2_FILTERING_INFO_0_VN NULL #define CORE_OPTION_NAME_TEXUPSCALE_LABEL_VN NULL #define CORE_OPTION_NAME_TEXUPSCALE_INFO_0_VN NULL -#define OPTION_VAL_2_O25_VN NULL +#define OPTION_VAL_2_O27_VN NULL #define OPTION_VAL_4_VN NULL #define OPTION_VAL_6_VN NULL #define CORE_OPTION_NAME_TEXUPSCALE_MAX_FILTERED_TEXTURE_SIZE_LABEL_VN NULL @@ -59989,6 +61181,35 @@ struct retro_core_option_v2_definition option_defs_vn[] = { }, "enabled", }, + { + CORE_OPTION_NAME "_emulate_bba", + CORE_OPTION_NAME_EMULATE_BBA_LABEL_VN, + NULL, + CORE_OPTION_NAME_EMULATE_BBA_INFO_0_VN, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "disabled", + }, + { + CORE_OPTION_NAME "_upnp", + CORE_OPTION_NAME_UPNP_LABEL_VN, + NULL, + CORE_OPTION_NAME_UPNP_INFO_0_VN, + NULL, + "system", + { + { "disabled", NULL }, + { "enabled", NULL }, + { NULL, NULL }, + }, + "enabled", + }, + { CORE_OPTION_NAME "_internal_resolution", CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_VN, @@ -60288,7 +61509,7 @@ struct retro_core_option_v2_definition option_defs_vn[] = { "video", { { "1", "disabled" }, - { "2", OPTION_VAL_2_O25_VN }, + { "2", OPTION_VAL_2_O27_VN }, { "4", OPTION_VAL_4_VN }, { "6", OPTION_VAL_6_VN }, { NULL, NULL }, @@ -60681,7 +61902,7 @@ struct retro_core_option_v2_definition option_defs_vn[] = { "vmu", { { "1x", OPTION_VAL_1X_VN }, - { "2x", OPTION_VAL_2_O25_VN }, + { "2x", OPTION_VAL_2_O27_VN }, { "3x", OPTION_VAL_3X_VN }, { "4x", OPTION_VAL_4_VN }, { "5x", OPTION_VAL_5X_VN }, @@ -60832,7 +62053,7 @@ struct retro_core_option_v2_definition option_defs_vn[] = { "vmu", { { "1x", OPTION_VAL_1X_VN }, - { "2x", OPTION_VAL_2_O25_VN }, + { "2x", OPTION_VAL_2_O27_VN }, { "3x", OPTION_VAL_3X_VN }, { "4x", OPTION_VAL_4_VN }, { "5x", OPTION_VAL_5X_VN }, @@ -60983,7 +62204,7 @@ struct retro_core_option_v2_definition option_defs_vn[] = { "vmu", { { "1x", OPTION_VAL_1X_VN }, - { "2x", OPTION_VAL_2_O25_VN }, + { "2x", OPTION_VAL_2_O27_VN }, { "3x", OPTION_VAL_3X_VN }, { "4x", OPTION_VAL_4_VN }, { "5x", OPTION_VAL_5X_VN }, @@ -61134,7 +62355,7 @@ struct retro_core_option_v2_definition option_defs_vn[] = { "vmu", { { "1x", OPTION_VAL_1X_VN }, - { "2x", OPTION_VAL_2_O25_VN }, + { "2x", OPTION_VAL_2_O27_VN }, { "3x", OPTION_VAL_3X_VN }, { "4x", OPTION_VAL_4_VN }, { "5x", OPTION_VAL_5X_VN }, From 6f5f91245bbb7ab33f5d2e1a2c3a9570b1da37cc Mon Sep 17 00:00:00 2001 From: Flyinghead Date: Sat, 28 Jan 2023 18:21:18 +0100 Subject: [PATCH 02/22] windows: use directx 11 by default --- core/cfg/option.h | 6 +++--- core/wsi/switcher.cpp | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/core/cfg/option.h b/core/cfg/option.h index a02ed806b..40c1f8ff3 100644 --- a/core/cfg/option.h +++ b/core/cfg/option.h @@ -415,10 +415,10 @@ extern AudioVolumeOption AudioVolume; class RendererOption : public Option { public: RendererOption() -#ifdef USE_DX9 - : Option("pvr.rend", RenderType::DirectX9) {} -#elif defined(USE_DX11) +#if defined(USE_DX11) : Option("pvr.rend", RenderType::DirectX11) {} +#elif defined(USE_DX9) + : Option("pvr.rend", RenderType::DirectX9) {} #else : Option("pvr.rend", RenderType::OpenGL) {} #endif diff --git a/core/wsi/switcher.cpp b/core/wsi/switcher.cpp index 307c2213e..8d7e4dd23 100644 --- a/core/wsi/switcher.cpp +++ b/core/wsi/switcher.cpp @@ -35,7 +35,6 @@ GraphicsContext *GraphicsContext::instance; void initRenderApi(void *window, void *display) { - bool dx11Failed = false; #ifdef USE_VULKAN if (isVulkan(config::RendererType)) { @@ -48,6 +47,7 @@ void initRenderApi(void *window, void *display) } #endif #ifdef USE_DX11 + bool dx11Failed = false; if (config::RendererType == RenderType::DirectX11 || config::RendererType == RenderType::DirectX11_OIT) { theDX11Context.setWindow(window, display); From 0a27b63584dcbc535ff3dd8948bac62b0d766d44 Mon Sep 17 00:00:00 2001 From: Flyinghead Date: Sat, 28 Jan 2023 18:22:39 +0100 Subject: [PATCH 03/22] aica: remove useless verify on reg access sizes Fixes MINIDUMP-6C --- core/hw/aica/aica.cpp | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/core/hw/aica/aica.cpp b/core/hw/aica/aica.cpp index 6cf21077a..523360675 100644 --- a/core/hw/aica/aica.cpp +++ b/core/hw/aica/aica.cpp @@ -166,27 +166,23 @@ static void AicaInternalDMA() template void WriteAicaReg(u32 reg, T data) { - constexpr size_t sz = sizeof(T); switch (reg) { case SCIPD_addr: - verify(sz!=1); // other bits are read-only - if (data & (1<<5)) + if (data & (1 << 5)) { - SCIPD->SCPU=1; + SCIPD->SCPU = 1; update_arm_interrupts(); } break; case SCIRE_addr: - verify(sz != 1); - SCIPD->full &= ~data /*& SCIEB->full)*/; //is the & SCIEB->full needed ? doesn't seem like it + SCIPD->full &= ~data; update_arm_interrupts(); break; case MCIPD_addr: - verify(sz != 1); // other bits are read-only if (data & (1 << 5)) { @@ -197,7 +193,6 @@ void WriteAicaReg(u32 reg, T data) break; case MCIRE_addr: - verify(sz != 1); MCIPD->full &= ~data; UpdateSh4Ints(); break; From 85a941d6c68dbb94329a8815244994c8e4195e3d Mon Sep 17 00:00:00 2001 From: scribam Date: Sat, 28 Jan 2023 11:22:15 +0100 Subject: [PATCH 04/22] openbsd fixes --- CMakeLists.txt | 7 ++++++- core/network/net_platform.h | 2 +- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index d9849b0d6..a7e877301 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -514,7 +514,12 @@ if(UNIX AND NOT APPLE AND NOT ANDROID) target_compile_definitions(${PROJECT_NAME} PRIVATE EGL_NO_X11) endif() - target_link_libraries(${PROJECT_NAME} PRIVATE ${CMAKE_DL_LIBS} rt) + find_library(LIBRT rt) + if(LIBRT) + target_link_libraries(${PROJECT_NAME} PRIVATE ${LIBRT}) + endif() + + target_link_libraries(${PROJECT_NAME} PRIVATE ${CMAKE_DL_LIBS}) endif() if(ASAN) diff --git a/core/network/net_platform.h b/core/network/net_platform.h index 9c6af695a..a7cde6bf7 100644 --- a/core/network/net_platform.h +++ b/core/network/net_platform.h @@ -89,7 +89,7 @@ static inline void set_tcp_nodelay(sock_t fd) #if defined(_WIN32) struct protoent *tcp_proto = getprotobyname("TCP"); setsockopt(fd, tcp_proto->p_proto, TCP_NODELAY, (const char *)&optval, optlen); -#elif !defined(__APPLE__) && !defined(__FreeBSD__) && !defined(__NetBSD__) +#elif !defined(__APPLE__) && !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined(__OpenBSD__) setsockopt(fd, SOL_TCP, TCP_NODELAY, (const void *)&optval, optlen); #else struct protoent *tcp_proto = getprotobyname("TCP"); From 528235ce9d30c6a28deefec093efe696aa2564fc Mon Sep 17 00:00:00 2001 From: Flyinghead Date: Mon, 30 Jan 2023 13:28:14 +0100 Subject: [PATCH 05/22] jvs: fix kingrt66 instant win with accelerator --- core/hw/maple/maple_jvs.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/core/hw/maple/maple_jvs.cpp b/core/hw/maple/maple_jvs.cpp index 6428156b7..874794a81 100644 --- a/core/hw/maple/maple_jvs.cpp +++ b/core/hw/maple/maple_jvs.cpp @@ -809,7 +809,7 @@ maple_naomi_jamma::maple_naomi_jamma() io_boards.push_back(std::unique_ptr(new jvs_837_13844(1, this))); break; case JVS::DualIOBoards4P: - if (!strcmp(naomi_game_id, "VIRTUA ATHLETE")) + if (settings.content.gameId == "VIRTUA ATHLETE") { // reverse the board order so that P1 is P1 io_boards.push_back(std::unique_ptr(new jvs_837_13551(1, this, 2))); @@ -1712,6 +1712,9 @@ u32 jvs_io_board::handle_jvs_message(u8 *buffer_in, u32 length_in, u8 *buffer_ou axis_value = 0; if (axisDesc.inverted) axis_value = 0xff00u - axis_value; + // this fixes kingrt66 immediate win + if (axis_value == 0x8000) + axis_value = 0x8100; } else { From ee84567c1727b24cde2ef1e0e4b6bedaea114326 Mon Sep 17 00:00:00 2001 From: Flyinghead Date: Mon, 30 Jan 2023 13:34:06 +0100 Subject: [PATCH 06/22] naomi: use gameId instead of naomi_game_id to get current game name naomi_game_id isn't reset if a console game is loaded. settings.content.gameId should be used instead. Issue #901 Fixes MINIDUMP-6G --- core/emulator.cpp | 146 +++++++++++++++------------------ core/network/naomi_network.cpp | 41 +++++---- core/network/picoppp.cpp | 19 +---- 3 files changed, 92 insertions(+), 114 deletions(-) diff --git a/core/emulator.cpp b/core/emulator.cpp index 528f9aea7..56f7d85bb 100644 --- a/core/emulator.cpp +++ b/core/emulator.cpp @@ -48,13 +48,11 @@ settings_t settings; static void loadSpecialSettings() { + std::string& prod_id = settings.content.gameId; + NOTICE_LOG(BOOT, "Game ID is [%s]", prod_id.c_str()); + if (settings.platform.isConsole()) { - std::string prod_id(ip_meta.product_number, sizeof(ip_meta.product_number)); - prod_id = trim_trailing_ws(prod_id); - - NOTICE_LOG(BOOT, "Game ID is [%s]", prod_id.c_str()); - if (ip_meta.isWindowsCE() || config::ForceWindowsCE || prod_id == "T26702N") // PBA Tour Bowling 2001 { @@ -235,127 +233,126 @@ static void loadSpecialSettings() } else if (settings.platform.isArcade()) { - NOTICE_LOG(BOOT, "Game ID is [%s]", naomi_game_id); - if (!strcmp("SAMURAI SPIRITS 6", naomi_game_id)) + if (prod_id == "SAMURAI SPIRITS 6") { - INFO_LOG(BOOT, "Enabling Extra depth scaling for game %s", naomi_game_id); + INFO_LOG(BOOT, "Enabling Extra depth scaling for game %s", prod_id.c_str()); config::ExtraDepthScale.override(1e26f); } - if (!strcmp("COSMIC SMASH IN JAPAN", naomi_game_id)) + if (prod_id == "COSMIC SMASH IN JAPAN") { - INFO_LOG(BOOT, "Enabling translucent depth multipass for game %s", naomi_game_id); + INFO_LOG(BOOT, "Enabling translucent depth multipass for game %s", prod_id.c_str()); config::TranslucentPolygonDepthMask.override(true); } - if (!strcmp(naomi_game_id, "BEACH SPIKERS JAPAN")) + if (prod_id == "BEACH SPIKERS JAPAN") { - INFO_LOG(BOOT, "Enabling RTT Copy to VRAM for game %s", naomi_game_id); + INFO_LOG(BOOT, "Enabling RTT Copy to VRAM for game %s", prod_id.c_str()); config::RenderToTextureBuffer.override(true); } - if (!strcmp(naomi_game_id, "RADIRGY NOA")) + if (prod_id == "RADIRGY NOA") { - INFO_LOG(BOOT, "Disabling Free Play for game %s", naomi_game_id); + INFO_LOG(BOOT, "Disabling Free Play for game %s", prod_id.c_str()); config::ForceFreePlay.override(false); } // Input configuration settings.input.JammaSetup = JVS::Default; - if (!strcmp("DYNAMIC GOLF", naomi_game_id) - || !strcmp("SHOOTOUT POOL", naomi_game_id) - || !strcmp("SHOOTOUT POOL MEDAL", naomi_game_id) - || !strcmp("CRACKIN'DJ ver JAPAN", naomi_game_id) - || !strcmp("CRACKIN'DJ PART2 ver JAPAN", naomi_game_id) - || !strcmp("KICK '4' CASH", naomi_game_id) - || !strcmp("DRIVE", naomi_game_id)) // Waiwai drive + if (prod_id == "DYNAMIC GOLF" + || prod_id == "SHOOTOUT POOL" + || prod_id == "SHOOTOUT POOL MEDAL" + || prod_id == "CRACKIN'DJ ver JAPAN" + || prod_id == "CRACKIN'DJ PART2 ver JAPAN" + || prod_id == "KICK '4' CASH" + || prod_id == "DRIVE") // Waiwai drive { - INFO_LOG(BOOT, "Enabling JVS rotary encoders for game %s", naomi_game_id); + INFO_LOG(BOOT, "Enabling JVS rotary encoders for game %s", prod_id.c_str()); settings.input.JammaSetup = JVS::RotaryEncoders; } - else if (!strcmp("POWER STONE 2 JAPAN", naomi_game_id) // Naomi - || !strcmp("GUILTY GEAR isuka", naomi_game_id)) // AW + else if (prod_id == "POWER STONE 2 JAPAN" // Naomi + || prod_id == "GUILTY GEAR isuka") // AW { - INFO_LOG(BOOT, "Enabling 4-player setup for game %s", naomi_game_id); + INFO_LOG(BOOT, "Enabling 4-player setup for game %s", prod_id.c_str()); settings.input.JammaSetup = JVS::FourPlayers; } - else if (!strcmp("SEGA MARINE FISHING JAPAN", naomi_game_id) - || !strcmp(naomi_game_id, "BASS FISHING SIMULATOR VER.A")) // AW + else if (prod_id == "SEGA MARINE FISHING JAPAN" + || prod_id == "BASS FISHING SIMULATOR VER.A") // AW { - INFO_LOG(BOOT, "Enabling specific JVS setup for game %s", naomi_game_id); + INFO_LOG(BOOT, "Enabling specific JVS setup for game %s", prod_id.c_str()); settings.input.JammaSetup = JVS::SegaMarineFishing; } - else if (!strcmp("RINGOUT 4X4 JAPAN", naomi_game_id) - || !strcmp("VIRTUA ATHLETE", naomi_game_id)) + else if (prod_id == "RINGOUT 4X4 JAPAN" + || prod_id == "VIRTUA ATHLETE") { - INFO_LOG(BOOT, "Enabling specific JVS setup for game %s", naomi_game_id); + INFO_LOG(BOOT, "Enabling specific JVS setup for game %s", prod_id.c_str()); settings.input.JammaSetup = JVS::DualIOBoards4P; } - else if (!strcmp("NINJA ASSAULT", naomi_game_id) - || !strcmp(naomi_game_id, "Sports Shooting USA") // AW - || !strcmp(naomi_game_id, "SEGA CLAY CHALLENGE") // AW - || !strcmp(naomi_game_id, "RANGER MISSION") // AW - || !strcmp(naomi_game_id, "EXTREME HUNTING")) // AW + else if (prod_id == "NINJA ASSAULT" + || prod_id == "Sports Shooting USA" // AW + || prod_id == "SEGA CLAY CHALLENGE" // AW + || prod_id == "RANGER MISSION" // AW + || prod_id == "EXTREME HUNTING") // AW { - INFO_LOG(BOOT, "Enabling lightgun setup for game %s", naomi_game_id); + INFO_LOG(BOOT, "Enabling lightgun setup for game %s", prod_id.c_str()); settings.input.JammaSetup = JVS::LightGun; } - else if (!strcmp("MAZAN", naomi_game_id)) + else if (prod_id == "MAZAN") { - INFO_LOG(BOOT, "Enabling specific JVS setup for game %s", naomi_game_id); + INFO_LOG(BOOT, "Enabling specific JVS setup for game %s", prod_id.c_str()); settings.input.JammaSetup = JVS::Mazan; } - else if (!strcmp(" BIOHAZARD GUN SURVIVOR2", naomi_game_id)) + else if (prod_id == " BIOHAZARD GUN SURVIVOR2") { - INFO_LOG(BOOT, "Enabling specific JVS setup for game %s", naomi_game_id); + INFO_LOG(BOOT, "Enabling specific JVS setup for game %s", prod_id.c_str()); settings.input.JammaSetup = JVS::GunSurvivor; } - else if (!strcmp("WORLD KICKS", naomi_game_id)) + else if (prod_id == "WORLD KICKS") { - INFO_LOG(BOOT, "Enabling specific JVS setup for game %s", naomi_game_id); + INFO_LOG(BOOT, "Enabling specific JVS setup for game %s", prod_id.c_str()); settings.input.JammaSetup = JVS::WorldKicks; } - else if (!strcmp("WORLD KICKS PCB", naomi_game_id)) + else if (prod_id == "WORLD KICKS PCB") { - INFO_LOG(BOOT, "Enabling specific JVS setup for game %s", naomi_game_id); + INFO_LOG(BOOT, "Enabling specific JVS setup for game %s", prod_id.c_str()); settings.input.JammaSetup = JVS::WorldKicksPCB; } - else if (!strcmp("THE TYPING OF THE DEAD", naomi_game_id) - || !strcmp(" LUPIN THE THIRD -THE TYPING-", naomi_game_id) - || !strcmp("------La Keyboardxyu------", naomi_game_id)) + else if (prod_id == "THE TYPING OF THE DEAD" + || prod_id == " LUPIN THE THIRD -THE TYPING-" + || prod_id == "------La Keyboardxyu------") { - INFO_LOG(BOOT, "Enabling keyboard for game %s", naomi_game_id); + INFO_LOG(BOOT, "Enabling keyboard for game %s", prod_id.c_str()); settings.input.JammaSetup = JVS::Keyboard; } - else if (!strcmp("OUTTRIGGER JAPAN", naomi_game_id)) + else if (prod_id == "OUTTRIGGER JAPAN") { - INFO_LOG(BOOT, "Enabling JVS rotary encoders for game %s", naomi_game_id); + INFO_LOG(BOOT, "Enabling JVS rotary encoders for game %s", prod_id.c_str()); settings.input.JammaSetup = JVS::OutTrigger; } - else if (!strcmp(naomi_game_id, "THE MAZE OF THE KINGS") - || !strcmp(naomi_game_id, " CONFIDENTIAL MISSION ---------") - || !strcmp(naomi_game_id, "DEATH CRIMSON OX") - || !strncmp(naomi_game_id, "hotd2", 5) // House of the Dead 2 - || !strcmp(naomi_game_id, "LUPIN THE THIRD -THE SHOOTING-")) + else if (prod_id == "THE MAZE OF THE KINGS" + || prod_id == " CONFIDENTIAL MISSION ---------" + || prod_id == "DEATH CRIMSON OX" + || prod_id.substr(0, 5) == "hotd2" // House of the Dead 2 + || prod_id == "LUPIN THE THIRD -THE SHOOTING-") { - INFO_LOG(BOOT, "Enabling lightgun as analog setup for game %s", naomi_game_id); + INFO_LOG(BOOT, "Enabling lightgun as analog setup for game %s", prod_id.c_str()); settings.input.JammaSetup = JVS::LightGunAsAnalog; } - else if (!strcmp("WAVE RUNNER GP", naomi_game_id)) + else if (prod_id == "WAVE RUNNER GP") { - INFO_LOG(BOOT, "Enabling specific JVS setup for game %s", naomi_game_id); + INFO_LOG(BOOT, "Enabling specific JVS setup for game %s", prod_id.c_str()); settings.input.JammaSetup = JVS::WaveRunnerGP; } - else if (!strcmp(" 18WHEELER", naomi_game_id)) + else if (prod_id == " 18WHEELER") { - INFO_LOG(BOOT, "Enabling specific JVS setup for game %s", naomi_game_id); + INFO_LOG(BOOT, "Enabling specific JVS setup for game %s", prod_id.c_str()); settings.input.JammaSetup = JVS::_18Wheeler; } - else if (!strcmp("INU NO OSANPO", naomi_game_id)) // Dog Walking + else if (prod_id == "INU NO OSANPO") // Dog Walking { - INFO_LOG(BOOT, "Enabling specific JVS setup for game %s", naomi_game_id); + INFO_LOG(BOOT, "Enabling specific JVS setup for game %s", prod_id.c_str()); settings.input.JammaSetup = JVS::DogWalking; } - else if (!strcmp(" TOUCH DE UNOH -------------", naomi_game_id) - || !strcmp("POKASUKA GHOST (JAPANESE)", naomi_game_id)) + else if (prod_id == " TOUCH DE UNOH -------------" + || prod_id == "POKASUKA GHOST (JAPANESE)") { - INFO_LOG(BOOT, "Enabling specific JVS setup for game %s", naomi_game_id); + INFO_LOG(BOOT, "Enabling specific JVS setup for game %s", prod_id.c_str()); settings.input.JammaSetup = JVS::TouchDeUno; } } @@ -692,31 +689,24 @@ void Emulator::requestReset() void loadGameSpecificSettings() { - char *reios_id; if (settings.platform.isConsole()) { - static char _disk_id[sizeof(ip_meta.product_number) + 1]; - reios_disk_id(); - memcpy(_disk_id, ip_meta.product_number, sizeof(ip_meta.product_number)); - reios_id = _disk_id; + settings.content.gameId = std::string(ip_meta.product_number, sizeof(ip_meta.product_number)); + trim_trailing_ws(settings.content.gameId); - char *p = reios_id + strlen(reios_id) - 1; - while (p >= reios_id && *p == ' ') - *p-- = '\0'; - if (*p == '\0') + if (settings.content.gameId.empty()) return; } else { - reios_id = naomi_game_id; + settings.content.gameId = naomi_game_id; } // Default per-game settings loadSpecialSettings(); - settings.content.gameId = reios_id; - config::Settings::instance().setGameId(reios_id); + config::Settings::instance().setGameId(settings.content.gameId); // Reload per-game settings config::Settings::instance().load(true); diff --git a/core/network/naomi_network.cpp b/core/network/naomi_network.cpp index 85d6138cf..88e47f9ad 100644 --- a/core/network/naomi_network.cpp +++ b/core/network/naomi_network.cpp @@ -17,7 +17,6 @@ along with Flycast. If not, see . */ #include "naomi_network.h" -#include "hw/naomi/naomi_cart.h" #include "hw/naomi/naomi_flashrom.h" #include "cfg/option.h" #include "rend/gui.h" @@ -294,81 +293,81 @@ bool NaomiNetwork::receive(const sockaddr_in *addr, const Packet *packet, u32 si // Node 0 is master, nodes 1+ are slave void SetNaomiNetworkConfig(int node) { - if (!strcmp("ALIEN FRONT", naomi_game_id)) + const std::string& gameId = settings.content.gameId; + if (gameId == "ALIEN FRONT") { // no way to disable the network write_naomi_eeprom(0x3f, node == 0 ? 0 : 1); } - else if (!strcmp("MOBILE SUIT GUNDAM JAPAN", naomi_game_id) // gundmct - || !strcmp("MOBILE SUIT GUNDAM DELUXE JAPAN", naomi_game_id)) // gundmxgd + else if (gameId == "MOBILE SUIT GUNDAM JAPAN" // gundmct + || gameId == "MOBILE SUIT GUNDAM DELUXE JAPAN") // gundmxgd { write_naomi_eeprom(0x38, node == -1 ? 2 : node == 0 ? 0 : 1); } - else if (!strcmp(" BIOHAZARD GUN SURVIVOR2", naomi_game_id)) + else if (gameId == " BIOHAZARD GUN SURVIVOR2") { // FIXME need default flash write_naomi_flash(0x21c, node == 0 ? 0 : 1); // CPU ID - 1 write_naomi_flash(0x22a, node == -1 ? 0 : 1); // comm link on } - else if (!strcmp("HEAVY METAL JAPAN", naomi_game_id)) + else if (gameId == "HEAVY METAL JAPAN") { write_naomi_eeprom(0x31, node == -1 ? 0 : node == 0 ? 1 : 2); } - else if (!strcmp("OUTTRIGGER JAPAN", naomi_game_id)) + else if (gameId == "OUTTRIGGER JAPAN") { // FIXME need default flash write_naomi_flash(0x21a, node == -1 ? 0 : 1); // network on write_naomi_flash(0x21b, node); // node id } - else if (!strcmp("SLASHOUT JAPAN VERSION", naomi_game_id)) + else if (gameId == "SLASHOUT JAPAN VERSION") { write_naomi_eeprom(0x30, node + 1); } - else if (!strcmp("SPAWN JAPAN", naomi_game_id)) + else if (gameId == "SPAWN JAPAN") { write_naomi_eeprom(0x44, node == -1 ? 0 : 1); // network on write_naomi_eeprom(0x30, node <= 0 ? 1 : 2); // node id } - else if (!strcmp("SPIKERS BATTLE JAPAN VERSION", naomi_game_id)) + else if (gameId == "SPIKERS BATTLE JAPAN VERSION") { write_naomi_eeprom(0x30, node == -1 ? 0 : node == 0 ? 1 : 2); } - else if (!strcmp("VIRTUAL-ON ORATORIO TANGRAM", naomi_game_id)) + else if (gameId == "VIRTUAL-ON ORATORIO TANGRAM") { write_naomi_eeprom(0x45, node == -1 ? 3 : node == 0 ? 0 : 1); write_naomi_eeprom(0x47, node == 0 ? 0 : 1); } - else if (!strcmp("WAVE RUNNER GP", naomi_game_id)) + else if (gameId == "WAVE RUNNER GP") { write_naomi_eeprom(0x33, node); write_naomi_eeprom(0x35, node == -1 ? 2 : node == 0 ? 0 : 1); } - else if (!strcmp("WORLD KICKS", naomi_game_id)) + else if (gameId == "WORLD KICKS") { // FIXME need default flash write_naomi_flash(0x224, node == -1 ? 0 : 1); // network on write_naomi_flash(0x220, node == 0 ? 0 : 1); // node id } - else if (!strcmp("CLUB KART IN JAPAN", naomi_game_id)) + else if (gameId == "CLUB KART IN JAPAN") { write_naomi_eeprom(0x34, node + 1); // also 03 = satellite } - else if (!strcmp("INITIAL D", naomi_game_id) - || !strcmp("INITIAL D Ver.2", naomi_game_id) - || !strcmp("INITIAL D Ver.3", naomi_game_id)) + else if (gameId == "INITIAL D" + || gameId == "INITIAL D Ver.2" + || gameId == "INITIAL D Ver.3") { write_naomi_eeprom(0x34, node == -1 ? 0x02 : node == 0 ? 0x12 : 0x22); } - else if (!strcmp("THE KING OF ROUTE66", naomi_game_id)) + else if (gameId == "THE KING OF ROUTE66") { - // FIXME no input when linked write_naomi_eeprom(0x3d, node == -1 ? 0x44 : node == 0 ? 0x54 : 0x64); } - else if (!strcmp("MAXIMUM SPEED", naomi_game_id)) + else if (gameId == "MAXIMUM SPEED") { configure_maxspeed_flash(node != -1, node == 0); } @@ -386,7 +385,7 @@ bool NaomiNetworkSupported() if (!config::NetworkEnable) return false; for (auto game : games) - if (!strcmp(game, naomi_game_id)) + if (settings.content.gameId == game) return true; return false; diff --git a/core/network/picoppp.cpp b/core/network/picoppp.cpp index 3330cd526..d15378b29 100644 --- a/core/network/picoppp.cpp +++ b/core/network/picoppp.cpp @@ -48,8 +48,6 @@ extern "C" { #include "types.h" #include "picoppp.h" #include "miniupnp.h" -#include "reios/reios.h" -#include "hw/naomi/naomi_cart.h" #include "cfg/option.h" #include "emulator.h" @@ -843,24 +841,14 @@ static void *pico_thread_func(void *) // Find the network ports for the current game const GamePortList *ports = nullptr; - std::string gameId; - if (settings.platform.isConsole()) - { - gameId = std::string(ip_meta.product_number, sizeof(ip_meta.product_number)); - gameId = trim_trailing_ws(gameId); - } - else - { - gameId = naomi_game_id; - } for (u32 i = 0; i < ARRAY_SIZE(GamesPorts) && ports == nullptr; i++) { const auto& game = GamesPorts[i]; for (u32 j = 0; j < ARRAY_SIZE(game.gameId) && game.gameId[j] != nullptr; j++) { - if (gameId == game.gameId[j]) + if (settings.content.gameId == game.gameId[j]) { - NOTICE_LOG(MODEM, "Found network ports for game %s", gameId.c_str()); + NOTICE_LOG(MODEM, "Found network ports for game %s", settings.content.gameId.c_str()); ports = &game; break; } @@ -869,7 +857,8 @@ static void *pico_thread_func(void *) // Web TV requires the VJ compression option, which picotcp doesn't support. // This hack allows WebTV to connect although the correct fix would // be to implement VJ compression. - dont_reject_opt_vj_hack = gameId == "6107117" || gameId == "610-7390" || gameId == "610-7391" ? 1 : 0; + dont_reject_opt_vj_hack = settings.content.gameId == "6107117" + || settings.content.gameId == "610-7390" || settings.content.gameId == "610-7391" ? 1 : 0; std::future upnp = std::async(std::launch::async, [ports]() { From 0305904873a051e9955f9de1f9084de155b2619e Mon Sep 17 00:00:00 2001 From: Flyinghead Date: Mon, 30 Jan 2023 13:40:35 +0100 Subject: [PATCH 07/22] force NTSC for some games --- core/emulator.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/core/emulator.cpp b/core/emulator.cpp index 56f7d85bb..844c30c24 100644 --- a/core/emulator.cpp +++ b/core/emulator.cpp @@ -214,7 +214,9 @@ static void loadSpecialSettings() config::UseReios.override(false); } if (prod_id == "T-9707N" // San Francisco Rush 2049 (US) - || prod_id == "MK-51146") // Sega Smash Pack - Volume 1 + || prod_id == "MK-51146" // Sega Smash Pack - Volume 1 + || prod_id == "T-9702D-50" // Hydro Thunder (PAL) + || prod_id == "T41601N") // Elemental Gimmick Gear (US) { NOTICE_LOG(BOOT, "Forcing NTSC broadcasting"); config::Broadcast.override(0); From 02a002d55b1117775b9b6cabec12010c06277a58 Mon Sep 17 00:00:00 2001 From: scribam Date: Tue, 3 Jan 2023 23:15:47 +0100 Subject: [PATCH 08/22] sdl: use target SDL2main --- CMakeLists.txt | 6 ++++++ core/windows/winmain.cpp | 13 +++++++++++-- 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a7e877301..150508167 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -368,6 +368,12 @@ if(NOT LIBRETRO) set(SDL2_FOUND 1) endif() + # SDL2::SDL2main may or may not be available. It is e.g. required by Windows GUI applications + if(TARGET SDL2::SDL2main) + # It has an implicit dependency on SDL2 functions, so it MUST be added before SDL2::SDL2 (or SDL2::SDL2-static) + target_link_libraries(${PROJECT_NAME} PRIVATE SDL2::SDL2main) + endif() + if((APPLE OR WIN32) AND TARGET SDL2::SDL2-static) target_link_libraries(${PROJECT_NAME} PRIVATE SDL2::SDL2-static) elseif(TARGET SDL2::SDL2) diff --git a/core/windows/winmain.cpp b/core/windows/winmain.cpp index 68fa1e41b..734c24411 100644 --- a/core/windows/winmain.cpp +++ b/core/windows/winmain.cpp @@ -51,9 +51,14 @@ #endif #include "profiler/fc_profiler.h" +#if defined(USE_SDL) || defined(DEF_CONSOLE) +#include +#endif + #include #include +#if !defined(USE_SDL) && !defined(DEF_CONSOLE) static PCHAR* commandLineToArgvA( PCHAR CmdLine, @@ -147,6 +152,7 @@ static PCHAR* (*_argc) = argc; return argv; } +#endif #ifndef USE_SDL @@ -844,10 +850,12 @@ int remove(char const *name) } } +#endif -extern "C" int SDL_main(int argc, char* argv[]) +#ifdef USE_SDL +int main(int argc, char* argv[]) { - + nowide::args _(argc, argv); #elif defined(DEF_CONSOLE) // DEF_CONSOLE allows you to override linker subsystem and therefore default console @@ -856,6 +864,7 @@ extern "C" int SDL_main(int argc, char* argv[]) int main(int argc, char** argv) { + nowide::args _(argc, argv); #else #pragma comment(linker, "/subsystem:windows") From 5875eda4d0f34fd334de2c00ff42efc7913e3bc2 Mon Sep 17 00:00:00 2001 From: Flyinghead Date: Tue, 31 Jan 2023 12:58:43 +0100 Subject: [PATCH 09/22] game id of console games wasn't trimmed regression introduced by ee84567c1727b24cde2ef1e0e4b6bedaea114326 --- core/emulator.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/core/emulator.cpp b/core/emulator.cpp index 844c30c24..d6d1537a5 100644 --- a/core/emulator.cpp +++ b/core/emulator.cpp @@ -694,8 +694,7 @@ void loadGameSpecificSettings() if (settings.platform.isConsole()) { reios_disk_id(); - settings.content.gameId = std::string(ip_meta.product_number, sizeof(ip_meta.product_number)); - trim_trailing_ws(settings.content.gameId); + settings.content.gameId = trim_trailing_ws(std::string(ip_meta.product_number, sizeof(ip_meta.product_number))); if (settings.content.gameId.empty()) return; From 6b2063b06fe6dc5b40f281e1d57dd5b7d1c78a9a Mon Sep 17 00:00:00 2001 From: Flyinghead Date: Wed, 1 Feb 2023 17:55:24 +0100 Subject: [PATCH 10/22] GGPO fixes Memwatchers weren't properly reset after a ggpo session. Race condition when stopping if GGPO restarts the cpu for a new frame. The emu thread might still run some rollback frames before stopping, so the emu state must be updated only after ggpo is stopped. Fixes MINIDUMP-6P Don't autosavestate when GGPO is on Really disable renderer during GGPO advance frame Don't stop the sh4 after render (single threaded) when GGPO is on android: Don't restart when unpaused if online --- core/emulator.cpp | 13 ++++++-- core/hw/mem/mem_watch.h | 2 -- core/hw/pvr/Renderer_if.cpp | 31 ++++++++++++++----- core/hw/pvr/Renderer_if.h | 2 ++ core/hw/pvr/ta_ctx.cpp | 4 +-- core/network/ggpo.cpp | 6 ++-- core/nullDC.cpp | 3 ++ core/rend/gui.cpp | 20 +++--------- core/rend/vulkan/vulkan_context.h | 2 +- core/types.h | 1 - .../flycast/src/main/jni/src/Android.cpp | 27 +++++++++------- 11 files changed, 64 insertions(+), 47 deletions(-) diff --git a/core/emulator.cpp b/core/emulator.cpp index d6d1537a5..28feefee7 100644 --- a/core/emulator.cpp +++ b/core/emulator.cpp @@ -365,8 +365,8 @@ void dc_reset(bool hard) NetworkHandshake::term(); if (hard) { - _vmem_unprotect_vram(0, VRAM_SIZE); - memwatch::elanWatcher.unprotectMem(0, 0xffffffff); + memwatch::unprotect(); + memwatch::reset(); } sh4_sched_reset(hard); pvr::reset(hard); @@ -656,9 +656,14 @@ void Emulator::term() } } -void Emulator::stop() { +void Emulator::stop() +{ if (state != Running) return; + // Avoid race condition with GGPO restarting the sh4 for a new frame + if (config::GGPOEnable) + NetworkHandshake::term(); + // must be updated after GGPO is stopped since it may run some rollback frames state = Loaded; sh4_cpu.Stop(); if (config::ThreadedRendering) @@ -686,6 +691,8 @@ void Emulator::stop() { void Emulator::requestReset() { resetRequested = true; + if (config::GGPOEnable) + NetworkHandshake::term(); sh4_cpu.Stop(); } diff --git a/core/hw/mem/mem_watch.h b/core/hw/mem/mem_watch.h index c102617e3..c47b710dd 100644 --- a/core/hw/mem/mem_watch.h +++ b/core/hw/mem/mem_watch.h @@ -215,8 +215,6 @@ inline static void protect() inline static void unprotect() { - if (!config::GGPOEnable) - return; vramWatcher.unprotect(); ramWatcher.unprotect(); aramWatcher.unprotect(); diff --git a/core/hw/pvr/Renderer_if.cpp b/core/hw/pvr/Renderer_if.cpp index 3ad998fa9..afd9cd035 100644 --- a/core/hw/pvr/Renderer_if.cpp +++ b/core/hw/pvr/Renderer_if.cpp @@ -8,6 +8,7 @@ #include "hw/holly/holly_intc.h" #include "hw/sh4/sh4_if.h" #include "profiler/fc_profiler.h" +#include "network/ggpo.h" #include #include @@ -32,6 +33,7 @@ u32 fb_watch_addr_end; bool fb_dirty; static bool pend_rend; +static bool rendererEnabled = true; TA_context* _pvrrc; @@ -230,7 +232,7 @@ private: if (renderer->Present()) { presented = true; - if (!config::ThreadedRendering) + if (!config::ThreadedRendering && !ggpo::active()) sh4_cpu.Stop(); #ifdef LIBRETRO retro_rend_present(); @@ -311,6 +313,7 @@ static void rend_create_renderer() bool rend_init_renderer() { + rendererEnabled = true; if (renderer == nullptr) rend_create_renderer(); bool success = renderer->Init(); @@ -340,6 +343,7 @@ void rend_reset() FrameCount = 1; fb_w_cur = 1; pvrQueue.reset(); + rendererEnabled = true; } void rend_start_render() @@ -426,12 +430,15 @@ void rend_vblank() if (config::EmulateFramebuffer || (!render_called && fb_dirty && FB_R_CTRL.fb_enable)) { - FramebufferInfo fbInfo; - fbInfo.update(); - pvrQueue.enqueue(PvrMessageQueue::RenderFramebuffer, fbInfo); - pvrQueue.enqueue(PvrMessageQueue::Present); - if (!config::EmulateFramebuffer) - DEBUG_LOG(PVR, "Direct framebuffer write detected"); + if (rend_is_enabled()) + { + FramebufferInfo fbInfo; + fbInfo.update(); + pvrQueue.enqueue(PvrMessageQueue::RenderFramebuffer, fbInfo); + pvrQueue.enqueue(PvrMessageQueue::Present); + if (!config::EmulateFramebuffer) + DEBUG_LOG(PVR, "Direct framebuffer write detected"); + } fb_dirty = false; } render_called = false; @@ -470,7 +477,7 @@ void rend_set_fb_write_addr(u32 fb_w_sof1) void rend_swap_frame(u32 fb_r_sof) { - if (!config::EmulateFramebuffer && fb_r_sof == fb_w_cur) + if (!config::EmulateFramebuffer && fb_r_sof == fb_w_cur && rend_is_enabled()) pvrQueue.enqueue(PvrMessageQueue::Present); } @@ -490,6 +497,14 @@ void rend_start_rollback() vramRollback.Wait(); } +void rend_enable_renderer(bool enabled) { + rendererEnabled = enabled; +} + +bool rend_is_enabled() { + return rendererEnabled; +} + void rend_serialize(Serializer& ser) { ser << fb_w_cur; diff --git a/core/hw/pvr/Renderer_if.h b/core/hw/pvr/Renderer_if.h index 009da803c..e1ee747f3 100644 --- a/core/hw/pvr/Renderer_if.h +++ b/core/hw/pvr/Renderer_if.h @@ -17,6 +17,8 @@ void rend_reset(); void rend_disable_rollback(); void rend_start_rollback(); void rend_allow_rollback(); +void rend_enable_renderer(bool enabled); +bool rend_is_enabled(); void rend_serialize(Serializer& ser); void rend_deserialize(Deserializer& deser); diff --git a/core/hw/pvr/ta_ctx.cpp b/core/hw/pvr/ta_ctx.cpp index bf98848e8..152c6678f 100644 --- a/core/hw/pvr/ta_ctx.cpp +++ b/core/hw/pvr/ta_ctx.cpp @@ -50,7 +50,7 @@ bool QueueRender(TA_context* ctx) { verify(ctx != 0); - bool skipFrame = settings.disableRenderer; + bool skipFrame = !rend_is_enabled(); if (!skipFrame) { RenderCount++; @@ -67,7 +67,7 @@ bool QueueRender(TA_context* ctx) if (skipFrame || rqueue) { tactx_Recycle(ctx); - if (!settings.disableRenderer) + if (rend_is_enabled()) fskip++; return false; } diff --git a/core/network/ggpo.cpp b/core/network/ggpo.cpp index 76b90169a..a3020f861 100644 --- a/core/network/ggpo.cpp +++ b/core/network/ggpo.cpp @@ -255,14 +255,14 @@ static bool advance_frame(int) { INFO_LOG(NETWORK, "advance_frame"); settings.aica.muteAudio = true; - settings.disableRenderer = true; + rend_enable_renderer(false); inRollback = true; emu.run(); ggpo_advance_frame(ggpoSession); settings.aica.muteAudio = false; - settings.disableRenderer = false; + rend_enable_renderer(true); inRollback = false; _endOfFrame = false; @@ -597,6 +597,8 @@ void stopSession() ggpoSession = nullptr; miniupnp.Term(); emu.setNetworkState(false); + memwatch::unprotect(); + memwatch::reset(); } void getInput(MapleInputState inputState[4]) diff --git a/core/nullDC.cpp b/core/nullDC.cpp index 12fa24baf..f2bae9f42 100644 --- a/core/nullDC.cpp +++ b/core/nullDC.cpp @@ -86,6 +86,9 @@ void flycast_term() void dc_savestate(int index) { + if (settings.network.online) + return; + Serializer ser; dc_serialize(ser); diff --git a/core/rend/gui.cpp b/core/rend/gui.cpp index 3f6a229cc..fec896c08 100644 --- a/core/rend/gui.cpp +++ b/core/rend/gui.cpp @@ -2591,20 +2591,11 @@ static void gui_network_start() ImGui::Text("Starting..."); try { if (networkStatus.get()) - { gui_state = GuiState::Closed; - } else - { - emu.unloadGame(); - gui_state = GuiState::Main; - } + gui_stop_game(); } catch (const FlycastException& e) { - if (NetworkHandshake::instance != nullptr) - NetworkHandshake::instance->stop(); - emu.unloadGame(); - gui_error(e.what()); - gui_state = GuiState::Main; + gui_stop_game(e.what()); } } else @@ -2626,8 +2617,7 @@ static void gui_network_start() } catch (const FlycastException& e) { } - emu.unloadGame(); - gui_state = GuiState::Main; + gui_stop_game(); } ImGui::PopStyleVar(); @@ -2685,12 +2675,10 @@ static void gui_display_loadscreen() } } catch (const FlycastException& ex) { ERROR_LOG(BOOT, "%s", ex.what()); - gui_error(ex.what()); #ifdef TEST_AUTOMATION die("Game load failed"); #endif - emu.unloadGame(); - gui_state = GuiState::Main; + gui_stop_game(ex.what()); } ImGui::PopStyleVar(); diff --git a/core/rend/vulkan/vulkan_context.h b/core/rend/vulkan/vulkan_context.h index d3f864918..620632f08 100644 --- a/core/rend/vulkan/vulkan_context.h +++ b/core/rend/vulkan/vulkan_context.h @@ -122,7 +122,7 @@ public: nameInfo.objectType = objectType; nameInfo.object = object; nameInfo.pObjectName = name.c_str(); - vkDebugMarkerSetObjectNameEXT((VkDevice)*device, &nameInfo); + VULKAN_HPP_DEFAULT_DISPATCHER.vkDebugMarkerSetObjectNameEXT((VkDevice)*device, &nameInfo); } #endif constexpr static int VENDOR_AMD = 0x1022; diff --git a/core/types.h b/core/types.h index 99d6af47e..26668ade9 100644 --- a/core/types.h +++ b/core/types.h @@ -301,7 +301,6 @@ struct settings_t u8 vmu[16]; } md5; } network; - bool disableRenderer; }; extern settings_t settings; diff --git a/shell/android-studio/flycast/src/main/jni/src/Android.cpp b/shell/android-studio/flycast/src/main/jni/src/Android.cpp index 170994738..48ad3a814 100644 --- a/shell/android-studio/flycast/src/main/jni/src/Android.cpp +++ b/shell/android-studio/flycast/src/main/jni/src/Android.cpp @@ -341,14 +341,19 @@ extern "C" JNIEXPORT void JNICALL Java_com_reicast_emulator_emu_JNIdc_setupMic(J extern "C" JNIEXPORT void JNICALL Java_com_reicast_emulator_emu_JNIdc_pause(JNIEnv *env,jobject obj) { - if (emu.running()) - { - stopEmu(); - game_started = true; // restart when resumed - if (config::AutoSaveState) - dc_savestate(config::SavestateSlot); - } - gui_save(); + if (config::GGPOEnable) + { + stopEmu(); + gui_stop_game(); + } + else if (emu.running()) + { + stopEmu(); + game_started = true; // restart when resumed + if (config::AutoSaveState) + dc_savestate(config::SavestateSlot); + } + gui_save(); } extern "C" JNIEXPORT void JNICALL Java_com_reicast_emulator_emu_JNIdc_resume(JNIEnv *env,jobject obj) @@ -359,10 +364,8 @@ extern "C" JNIEXPORT void JNICALL Java_com_reicast_emulator_emu_JNIdc_resume(JNI extern "C" JNIEXPORT void JNICALL Java_com_reicast_emulator_emu_JNIdc_stop(JNIEnv *env,jobject obj) { - stopEmu(); - emu.unloadGame(); - gui_state = GuiState::Main; - game_started = false; + stopEmu(); + gui_stop_game(); } static void *render_thread_func(void *) From 6cfbdf658662abb4422ada4ce3c04b1ff9dc9244 Mon Sep 17 00:00:00 2001 From: Flyinghead Date: Wed, 1 Feb 2023 18:05:37 +0100 Subject: [PATCH 11/22] ui: imguiDriver may be null if renderer/context fails to reinit Force a reinit in this case Fixes MINIDUMP-6R --- core/rend/mainui.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/core/rend/mainui.cpp b/core/rend/mainui.cpp index dcfa73a3c..884752678 100644 --- a/core/rend/mainui.cpp +++ b/core/rend/mainui.cpp @@ -95,7 +95,10 @@ void mainui_loop() fc_profiler::startThread("main"); mainui_rend_frame(); - imguiDriver->present(); + if (imguiDriver == nullptr) + forceReinit = true; + else + imguiDriver->present(); if (config::RendererType != currentRenderer || forceReinit) { From f0e4574132bfc13e9bd089cf290f65c9d2c0c2e0 Mon Sep 17 00:00:00 2001 From: Flyinghead Date: Fri, 3 Feb 2023 11:03:08 +0100 Subject: [PATCH 12/22] aica arm: stop the cpu if setting an illegal mode instead of crashing Fixes MINIDUMP-70 --- core/hw/arm7/arm7.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/core/hw/arm7/arm7.cpp b/core/hw/arm7/arm7.cpp index 531f48666..8c1c0f212 100644 --- a/core/hw/arm7/arm7.cpp +++ b/core/hw/arm7/arm7.cpp @@ -209,8 +209,9 @@ static void CPUSwitchMode(int mode, bool saveState) reg[RN_SPSR].I = reg[SPSR_UND].I; break; default: + // An illegal mode causes the processor to enter an unrecoverable state ERROR_LOG(AICA_ARM, "Unsupported ARM mode %02x", mode); - die("Arm error.."); + Arm7Enabled = false; break; } armMode = mode; From bfdab4db2022d04c27e0558a40c24ae5884c09ad Mon Sep 17 00:00:00 2001 From: Flyinghead Date: Fri, 3 Feb 2023 11:07:21 +0100 Subject: [PATCH 13/22] pvr: add dummy sorted triangle to signal that per triangle is in use Avoids crash when sorted triangle list is empty and renderer uses wrong index values --- core/hw/pvr/ta_util.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/core/hw/pvr/ta_util.cpp b/core/hw/pvr/ta_util.cpp index 375a069a6..da8a1c995 100644 --- a/core/hw/pvr/ta_util.cpp +++ b/core/hw/pvr/ta_util.cpp @@ -180,6 +180,11 @@ void sortTriangles(rend_context& ctx, RenderPass& pass, const RenderPass& previo SortedTriangle& last = ctx.sortedTriangles.back(); last.count = idxSize + triangleList.size() * 3 - last.first; } + else + { + // Add a dummy one to signal we're using sorted triangles + ctx.sortedTriangles.push_back({ pp_base, 0, 0}); + } pass.sorted_tr_count = ctx.sortedTriangles.size(); #if PRINT_SORT_STATS From 90e9f70a1adfbdf1bf7233e2cc32d37a135d57b2 Mon Sep 17 00:00:00 2001 From: Flyinghead Date: Fri, 3 Feb 2023 11:19:41 +0100 Subject: [PATCH 14/22] vk: fix resizing on wayland. validation errors with framebuffer render wayland doesn't return the current surface dimensions in getSurfaceCapabilities so we defaulted to 640x480. Instead use the current display dimension as set by SDL. Issue #648 Issue #898 (partial fix) Vulkan validation errors when doing direct framebuffer rendering if fb slots are skipped, since the corresponding fence isn't waited on. Instead use an independent index to use them in sequential order. --- core/rend/vulkan/vulkan_context.cpp | 6 +++--- core/rend/vulkan/vulkan_renderer.h | 13 ++++++++----- core/sdl/sdl.cpp | 24 +++++++++++++++++++++++- 3 files changed, 34 insertions(+), 9 deletions(-) diff --git a/core/rend/vulkan/vulkan_context.cpp b/core/rend/vulkan/vulkan_context.cpp index e970bd323..ac9c6d02f 100644 --- a/core/rend/vulkan/vulkan_context.cpp +++ b/core/rend/vulkan/vulkan_context.cpp @@ -578,9 +578,9 @@ void VulkanContext::CreateSwapChain() vk::Extent2D swapchainExtent; if (surfaceCapabilities.currentExtent.width == std::numeric_limits::max()) { - // If the surface size is undefined, the size is set to the size of the images requested. - swapchainExtent.width = std::min(std::max(640u, surfaceCapabilities.minImageExtent.width), surfaceCapabilities.maxImageExtent.width); - swapchainExtent.height = std::min(std::max(480u, surfaceCapabilities.minImageExtent.height), surfaceCapabilities.maxImageExtent.height); + // If the surface size is undefined, use the current display size + swapchainExtent.width = std::min(std::max((u32)settings.display.width, surfaceCapabilities.minImageExtent.width), surfaceCapabilities.maxImageExtent.width); + swapchainExtent.height = std::min(std::max((u32)settings.display.height, surfaceCapabilities.minImageExtent.height), surfaceCapabilities.maxImageExtent.height); } else { diff --git a/core/rend/vulkan/vulkan_renderer.h b/core/rend/vulkan/vulkan_renderer.h index 8adb1729a..d9c7b83b9 100644 --- a/core/rend/vulkan/vulkan_renderer.h +++ b/core/rend/vulkan/vulkan_renderer.h @@ -95,6 +95,7 @@ public: texCommandPool.Term(); fbCommandPool.Term(); framebufferTextures.clear(); + framebufferTexIndex = 0; shaderManager.term(); } @@ -146,8 +147,6 @@ public: CheckFogTexture(); CheckPaletteTexture(); texCommandBuffer.end(); - if (!ctx->rend.isRTT) - framebufferRendered = false; } else { @@ -215,9 +214,11 @@ public: void RenderFramebuffer(const FramebufferInfo& info) override { + framebufferTexIndex = (framebufferTexIndex + 1) % GetContext()->GetSwapChainSize(); + if (framebufferTextures.size() != GetContext()->GetSwapChainSize()) framebufferTextures.resize(GetContext()->GetSwapChainSize()); - std::unique_ptr& curTexture = framebufferTextures[GetContext()->GetCurrentImageIndex()]; + std::unique_ptr& curTexture = framebufferTextures[framebufferTexIndex]; if (!curTexture) { curTexture = std::unique_ptr(new Texture()); @@ -303,13 +304,14 @@ protected: bool presentFramebuffer() { - if (GetContext()->GetCurrentImageIndex() >= (int)framebufferTextures.size()) + if (framebufferTexIndex >= (int)framebufferTextures.size()) return false; - Texture *fbTexture = framebufferTextures[GetContext()->GetCurrentImageIndex()].get(); + Texture *fbTexture = framebufferTextures[framebufferTexIndex].get(); if (fbTexture == nullptr) return false; GetContext()->PresentFrame(fbTexture->GetImage(), fbTexture->GetImageView(), fbTexture->getSize(), getDCFramebufferAspectRatio()); + framebufferRendered = false; return true; } @@ -318,6 +320,7 @@ protected: std::unique_ptr paletteTexture; CommandPool texCommandPool; std::vector> framebufferTextures; + int framebufferTexIndex = 0; OSDPipeline osdPipeline; std::unique_ptr vjoyTexture; std::unique_ptr osdBuffer; diff --git a/core/sdl/sdl.cpp b/core/sdl/sdl.cpp index 0a9074acd..7c93bf6fa 100644 --- a/core/sdl/sdl.cpp +++ b/core/sdl/sdl.cpp @@ -7,7 +7,7 @@ #include #endif #include -#if defined(__APPLE__) && defined(USE_VULKAN) +#if defined(USE_VULKAN) #include #endif #endif @@ -29,6 +29,7 @@ #endif static SDL_Window* window = NULL; +static u32 windowFlags; #ifdef TARGET_PANDORA #define WINDOW_WIDTH 800 @@ -291,6 +292,26 @@ void input_sdl_handle() || event.window.event == SDL_WINDOWEVENT_MINIMIZED || event.window.event == SDL_WINDOWEVENT_MAXIMIZED) { + if (event.window.event == SDL_WINDOWEVENT_SIZE_CHANGED + && event.window.data1 != 0 && event.window.data2 != 0) + { + settings.display.width = event.window.data1; + settings.display.height = event.window.data2; + } + else + { +#ifdef USE_VULKAN + if (windowFlags & SDL_WINDOW_VULKAN) + SDL_Vulkan_GetDrawableSize(window, &settings.display.width, &settings.display.height); + else +#endif +#ifdef USE_OPENGL + if (windowFlags & SDL_WINDOW_OPENGL) + SDL_GL_GetDrawableSize(window, &settings.display.width, &settings.display.height); + else +#endif + SDL_GetWindowSize(window, &settings.display.width, &settings.display.height); + } GraphicsContext::Instance()->resize(); } else if (event.window.event == SDL_WINDOWEVENT_FOCUS_GAINED) @@ -472,6 +493,7 @@ HWND getNativeHwnd() bool sdl_recreate_window(u32 flags) { + windowFlags = flags; #ifdef _WIN32 //Enable HiDPI mode in Windows typedef enum PROCESS_DPI_AWARENESS { From 6e940e4d08a4f6483c616d2bd9c76bc93e5b9ea7 Mon Sep 17 00:00:00 2001 From: Flyinghead Date: Fri, 3 Feb 2023 11:34:58 +0100 Subject: [PATCH 15/22] ggpo: move endOfFrame() call back to start render Naomi2 TA context geometry for the current frame is lost when rollbacking during vblank in because it hasn't been queued for render yet. Fixes black screen after GGPO rollback for Naomi 2 games --- core/emulator.cpp | 4 +++- core/hw/pvr/Renderer_if.cpp | 3 +++ core/hw/pvr/spg.cpp | 1 - 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/core/emulator.cpp b/core/emulator.cpp index 28feefee7..305ffeb7f 100644 --- a/core/emulator.cpp +++ b/core/emulator.cpp @@ -928,7 +928,9 @@ void Emulator::vblank() if (sh4_sched_now64() - startTime <= 10000000) return; renderTimeout = true; - if (!ggpo::active() && !config::ThreadedRendering) + if (ggpo::active()) + ggpo::endOfFrame(); + else if (!config::ThreadedRendering) sh4_cpu.Stop(); } diff --git a/core/hw/pvr/Renderer_if.cpp b/core/hw/pvr/Renderer_if.cpp index afd9cd035..a4efb1732 100644 --- a/core/hw/pvr/Renderer_if.cpp +++ b/core/hw/pvr/Renderer_if.cpp @@ -395,6 +395,9 @@ void rend_start_render() ctx->rend.fog_clamp_min = FOG_CLAMP_MIN; ctx->rend.fog_clamp_max = FOG_CLAMP_MAX; + if (!ctx->rend.isRTT) + ggpo::endOfFrame(); + if (QueueRender(ctx)) { palette_update(); diff --git a/core/hw/pvr/spg.cpp b/core/hw/pvr/spg.cpp index da0a59056..2192ee06e 100755 --- a/core/hw/pvr/spg.cpp +++ b/core/hw/pvr/spg.cpp @@ -113,7 +113,6 @@ static int spg_line_sched(int tag, int cycles, int jitter) SB_MDST = 0; } asic_RaiseInterrupt(holly_SCANINT1); - ggpo::endOfFrame(); } if (SPG_VBLANK_INT.vblank_out_interrupt_line_number == prv_cur_scanline) From 962b0bb65ce6788bd91abc8a69fa9542b5b21c05 Mon Sep 17 00:00:00 2001 From: scribam Date: Thu, 2 Feb 2023 19:47:29 +0100 Subject: [PATCH 16/22] android: update android gradle plugin to version 7.4.1 --- shell/android-studio/build.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/shell/android-studio/build.gradle b/shell/android-studio/build.gradle index ddefa1517..3cb32a1c0 100644 --- a/shell/android-studio/build.gradle +++ b/shell/android-studio/build.gradle @@ -1,7 +1,7 @@ // Top-level build file where you can add configuration options common to all sub-projects/modules. plugins { - id 'com.android.application' version '7.4.0' apply false - id 'com.android.library' version '7.4.0' apply false + id 'com.android.application' version '7.4.1' apply false + id 'com.android.library' version '7.4.1' apply false } task clean(type: Delete) { From badf36899e586c0219d4f6ee63ca4516e834923c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Fri, 3 Feb 2023 22:20:20 +0000 Subject: [PATCH 17/22] Fetch translations & Recreate libretro_core_options_intl.h --- shell/libretro/libretro_core_options_intl.h | 36 ++++++++++----------- 1 file changed, 18 insertions(+), 18 deletions(-) diff --git a/shell/libretro/libretro_core_options_intl.h b/shell/libretro/libretro_core_options_intl.h index f7f5b6fcd..ac00eb1f5 100644 --- a/shell/libretro/libretro_core_options_intl.h +++ b/shell/libretro/libretro_core_options_intl.h @@ -8517,7 +8517,7 @@ struct retro_core_options_v2 options_cht = { #define OPTION_VAL_FRENCH_CS "Francouzština" #define OPTION_VAL_SPANISH_CS "Španělština" #define OPTION_VAL_ITALIAN_CS "Italský" -#define CORE_OPTION_NAME_HLE_BIOS_LABEL_CS NULL +#define CORE_OPTION_NAME_HLE_BIOS_LABEL_CS "HLE BIOS (nutný restart)" #define CORE_OPTION_NAME_HLE_BIOS_INFO_0_CS "Vynucení použití vysokoúrovňové emulace systému BIOS." #define CORE_OPTION_NAME_BOOT_TO_BIOS_LABEL_CS "Nabootovat Bios (Nutný Restart)" #define CORE_OPTION_NAME_BOOT_TO_BIOS_INFO_0_CS "Spustit přímo do menu Dreamcast BIOS." @@ -8529,10 +8529,10 @@ struct retro_core_options_v2 options_cht = { #define CORE_OPTION_NAME_ALLOW_SERVICE_BUTTONS_INFO_0_CS "Povolí tlačítko SERVIS pro NAOMI, abyste mohli vstoupit do nastavení skříně." #define CORE_OPTION_NAME_FORCE_FREEPLAY_LABEL_CS "Nastavení her NAOMI na volné hraní" #define CORE_OPTION_NAME_FORCE_FREEPLAY_INFO_0_CS "Upravte nastavení mincí ve hře na volnou hru." -#define CORE_OPTION_NAME_EMULATE_BBA_LABEL_CS NULL -#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_CS NULL -#define CORE_OPTION_NAME_UPNP_LABEL_CS NULL -#define CORE_OPTION_NAME_UPNP_INFO_0_CS NULL +#define CORE_OPTION_NAME_EMULATE_BBA_LABEL_CS "Emulace širokopásmového adaptéru" +#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_CS "Místo modemu emulujte širokopásmový adaptér ethernetu. (nutný restart)" +#define CORE_OPTION_NAME_UPNP_LABEL_CS "Povolit UPnP" +#define CORE_OPTION_NAME_UPNP_INFO_0_CS "Pomocí UPnP můžete automaticky nakonfigurovat svůj internetový směrovač pro online hry." #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_CS "Vnitřní Rozlišení" #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_INFO_0_CS "Úprava Rozlišení Vykreslování." #define OPTION_VAL_320X240_CS NULL @@ -13590,10 +13590,10 @@ struct retro_core_options_v2 options_da = { #define CORE_OPTION_NAME_ALLOW_SERVICE_BUTTONS_INFO_0_DE "Aktiviert den SERVICE-Knopf für NAOMI, um die Automateneinstellungen aufzurufen." #define CORE_OPTION_NAME_FORCE_FREEPLAY_LABEL_DE "NAOMI Spiele auf kostenloses Spiel setzen" #define CORE_OPTION_NAME_FORCE_FREEPLAY_INFO_0_DE "Ändert die Münzeinstellungen des Spiels zu kostenlos." -#define CORE_OPTION_NAME_EMULATE_BBA_LABEL_DE "Breitband-Adapter Emulation" -#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_DE "Den Ethernet Breitband-Adapter anstelle des Modems emulieren. (Neustart erforderlich)" +#define CORE_OPTION_NAME_EMULATE_BBA_LABEL_DE "Breitbandadapter-Emulation" +#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_DE "Den Ethernet-Breitbandadapter anstelle des Modems emulieren. (Neustart erforderlich)" #define CORE_OPTION_NAME_UPNP_LABEL_DE "UPnP aktivieren" -#define CORE_OPTION_NAME_UPNP_INFO_0_DE "Verwendet UPnP, um den Internet Router automatisch für Onlinespiele zu konfigurieren." +#define CORE_OPTION_NAME_UPNP_INFO_0_DE "Verwendet UPnP, um den Internetrouter automatisch für Onlinespiele zu konfigurieren." #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_DE "Interne Auflösung" #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_INFO_0_DE "Rendering-Auflösung ändern." #define OPTION_VAL_320X240_DE "320 x 240" @@ -25387,7 +25387,7 @@ struct retro_core_options_v2 options_fi = { #define OPTION_VAL_FRENCH_FR "Français" #define OPTION_VAL_SPANISH_FR "Espagnol" #define OPTION_VAL_ITALIAN_FR "Italien" -#define CORE_OPTION_NAME_HLE_BIOS_LABEL_FR NULL +#define CORE_OPTION_NAME_HLE_BIOS_LABEL_FR "BIOS HLE (Redémarrage requis)" #define CORE_OPTION_NAME_HLE_BIOS_INFO_0_FR "Forcer l'utilisation d'un BIOS en émulation de haut niveau." #define CORE_OPTION_NAME_BOOT_TO_BIOS_LABEL_FR "Démarrer sur le BIOS (Redémarrage requis)" #define CORE_OPTION_NAME_BOOT_TO_BIOS_INFO_0_FR "Démarrer directement sur le menu BIOS Dreamcast." @@ -25399,10 +25399,10 @@ struct retro_core_options_v2 options_fi = { #define CORE_OPTION_NAME_ALLOW_SERVICE_BUTTONS_INFO_0_FR "Active le bouton SERVICE pour NAOMI, pour entrer dans les paramètres de la borne." #define CORE_OPTION_NAME_FORCE_FREEPLAY_LABEL_FR "Définir les jeux NAOMI en Free Play" #define CORE_OPTION_NAME_FORCE_FREEPLAY_INFO_0_FR "Modifier les réglages de pièces du jeu en mode gratuit." -#define CORE_OPTION_NAME_EMULATE_BBA_LABEL_FR NULL -#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_FR NULL -#define CORE_OPTION_NAME_UPNP_LABEL_FR NULL -#define CORE_OPTION_NAME_UPNP_INFO_0_FR NULL +#define CORE_OPTION_NAME_EMULATE_BBA_LABEL_FR "Émulation de l'adaptateur haut débit" +#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_FR "Émuler l'adaptateur haut débit Ethernet au lieu du modem. (Redémarrage requis)" +#define CORE_OPTION_NAME_UPNP_LABEL_FR "Activer l'UPnP" +#define CORE_OPTION_NAME_UPNP_INFO_0_FR "Utilisez l'UPnP pour configurer automatiquement votre routeur Internet pour les jeux en ligne." #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_FR "Résolution interne" #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_INFO_0_FR "Modifier la résolution de rendu." #define OPTION_VAL_320X240_FR NULL @@ -55753,7 +55753,7 @@ struct retro_core_options_v2 options_sv = { #define OPTION_VAL_FRENCH_TR "Fransızca" #define OPTION_VAL_SPANISH_TR "İspanyolca" #define OPTION_VAL_ITALIAN_TR "İtalyanca" -#define CORE_OPTION_NAME_HLE_BIOS_LABEL_TR NULL +#define CORE_OPTION_NAME_HLE_BIOS_LABEL_TR "HLE BIOS (Yeniden Başlatılmalı)" #define CORE_OPTION_NAME_HLE_BIOS_INFO_0_TR "Yüksek seviyeli taklit BIOS kullanımını zorunlu kılın." #define CORE_OPTION_NAME_BOOT_TO_BIOS_LABEL_TR "BIOS Önyükleme (Yeniden Başlatılmalı)" #define CORE_OPTION_NAME_BOOT_TO_BIOS_INFO_0_TR "Doğrudan Dreamcast BIOS menüsüne önyükleme yapın." @@ -55765,10 +55765,10 @@ struct retro_core_options_v2 options_sv = { #define CORE_OPTION_NAME_ALLOW_SERVICE_BUTTONS_INFO_0_TR "Kabin ayarlarına girmek için NAOMI için SERVICE düğmesini etkinleştirir." #define CORE_OPTION_NAME_FORCE_FREEPLAY_LABEL_TR "NAOMI Oyunlarını Serbest Oynamaya Ayarlayın" #define CORE_OPTION_NAME_FORCE_FREEPLAY_INFO_0_TR "Serbest oynamak için oyunun jeton ayarlarını değiştirin." -#define CORE_OPTION_NAME_EMULATE_BBA_LABEL_TR NULL -#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_TR NULL -#define CORE_OPTION_NAME_UPNP_LABEL_TR NULL -#define CORE_OPTION_NAME_UPNP_INFO_0_TR NULL +#define CORE_OPTION_NAME_EMULATE_BBA_LABEL_TR "Geniş Bant Adaptör Taklidi" +#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_TR "Modem yerine ethernet geniş bant adaptörünü taklit edin. (Yeniden Başlatılmalı)" +#define CORE_OPTION_NAME_UPNP_LABEL_TR "UPnP Etkinleştir" +#define CORE_OPTION_NAME_UPNP_INFO_0_TR "İnternet yönlendiricinizi çevrimiçi oyunlar için otomatik olarak yapılandırmak üzere UPnP kullanın." #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_TR "Dahili Çözünürlük" #define CORE_OPTION_NAME_INTERNAL_RESOLUTION_INFO_0_TR "İşleme çözünürlüğünü değiştirin." #define OPTION_VAL_320X240_TR NULL From 927db7f189dbcd22d93c6d16b879d7c781212b7b Mon Sep 17 00:00:00 2001 From: Flyinghead Date: Sun, 5 Feb 2023 11:18:18 +0100 Subject: [PATCH 18/22] pvr: sorted triangle count incorrect with multiple render passes causes crash in setProvokingVertex Fix for MINIDUMP-7A, MINIDUMP-7H, MINIDUMP-7J --- core/hw/pvr/ta_util.cpp | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/core/hw/pvr/ta_util.cpp b/core/hw/pvr/ta_util.cpp index da8a1c995..3119585f1 100644 --- a/core/hw/pvr/ta_util.cpp +++ b/core/hw/pvr/ta_util.cpp @@ -73,13 +73,10 @@ void sortTriangles(rend_context& ctx, RenderPass& pass, const RenderPass& previo const PolyParam * const pp_base = &ctx.global_param_tr.head()[first]; const PolyParam * const pp_end = pp_base + count; - int vtx_count = ctx.verts.used() - pp_base->first; - if (vtx_count <= 0) - return; - //make lists of all triangles, with their pid and vid static std::vector triangleList; + int vtx_count = ctx.verts.used() - pp_base->first; triangleList.reserve(vtx_count); triangleList.clear(); @@ -148,6 +145,7 @@ void sortTriangles(rend_context& ctx, RenderPass& pass, const RenderPass& previo //re-assemble them into drawing commands + size_t initialSize = ctx.sortedTriangles.size(); int idx = -1; int idxSize = ctx.idx.used(); @@ -175,7 +173,7 @@ void sortTriangles(rend_context& ctx, RenderPass& pass, const RenderPass& previo } } - if (!ctx.sortedTriangles.empty()) + if (!triangleList.empty()) { SortedTriangle& last = ctx.sortedTriangles.back(); last.count = idxSize + triangleList.size() * 3 - last.first; @@ -185,7 +183,7 @@ void sortTriangles(rend_context& ctx, RenderPass& pass, const RenderPass& previo // Add a dummy one to signal we're using sorted triangles ctx.sortedTriangles.push_back({ pp_base, 0, 0}); } - pass.sorted_tr_count = ctx.sortedTriangles.size(); + pass.sorted_tr_count = ctx.sortedTriangles.size() - initialSize; #if PRINT_SORT_STATS printf("Reassembled into %d from %d\n", (int)ctx.sortedTriangles.size(), pp_end - pp_base); From d9c08bd0812b25cc4521a381e419a8ec8324cb79 Mon Sep 17 00:00:00 2001 From: Flyinghead Date: Sun, 5 Feb 2023 11:26:50 +0100 Subject: [PATCH 19/22] gl: save current framebuffer in RenderLastFrame. get rid of verify (OSD) Current framebuffer must be saved in gl.ofbo.origFbo when entering RenderLastFrame and restored on exit. Tentative fix for MINIDUMP-74 glIsProgram(OSD_SHADER) is strangely failing on Adreno 308 so let's get rid of it (and pray). Fix for MINIDUMP-7D, MINIDUMP-7C, MINIDUMP-7B, MINIDUMP-79, MINIDUMP-6J --- core/rend/gl4/gles.cpp | 2 +- core/rend/gles/gldraw.cpp | 4 ++-- core/rend/gles/gles.cpp | 5 ++--- core/rend/gles/gles.h | 11 ++++++++++- 4 files changed, 15 insertions(+), 7 deletions(-) diff --git a/core/rend/gl4/gles.cpp b/core/rend/gl4/gles.cpp index 657b6372b..aff3a79d5 100644 --- a/core/rend/gl4/gles.cpp +++ b/core/rend/gl4/gles.cpp @@ -1022,7 +1022,7 @@ bool OpenGL4Renderer::renderFrame(int width, int height) #ifndef LIBRETRO else { gl.ofbo.aspectRatio = getOutputFramebufferAspectRatio(); - RenderLastFrame(); + renderLastFrame(); } #endif glBindVertexArray(0); diff --git a/core/rend/gles/gldraw.cpp b/core/rend/gles/gldraw.cpp index 439b4f24d..63b61a2f6 100644 --- a/core/rend/gles/gldraw.cpp +++ b/core/rend/gles/gldraw.cpp @@ -666,7 +666,7 @@ void OpenGLRenderer::RenderFramebuffer(const FramebufferInfo& info) drawQuad(gl.dcfb.tex, false, true); } #ifndef LIBRETRO - RenderLastFrame(); + renderLastFrame(); #endif DrawOSD(false); @@ -751,7 +751,7 @@ void writeFramebufferToVRAM() glCheck(); } -bool OpenGLRenderer::RenderLastFrame() +bool OpenGLRenderer::renderLastFrame() { GlFramebuffer *framebuffer = gl.ofbo2.ready ? gl.ofbo2.framebuffer.get() : gl.ofbo.framebuffer.get(); if (framebuffer == nullptr) diff --git a/core/rend/gles/gles.cpp b/core/rend/gles/gles.cpp index 44d3f6600..18a8a9a27 100644 --- a/core/rend/gles/gles.cpp +++ b/core/rend/gles/gles.cpp @@ -1090,7 +1090,7 @@ void OpenGLRenderer::DrawOSD(bool clear_screen) { glcache.ClearColor(0.7f, 0.7f, 0.7f, 1.f); glClear(GL_COLOR_BUFFER_BIT); - RenderLastFrame(); + renderLastFrame(); glViewport(0, 0, settings.display.width, settings.display.height); } @@ -1101,7 +1101,6 @@ void OpenGLRenderer::DrawOSD(bool clear_screen) #endif SetupOSDVBO(); - verify(glIsProgram(gl.OSD_SHADER.program)); glcache.UseProgram(gl.OSD_SHADER.program); float scale_h = settings.display.height / 480.f; @@ -1403,7 +1402,7 @@ bool OpenGLRenderer::renderFrame(int width, int height) #ifndef LIBRETRO else { gl.ofbo.aspectRatio = getOutputFramebufferAspectRatio(); - RenderLastFrame(); + renderLastFrame(); } #endif bindVertexArray(0); diff --git a/core/rend/gles/gles.h b/core/rend/gles/gles.h index c0e6f77a1..28ff3406d 100755 --- a/core/rend/gles/gles.h +++ b/core/rend/gles/gles.h @@ -414,7 +414,14 @@ struct OpenGLRenderer : Renderer void RenderFramebuffer(const FramebufferInfo& info) override; - bool RenderLastFrame() override; + bool RenderLastFrame() override + { + saveCurrentFramebuffer(); + bool ret = renderLastFrame(); + restoreCurrentFramebuffer(); + + return ret; + } void DrawOSD(bool clear_screen) override; @@ -451,6 +458,8 @@ protected: glBindFramebuffer(GL_FRAMEBUFFER, gl.ofbo.origFbo); } + bool renderLastFrame(); + private: bool renderFrame(int width, int height); From 0b6c09da028099da141947760f712279845dd614 Mon Sep 17 00:00:00 2001 From: Flyinghead Date: Sun, 5 Feb 2023 11:30:23 +0100 Subject: [PATCH 20/22] sdl: don't rely on event to get window size when processing resize event window size may be different from drawable size if high-dpi is enabled. Fixes wayland resize with scale factor > 100%. --- core/sdl/sdl.cpp | 23 +++++++---------------- 1 file changed, 7 insertions(+), 16 deletions(-) diff --git a/core/sdl/sdl.cpp b/core/sdl/sdl.cpp index 7c93bf6fa..c49863934 100644 --- a/core/sdl/sdl.cpp +++ b/core/sdl/sdl.cpp @@ -292,26 +292,17 @@ void input_sdl_handle() || event.window.event == SDL_WINDOWEVENT_MINIMIZED || event.window.event == SDL_WINDOWEVENT_MAXIMIZED) { - if (event.window.event == SDL_WINDOWEVENT_SIZE_CHANGED - && event.window.data1 != 0 && event.window.data2 != 0) - { - settings.display.width = event.window.data1; - settings.display.height = event.window.data2; - } - else - { #ifdef USE_VULKAN - if (windowFlags & SDL_WINDOW_VULKAN) - SDL_Vulkan_GetDrawableSize(window, &settings.display.width, &settings.display.height); - else + if (windowFlags & SDL_WINDOW_VULKAN) + SDL_Vulkan_GetDrawableSize(window, &settings.display.width, &settings.display.height); + else #endif #ifdef USE_OPENGL - if (windowFlags & SDL_WINDOW_OPENGL) - SDL_GL_GetDrawableSize(window, &settings.display.width, &settings.display.height); - else + if (windowFlags & SDL_WINDOW_OPENGL) + SDL_GL_GetDrawableSize(window, &settings.display.width, &settings.display.height); + else #endif - SDL_GetWindowSize(window, &settings.display.width, &settings.display.height); - } + SDL_GetWindowSize(window, &settings.display.width, &settings.display.height); GraphicsContext::Instance()->resize(); } else if (event.window.event == SDL_WINDOWEVENT_FOCUS_GAINED) From f35167a0de7564d7715947aa5ef22e3655c97d01 Mon Sep 17 00:00:00 2001 From: Flyinghead Date: Sun, 5 Feb 2023 11:31:22 +0100 Subject: [PATCH 21/22] egl: better constants --- core/wsi/egl.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/core/wsi/egl.cpp b/core/wsi/egl.cpp index 06d9ebc00..be356f87c 100644 --- a/core/wsi/egl.cpp +++ b/core/wsi/egl.cpp @@ -92,7 +92,7 @@ bool EGLGraphicsContext::init() } ANativeWindow_setBuffersGeometry((ANativeWindow *)window, 0, 0, format); #endif - surface = eglCreateWindowSurface(display, config, (EGLNativeWindowType)window, NULL); + surface = eglCreateWindowSurface(display, config, (EGLNativeWindowType)window, nullptr); if (surface == EGL_NO_SURFACE) { @@ -112,7 +112,7 @@ bool EGLGraphicsContext::init() EGLint contextAttrs[] = { EGL_CONTEXT_MAJOR_VERSION_KHR, 3, EGL_CONTEXT_OPENGL_PROFILE_MASK_KHR, EGL_CONTEXT_OPENGL_COMPATIBILITY_PROFILE_BIT_KHR, EGL_NONE }; - context = eglCreateContext(display, config, NULL, contextAttrs); + context = eglCreateContext(display, config, EGL_NO_CONTEXT, contextAttrs); if (context != EGL_NO_CONTEXT) { makeCurrent(); @@ -131,7 +131,7 @@ bool EGLGraphicsContext::init() EGLint contextAttrs[] = { EGL_CONTEXT_CLIENT_VERSION, 2 , EGL_NONE }; - context = eglCreateContext(display, config, NULL, contextAttrs); + context = eglCreateContext(display, config, EGL_NO_CONTEXT, contextAttrs); if (context == EGL_NO_CONTEXT) { @@ -185,7 +185,7 @@ bool EGLGraphicsContext::init() void EGLGraphicsContext::term() { preTerm(); - eglMakeCurrent(display, NULL, NULL, EGL_NO_CONTEXT); + eglMakeCurrent(display, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT); if (context != EGL_NO_CONTEXT) eglDestroyContext(display, context); if (surface != EGL_NO_SURFACE) From 3a21f545d85361cb60d4beb3d745ed3597d5de2d Mon Sep 17 00:00:00 2001 From: Flyinghead Date: Sun, 5 Feb 2023 11:38:21 +0100 Subject: [PATCH 22/22] cfg: allow non per-game option to be overriden. Remove per-game for some Allow non per-game options to be overridden with command line args. Fixes MINIDUMP-7G Save state slot, box art settings, UploadCrashLogs, UseRawInput and lua filename shouldn't be settable per-game. --- core/cfg/option.cpp | 12 ++++++------ core/cfg/option.h | 16 ++++++++-------- shell/libretro/option.cpp | 2 +- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/core/cfg/option.cpp b/core/cfg/option.cpp index 4edafbb5d..09c25da9c 100644 --- a/core/cfg/option.cpp +++ b/core/cfg/option.cpp @@ -37,10 +37,10 @@ Option FullMMU("Dreamcast.FullMMU"); Option ForceWindowsCE("Dreamcast.ForceWindowsCE"); Option AutoLoadState("Dreamcast.AutoLoadState"); Option AutoSaveState("Dreamcast.AutoSaveState"); -Option SavestateSlot("Dreamcast.SavestateSlot"); +Option SavestateSlot("Dreamcast.SavestateSlot"); Option ForceFreePlay("ForceFreePlay", true); -Option FetchBoxart("FetchBoxart", true); -Option BoxartDisplayMode("BoxartDisplayMode", true); +Option FetchBoxart("FetchBoxart", true); +Option BoxartDisplayMode("BoxartDisplayMode", true); // Sound @@ -121,7 +121,7 @@ Option OpenGlChecks("OpenGlChecks", false, "validate"); Option, false> ContentPath("Dreamcast.ContentPath"); Option HideLegacyNaomiRoms("Dreamcast.HideLegacyNaomiRoms", true); -Option UploadCrashLogs("UploadCrashLogs", true); +Option UploadCrashLogs("UploadCrashLogs", true); // Profiler Option ProfilerEnabled("Profiler.Enabled"); @@ -181,11 +181,11 @@ std::array, 2>, 4> MapleExpansionDevices { Option("device4.2", MDT_None, "input"), }; #ifdef _WIN32 -Option UseRawInput("RawInput", false, "input"); +Option UseRawInput("RawInput", false, "input"); #endif #ifdef USE_LUA -OptionString LuaFileName("LuaFileName", "flycast.lua"); +Option LuaFileName("LuaFileName", "flycast.lua"); #endif } // namespace config diff --git a/core/cfg/option.h b/core/cfg/option.h index 40c1f8ff3..3ed4bc3d8 100644 --- a/core/cfg/option.h +++ b/core/cfg/option.h @@ -157,8 +157,8 @@ public: T& get() { return value; } void set(T v) { value = v; } - void override(T v) { - verify(PerGameOption); + void override(T v) + { overriddenDefault = v; overridden = true; value = v; @@ -372,10 +372,10 @@ extern Option FullMMU; extern Option ForceWindowsCE; extern Option AutoLoadState; extern Option AutoSaveState; -extern Option SavestateSlot; +extern Option SavestateSlot; extern Option ForceFreePlay; -extern Option FetchBoxart; -extern Option BoxartDisplayMode; +extern Option FetchBoxart; +extern Option BoxartDisplayMode; // Sound @@ -482,7 +482,7 @@ extern Option OpenGlChecks; extern Option, false> ContentPath; extern Option HideLegacyNaomiRoms; -extern Option UploadCrashLogs; +extern Option UploadCrashLogs; // Profiling extern Option ProfilerEnabled; @@ -524,13 +524,13 @@ extern Option VirtualGamepadVibration; extern std::array, 4> MapleMainDevices; extern std::array, 2>, 4> MapleExpansionDevices; #ifdef _WIN32 -extern Option UseRawInput; +extern Option UseRawInput; #else constexpr bool UseRawInput = false; #endif #ifdef USE_LUA -extern OptionString LuaFileName; +extern Option LuaFileName; #endif } // namespace config diff --git a/shell/libretro/option.cpp b/shell/libretro/option.cpp index 8159eb3c7..4bda777b5 100644 --- a/shell/libretro/option.cpp +++ b/shell/libretro/option.cpp @@ -36,7 +36,7 @@ Option FullMMU(""); Option ForceWindowsCE(CORE_OPTION_NAME "_force_wince"); Option AutoLoadState(""); Option AutoSaveState(""); -Option SavestateSlot(""); +Option SavestateSlot(""); Option ForceFreePlay(CORE_OPTION_NAME "_force_freeplay", true); // Sound