Commit Graph

45288 Commits

Author SHA1 Message Date
OatmealDome 5e7cc91d8c ScmRevGen: Bump version to 2603a 2603a 2026-03-17 18:05:04 -04:00
JosJuice 8b5a50da8f RetroAchievements: Block loading discs that don't match current title 2026-03-17 17:57:25 -04:00
Dentomologist 5c9e4f8e47 FifoPlayer: Fix hang when taking screenshot during FIFO log playback
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.
2026-03-17 17:30:23 -04:00
OatmealDome c9ea4e3b8e GeneralWidget: Add protections against invalid values in BackendWarning() 2026-03-17 17:30:12 -04:00
OatmealDome 2dee66d57a cURL: Disable Brotli 2026-03-17 17:30:01 -04:00
Craig Carnell 6242de7b25 fmt: change use of fmt/base.h to fmt/format.h as not provided until fmt>=11.0 2026-03-17 17:29:46 -04:00
Joshua Vandaële f272382cd1 SDL: Use bundled LibUSB when desirable
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.
2026-03-17 17:29:22 -04:00
Joshua Vandaële 6a22e57fe8 LibUSB: Improve library detection
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.
2026-03-17 17:29:18 -04:00
Joshua Vandaële d2198dbb67 cURL: Actually disable ZLIB/ZSTD
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.
2026-03-17 17:29:14 -04:00
Joshua Vandaële b66d9b707f minizip-ng: Properly use libraries from Externals
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.
2026-03-17 17:29:09 -04:00
Joshua Vandaële 65d3d76cfe CMake: Error out when switching sources for dependencies
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.
2026-03-17 17:29:05 -04:00
JosJuice a2f9626051 Disable page table fastmem for TimeSplitters: Future Perfect
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.
2026-03-17 17:28:28 -04:00
JosJuice b85eda152c Core: Add INI-only setting for page table fastmem 2026-03-17 17:28:24 -04:00
JosJuice 4d4e975a90 Move achievements code out of DVDInterface::SetDisc
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.
2026-03-17 17:28:07 -04:00
OatmealDome d8558142ea ScmRevGen: Bump version to 2603 2603 2026-03-11 19:36:49 -04:00
JosJuice 30a735aa6f Translation resources sync with Transifex 2026-03-09 22:57:38 +01:00
Dentomologist 49d5299f1e Merge pull request #14438 from JosJuice/save-on-settings-close
DolphinQt: Save when closing settings window
2026-03-04 18:31:55 -08:00
JosJuice d25ef67d6f DolphinQt: Save when closing settings window
If Dolphin crashes, changes that have been made to settings are often
lost. This has been a minor annoyance for me when developing, but it has
become a much bigger issue recently due to the problem where Dolphin
freezes on shutdown for ROG Ally users.

Instead of saving the config when certain arbitrary settings are
changed, let's save the config when the user closes the settings window.
2026-03-04 22:26:25 +01:00
JMC47 239c4e444c Merge pull request #14279 from jordan-woyak/nfs-hp2-speedhack
GameSettings: Add patches for Need for Speed: Hot Pursuit 2 to limit the internal frame rate.
2026-03-04 00:35:45 -05:00
JMC47 aa1c198325 Merge pull request #14297 from jordan-woyak/speedhack-stunt-racer
GameSettings: Add patch to limit framerate in Monster 4x4: Stunt Racer.
2026-03-03 16:12:55 -05:00
JMC47 2aad5daf0f Merge pull request #14280 from jordan-woyak/rabbids-speed-hacks
GameSettings: Add patches to limit the internal frame rate in Rabbids Go Home and Rabbids Lab.
2026-03-03 16:02:54 -05:00
JMC47 43def54de2 Merge pull request #14435 from Simonx22/fix/metal-early-stop-shutdown
Metal: Always run endEncoding on command encoders
2026-03-03 12:25:16 -05:00
Simonx22 03bcd564c5 Metal: Always run endEncoding on command encoders
Fixes a macOS Metal crash when stopping immediately after boot starts.

