33231 Commits
Author SHA1 Message Date
JMC47andGitHub cd99d48859 Merge pull request #14056 from jordan-woyak/cached-blob-reader
Core/DiscIO: Add a setting to load games into memory.
2025-12-22 13:29:05 -05:00
JMC47andGitHub 05a204edc6 Merge pull request #14016 from jordan-woyak/usbutils-CfgMgr32
USBUtils: Replace GetDeviceNameUsingSetupAPI with GetDeviceNameUsingCfgMgr32
2025-12-22 13:28:12 -05:00
JMC47andGitHub e17f6cff30 Merge pull request #13959 from Sintendo/jitarm64-subfx-merge
JitArm64_Integer: Merge subfx and subfcx
2025-12-22 13:27:38 -05:00
JMC47andGitHub 0c1c58dfbc Merge pull request #13409 from jordan-woyak/analytics-vconfig
DolphinAnalytics: Use Config::Get instead of accessing g_Config.
2025-12-22 13:26:45 -05:00
JMC47andGitHub 29a947efc0 Merge pull request #13287 from JoshuaVandaele/legacyconfig
Remove legacy configuration support
2025-12-22 13:26:12 -05:00
Admiral H. CurtissandGitHub b758b390d4 Merge pull request #14210 from cscd98/ulong-compile
MainWindow: Fix sscanf type/width specifiers for DWORD
2025-12-19 18:01:33 +01:00
JMC47andGitHub e60f39c323 Merge pull request #14202 from jordan-woyak/sdl-gcadapter-hint
ControllerInterface: Turn off SDL's GameCube controller adapter handling when Dolphin is configured to use the adapter.
2025-12-17 05:18:37 -05:00
Sintendo 558cee8dcf StringUtils: Drop TabsToSpaces
This function is unused.
2025-12-15 13:41:54 +01:00
Craig Carnell eded73fe8b mingw: fix use of std::invocable with EnumerateRadios 2025-12-12 09:33:10 +00:00
Tillmann Karras c52dd23c58 GekkoDisassembler: drop unsupported opcodes 2025-12-12 01:37:19 +00:00
Tillmann Karras df7caeab3f GekkoDisassembler: fix ps_sel operands 2025-12-12 01:14:16 +00:00
Tillmann Karras 1c157d1fc8 GekkoDisassembler: fix conditional twi opcode 2025-12-12 01:14:09 +00:00
Craig Carnell 7e9f291222 MainWindow: Fix sscanf type/width specifiers for DWORD 2025-12-11 19:36:09 +00:00
Craig Carnell ec6f511c95 mingw: replace usages of Interface as clashes with existing struct 2025-12-11 12:18:02 +00:00
Joshua Vandaële 43564d4130 CMake: Only copy build_info.txt if autoupdate is enabled 2025-12-11 04:23:04 +01:00
Joshua Vandaële 3bb3a05f82 CMake: Use rc and manifests on other targets to match VS Project 2025-12-11 04:23:04 +01:00
Joshua Vandaële da22171c80 Build: Remove license.txt
Follow up to #10039 and #9862
2025-12-11 04:23:00 +01:00
cristian64 bd6ea9a9a1 Core/HW: Enable BBA (IPC) in FreeBSD.
Since v1.4.0, cpp-ipc now supports FreeBSD. This was a limitation that
prevented us from enabling compilation on FreeBSD in #13870.

Full changelog: https://github.com/mutouyun/cpp-ipc/releases/tag/v1.4.0
2025-12-10 21:26:43 +00:00
Craig Carnell 26b6980d1a mingw: replace SendMessage usage as clashes with existing function 2025-12-10 21:07:33 +00:00
Nuh Uh f31f11c0a4 Update Comments Based On Hardware Test
Checked on hardware that this bias was not added because I had assumed the other way around would be true, forgot to ask about making a PR for this when I initially had done so
2025-12-10 13:40:24 -06:00
Jordan Woyak 21eb43c16e ControllerInterface: Turn off SDL's GameCube controller adapter handling when Dolphin is configured to use the adapter. 2025-12-09 16:51:41 -06:00
JosJuice fca27c375a Jit64: Explicitly get imm for clobbered stores
If we're on an x64 CPU that doesn't have the MOVBE extension, trying to
SwapAndStore a host register results in that register's value getting
clobbered with the swapped value. Jit64::stX and Jit64::stXx detect this
case, and if necessary, emit a MOV to a register that's fine to clobber.

This logic was broken by the merge of PR 12134. Jit64::stX and
Jit64::stXx were assuming that if RegCache::IsImm returns true for a
guest register, calling RegCache::Use or RegCache::BindOrImm for that
guest register would result in an immediate. However, PR 12134 made it
possible for a guest register to have both a host register and an
immediate in the register cache at the same time. When this happens,
RegCache::IsImm returns true, yet RegCache::Use and RegCache::BindForImm
return an RCOpArg whose Location returns a host register. (To make it
extra confusing, RCOpArg::IsImm calls RegCache::IsImm if the RCOpArg
came from RegCache, so RCOpArg::IsImm returns true!)

To fix this, in cases where Jit64::stX and Jit64::stXx explicitly need
an immediate to avoid having to emit an extra MOV, let's call
RegCache::Imm32 so that we're certain that we're getting an immediate.

This fixes an issue on older x64 CPUs that manifested as e.g. completely
broken graphics in Spyro: Enter the Dragonfly.
2025-12-08 23:19:10 +01:00
JosJuice 48009fd898 Jit64: Return current value from RCOpArg::IsImm
The constant propagation PR made it so that a guest register can be
present in the register cache as both a host register and an immediate
at the same time. If such a guest register is requested from the
register cache, the register cache prefers returning it as a host
register. However, RCOpArg::IsImm still returns true in this case. This
is confusing, especially since OpArg::IsImm does not return true if the
RCOpArg is converted into an OpArg.

This commit makes RCOpArg::IsImm check whether RCOpArg::Location returns
an immediate, so that RCOpArg::IsImm returns false when a host register
is being used. Code that wants to know whether an immediate exists in
the register cache rather than whether an immediate is currently being
used should call RegCache::IsImm instead.
2025-12-07 23:09:07 +01:00
JMC47andJordan Woyak 80465b2554 GameSettings: Convert "Deinterlacing Fix" codes to patches for Dragon Ball Z: Budokai 1 and 2, enabled them by default, and also added the patch for the Japanese version of the game. 2025-12-04 05:01:28 -06:00
JosJuiceandGitHub 213dc1c9af Merge pull request #14178 from Dentomologist/jit64_avoid_passing_immediate_to_non_immediate_parameter
Jit64: Avoid passing immediate to non-immediate parameter
2025-12-01 20:01:52 +01:00