Skip to content

libretro: update to 2603a and also generate cheats and integrate into RetroArch frontend#420

Merged
warmenhoven merged 16 commits intolibretro:masterfrom
cscd98:cheats
Mar 19, 2026
Merged

libretro: update to 2603a and also generate cheats and integrate into RetroArch frontend#420
warmenhoven merged 16 commits intolibretro:masterfrom
cscd98:cheats

Conversation

@cscd98
Copy link

@cscd98 cscd98 commented Mar 18, 2026

Update to 2603a.

Also adds:

Converts dolphin INI format to RetroArch CHT format so you can enable/disable cheats in retroarch frontend instead of manually editing INI files.

Automatically generates, can be turned off under core options "Automatically Import Cheats into RetroArch" if people prefer the old method of editing INI files.

Does not fix the 30FPS toggle issue. But it allows infinite lives, ammo etc. type cheats.

JosJuice and others added 14 commits March 17, 2026 17:28
This should stop AchievementManager::LoadGame from being called for the
default ISO when CBoot::BootUp is booting something other than a disc or
IPL (most notably, the Wii Menu), while still detecting all disc changes
that happen while a disc game is running.
TimeSplitters: Future Perfect is crashing if page table fastmem is
enabled. The reason hasn't been analyzed yet. For the time being, let's
use GameSettings to bring back the old behavior of not having page table
fastmem.

Fixes https://bugs.dolphin-emu.org/issues/14000.
Currently, configuring from System>Bundled doesn't work, it instead produces cryptic errors. And configuring from Bundled>System wont produce errors, but wont use the system libraries either. This change produces a clear error in both cases.
This also fixes the CMake build on Windows, since it would fail to find our target defined in Externals and would fall back to trying to redefine it, which produces an error.
cURL tries to find ZSTD anyways due to the lack of setting it in CACHE, and for both ZLIB and ZSTD if we had done find_package previously, cURL would still use ZLIB/ZSTD regardless of the set variable.
Our FindLibUSB.cmake was previously entirely unused unless SDL was being built from Externals, we now rely on it again. It will use PkgConfig if applicable or fall back to looking around on the system, and more importantly it will always create an imported target.
Previously, SDL would `find_package(libusb)` which would actually overwrite the user preference in the case where both USE_SYSTEM_LIBUSB and USE_SYSTEM_SDL were OFF. This coincidentally also allows SDL to use libusb on Windows.
Don't copy null terminators from the log's `header.gameid` into
`FifoDataFile`'s `m_game_id`.

Doing so would cause an infinite loop in `Core::GenerateScreenshotName`
as the various concatenations and `fmt::format` calls would then
effectively drop all the timestamps and disambiguating arbitrary numbers
since they followed the null terminator in the gameid, and so the
`File::Exists` calls would always return true.

Fixes https://bugs.dolphin-emu.org/issues/14002.
@cscd98 cscd98 force-pushed the cheats branch 11 times, most recently from 85bdb6f to c2dd24d Compare March 19, 2026 16:53
@cscd98 cscd98 changed the title libretro: generate cheats and integrate into frontend libretro: update to 2603a and also generate cheats and integrate into RetroArch frontend Mar 19, 2026
@warmenhoven warmenhoven merged commit ae95d31 into libretro:master Mar 19, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants