summaryrefslogtreecommitdiff
path: root/Source/Core
AgeCommit message (Collapse)Author
2026-06-28Merge pull request #14647 from tom-pratt/netplayJMC47
Android netplay
2026-06-28Merge pull request #14658 from VampireFlower/patch-instruction-assembleAdmiral H. Curtiss
[Debugger]: Assemble instructions in the patch instruction dialog
2026-06-28State: Use proper path encoding conversion for OSD messagesJosJuice
Otherwise Windows will use the system code page.
2026-06-28Jit64: Early flush in ComputeRC even when `needs_test`Martino Fontana
Example: ``` nand. r1, r2, r3 ``` Assuming that none of these registers will be used again: - Before #14278, all of them would be flushed on both sides of the branch. - After #14278, r2 and r3 would have been flushed earlier, but r1 won't. - With this, r1 is flushed in ComputeRC.
2026-06-28Merge pull request #14589 from ↵JosJuice
Dentomologist/merge_tooltips_for_disabled_settings_into_balloontips HacksWidget: Merge tooltips for disabled settings into balloontips
2026-06-28Merge pull request #14615 from ↵JosJuice
Dentomologist/code_widgets_allow_mass_enabled_toggling ARCodeWidget/GeckoCodeWidget: Add button to enable/disable all codes
2026-06-28Merge pull request #14198 from JosJuice/jit64-cmpxx-rb-comparandJosJuice
Jit64: Improve cmpXX imm handling
2026-06-28Merge pull request #14599 from naari3/fix/directoryblob-gc-triforce-alignmentJosJuice
DirectoryBlob: fix data alignment for GC/Triforce and skip Triforce DIMM memory range
2026-06-28Merge pull request #14278 from JosJuice/ppcanalyst-split-read-writeJosJuice
PPCAnalyst: Split "in use" analysis into reads and writes
2026-06-28Core: Remove SerialInterfaceManager::ChangeDeviceJosJuice
Now SerialInterfaceManager::UpdateDevices reads the configured SI devices directly from Config instead. The main reason why I wanted to do this is so that Android can change SI devices while emulation is running. (Android didn't have the code for calling ChangeDevice.) But when implementing the change, I noticed that NetPlay and Movie were using ChangeDevice as a way of overriding the SI devices configured by the user. Replacing this ended up making the change larger than I first anticipated. For Wii Remotes, there was no equivalent to ChangeDevice, so NetPlay and Movie were using Config::SetCurrent to override the Wii Remote source configured by the user. If we can use the config system to override Wii Remote sources, why not do the same for SI devices? This commit makes NetPlay and Movie set SI devices and Wii Remote sources in the NetPlay and Movie config layers, as that is the conceptually appropriate place to do it. As far as I can tell, the old Movie code for overriding SI devices and Wii Remote sources didn't actually work. This new code does. I didn't investigate exactly why it didn't work, but maybe it's because loading a movie happens before emulation actually starts.
2026-06-28Merge pull request #14646 from linkmauve/pi-regsJosJuice
HW/ProcessorInterface: Add support for all known registers
2026-06-28Merge pull request #14676 from SuperSamus/jit-dcbx-fixupJosJuice
JitArm64: Fix uninitialized use of register in dcbx
2026-06-28Merge pull request #14683 from SuperSamus/idle-loop-nop-fixJosJuice
PPCAnalyst: In `IsBusyWaitLoop`, ignore `nop`
2026-06-28Merge pull request #14626 from ↵JosJuice
ChaseParate/approve-xenoblade-chronicles-60-fps-gecko-code Gecko/RetroAchievements: Approve Xenoblade Chronicles 60 FPS Gecko code
2026-06-26Android: Fix mixup between Vibrator id and indexJosJuice
This fixes https://bugs.dolphin-emu.org/issues/14076. The issue report more or less already says it all, but to provide a shorter summary: We were fetching a list of vibrator IDs, but instead of passing the vibrator ID to the vibrator manager, we passed the index of the ID in the list. This happened to work fine on many devices, including all devices that use DolphinVibratorManagerCompat, due to the only Vibrator having both an index and ID of 0. But on some devices, it failed due to the ID of the Vibrator being 1. This fix makes us correctly pass the ID to the vibrator manager. We still use indices in controller INI files, both for compatibility with the controller mappings shipped with Dolphin (which use index 0) and for backwards compatibility with older controller INI files.
2026-06-26Merge pull request #14663 from AdmiralCurtiss/qt6.8.3Admiral H. Curtiss
Update bundled Windows Qt to 6.8.3
2026-06-26Update bundled Windows Qt to 6.8.3Admiral H. Curtiss
2026-06-26Merge pull request #14684 from Sintendo/rm-unused-headersAdmiral H. Curtiss
Remove unused headers
2026-06-26HW/ProcessorInterface: Add support for all known registersLink Mauve
These changes originate from testing the behaviour of the PI registers in Linux on my Wii. I started by testing the masks, writing 0xFFFF_FFFF to the registers on the Wii, and then got told about their value on a GameCube, and then figured out most of the registers through a discussion with Extrems.
2026-06-25Merge pull request #14591 from TryTwo/Registers_FixDentomologist
Debugger: Register Widget bug fix. Block updates when changing types
2026-06-24Merge pull request #14687 from JoshuaVandaele/realtek-linux-listOatmealDome
RealtekFirmwareLoader: Update list from Linux source
2026-06-24TAPServerConnection: Fix builds with LLVM toolchainJoshua Vandaële
On an Alpine system using a full LLVM toolchain, building fails because `fd_set`/`timeval` are undefined.
2026-06-23ICCardReader: Fix macro collisionJoshua Vandaële
On Alpine Linux, Dolphin fails to build due to PAGE_SIZE being already defined somewhere in the system includes.
2026-06-23Add missing includesJoshua Vandaële
2026-06-23fmt: Allow building with version >=12.2.0Joshua Vandaële
This change was causing some issues: > Made FMT_STRING a no-op when FMT_USE_CONSTEVAL is enabled, since the consteval format-string constructor already provides compile-time validation (#4611, #4612). Thanks @friedkeenan.
2026-06-22VolumeVerifier: Remove SystemNotAvailableJosJuice
We had some code in VolumeVerifier to catch the error message that Redump.org used to show when trying to access the Wii datfile without logging in. This restriction was removed from Redump.org around the start of 2022, and the code has been unnecessary ever since.
2026-06-22Don't send Dolphin version in user agent to RedumpJosJuice
When we added the RetroAchievements integration, we had a discussion about whether sending version information in the user agent was fine from a privacy standpoint. We reached the conclusion that it was okay, but it was conditional on the website having a privacy policy. Neither incarnation of Redump has that, and Redump also never asked us to send version information like RetroAchievements did, so let's use a user agent that just says "Dolphin" when connecting to Redump.
2026-06-22Use redump.info instead of redump.orgJosJuice
All the staff of Redump (except the absentee sysadmin) have decided to start a new version of the website at redump.info. It has every disc from the old site, it has HTTPS, it isn't buckling under the load of AI scrapers, and moving forward, all adding and verifying of discs is going to be happening on the new website only. Let's move over. I've taken the unusual step of updating the translation files manually. This is because we're very close to a release and because the change is simple enough that I feel confident about making the change to languages I don't speak. (I double checked that the Korean translation doesn't ever follow "Redump.org" by a particle that has a different form depending on whether there's a final consonant.)
2026-06-21Merge pull request #14692 from JosJuice/netplay-memory-safetyJosJuice
NetPlay: Fix memory safety issues
2026-06-21Merge pull request #14691 from JosJuice/bba-memory-safetyJosJuice
EXI/BBA: Fix tx_fifo memory safety issues
2026-06-21Merge pull request #14668 from JosJuice/state-nand-path-traversalJosJuice
IOS/FS: Rewrite NAND savestating
2026-06-20NetPlay: Fix chunked data buffer overflowJosJuice
Reported by MrSynAckster.
2026-06-20NetPlay: Fix Wii save banner buffer overflowJosJuice
Reported by MrSynAckster.
2026-06-20EXI/BBA: Add null check in CEXIETHERNET::DirectFIFOWriteJosJuice
Just in case. DMAWrite calls DirectFIFOWrite with the result of a GetPointerForRange call without first checking if it's null.
2026-06-20EXI/BBA: Fix tx_fifo memory safety issuesJosJuice
Reported by MrSynAckster.
2026-06-19State: Fix Use After Move In LoadAsFromCoreAmon Neander
This use-after-move error inhibits the use of savestates during the Dolphin TAS Movie creation process.
2026-06-17Merge pull request #14685 from JosJuice/netplayclient-pad-indexDentomologist
NetPlayClient: Check for invalid pad indices
2026-06-15RealtekFirmwareLoader: Update list from Linux sourceJoshua Vandaële
2026-06-14NetPlayClient: Check for invalid pad indicesJosJuice
Like 29e577d but for the client instead of the server.
2026-06-14Merge pull request #14677 from ↵JosJuice
doldol22312/netplay-validate-controller-packet-indices NetPlayServer: Fix remote crash via invalid pad index
2026-06-14Remove unused headersSintendo
2026-06-14PPCAnalyst: In `IsBusyWaitLoop`, ignore `nop`Martino Fontana
Found out when attempting to make a speed hack to help Dolphin detect an idle loop. The inserted `nop` was preventing it from considering it an idle loop.
2026-06-13DolphinTool: fix crash when listing partition without filesystemTillmann Karras
We were also passing the wrong partition name.
2026-06-12MenuBar: Add missing Alt shortcuts in ToolsJoshua Vandaële
A few actions were missing from shortcuts in the Tools menu. This allows using e.g. `ALT`+(`T`>`E`>`S`) to open the Skylanders Manager, or `ALT`+(`C`>`C`>`1`) to toggle the first Wii Remote's connection.
2026-06-11NetPlay: Stop game when mapped Wii Remote disconnectsagalq13
2026-06-11NetPlay: Validate controller packet indicesagalq13
2026-06-10IOS/FS: Rewrite NAND savestatingJosJuice
This makes us savestate the NAND using the same APIs the guest uses instead of directly touching the host files. This solves several problems: * If the user loaded a malicious savestate, it could use path traversal to overwrite arbitrary files on the host file system. (Reported by MrSynAckster.) * Metadata (UID, GID, attribute, modes) wasn't being savestated. * NAND redirects weren't handled, except for NAND redirects at the root of where the savestate was being done. (This only possibly matters if TASing a Riivolution patch. The root of the savestate is at /tmp when not TASing, and the only case where we do a NAND redirect is inside /title if requested by a Riivolution patch.)
2026-06-08JitArm64: Fix uninitialized use of register in dcbxMartino Fontana
Also do a little cleanup in the equivalent part of Jit64.
2026-06-07[Debugger]: Assemble instructions in the patch instruction dialogVampireFlower
2026-06-04NANDImporter: Abort extraction if a NAND FST entry is visited more than onceAdmiral H. Curtiss