46127 Commits

Author SHA1 Message Date
Admiral H. Curtiss
465c652da1 Merge pull request #14887 from SuperSamus/statistics-unsigned-members
VideoCommon/Statistics: Use unsigned int where appropriate
2026-09-24 23:42:38 +02:00
Martino Fontana
910eeffc08 VideoCommon/Statistics: Use unsigned int where appropriate
Some poorly coded games are able to overflow some statistics (e.g. Jimmy Neutron: Boy Genius's title screen).
While funny, signed integer overflow is undefined behavior, and while in practice here it's extremely unlikely to cause issues, it's still better to avoid it.
2026-09-24 12:05:18 +02:00
OatmealDome
0d93fc0355 Merge branch 'release-prep-2609' 2026-09-23 23:53:19 -04:00
OatmealDome
f84df02055 ScmRevGen: Bump version to 2609 2609 2026-09-23 18:24:53 -04:00
OatmealDome
d085f97001 Merge branch 'release-prep-2606a' into release-prep-2609 2026-09-23 18:24:19 -04:00
JosJuice
233b2dfe6d Translation resources sync with Transifex 2026-09-21 20:16:25 +02:00
JosJuice
4619af1be0 Merge pull request #14883 from AdmiralCurtiss/zelda-hle-voice-flags
DSPHLE/Zelda: Add bounds check for m_sync_voice_skip_flags in RenderAudio()
2026-09-21 18:23:48 +02:00
JosJuice
22342c2303 Merge pull request #14882 from JosJuice/gci-folder-block-index
GCMemcardDirectory: Add bounds check for m_save_data
2026-09-21 18:23:39 +02:00
JosJuice
42cc8c040c Merge pull request #14862 from matellush/flatpak/discord-rich-presence
Flatpak: Fix Discord rich presence
2026-09-20 23:11:40 +02:00
Admiral H. Curtiss
b84323e108 DSPHLE/Zelda: Add bounds check for m_sync_voice_skip_flags in RenderAudio() 2026-09-20 22:51:17 +02:00
JosJuice
8f674f574a Merge pull request #14833 from JosJuice/state-nand-tas
IOS/FS: Fix loading savestate while TASing
2026-09-20 22:30:42 +02:00
JosJuice
f8a5c5c10b GCMemcardDirectory: Check if UsesBlock result is non-negative
The only negative result UsesBlock can return is -1, so this change
doesn't affect anything in practice, but makes the intent a little bit
clearer.
2026-09-20 22:18:45 +02:00
JosJuice
56e8b740f1 GCMemcardDirectory: Add bounds check for m_save_data 2026-09-20 20:13:19 +02:00
JosJuice
093d3abe95 IOS/FS: Fix loading savestate while TASing, part 2
When calling CreateDirectory for /wfs, we were passing a UID of 19,
because that is the UID /wfs is supposed to have. However,
CreateDirectory returns AccessDenied if we try to create a directory in
the root using a UID other than 0.

To fix this, let's use UID 0 to create the directory, and then change
the UID and GID afterwards using SetMetadata. This is what the ESCore
constructor does, which is the piece of code that normally creates /wfs.
2026-09-20 11:59:28 +02:00
JosJuice
4fcd61620f IOS/FS: Fix loading savestate while TASing, part 1
When TASing, we savestate not just /tmp but also /. The code that was
added in d35fe1b didn't handle recreating / correctly.

This commit fixes the problem by skipping recreating /, which is fine
since it always exists.
2026-09-20 11:56:57 +02:00
JosJuice
dbff13226c Merge pull request #14867 from brad0/openbsd_build_fix
Fix building on OpenBSD
2026-09-20 10:08:10 +02:00
Admiral H. Curtiss
ee018d00e6 Merge pull request #14868 from JoshuaVandaele/index-regression
NetPlayIndex: Fix regression introduced in #14738
2026-09-17 01:36:38 +02:00
Admiral H. Curtiss
3d26cfb1f3 Merge pull request #14869 from cristian64/ram_override_ios
Core: Fix RAM override setup in IOS.
2026-09-17 01:32:08 +02:00
Admiral H. Curtiss
a96b5da856 Merge pull request #14832 from JoshuaVandaele/windeployqt-fix
DolphinQt: Properly define QtPaths
2026-09-17 01:22:55 +02:00
cristian64
2039b5524e Core: Fix RAM override setup in IOS.
This is a correction for 0cab1731d6 (part of #14665), where it was
overlooked that the condition to enable the RAM override was flawed: if
the user had enabled the emulated memory size override in Dolphin, but
the running game did not define a simulated memory size greater than the
retail memory size, the RAM override in IOS was wrongly misconfigured,
causing issues with Wii games.

Test plan:

- Launch Dolphin.
- In the **Settings > Advanced** section, tick the **Enable Emulated
  Memory Size Override** check box, and set the maximum memory size for
  both **MEM1** and **MEM2** (i.e. 64 MiB and 128 MiB respectively).
- Play any Wii game (e.g. _Mario Kart Wii_ (RMCE01)).

**Without** the patch, the emulator will hit an invalid read from
`0x83FEE78C` at `0x8019FE6C`:

<img alt="Invalid read when starting Wii game after having enabled the emulated memory override in Dolphin" title="Invalid read when starting Wii game after having enabled the emulated memory override in Dolphin" src="https://github.com/user-attachments/assets/1777485e-a421-4303-8d3d-dd49f1aaa9bf" />

**With** the patch, the emulator can execute the game as usual.
2026-09-15 20:53:31 +01:00
Joshua Vandaële
9386b577b3 NetPlayIndex: Fix regression introduced in 14738
For some reason, #14738 removed the headers and allowed return codes which broke using the Netplay index for users.
Also, bools converted to a string using std::to_string would become 0/1, while fmt::format by default turns them into false/true, which also broke the index.
2026-09-15 09:44:41 +02:00
Brad Smith
191292946f Fix building on OpenBSD
- OpenBSD does not have SO_NOSIGPIPE
- Enable some socket related code in AMMediaboard.cpp on OpenBSD
2026-09-15 01:22:34 -04:00
JosJuice
9611279be5 Merge pull request #14850 from JoshuaVandaele/no-nogui
DolphinNoGUI: Default to OFF
2026-09-13 20:32:41 +02:00
JosJuice
c185d27ede Merge pull request #14851 from LillyJadeKatrin/retroachievements-progress-fix
RetroAchievements - Fix Achievement Progress Toggle
2026-09-12 23:10:19 +02:00
matellush
304a534d16 Flatpak: Drop incorrect Discord folder permission suffix 2026-09-12 19:10:34 +02:00
matellush
cfc4d3d887 Flatpak: Support Discord Canary for rich presence 2026-09-12 17:57:14 +02:00
LillyJadeKatrin
3a55a0e1a2 RetroAchievements - Fix Achievement Progress Toggle
The RA_PROGRESS_ENABLED flag was added but not currently being invoked, this
makes sure it is checked before popping up progress messages.
2026-09-07 09:59:22 -04:00
Joshua Vandaële
14e3c61d62 DolphinNoGUI: Default to OFF 2026-09-07 10:12:06 +02:00
linkmauve
a2efdf1197 Merge pull request #14847 from linkmauve/pe-token-2-bytes
Revert "VideoCommon: Use correct size for PE token"
2026-09-06 09:35:33 +02:00
Link Mauve
3e95d0fc16 Revert "VideoCommon: Use correct size for PE token"
This reverts commit e4349ae179.

The 0x prefix is included in the characters count (unlike e.g. in Rust
where there is no 0x prefix), so that commit was wrong.  Sorry about
that!

Fixes regression introduced in #14842.
2026-09-06 09:06:48 +02:00
Dentomologist
982e8d183d Merge pull request #14817 from JosJuice/android-netplay-version
Common: Add Android to GetNetplayDolphinVer
2026-09-05 22:04:48 -07:00
Scott Mansell
debe8e9fd9 Merge pull request #14789 from phire/optimise_vs_uid
Optimize vertex_shader_uid_data down to 28 bytes
2026-09-06 14:37:57 +12:00
Scott Mansell
bd389f6b00 Merge pull request #14843 from linkmauve/better-dff-error-message
Core: Improve error message on empty dff
2026-09-06 12:06:31 +12:00
Scott Mansell
ef0038dded Merge pull request #14842 from linkmauve/pe-token-2-bytes
VideoCommon: Use correct size for PE token
2026-09-06 12:06:17 +12:00
JMC47
f0862e12e1 Merge pull request #14844 from retropieuser/master
Add AR codes for Timesplitters 2 (Retroachievements)
2026-09-05 14:45:14 -04:00
JosJuice
7f6eb621ad Merge pull request #14838 from OatmealDome/mac-memory-increase-fail
MemArenaDarwin: Pass the MAP_MEM_VM_SHARE flag to mach_make_memory_entry_64
2026-09-05 12:18:19 +02:00
Tilka
e559fd7c3c Merge pull request #14846 from linkmauve/fix-usb-gecko
HW/EXI: Don’t dereference one item past end of array
2026-09-04 21:03:25 +01:00
Link Mauve
f80a78869a HW/EXI: Don’t dereference one item past end of array
Dolphin would previously crash while accessing &buffer[got], as if we
were trying to access that element instead of just obtaining a pointer
to it.  The proper solution is to obtain a pointer to the first element,
and only add the offset we want to get the range.

Here is the printed message:
/usr/include/c++/16/array:210: constexpr std::array<_Tp, _Nm>::value_type& std::array<_Tp, _Nm>::operator[](size_type) [with _Tp = char; long unsigned int _Nm = 128; reference = char&; size_type = long unsigned int]: Assertion '__n < this->size()' failed.

The stack trace originates from:
Source/Core/Core/HW/EXI/EXI_DeviceGecko.cpp:139
2026-09-04 15:37:36 +02:00
retropieuser
4a9db521c1 Add AR codes for Timesplitters 2 (Retroachievements)
Added in the two codes quoted on the game wiki page

https://wiki.dolphin-emu.org/index.php?title=TimeSplitters_2

16:9 Widescreen during gameplay & the Border Fix
2026-09-03 21:53:16 +01:00
JosJuice
ca8c6ee45e Merge pull request #14830 from JoshuaVandaele/sdl-miscs
SDLGamepad: Add Misc 2 through 6
2026-09-03 21:28:31 +02:00
JosJuice
5ff90a0471 Merge pull request #14686 from JoshuaVandaele/sdl-touchpads
SDLGamepad: Support multiple touchpads
2026-09-03 21:28:20 +02:00
Link Mauve
cdb1744994 Core: Improve error message on empty dff
This also lets us remove the comment, which is now unnecessary.
2026-09-03 11:51:35 +02:00
Link Mauve
e4349ae179 VideoCommon: Use correct size for PE token
This token is a u16, not a u24, so let’s not display unnecessary 00
padding.
2026-09-03 11:49:13 +02:00
OatmealDome
27804b4e67 MemArenaDarwin: Pass the MAP_MEM_VM_SHARE flag to mach_make_memory_entry_64
Large anonymous mappings are split into 128 MB chunks. Without MAP_MEM_VM_SHARE,
mach_make_memory_entry_64 will only return an entry spanning the first chunk.
Attempting to map through that entry will fail if it extends beyond the 128 MB
boundary, which can happen when the sizes of MEM1/MEM2 are overridden.
2026-09-01 22:25:12 -04:00
Scott Mansell
a1e636d72c Merge pull request #14837 from iwubcode/dolphin_texture_refactor_2
VideoCommon: separate out reinterpret and palette texture creation from rendering
2026-09-01 16:47:42 +12:00
iwubcode
9263f6b7c6 VideoCommon: separate out reinterpret and palette texture creation from rendering 2026-08-31 19:51:30 -05:00
Joshua Vandaële
e9c5b57d88 DolphinQt: Properly define QtPaths
This fixes cross-compilation on Windows, where windeplotqt would previously always grab the host's DLLs instead of the target's.
2026-08-30 07:34:06 +02:00
Dentomologist
1fd7f35218 Merge pull request #14818 from JoshuaVandaele/gridview-title
GameList: Enable word wrap in grid view
2026-08-29 21:51:10 -07:00
JosJuice
5508158a77 Merge pull request #14746 from PhobosAnomaly666/patch-1
Add Gecko code for Star Fox Adventures (Retroachievements)
2026-08-29 13:54:54 +02:00
JosJuice
dfe15b9e24 Merge pull request #14824 from JosJuice/save-controller-to-dtm
Core: Fix controllers resetting when starting input recording
2026-08-29 11:20:54 +02:00