46203 Commits
Author SHA1 Message Date
Tom Pratt b5748b81d6 Fix android settings crash on API level 28 and lower
These API levels don't allow color selectors to be used as backgrounds.

Switch to MaterialDivider and set the color via dividerColor instead of background.
2026-09-27 21:04:53 +02:00
OatmealDome da76f651ec MemArenaDarwin: Eliminate use of mach_make_memory_entry_64 2026-09-27 13:59:01 -04:00
Lilly Jade Katrin d51d80b9ec RetroAchievements - Additional Code Approvals
A handful of requested Gecko/AR codes and approvals for use with RetroAchievements.
2026-09-27 10:19:44 -04:00
Hanchen Li a975e7a235 Fix UI text truncation in 4K TV UI 2026-09-26 16:59:44 -07:00
Tom Pratt 36128b9865 Request ACCESS_LOCAL_NETWORK permission on android 17 and up
Show the permission dialog the first time host or connect is clicked.

While the permission is not granted, show an info box at the bottom of the netplay setup screen explaining the need for the permission with a button to grant permission. Launch the app settings menu where the permission can be granted manually if the user has denied twice previously preventing us from showing the permission dialog.

Workarounds using the shouldShowRationale flag and detecting if the dialog showed via onPause to account for well known limitations in the android permissions API.
2026-09-26 22:58:39 +02:00
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
Jordan Woyak 9599525ea1 PowerPC/MMU: Changed mask in DMA_LCToMemory and DMA_MemoryToLC functions to allow for a 256MiB MEM2.
Also adjusted maximum value for MEM2 to 256 MiB for Qt and Android UIs.
2026-09-21 13:37:59 -05: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
William Sullivan 0e6e00b1ef Integrated GBA Audio Routing 2026-09-20 15:10:16 -05: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
Jordan Woyak 76320c7cdf DolphinQt/InfinityBaseWindow: Minor adjustments. 2026-09-18 14:17:16 -05: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
Brad Smith 71165c82a5 Implement File::GetExePath() for OpenBSD with getexecpath() 2026-09-15 00:49:03 -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
matellush 958ea7855b Flatpak: Bump libevdev to 1.13.7 2026-09-12 17:43:18 +02:00
Joshua Vandaële 0cbf5a80ab Input Syntax: Add floor, ceil, round, and trunc functions 2026-09-11 22:38:03 +02:00
Chase Harkcom 9e91582b95 Add reset menu item to Android app 2026-09-10 14:54:46 -06:00
JordanTheToaster 61ac5cb4ef Externals/SDL: Update to release 3.4.16 2026-09-09 02:35:47 +01: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
Tillmann Karras 5d4cf0ec65 generate_coefs.py: fix compatibility with modern NumPy
Reported by apteryx.
2026-09-04 22:18:14 +01:00