summaryrefslogtreecommitdiff
path: root/Source
AgeCommit message (Collapse)Author
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
2026-06-04Merge pull request #14667 from JosJuice/nand-import-path-traversalAdmiral H. Curtiss
Prevent path traversal in NANDImporter::ProcessEntry
2026-05-31JitArm64: Fix twxJosJuice
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-30Prevent path traversal in NANDImporter::ProcessEntryJosJuice
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-30Rework NANDImporter::GetPath slash handlingJosJuice
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-29Fix uninitialized variable warning in ZeldaAudioRenderer::ApplyReverbJosJuice
If CopyFromEmuSwapped considers the address to be invalid, nothing will be written to the passed-in pointer.
2026-05-25Merge pull request #14631 from ↵Dentomologist
Simonx22/android/convert-directoryinitialization-to-kotlin Android: Convert DirectoryInitialization to Kotlin
2026-05-25Merge pull request #14607 from elyashue/internal-resolution-displayDentomologist
VideoCommon: Added option for showcasing internal resolution
2026-05-24Reimplement custom cropping by adjusting the source aspect ratioAdmiral H. Curtiss
2026-05-24Revert the Presenter logic changes from #14506Admiral H. Curtiss
2026-05-23Approve Xenoblade Chronicles 60 FPS Gecko codeChase Harkcom
2026-05-23Merge pull request #14506 from adamscott/crop-that-screenAdmiral H. Curtiss
Add screen crop feature
2026-05-23Address minor nits in new cropping logicAdmiral H. Curtiss
2026-05-19lint formattingTom Pratt
2026-05-19Fix NetplayScreen edge to edgeTom Pratt
NetplayScreen was not drawing under the bottom nav bar like other screens. In landscape mode half of the screen scrolls and half is fixed, to make this look natural with edge to edge, provide a fade on the bottom of the scrolling side so things look natural when the screens loads and is resting at 0 scroll offset.
2026-05-19Replace hardcoded save progress stringTom Pratt
2026-05-19Use the dual pane netplay screen layout only if the width is sufficientTom Pratt
To avoid using dual pane layout on very small devices, ensure that the current width available for display is at least medium (600dp). It also has to be landscape, the dual pane mode looks weird on a tablet in portrait mode since there's not that much content.
2026-05-19WithSession helper functionTom Pratt
Handles the repeated boiler plate of using a weak reference to NetplaySession from NetplayUICallbacks
2026-05-19Pass immutable games list to NetplayUICallbacksTom Pratt
Remove corresponding jni config. Rename Netplay to NetplaySession in jni config to match new kotlin name.
2026-05-19Use unique_ptr when creating netplay client / serverTom Pratt
2026-05-19Add @Keep annotation to Player constructorTom Pratt
Since it's only instantiated from c++.
2026-05-19Fix netplay license headersTom Pratt
2026-05-19Update compose dependenciesTom Pratt
Was using 2025 instead of 2026! Fixed some buggy bottom sheet behaviour. Minor tidying of the chat UI in the bottom sheet
2026-05-19Implement DoAllPlayersHaveGame() checkTom Pratt
2026-05-19Add network mode picker for hostTom Pratt
2026-05-19Add host buffer settings for fair input delay modeTom Pratt
Also rename max buffer to client buffer for better consistency with settings and c++
2026-05-19Handle traversal state changes and errorsTom Pratt
Traversal connections show in the joining info UI. Non fatal errors show the retry button. Fatal errors end the netplay session.
2026-05-19Show joining info for local and external IP addressesTom Pratt
Doesn't support traversal yet
2026-05-19Separate out GetExternalIPAddress helper functionTom Pratt
De-duplicates the two inline implementations and prepares it for use from Android.
2026-05-19Add ability to choose game when hostingTom Pratt
Also fix bottom sheets so they survive rotation
2026-05-19Send own messages to chatTom Pratt
A player's own messages don't come back via the server.
2026-05-19Create NetPlayServer and start gameTom Pratt
2026-05-19Hosting UITom Pratt
2026-05-19Implement OnMsgPowerButtonTom Pratt
2026-05-19Game digest progress dialogTom Pratt
We just about get away with using a StateFlow in NetplaySession since the host sends AbortGameDigest when closing their own dialog. Without that it would be harder for the UI to distinguish between subsequent dialogs. If that wasn't the case then NetplaySession might need to expose the individual progress and result updates and have the view model assemble it into the overall GameDigestProgress.