diff --git a/CMakeLists.txt b/CMakeLists.txt index cbd2e528f..8dca5e660 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) @@ -514,7 +520,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/cfg/option.cpp b/core/cfg/option.cpp index d2ee9103e..bf6dee75d 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 @@ -122,7 +122,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"); @@ -183,11 +183,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 5350c59df..a47549f61 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 @@ -416,10 +416,10 @@ extern Option VmuSound; 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 @@ -483,7 +483,7 @@ extern Option OpenGlChecks; extern Option, false> ContentPath; extern Option HideLegacyNaomiRoms; -extern Option UploadCrashLogs; +extern Option UploadCrashLogs; // Profiling extern Option ProfilerEnabled; @@ -526,13 +526,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/core/emulator.cpp b/core/emulator.cpp index 37707a3d4..6eedd4ce4 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 { @@ -216,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); @@ -235,132 +235,131 @@ 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("F355 CHALLENGE JAPAN", naomi_game_id)) + else if (prod_id == "F355 CHALLENGE JAPAN", naomi_game_id) { INFO_LOG(BOOT, "Enabling specific JVS setup for game %s", naomi_game_id); settings.input.JammaSetup = JVS::F355; } - 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; } } @@ -371,8 +370,8 @@ void dc_reset(bool hard) NetworkHandshake::term(); if (hard) { - addrspace::unprotectVram(0, VRAM_SIZE); - memwatch::elanWatcher.unprotectMem(0, 0xffffffff); + memwatch::unprotect(); + memwatch::reset(); } sh4_sched_reset(hard); pvr::reset(hard); @@ -672,6 +671,10 @@ 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) @@ -699,36 +702,30 @@ void Emulator::stop() void Emulator::requestReset() { resetRequested = true; + if (config::GGPOEnable) + NetworkHandshake::term(); sh4_cpu.Stop(); } 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 = trim_trailing_ws(std::string(ip_meta.product_number, sizeof(ip_meta.product_number))); - 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); @@ -944,7 +941,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/aica/aica.cpp b/core/hw/aica/aica.cpp index dc24640dc..d7e11f249 100644 --- a/core/hw/aica/aica.cpp +++ b/core/hw/aica/aica.cpp @@ -173,40 +173,34 @@ static void AicaInternalDMA() template void writeTimerAndIntReg(u32 reg, T data) { - constexpr size_t sz = sizeof(T); switch (reg) { case SCIEB_addr: - verify(sz != 1); SCIEB->full = data & 0x7ff; update_arm_interrupts(); break; 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 MCIEB_addr: - verify(sz != 1); MCIEB->full = data & 0x7ff; if (UpdateSh4Ints()) arm::avoidRaceCondition(); break; case MCIPD_addr: - verify(sz != 1); // other bits are read-only if (data & (1 << 5)) { @@ -217,7 +211,6 @@ void writeTimerAndIntReg(u32 reg, T data) break; case MCIRE_addr: - verify(sz != 1); MCIPD->full &= ~data; UpdateSh4Ints(); break; diff --git a/core/hw/arm7/arm7.cpp b/core/hw/arm7/arm7.cpp index 9b567f1ad..640924709 100644 --- a/core/hw/arm7/arm7.cpp +++ b/core/hw/arm7/arm7.cpp @@ -222,8 +222,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; diff --git a/core/hw/maple/maple_jvs.cpp b/core/hw/maple/maple_jvs.cpp index b26a23dca..b9250444a 100644 --- a/core/hw/maple/maple_jvs.cpp +++ b/core/hw/maple/maple_jvs.cpp @@ -845,7 +845,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))); @@ -1752,6 +1752,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 { diff --git a/core/hw/mem/mem_watch.h b/core/hw/mem/mem_watch.h index ec0250a5d..b91b76060 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 f4fc12342..48725f5b2 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; @@ -226,7 +228,7 @@ private: if (renderer->Present()) { presented = true; - if (!config::ThreadedRendering) + if (!config::ThreadedRendering && !ggpo::active()) sh4_cpu.Stop(); #ifdef LIBRETRO retro_rend_present(); @@ -307,6 +309,7 @@ static void rend_create_renderer() bool rend_init_renderer() { + rendererEnabled = true; if (renderer == nullptr) rend_create_renderer(); bool success = renderer->Init(); @@ -336,6 +339,7 @@ void rend_reset() FrameCount = 1; fb_w_cur = 1; pvrQueue.reset(); + rendererEnabled = true; } void rend_start_render() @@ -387,6 +391,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(); @@ -422,12 +429,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; @@ -466,7 +476,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); } @@ -486,6 +496,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 0cfd16027..1c09009b0 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/spg.cpp b/core/hw/pvr/spg.cpp index 034a5ab64..54f6d2f52 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) diff --git a/core/hw/pvr/ta_ctx.cpp b/core/hw/pvr/ta_ctx.cpp index 66dc78647..6f520782f 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/hw/pvr/ta_util.cpp b/core/hw/pvr/ta_util.cpp index ec146b6af..2d5203946 100644 --- a/core/hw/pvr/ta_util.cpp +++ b/core/hw/pvr/ta_util.cpp @@ -72,13 +72,10 @@ void sortTriangles(rend_context& ctx, RenderPass& pass, const RenderPass& previo const PolyParam * const pp_base = &ctx.global_param_tr[first]; const PolyParam * const pp_end = pp_base + count; - int vtx_count = ctx.verts.size() - 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.size() - pp_base->first; triangleList.reserve(vtx_count); triangleList.clear(); @@ -147,6 +144,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.size(); @@ -174,7 +172,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; @@ -184,7 +182,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); 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/network/naomi_network.cpp b/core/network/naomi_network.cpp index 91db04b90..7a21bdcdd 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); } @@ -397,7 +396,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/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"); 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]() { diff --git a/core/nullDC.cpp b/core/nullDC.cpp index 7d35e1141..b7b8491fe 100644 --- a/core/nullDC.cpp +++ b/core/nullDC.cpp @@ -92,6 +92,9 @@ void flycast_term() void dc_savestate(int index) { + if (settings.network.online) + return; + Serializer ser; dc_serialize(ser); diff --git a/core/rend/gl4/gles.cpp b/core/rend/gl4/gles.cpp index 171c3fcc8..8b2488a91 100644 --- a/core/rend/gl4/gles.cpp +++ b/core/rend/gl4/gles.cpp @@ -1018,7 +1018,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 c670b755e..3f5fcfe07 100644 --- a/core/rend/gles/gldraw.cpp +++ b/core/rend/gles/gldraw.cpp @@ -667,7 +667,7 @@ void OpenGLRenderer::RenderFramebuffer(const FramebufferInfo& info) drawQuad(gl.dcfb.tex, false, true); } #ifndef LIBRETRO - RenderLastFrame(); + renderLastFrame(); #endif DrawOSD(false); @@ -752,7 +752,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 46e4cf45b..3e7c24c7e 100644 --- a/core/rend/gles/gles.cpp +++ b/core/rend/gles/gles.cpp @@ -1087,7 +1087,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); } @@ -1098,7 +1098,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; @@ -1401,7 +1400,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 883ef12b8..93c3e5d38 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); diff --git a/core/rend/gui.cpp b/core/rend/gui.cpp index 0c6d69137..60d8672fe 100644 --- a/core/rend/gui.cpp +++ b/core/rend/gui.cpp @@ -2665,20 +2665,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 @@ -2700,8 +2691,7 @@ static void gui_network_start() } catch (const FlycastException& e) { } - emu.unloadGame(); - gui_state = GuiState::Main; + gui_stop_game(); } ImGui::PopStyleVar(); @@ -2759,12 +2749,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/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) { 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_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/rend/vulkan/vulkan_renderer.h b/core/rend/vulkan/vulkan_renderer.h index 7b0d100a5..b13f94073 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(); } @@ -144,8 +145,6 @@ public: CheckFogTexture(); CheckPaletteTexture(); texCommandBuffer.end(); - if (!ctx->rend.isRTT) - framebufferRendered = false; } void ReInitOSD() @@ -205,9 +204,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()); @@ -293,13 +294,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; } @@ -308,6 +310,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 a978eed88..aa3160cda 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; #define WINDOW_WIDTH 640 #define WINDOW_HEIGHT 480 @@ -287,6 +288,17 @@ void input_sdl_handle() || event.window.event == SDL_WINDOWEVENT_MINIMIZED || event.window.event == SDL_WINDOWEVENT_MAXIMIZED) { +#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) @@ -468,6 +480,7 @@ HWND getNativeHwnd() bool sdl_recreate_window(u32 flags) { + windowFlags = flags; #ifdef _WIN32 //Enable HiDPI mode in Windows typedef enum PROCESS_DPI_AWARENESS { diff --git a/core/windows/winmain.cpp b/core/windows/winmain.cpp index 97b9db179..1fd62b93f 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") diff --git a/core/wsi/egl.cpp b/core/wsi/egl.cpp index 3ef70a474..c06d0bb5f 100644 --- a/core/wsi/egl.cpp +++ b/core/wsi/egl.cpp @@ -82,7 +82,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) { @@ -102,7 +102,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(); @@ -121,7 +121,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) { @@ -171,7 +171,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) 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); 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) { 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 50e8a80af..a11a47f29 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 *) diff --git a/shell/libretro/libretro_core_options_intl.h b/shell/libretro/libretro_core_options_intl.h index 064390e85..ac00eb1f5 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 }, @@ -8352,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." @@ -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 "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 @@ -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 "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 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" @@ -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 "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." @@ -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 "É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 @@ -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 }, @@ -54664,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." @@ -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 "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 @@ -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 }, diff --git a/shell/libretro/option.cpp b/shell/libretro/option.cpp index 05cf1d456..f12de3f02 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