Commit Graph
45550 Commits
Author SHA1 Message Date
OatmealDome d60942d3cb Merge pull request #14461 from Dentomologist/wasapistream_handle_getbuffer_errors
WASAPIStream: Fix crash when GetBuffer call fails
2026-03-15 20:09:28 -04:00
OatmealDome 3bc8ba683b Merge pull request #14454 from Simonx22/android/remove-pre-api24-version-guards
Android: Remove version guards for API levels below 23 (Marshmallow)
2026-03-15 20:07:11 -04:00
OatmealDome 4dea6ee68e Merge pull request #14468 from OatmealDome/curl-brotli-no-link
cURL: Disable Brotli
2026-03-15 19:58:45 -04:00
cristian64 3eea3a90b5 Triforce: Check only first byte in region flag.
In some Triforce games (e.g. _F-Zero AX_), the bytes that follow the
region flag in the `boot.id` file (at `0x38`) happen to be `0x00`.
However, in other games (e.g _Mario Kart Arcade GP 2_), it seems the
region flag is padded with `0xFF`.

_Mario Kart Arcade GP 2_ (`boot.id` in the USA version):
```
00000 0000:  42 54 49 44 00 00 01 E0  00 00 00 01 00 00 00 01  BTID.... ........
00000 0010:  FF FF FF FF FF FF FF FF  FF FF FF FF FF FF FF FF  ........ ........
00000 0020:  47 43 41 4D 00 00 01 C0  07 D3 05 0F 00 00 00 07  GCAM.... ........
00000 0030:  53 42 4E 4C 00 00 00 00  0E FF FF FF FF FF FF FF  SBNL.... ........
                                      -----------
                                           ^
                                           |
                                      region flag
```

When the region flag was tested in `switch` statements (where a single
byte was expected in the `case`s), the test would fail, depending
on the game.

This issue would lead to the wrong calculation of the country in
`VolumeDisc::GetCountry()`, which was then used to build the game ID in
`VolumeDisc::GetGameID()`.

The solution is to test using only the least meaningful byte in the
region flag.

Unexpected game IDs were first noticed with USA version of _Mario Kart
Arcade GP 2_, which was wrongly assigned the same game ID that is given
to the Japan version (i.e. `GNLJ82`). The correct game ID for the USA
version is `GNLE82`.
2026-03-15 18:43:00 +00:00
Simonx22 fd20322f5f Android: Remove version guards for API levels below 23 (Marshmallow) 2026-03-15 14:25:04 -04:00
OatmealDome 66db206e34 Merge pull request #14453 from Simonx22/android/bump-minsdk-to-24
Android: Raise minSdk to 24 (Android 7.0)
2026-03-15 14:22:44 -04:00
OatmealDome aba842c09a GeneralWidget: Add protections against invalid values in BackendWarning() 2026-03-15 14:08:41 -04:00
OatmealDome 44e3f3708e cURL: Disable Brotli 2026-03-15 13:59:54 -04:00
OatmealDome a28fff3f00 Merge pull request #14224 from JoshuaVandaele/windows-mz-ng-fix
Externals: Fix clashing dependencies
2026-03-15 12:27:02 -04:00
Craig Carnell 4caddbc12b fmt: change use of fmt/base.h to fmt/format.h as not provided until fmt>=11.0 2026-03-15 08:37:00 +00:00
Jordan Woyak b6027da5db Merge pull request #14464 from Dentomologist/system_use_forward_declarations_in_system.h
System: Use forward declarations in System.h
2026-03-14 20:24:52 -05:00
Dentomologist 2aba231915 System: Use forward declarations in System.h 2026-03-14 10:53:45 -07:00
Dentomologist 210f70a501 Merge pull request #14463 from m-brodschi/move-perf-metrics-to-coretiming
Move PerformanceMetrics from global variable to System
2026-03-14 10:40:10 -07:00
Mihai BrodschiandJordan Woyak f9c3f06f0a Move PerformanceMetrics from global variable to System
This avoids the static initialization order fiasco between Core and VideoCommon

