Commit Graph
38734 Commits
Author SHA1 Message Date
JosJuice 8038496a07 Merge pull request #14589 from Dentomologist/merge_tooltips_for_disabled_settings_into_balloontips
HacksWidget: Merge tooltips for disabled settings into balloontips
2026-06-28 12:10:54 +02:00
JosJuice 37d6f29e06 Merge pull request #14615 from Dentomologist/code_widgets_allow_mass_enabled_toggling
ARCodeWidget/GeckoCodeWidget: Add button to enable/disable all codes
2026-06-28 11:45:05 +02:00
JosJuice afdee595f6 Merge pull request #14198 from JosJuice/jit64-cmpxx-rb-comparand
Jit64: Improve cmpXX imm handling
2026-06-28 11:14:47 +02:00
JosJuice 9416eb9537 Merge pull request #14599 from naari3/fix/directoryblob-gc-triforce-alignment
DirectoryBlob: fix data alignment for GC/Triforce and skip Triforce DIMM memory range
2026-06-28 11:03:03 +02:00
JosJuice 02bacff51f Merge pull request #14278 from JosJuice/ppcanalyst-split-read-write
PPCAnalyst: Split "in use" analysis into reads and writes
2026-06-28 10:58:11 +02:00
JosJuice 6d796f7863 Merge pull request #14646 from linkmauve/pi-regs
HW/ProcessorInterface: Add support for all known registers
2026-06-28 10:36:43 +02:00
JosJuice 321f878bb6 Merge pull request #14676 from SuperSamus/jit-dcbx-fixup
JitArm64: Fix uninitialized use of register in dcbx
2026-06-28 10:29:54 +02:00
JosJuice 63121d11fc Merge pull request #14683 from SuperSamus/idle-loop-nop-fix
PPCAnalyst: In `IsBusyWaitLoop`, ignore `nop`
2026-06-28 10:28:52 +02:00
JosJuice c23b4f4f3a Merge pull request #14626 from ChaseParate/approve-xenoblade-chronicles-60-fps-gecko-code
Gecko/RetroAchievements: Approve Xenoblade Chronicles 60 FPS Gecko code
2026-06-28 10:28:15 +02:00
Admiral H. Curtiss d0f9446a8c Merge pull request #14663 from AdmiralCurtiss/qt6.8.3
Update bundled Windows Qt to 6.8.3
2026-06-26 20:56:43 +02:00
Admiral H. Curtiss e87225beb2 Update bundled Windows Qt to 6.8.3 2026-06-26 19:22:16 +02:00
Admiral H. Curtiss 14ee972235 Merge pull request #14684 from Sintendo/rm-unused-headers
Remove unused headers
2026-06-26 19:09:39 +02:00
Link Mauve 82a317124a HW/ProcessorInterface: Add support for all known registers
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-26 01:32:15 +02:00
Dentomologist baf91d4436 Merge pull request #14591 from TryTwo/Registers_Fix
Debugger: Register Widget bug fix. Block updates when changing types
2026-06-25 13:17:29 -07:00
OatmealDome 2f1c14cdc7 Merge pull request #14687 from JoshuaVandaele/realtek-linux-list
RealtekFirmwareLoader: Update list from Linux source
2026-06-24 18:32:43 -04:00
Joshua Vandaële d52afbf83b TAPServerConnection: Fix builds with LLVM toolchain
On an Alpine system using a full LLVM toolchain, building fails because `fd_set`/`timeval` are undefined.
2026-06-24 20:17:35 +02:00
Joshua Vandaële d170a27cc6 ICCardReader: Fix macro collision
On Alpine Linux, Dolphin fails to build due to PAGE_SIZE being already defined somewhere in the system includes.
2026-06-23 22:48:35 +02:00
Joshua Vandaële faaea5919a Add missing includes 2026-06-23 21:09:18 +02:00
Joshua Vandaële e97b1cd759 fmt: Allow building with version >=12.2.0
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-23 21:09:14 +02:00
JosJuice 53dad6f230 VolumeVerifier: Remove SystemNotAvailable
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-22 08:36:50 +02:00
JosJuice 47040a1834 Don't send Dolphin version in user agent to Redump
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-22 08:36:44 +02:00
JosJuice d202fd07d2 Use redump.info instead of redump.org
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-22 08:28:51 +02:00
JosJuice 21f12fdc77 Merge pull request #14692 from JosJuice/netplay-memory-safety
NetPlay: Fix memory safety issues
2026-06-21 21:44:22 +02:00
JosJuice 6bdf00ed21 Merge pull request #14691 from JosJuice/bba-memory-safety
EXI/BBA: Fix tx_fifo memory safety issues
2026-06-21 21:43:50 +02:00
JosJuice 79322e77b0 Merge pull request #14668 from JosJuice/state-nand-path-traversal
IOS/FS: Rewrite NAND savestating
2026-06-21 14:56:09 +02:00
JosJuice 5aed26fb11 NetPlay: Fix chunked data buffer overflow
Reported by MrSynAckster.
2026-06-20 15:15:36 +02:00
JosJuice 747e1e0d92 NetPlay: Fix Wii save banner buffer overflow
Reported by MrSynAckster.
2026-06-20 15:15:36 +02:00
JosJuice 95f3f8c6df EXI/BBA: Add null check in CEXIETHERNET::DirectFIFOWrite
Just in case. DMAWrite calls DirectFIFOWrite with the result of a
GetPointerForRange call without first checking if it's null.
2026-06-20 15:15:28 +02:00
JosJuice 31eaf1d67c EXI/BBA: Fix tx_fifo memory safety issues
Reported by MrSynAckster.
2026-06-20 15:15:28 +02:00
Amon Neander 5797b943b2 State: Fix Use After Move In LoadAsFromCore
This use-after-move error inhibits the use of savestates during the Dolphin TAS Movie creation process.
2026-06-19 07:40:59 -07:00
Dentomologist 43210d1430 Merge pull request #14685 from JosJuice/netplayclient-pad-index
NetPlayClient: Check for invalid pad indices
2026-06-17 13:36:11 -07:00
Joshua Vandaële 6dbc4f36df RealtekFirmwareLoader: Update list from Linux source 2026-06-15 18:47:54 +02:00
JosJuice 32eaf7961f NetPlayClient: Check for invalid pad indices
Like 29e577d but for the client instead of the server.
2026-06-14 14:47:17 +02:00
JosJuice 107169bfd8 Merge pull request #14677 from doldol22312/netplay-validate-controller-packet-indices
NetPlayServer: Fix remote crash via invalid pad index
2026-06-14 13:51:46 +02:00
Sintendo ec0c4b72ff Remove unused headers 2026-06-14 11:22:02 +02:00
Martino Fontana 2204a789e4 PPCAnalyst: In IsBusyWaitLoop, ignore nop
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-14 01:08:31 +02:00
Tillmann Karras 37a3b0fe6a DolphinTool: fix crash when listing partition without filesystem
We were also passing the wrong partition name.
2026-06-13 17:39:08 +01:00
agalq13 5585aa0474 NetPlay: Stop game when mapped Wii Remote disconnects 2026-06-11 14:31:05 +03:00
agalq13 29e577d966 NetPlay: Validate controller packet indices 2026-06-11 13:20:48 +03:00
JosJuice d35fe1b78b IOS/FS: Rewrite NAND savestating
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-10 21:21:30 +02:00
Martino Fontana da45cbe8fd JitArm64: Fix uninitialized use of register in dcbx
Also do a little cleanup in the equivalent part of Jit64.
2026-06-08 23:38:05 +02:00
Admiral H. Curtiss 29f1bc4d4c NANDImporter: Abort extraction if a NAND FST entry is visited more than once 2026-06-04 18:48:19 +02:00
Admiral H. Curtiss aabea5b1e3 Merge pull request #14667 from JosJuice/nand-import-path-traversal
Prevent path traversal in NANDImporter::ProcessEntry
2026-06-04 17:31:33 +02:00
JosJuice a6278030c2 JitArm64: Fix twx
The conditions were in reverse order (maybe someone was reading the
PowerPC manual and forgot about IBM's bit numbering), and additionally
the two conditions for unsigned comparison were wrong.

Fixes https://bugs.dolphin-emu.org/issues/14054.
2026-05-31 11:49:34 +02:00
JosJuice 2faa9760d3 Prevent path traversal in NANDImporter::ProcessEntry
Reported by MrSynAckster. A specifically crafted NAND dump could use
path traversal to overwrite files on the host file system.

This is also an accuracy fix for importing NAND dumps that contain
file names that Dolphin is supposed to escape. Some games' save files
are affected.
2026-05-30 11:51:14 +02:00
JosJuice 3abadcd507 Rework NANDImporter::GetPath slash handling
GetPath has two special cases where it doesn't add a slash.

The first is for the root entry's special name "/". The next commit will
be neater if we can skip calling GetPath for the root entry, because '/'
is one of the characters that Common::EscapeFileName replaces with an
escape sequence. Let's check for entry number 0 instead.

The second is for parent paths that already end in a slash. There's no
actual need to check for this - double slashes are harmless, and for
comparison, NANDImporter::ExtractCertificates already appends slashes
without checking if there already is one. Let's remove this check.
2026-05-30 11:51:14 +02:00
JosJuice 635fa74b4c Fix uninitialized variable warning in ZeldaAudioRenderer::ApplyReverb
If CopyFromEmuSwapped considers the address to be invalid, nothing will
be written to the passed-in pointer.
2026-05-29 22:09:13 +02:00
Dentomologist 9b4534328f Merge pull request #14631 from Simonx22/android/convert-directoryinitialization-to-kotlin
Android: Convert DirectoryInitialization to Kotlin
2026-05-25 12:39:14 -07:00
Dentomologist 379a1a7109 Merge pull request #14607 from elyashue/internal-resolution-display
VideoCommon: Added option for showcasing internal resolution
2026-05-25 12:17:29 -07:00
Admiral H. Curtiss afd343ec9c Reimplement custom cropping by adjusting the source aspect ratio 2026-05-24 20:51:23 +02:00