m_upload_encoder and m_texture_upload_encoder could be dealloc'd during shutdown before endEncoding could be called, which causes a Metal assertion failure.

Co-authored-by: OatmealDome <julian@oatmealdome.me>
2026-03-03 09:49:42 -05:00
JMC47 5c62c90d35 Merge pull request #14432 from Dentomologist/vertexloadermanager_fix_crash_from_invalid_array_base
VertexLoaderManager: Fix crash caused by invalid array base
2026-03-02 19:39:55 -05:00
Dentomologist edb576f4c0 VertexLoaderManager: Fix crash caused by invalid array base
Don't set cached array bases to invalid pointers. If a game tries to set
an invalid base just keep the old one, which might cause game problems
but won't crash the emulator.
2026-03-02 13:02:51 -08:00
Dentomologist 15f24c56e4 Merge pull request #14327 from Dentomologist/performancemetrics_fix_graph_size_and_spacing
PerformanceMetrics: Fix graph size and spacing
2026-03-02 11:01:37 -08:00
JosJuice 792601120c Merge pull request #14429 from TellowKrinkle/DSUCheckUnwrapIP
DSU: Don't crash on bad hostname
2026-03-01 11:00:04 +01:00
TellowKrinkle 80762e0575 DSU: Don't crash on bad hostname 2026-03-01 00:08:08 -06:00
JMC47 63fc9d7ca3 Merge pull request #14425 from JosJuice/android-wiimote-crash
Android: Fix Wii Remote connection crashes
2026-02-28 16:16:20 -05:00
JosJuice 5a914e5247 Android: Use DeleteLocalRef more in WiimoteAndroid
Doesn't matter a lot, but we're supposed to do this to be nice citizens.
2026-02-28 16:13:36 +01:00
JosJuice faa861f1ab Android: Fix Wii Remote connection crashes
Users are reporting a crash at the point where WiimoteAndroid::IORead
tries to use m_java_wiimote_payload. This commit solves the problem by
making m_java_wiimote_payload a global reference.

The code for setting up m_java_wiimote_payload has also been moved to
the constructor just because that way it's impossible for it to run
twice. (If the code as written were to run a second time, the old global
reference would be leaked. ConnectInternal should only run once, so this
is just to be on the safe side.)

Fixes https://bugs.dolphin-emu.org/issues/13960.
2026-02-28 16:10:58 +01:00
JosJuice 1a08708a75 Merge pull request #14418 from LillyJadeKatrin/retroachievements-wii-menu
RetroAchievements - Close game on switch to null hash
2026-02-28 15:15:50 +01:00
Dentomologist f898d75bf3 Merge pull request #14317 from JosJuice/jit-cache-macro-loop
Jit: Use RangeSet for physical_addresses
2026-02-26 19:25:29 -08:00
Dentomologist 65f0dc9b2e Merge pull request #14416 from JosJuice/game-id-ascii
DiscIO: Only allow alphanumeric ASCII in game IDs
2026-02-26 14:07:27 -08:00
Jordan Woyak b063fda9a8 GameSettings: Add patches to limit the internal frame rate in Rabbids Go Home and Rabbids Lab.
Thanks to mickle pickle and ruru for helping to port the the Rabbids Go Home patch for the European versions of the game.
2026-02-26 04:48:57 -06:00
Lilly Jade Katrin 713d557d5e RetroAchievements - Close game on switch to null hash
Mistakenly thought the change media call would close the current
game if the new media failed to hash. This wasn't the case so
instead I'll close the current game myself. This fixes an issue
where a default ISO would immediately load achievements when
starting up the Wii menu.
2026-02-24 22:55:30 -05:00
Dentomologist 2a3078b833 Merge pull request #14415 from JosJuice/android-achievement-defaults
Android: Fix defaults for RetroAchievements settings
2026-02-24 18:45:54 -08:00
JosJuice 7b372db559 DiscIO: Only allow alphanumeric ASCII in game IDs
We often use game IDs in paths, so we should try to make sure path
traversal is impossible in game IDs. Admittedly, doing any kind of real
attack using the six bytes available in game IDs is unrealistic, but no
game ID should contain non-alphanumeric or non-ASCII characters anyway.