Co-authored-by: Jordan Woyak <[email protected]>
2026-03-14 16:42:21 +02:00
Sepalani 5bddb6e244 AMMediaboard: Increase NetworkCommandAddress2 range 2026-03-14 12:45:28 +04:00
Sepalani 9cb2229601 AMMediaboard: Change the way socket descriptors are assigned 2026-03-14 12:45:28 +04:00
Dentomologist e8a78ed95f WASAPIStream: Fix crash when GetBuffer call fails
Check the return value of calls to `GetBuffer` and stop the `WASAPI
handler` sound thread if they fail.

This prevents a crash due to a null pointer dereference if `GetBuffer`
is unable to retrieve a buffer, which could be triggered during
emulation by disabling the selected WASAPI output device in the Windows
Sound settings.
2026-03-13 20:29:58 -07:00
Dentomologist 7a45ede688 Merge pull request #14123 from JosJuice/fix-logical-page-mappings
Memmap: Fix populating m_logical_page_mappings
2026-03-13 12:11:01 -07:00
Dentomologist 7209cf87cb GameList: Add status bar with game count
The status bar shows the number of games in your collection. If any
games are hidden by the platform, region, or search filters it will also
show how many games are visible and how many are filtered.

The visibility of the status bar can be toggled from the menu by
selecting `View`->`Show Game Count`.

