Merge remote-tracking branch 'origin/master' into dev

This commit is contained in:
Flyinghead 2025-06-07 16:08:03 +02:00
commit bb5bd71437
7 changed files with 38 additions and 17 deletions

View File

@ -19,7 +19,6 @@ jobs:
config:
- {name: i686-pc-windows-msvc, os: windows-latest, shell: cmd, arch: x86, cmakeArgs: -G Ninja, buildType: Release}
- {name: apple-darwin, os: macos-latest, shell: sh, cmakeArgs: -G Xcode -DUSE_DISCORD=ON, destDir: osx, buildType: RelWithDebInfo}
- {name: apple-ios, os: macos-latest, shell: sh, cmakeArgs: -DCMAKE_SYSTEM_NAME=iOS -G Xcode, destDir: ios, buildType: Release}
- {name: x86_64-pc-linux-gnu, os: ubuntu-22.04, shell: sh, cmakeArgs: -G Ninja -DUSE_DISCORD=ON -DUSE_LIBCDIO=ON, destDir: linux, buildType: RelWithDebInfo}
- {name: x86_64-pc-windows-msvc, os: windows-latest, shell: cmd, arch: x64, cmakeArgs: -G Ninja -DUSE_DISCORD=ON, buildType: Release}
- {name: x86_64-w64-mingw32, os: windows-latest, shell: 'msys2 {0}', cmakeArgs: -G Ninja -DUSE_DISCORD=ON -DUSE_LIBCDIO=ON, destDir: win, buildType: RelWithDebInfo}

View File

@ -38,6 +38,10 @@ Install Flycast from [**Google Play**](https://play.google.com/store/apps/detail
`brew install --cask flycast`
### iOS
Due to persistent harassment from an iOS user, support for this platform has been dropped.
### Xbox One/Series ![xbox logo](https://flyinghead.github.io/flycast-builds/xbox.png)
Grab the latest build from [**the builds page**](https://flyinghead.github.io/flycast-builds/), or the [**GitHub Actions**](https://github.com/flyinghead/flycast/actions/workflows/uwp.yml). Then install it using the **Xbox Device Portal**.

View File

@ -169,6 +169,7 @@ const WidescreenCheat CheatManager::widescreen_cheats[] =
// { "T-9502D-50", nullptr, { 0xBDE9B0, 0xBDE9C4 }, { 0x3F400000, 0x3FA00000 } }, // Nightmare Creatures II (PAL)
{ "MK-5110250", nullptr, { 0x87B5A4 }, { 0x43700000 } }, // Outtrigger (PAL)
{ "HDR-0118", nullptr, { 0x83E284 }, { 0x43700000 } }, // Outtrigger (JP)
{ "MK-51102", nullptr, { 0x83E284 }, { 0x43700000 } }, // Outtrigger (US)
{ "T15103D 50", nullptr, { 0x1EEE78 }, { 0x3F400000 } }, // PenPen (PAL)
{ "T17001M", nullptr, { 0x1C3828 }, { 0x3F400000 } }, // PenPen TriIcelon (JP)
{ "MK-5110050", nullptr, { 0x548E04, 0x0923C0 }, { 0x43E80000, 0x3F966666 } }, // Phantasy Star Online (PAL) TODO
@ -561,6 +562,22 @@ void CheatManager::reset(const std::string& gameId)
cheats.emplace_back(Cheat::Type::runNextIfEq, "modem txspeed ifeq", true, 32, 0x0016e71c, 0x3434312c, true); // ",144"
cheats.emplace_back(Cheat::Type::setValue, "modem txspeed set", true, 32, 0x0016e71c, 0x2020202c, true); // ", "
}
else if (gameId == "MK-51162") // Propeller Arena
{
// 0c1f56f0: ,0,28800,28800,28800,28800\\r"\n
// 0c1f5770: ,0,28800,28800,28800,28800\\r"\n
for (u32 addr = 0x001f56f0; addr <= 0x001f5770; addr += 0x80)
{
cheats.emplace_back(Cheat::Type::runNextIfEq, "modem automode1 ifeq", true, 32, addr + 0x00, 0x322c302c, true); // ",0,2"
cheats.emplace_back(Cheat::Type::setValue, "modem automode1 set", true, 32, addr + 0x00, 0x202c312c, true); // ",1, "
cheats.emplace_back(Cheat::Type::runNextIfEq, "modem automode2 ifeq", true, 32, addr + 0x04, 0x30303838, true); // "8800"
cheats.emplace_back(Cheat::Type::setValue, "modem automode2 set", true, 32, addr + 0x04, 0x30202020, true); // " 0"
cheats.emplace_back(Cheat::Type::runNextIfEq, "modem automode3 ifeq", true, 32, addr + 0x0c, 0x322c3030, true); // "00,2"
cheats.emplace_back(Cheat::Type::setValue, "modem automode3 set", true, 32, addr + 0x0c, 0x202c3030, true); // "00, "
cheats.emplace_back(Cheat::Type::runNextIfEq, "modem automode4 ifeq", true, 32, addr + 0x10, 0x30303838, true); // "8800"
cheats.emplace_back(Cheat::Type::setValue, "modem automode4 set", true, 32, addr + 0x10, 0x30202020, true); // " 0"
}
}
if (cheats.size() > cheatCount)
setActive(true);

View File

@ -896,6 +896,7 @@ static InputDescriptors dinok_inputs = {
{ DC_BTN_A, "ROCK" },
{ DC_BTN_B, "SCISSORS" },
{ DC_BTN_C, "PAPER" },
{ DC_BTN_X, "ROCK P2", 0, DC_BTN_A },
NAO_BASE_BTN_DESC
},
};

View File

@ -462,7 +462,6 @@ public:
if (haptic != nullptr)
{
stopHaptic();
SDL_HapticSetGain(haptic, 0);
if (sineEffectId != -1) {
SDL_HapticDestroyEffect(haptic, sineEffectId);
sineEffectId = -1;

View File

@ -759,7 +759,6 @@ void startGame()
}
else if (settings.platform.isSystemSP())
{
disableControl(Y);
disableControl(Btn4);
disableControl(Btn5);
}
@ -835,6 +834,8 @@ void startGame()
disableControl(B);
if ((usedButtons & DC_BTN_C) == 0)
disableControl(X);
if ((usedButtons & DC_BTN_X) == 0)
disableControl(Y);
if ((usedButtons & DC_DPAD_UP) == 0)
disableControl(Up);
if ((usedButtons & DC_DPAD_DOWN) == 0)

View File

@ -8211,7 +8211,7 @@ struct retro_core_options_v2 options_bg = {
#define CORE_OPTION_NAME_FORCE_FREEPLAY_LABEL_CA "Estableix els jocs de NAOMI com a gratuïts"
#define CORE_OPTION_NAME_FORCE_FREEPLAY_INFO_0_CA "Modifica la configuració de monedes del joc a partides gratuïtes."
#define CORE_OPTION_NAME_EMULATE_BBA_LABEL_CA "Emulació de l'adaptador Broadband"
#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_CA "Emula l'adaptador de banda ampla per cable Ethernet en compte del mòdem (Es requereix reinici)"
#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_CA "Emula l'adaptador de banda ampla per cable Ethernet en compte del mòdem (es requereix reinici)"
#define CORE_OPTION_NAME_UPNP_LABEL_CA "Habilitat UPnP"
#define CORE_OPTION_NAME_UPNP_INFO_0_CA "Fes servir UPnP per configurar automàticament el router per jocs en línia."
#define CORE_OPTION_NAME_DCNET_LABEL_CA "Fes servir DCNet"
@ -36617,11 +36617,11 @@ struct retro_core_options_v2 options_fr = {
#define CORE_OPTION_NAME_FORCE_FREEPLAY_LABEL_GL "Configura NAOMI Games Para Xogar de Balde"
#define CORE_OPTION_NAME_FORCE_FREEPLAY_INFO_0_GL "Modifica a configuración de moedas do xogo para xogar libremente."
#define CORE_OPTION_NAME_EMULATE_BBA_LABEL_GL "Emulación de adaptador de banda ancha"
#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_GL NULL
#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_GL "Emular o adaptador Ethernet de banda ancha en lugar do módem. (Requírese reinicio)"
#define CORE_OPTION_NAME_UPNP_LABEL_GL "Activar UPnP"
#define CORE_OPTION_NAME_UPNP_INFO_0_GL "Use UPnP para configurar automaticamente o seu enrutador de Internet para xogos en liña."
#define CORE_OPTION_NAME_DCNET_LABEL_GL NULL
#define CORE_OPTION_NAME_DCNET_INFO_0_GL NULL
#define CORE_OPTION_NAME_DCNET_LABEL_GL "Usar DCNet"
#define CORE_OPTION_NAME_DCNET_INFO_0_GL "Usar o servizo na nube DCNet para acceso a Internet de Dreamcast."
#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 "320 x 240 (a metade)"
@ -46762,11 +46762,11 @@ struct retro_core_options_v2 options_id = {
#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 NULL
#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_DCNET_LABEL_IT NULL
#define CORE_OPTION_NAME_DCNET_INFO_0_IT NULL
#define CORE_OPTION_NAME_DCNET_LABEL_IT "Usa DCNet"
#define CORE_OPTION_NAME_DCNET_INFO_0_IT "Utilizzare il servizio cloud DCNet per l'accesso a Internet Dreamcast."
#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 "320x240 (Metà)"
@ -71083,7 +71083,7 @@ struct retro_core_options_v2 options_sr = {
#define CATEGORY_INPUT_LABEL_SV "Inmatning"
#define CATEGORY_INPUT_INFO_0_SV "Konfigurera inställningar för spelkontrollern och ljuspistolen."
#define CATEGORY_EXPANSIONS_LABEL_SV NULL
#define CATEGORY_EXPANSIONS_INFO_0_SV NULL
#define CATEGORY_EXPANSIONS_INFO_0_SV "Välj enheten (VMU, rumble-enhet) ansluten i varje kontrollers expansionsplats."
#define CATEGORY_VMU_LABEL_SV "Visuell minnesenhet"
#define CATEGORY_VMU_INFO_0_SV "Konfigurera per-spel VMU-sparfiler och inställningar för synlighet av VMU på skärmen."
#define CORE_OPTION_NAME_REGION_LABEL_SV NULL
@ -71110,11 +71110,11 @@ struct retro_core_options_v2 options_sr = {
#define CORE_OPTION_NAME_FORCE_FREEPLAY_LABEL_SV "Ställ in NAOMI-spel till Free Play"
#define CORE_OPTION_NAME_FORCE_FREEPLAY_INFO_0_SV "Ändra spelets myntinställningar till free play."
#define CORE_OPTION_NAME_EMULATE_BBA_LABEL_SV "Emulering av bredbandsadapter"
#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_SV NULL
#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_SV "Emulera Ethernet-bredbandsadaptern istället för modemet. (Omstart krävs)"
#define CORE_OPTION_NAME_UPNP_LABEL_SV "Aktivera UPnP"
#define CORE_OPTION_NAME_UPNP_INFO_0_SV "Använd UPnP för att automatiskt konfigurera din internetrouter för onlinespel."
#define CORE_OPTION_NAME_DCNET_LABEL_SV NULL
#define CORE_OPTION_NAME_DCNET_INFO_0_SV NULL
#define CORE_OPTION_NAME_DCNET_LABEL_SV "Använd DCNet"
#define CORE_OPTION_NAME_DCNET_INFO_0_SV "Använd DCNet-molntjänsten för Dreamcasts internetåtkomst."
#define CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_SV "Intern upplösning"
#define CORE_OPTION_NAME_INTERNAL_RESOLUTION_INFO_0_SV "Ändra renderingsupplösning."
#define OPTION_VAL_320X240_SV "320x240 (Halv)"
@ -77197,11 +77197,11 @@ struct retro_core_options_v2 options_tt = {
#define CORE_OPTION_NAME_FORCE_FREEPLAY_LABEL_UK "Встановити NAOMI ігри для безкоштовної гри"
#define CORE_OPTION_NAME_FORCE_FREEPLAY_INFO_0_UK "Змінювати параметри гри за допомогою монет \"Вільна гра\"."
#define CORE_OPTION_NAME_EMULATE_BBA_LABEL_UK "Широкосмугова емуляція адаптера"
#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_UK NULL
#define CORE_OPTION_NAME_EMULATE_BBA_INFO_0_UK "Емуляція Ethernet широкосмугового адаптера замість модема. (Перезавантажити необхідно)"
#define CORE_OPTION_NAME_UPNP_LABEL_UK "Активувати UPnP"
#define CORE_OPTION_NAME_UPNP_INFO_0_UK "Використовуйте UPnP для автоматичного налаштування інтернет-маршрутизатора для онлайн-ігор."
#define CORE_OPTION_NAME_DCNET_LABEL_UK NULL
#define CORE_OPTION_NAME_DCNET_INFO_0_UK NULL
#define CORE_OPTION_NAME_DCNET_LABEL_UK "Використовувати DCNet"
#define CORE_OPTION_NAME_DCNET_INFO_0_UK "Використовувати сервіс у хмарі DCNet для доступу в Інтернет Dreamcast."
#define CORE_OPTION_NAME_INTERNAL_RESOLUTION_LABEL_UK "Роздільна здатність"
#define CORE_OPTION_NAME_INTERNAL_RESOLUTION_INFO_0_UK "Змінити роздільну здатність візуалізації."
#define OPTION_VAL_320X240_UK "320х240 (Half)"