Might also fix https://bugs.dolphin-emu.org/issues/13982 by skipping
converting between encodings for game IDs.
2026-02-24 21:36:02 +01:00
JosJuice 1d74321212 DiscIO: Move DecodeString to Volume.cpp
This had to be in the header back when it was templated, but 083faa8b
made it not templated.
2026-02-24 21:09:12 +01:00
JosJuice d58e7ca932 Merge pull request #14411 from JoshuaVandaele/SDL-3.4.2
Externals: Update SDL to release-3.4.2
2026-02-24 21:08:27 +01:00
JosJuice b6513dcb05 Translation resources sync with Transifex 2026-02-24 20:53:01 +01:00
Dentomologist e9d7ee8b57 Merge pull request #14352 from Windsurf7/sonicmega-gameini
GameINI: Formatting updates to Sonic Mega Collection
2026-02-23 18:28:38 -08:00
JMC47 ff27147a71 Merge pull request #14407 from jordan-woyak/mag-card-fixup
MagneticCardReader: Minor fixup to writing card data.
2026-02-23 19:09:23 -05:00
JosJuice c1a26808ce Jit: Use RangeSet for physical_addresses
This makes JitBaseBlockCache::ErasePhysicalRange around 50% faster and
PPCAnalyzer::Analyze around 40% faster. Rogue Squadron 2's notoriously
laggy action of switching to and from cockpit view is made something
like 20-30% faster by this, though this is a very rough measurement.
2026-02-23 23:01:49 +01:00
JosJuice 36f45dce44 Move RangeSet from Externals to Common
This is a very small libary, and as I understand it, it was more or less
developed for Dolphin.

This moves the two relevant files from Externals to Common, changes the
namespace to Common, reformats the code, and adds Dolphin copyright
notices. The change in copyright notice and license was approved by
AdmiralCurtiss.
2026-02-23 22:55:38 +01:00
JosJuice 99d82829c8 Android: Fix defaults for RetroAchievements settings
Default values for settings need to be the same in Kotlin and C++,
otherwise settings that haven't been changed by the user will be shown
as having one value in the Android GUI but treated as having a different
value in the core.
2026-02-23 19:24:58 +01:00
JosJuice 000eaf0c0c Merge pull request #14389 from FrankyBuster/master
Metal Arms and PoP Two Thrones aspect ratio setting fix
2026-02-23 19:11:58 +01:00
JosJuice ffa03fec78 Merge pull request #14331 from JosJuice/game-inis-rs
GameSettings: Update Rogue Squadron II and III
2026-02-23 16:56:06 +01:00
Joshua Vandaële 7cc3874a7c Externals: Update SDL to release-3.4.2
Notable changes:
- CMake
  - Fixed a bug where SDL couldn't use a vendored libusb or libhidapi (see 29b3fcfb1bc834d0187a8114debdcbbf8381cd61)
- Fixed long startup times on Windows when some non-compliant input devices are present
- Controller support
  - Added support for the Razer Raiju V5 Pro
  - Improved Switch 2 controller support
  - Improved NVIDIA SHIELD controller support
  - Fixed various controllers showing up twice on macOS
  - Fixed handling GameCube adapters in PC mode on Linux and macOS
2026-02-22 08:48:07 +01:00
Dentomologist b55aaa8ca7 Merge pull request #14376 from Windsurf7/lozss-gameini
GameINI: Formatting updates to The Legend of Zelda Skyward Sword
2026-02-21 12:34:23 -08:00