Implements https://bugs.dolphin-emu.org/issues/9517.
2026-03-13 11:26:32 -07:00
Dentomologist dd9f1e3573 Merge pull request #14458 from jordan-woyak/buildfix
HW/Triforce/SerialDevice: Add missing include to fix FreeBSD build.
2026-03-12 20:46:27 -07:00
Jordan Woyak 51a15f42a9 HW/Triforce/SerialDevice: Add missing include to fix FreeBSD build. 2026-03-12 21:35:30 -05:00
JMC47 d4e97f6bd7 Merge pull request #14409 from sepalani/tri-rw-log
AMMediaboard: Improve recv/send log messages
2026-03-12 21:51:29 -04:00
JMC47 2336753a24 Merge pull request #14408 from sepalani/tri-eagain
AMMediaboard: Check for EAGAIN in WSAGetLastError
2026-03-12 21:51:10 -04:00
JMC47 f0096310bf Merge pull request #14452 from jordan-woyak/triforce-avalon-touchscreen
Triforce: Implement The Key of Avalon's touchscreen.
2026-03-12 21:49:08 -04:00
Jordan Woyak 12d790a54a Merge pull request #14442 from Dentomologist/performancemetrics_use_state_changed_hookableevent
PerformanceMetrics: Use HookableEvent for state changed callback
2026-03-12 19:54:13 -05:00
JMC47 9143c4cc95 Merge pull request #14172 from sepalani/usb-iso-ret
IOS/USB: Add helper to set return values of IsoMessage's packets
2026-03-12 16:33:07 -04:00
Simonx22 57a8a78d06 Android: Raise minSdk to 24 (Android 7.0)
Reasons:
- Only 0.000341% of all Android users were on API 21-23 in the last 365 days.
- These devices are old and likely do not run Dolphin well.
- Android 5.x and 6.0 have been without security updates for about 8 years.
- Staying on API 21–23 blocks AndroidX updates, including Lifecycle.
2026-03-12 16:22:26 -04:00
Dentomologist e550e1ff7c Merge pull request #14345 from TryTwo/cheat_search_work
CheatSearch: Add ability to breakpoint the selected lines.
2026-03-12 12:35:51 -07:00
Dentomologist e26b61dcee Merge pull request #14440 from JosJuice/optimize-remove-page
Core: Optimize RemoveHostPageTableMappings
2026-03-12 12:31:53 -07:00
JMC47 161f9e82c1 Merge pull request #14427 from Simonx22/qt/cheats-gecko-download-error-message
DolphinQt: Improve Gecko code download failure message
2026-03-12 15:25:41 -04:00
JMC47 ff84a4b07a Merge pull request #14426 from Simonx22/android/convert-afterdirectoryinitializationrunner-to-kotlin
Android: Convert AfterDirectoryInitializationRunner to Kotlin
2026-03-12 15:25:15 -04:00
JMC47 6257823caf Merge pull request #14424 from Simonx22/android/wii-update-callback-kotlin
Android: Convert WiiUpdateCallback to Kotlin
2026-03-12 15:25:05 -04:00
JMC47 94c1891187 Merge pull request #14423 from Simonx22/android/convert-alertdialogitemsbuilder-to-kotlin
Android: Convert AlertDialogItemsBuilder to Kotlin
2026-03-12 15:24:49 -04:00
JMC47 e0ab156afd Merge pull request #14422 from Simonx22/android/convert-tvsettingsviewholder-to-kotlin
Android: Convert TvSettingsViewHolder to Kotlin
2026-03-12 15:24:38 -04:00
JMC47 c5c1204eda Merge pull request #14421 from Simonx22/android/convert-usbpermservice-to-kotlin
Android: Convert USBPermService to Kotlin
2026-03-12 15:24:24 -04:00
Jordan Woyak cca880de16 State: Increase STATE_VERSION. 2026-03-12 03:58:01 -05:00
Jordan Woyak 3e8430440a Triforce: Implement The Key of Avalon's touchscreen.
Added SerialDevice base class interface.
Adapted MagneticCardReader to use the SerialDevice interface.
Implemented The Key of Avalon touchscreen SerialDevice.
Altered CSIDevice_AMBaseboard to use SerialDevice.
Made serial reads happen every GCAMCommand rather than only upon write.
2026-03-12 03:57:47 -05:00
JMC47 56b9b37ac8 Merge pull request #14406 from jordan-woyak/baseboard-minor-cleanups
SI_DeviceAMBaseboard: Minor cleanups.
2026-03-12 04:33:56 -04:00
Jordan Woyak b77cf5e0f2 State: Increase STATE_VERSION. 2026-03-12 02:48:31 -05:00
Jordan Woyak b1000496a2 SI_DeviceAMBaseboard: Clean up RunBuffer.
Eliminated outer loop.
Reduced memcpy'ing.
2026-03-12 02:48:07 -05:00
Jordan Woyak 4fa93e402d SI/SI_DeviceAMBaseboard: Expose the buffer size of 128 to eliminate some magic numbers. 2026-03-12 02:48:07 -05:00
Jordan Woyak 1234a4e479 SI_DeviceAMBaseboard: Use CreateStatusResponse to fix "RunSIBuffer: expected_response_length" WARN_LOGs. 2026-03-12 02:48:07 -05:00
Jordan Woyak 8da0a94ab9 SI_DeviceAMBaseboard: Add baseboard 0x70 command to SerialInterface::EBufferCommands enum to eliminate BaseBoardCommand enum. 2026-03-12 02:48:07 -05:00
Jordan Woyak cda384d40f SI_DeviceAMBaseboard: Remove unnecessary code. 2026-03-12 02:48:07 -05:00
Jordan Woyak fe2d604060 Merge pull request #14401 from naari3/master
AMMediaboard: stub Triforce NETWORK TEST command handling
2026-03-12 02:47:37 -05:00
JMC47 5b51af7673 GameINI: Patch startup error in Sonic Adventure 2: Battle PAL 2026-03-12 02:50:11 -04:00
OatmealDome 899124466c Merge branch 'release-prep-2603' 2026-03-12 00:35:33 -04:00
Stavros Kosmas d09436cd1a DolphinQt: Improve TAS UI Widgets
Made Stick and IR Widgets bigger
Improved Stick and IR layouts to better utilize space
Made Stick and IR Widgets Scale at a fixed ratio when window is resized
Added Scrollbars to Stick and IR Widgets
Reduced Spinbox padding in dark style
2026-03-12 04:59:49 +02:00
OatmealDome d8558142ea ScmRevGen: Bump version to 2603 2026-03-11 19:36:49 -04:00
JosJuice 30a735aa6f Translation resources sync with Transifex 2026-03-09 22:57:38 +01:00