Commit Graph

45704 Commits

Author SHA1 Message Date
JosJuice
5f011709b7 Translation resources sync with Transifex 2026-06-21 21:48:44 +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
Jordan Woyak
a426df4823
Merge pull request #14690 from MaverickAmon02/dtm-use-after-move
State: Fix Use After Move In LoadAsFromCore
2026-06-20 11:40:17 -05: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
Jordan Woyak
144d19433a
Merge pull request #14603 from jordan-woyak/gamesettings-solitaire
GameSettings: Apply settings required for Solitaire and Mahjong WiiWare.
2026-06-14 11:47:50 -05: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
Tilka
f96a7682d4
Merge pull request #14680 from Tilka/fs_null_fix
DolphinTool: fix crash when listing partition without filesystem
2026-06-13 19:01:57 +01: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
JosJuice
1bc93fd16d
Merge pull request #14672 from AdmiralCurtiss/recursive-nand
NANDImporter: Abort extraction if a NAND FST entry is visited more than once
2026-06-10 17:38:48 +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
Admiral H. Curtiss
07aeb59321
Merge pull request #14666 from JosJuice/jitarm64-twx
JitArm64: Fix twx
2026-06-04 11:52:53 +02:00
JMC47
704cf84fe0
Merge pull request #14670 from JosJuice/game-ini-gbi
GameSettings: Add Game Boy Interface
2026-06-03 14:08:21 -04:00
JosJuice
e0f091b096 GameSettings: Add Game Boy Interface 2026-06-02 21:37:26 +02:00
JMC47
8427b8c0f1
Merge pull request #14657 from SuperSamus/photo-channel-gameini
GameSettings: Add Photo Channel
2026-05-31 15:02:18 -04: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
Tilka
9e7d340f22
Merge pull request #14664 from JosJuice/zelda-apply-reverb-uninitialized
Fix uninitialized variable warning in ZeldaAudioRenderer::ApplyReverb
2026-05-29 22:23:00 +01: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
JosJuice
f820b22147 Translation resources sync with Transifex 2026-05-27 20:01:23 +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
JMC47
25a6205ffb
Merge pull request #14659 from AdmiralCurtiss/crop
Fix aspect ratio cropping option
2026-05-25 13:23:49 -04:00
Admiral H. Curtiss
afd343ec9c
Reimplement custom cropping by adjusting the source aspect ratio 2026-05-24 20:51:23 +02:00
Admiral H. Curtiss
ba15ddd602
Revert the Presenter logic changes from #14506 2026-05-24 19:47:18 +02:00
Martino Fontana
29cf0d8704 GameSettings: Add Photo Channel 2026-05-24 11:36:32 +02:00
JosJuice
85ca4a0784 Translation resources sync with Transifex 2026-05-24 11:24:12 +02:00
Admiral H. Curtiss
d3217f65c3
Merge pull request #14506 from adamscott/crop-that-screen
Add screen crop feature
2026-05-23 20:53:31 +02:00
Admiral H. Curtiss
17b4b8fc07
Address minor nits in new cropping logic 2026-05-23 19:47:28 +02:00
JosJuice
57f1dc97e0
Merge pull request #14655 from tom-pratt/gradle-sync-windows-fix
Fix android gradle sync error on windows
2026-05-21 18:28:10 +02:00
Tom Pratt
e8da93d52f Fix android gradle sync error on windows
Workaround for the following error on gradle sync:

 java.nio.file.InvalidPathException: Illegal char <:> at index 68:
  C:\Users\tompr\Development\dolphin\Externals\minizip-ng\minizip-ng\C:\Users\tompr\Development\dolphin\Source\Android\app\.cxx\RelWithDebInfo\3b681gem\arm64-v8a\Externals\zlib-ng\zlib-ng
2026-05-20 12:31:12 +02:00
Dentomologist
7b69949cec
Merge pull request #14581 from matheuswillder/NFS-Gecko-Codes
GameINI: Action Replay/Gecko codes to unlock Most Wanted Black Edition and Carbon Collector's Edition in GameCube/Wii's Need for Speed
2026-05-18 13:59:06 -07:00
Admiral H. Curtiss
30c7c7e2b7
Merge pull request #14653 from Tilka/net_accept
IOS/Network: reduce log verbosity of SO_EAGAIN to info level
2026-05-18 22:04:29 +02:00
Tillmann Karras
4618e4bb40 IOS/Network: reduce log verbosity of SO_EAGAIN to info level
Otherwise IOCTL_SO_ACCEPT is very noisy until a client connects.
2026-05-15 23:01:27 +01:00
JMC47
604d13e1cc
Merge pull request #14448 from TheShrubMaster/main
AudioCommon: Add individual Wiimote audio mixer
2026-05-14 18:36:49 -04:00
Weston Heard
adcfbda2a3 AudioCommon: Add individual Wiimote audio mixer
Also incremented STATE_VERSION.
2026-05-14 14:50:45 -05:00
Dentomologist
d0d354fbed
Merge pull request #14635 from JosJuice/android-panic-log-crash
Android: Move alert message log from Kotlin to C++
2026-05-12 17:14:06 -07:00
Admiral H. Curtiss
34311f5fa2
Merge pull request #14592 from jordan-woyak/memcard-manager-scrolling
DolphinQt/GCMemcardManager: Set ScrollMode::ScrollPerPixel to make scrolling behavior less annoying.
2026-05-11 23:04:22 +02:00