Commit Graph

38685 Commits

Author SHA1 Message Date
Tom Pratt
38b5c7370c Implement StopGame callback and use it to finish the emulation activity 2026-05-19 12:02:56 +02:00
Tom Pratt
86956b21be Settings refactor
Remove the big saveSetup function and set individual settings immediately after being changed in the UI. Group them all under Netplay.Settings
2026-05-19 12:02:56 +02:00
Tom Pratt
65e4c60158 Max buffer 2026-05-19 12:02:56 +02:00
Tom Pratt
e49451b28e Put players table in an OutlinedBox, makes the UI look more consistent. 2026-05-19 12:02:56 +02:00
Tom Pratt
c32732714e Implement more NetPlayUICallbacks
Includes chat, game changes, pad buffer changes and host input authority. Merges them all into the chat window.
2026-05-19 12:02:55 +02:00
Tom Pratt
dfa3384281 Netplay chat UI 2026-05-19 12:02:55 +02:00
Tom Pratt
d9e2725e85 Implement player list 2026-05-19 12:02:55 +02:00
Tom Pratt
af2fda5649 Reorder netplay class
Put all the boring settings at the bottom to reduce scrolling!
2026-05-19 12:02:55 +02:00
Tom Pratt
b72f3c1afc Add mostly empty Netplay screen, equivalent of NetPlayDialog in QT.
All it can do at this point is quit the current netplay session when backing out of this screen.
2026-05-19 12:02:55 +02:00
Tom Pratt
5527e8138e Move NetplaySetupScreen to its own file 2026-05-19 12:02:55 +02:00
Tom Pratt
f52ca02ca2 Show client connection errors and handle connection result
If result is a success sent event to launch the next netplay screen. if it fails, clear up the netplay client
2026-05-19 12:02:54 +02:00
Tom Pratt
3ed9174208 Store netplay BootSessionData and use it to run the netplay game 2026-05-19 12:02:54 +02:00
Tom Pratt
766374434c Pass game list to NetPlayUICallbacks and implement OnMsgChangeGame, OnMsgStartGame, FindGameFile 2026-05-19 12:02:54 +02:00
Tom Pratt
1464fdfc28 Add NetPlayClient join and stub NetPlayUICallbacks 2026-05-19 12:02:54 +02:00
Tom Pratt
a1983e5fa2 Add Netplay settings JNI layer and wire up NetplaySetupViewModel 2026-05-19 12:02:54 +02:00
Tom Pratt
f10022f2dc Netplay setup UI
Only for connecting, no hosting yet.
2026-05-19 12:02:53 +02:00
Tom Pratt
c716c32ce8 Add compose dependencies for Android and empty NetplaySetupActivity
Derive compose colour theming from the existing XML styles already set at the activity level.
2026-05-19 12:02:53 +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
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
Admiral H. Curtiss
8bf1f8970a
Merge pull request #14613 from JosJuice/wad-tmd-checks
DiscIO: Add extra IsValid checks for VolumeWAD::m_tmd
2026-05-11 22:59:40 +02:00
JosJuice
4470534dc5 Android: Move alert message log from Kotlin to C++
For some reason, NativeLibrary.kt calling Log for the alert message text
makes Dolphin die with a JNI error. Supposedly the jstring passed to the
logging function is invalid. I don't understand why, because the dialog
that we show right afterwards is able to read the string just fine. The
error happens even if I pass the string directly to Log without
prepending any extra text.

There's no real downside to having the logging in C++ instead of Kotlin,
so let's move it to C++ to avoid the JNI error.
2026-05-08 10:56:51 +02:00
Dentomologist
d19952cc11
Merge pull request #14634 from JosJuice/jitarm64-msr-dr-bit
JitArm64: Fix DR check in MSRUpdated
2026-05-07 17:21:50 -07:00
Dentomologist
30a20d75d2
Merge pull request #14629 from Simonx22/android/convert-tvutil-to-kotlin
Android: Convert TvUtil to Kotlin
2026-05-07 13:23:48 -07:00
JosJuice
f09a736f14
Merge pull request #14645 from Dentomologist/msghandler_use_more_suitable_log_levels
MsgHandler: Use LogLevel matching MsgType for alerts
2026-05-07 11:07:41 +02:00
Dentomologist
8afc696a1e
Merge pull request #14644 from tom-pratt/fix_do_all_players_have_game
DoAllPlayersHaveSameGame returns correct result instead of always true
2026-05-06 15:07:33 -07:00
Dentomologist
cf20cdabd4
Merge pull request #14632 from vladfi1/upstream-pipe-inputs-fix
Unconditionally lock in ControllerInterface::UpdateInput
2026-05-06 13:40:16 -07:00
Vlad Firoiu
20718de37e Unconditionally lock in ControllerInterface::UpdateInput. 2026-05-06 15:57:03 -04:00
Dentomologist
dfda04c4e4 MsgHandler: Use log level matching MsgType for alerts
When calling `ShowMessageAlert` with a given `MsgType`, log the alert
with a `LogLevel` matching the `MsgType` instead of always using
`LogLevel::LERROR`.
2026-05-06 12:44:43 -07:00
Tom Pratt
bedb283d93 DoAllPlayersHaveSameGame returns correct result instead of always true
SendGameStatus() was writing SyncIdentifierComparison as a u32 but the server reads it as a u8 enum, so the server always gets 0 (SameGame). This bug was introduced in commit 66276ac.
2026-05-06 14:06:01 +02:00
Dentomologist
6d5399246e
Merge pull request #14532 from Dentomologist/autoupdatechecker_fix_edge_cases
AutoUpdateChecker: Fix Edge Cases
2026-05-05 16:23:16 -07:00
Jordan Woyak
b0eb643c61
Merge pull request #14642 from SuperSamus/cpp-move-fixup-nocubeb
Fixup #14565 (compilation with `-DENABLE_CUBEB=OFF`)
2026-05-05 11:45:55 -05:00
Martino Fontana
3c06541718 Fixup #14565 (compilation with -DENABLE_CUBEB=OFF) 2026-05-05 13:50:05 +02:00
Dentomologist
34646cb9a9 Replace some [[maybe_unused]] annotations with commented names
Remove the [[maybe_unused]] annotation from various parameters that are
unconditionally unused and comment out their names instead. This makes
it unambiguous that the variables are unused, while making the remaining
[[maybe_unused]] annotations more reliable indicators that those
variables are in fact used in some contexts.

These parameters are mostly in overridden functions where the override
doesn't need that particular variable.
2026-05-03 17:09:59 -07:00
Jordan Woyak
eb44b64c9e
Merge pull request #14628 from JosJuice/android-remove-hostthreadlock
Android: Remove HostThreadLock
2026-05-01 11:39:24 -05:00
JosJuice
058c7021b8 JitArm64: Fix DR check in MSRUpdated
TBZ takes the index of the bit to test, not a LogicalImm.
2026-05-01 10:23:59 +02:00
Jordan Woyak
1907ffa45d
Merge pull request #14384 from ethanuppal/editdsuservers
Config: Add Edit button to DSU server menu
2026-04-30 20:50:17 -05:00
Simonx22
a7e98c776d Android: Convert TvUtil to Kotlin 2026-04-30 16:23:32 -04:00
Ethan Uppal
4e55d2518a
Config: Add Edit button to DSU server menu
Signed-off-by: Ethan Uppal <113849268+ethanuppal@users.noreply.github.com>
2026-04-30 02:23:41 -04:00
spaceage64
3944310308 Add Classic Controller support cheats for Animal Crossing (all regions) 2026-04-29 19:44:31 +02:00
JosJuice
c73dde2193 Android: Remove HostThreadLock
Follow-up to 068947e. HostThreadLock no longer serves a purpose.
2026-04-29 18:55:18 +02:00
Dentomologist
2b743639d8
Merge pull request #13505 from tygyh/Replace-find-with-contains
Source/Core: Replace `find(x) != npos` with `contains(x)`
2026-04-28 17:50:51 -07:00
Dentomologist
725a726174
Merge pull request #14602 from jordan-woyak/show-file-in-folder
QtUtils: Add ShowFileInFolder function and make GameList right-click menu actions use it.
2026-04-28 17:29:44 -07:00
JMC47
0e8fa3caca
Merge pull request #14601 from jordan-woyak/mkgp-wheel-fix
HW/Triforce/MarioKartGP: Tweak the steering wheel FFB device responses to prevent "Wheel Error" screens.
2026-04-27 16:48:28 -04:00
JMC47
6409c5beb3
Merge pull request #13931 from SuperSamus/pikmin-squared-60fps
GameINI: Add 60 FPS code for Pikmin Squared
2026-04-27 13:09:00 -04:00
Jordan Woyak
5e1185b979 HW/Triforce/MarioKartGP: Tweak the steering wheel FFB device responses to prevent "Wheel Error" screens. 2026-04-27 11:59:12 -05:00
OatmealDome
af15769d57
Merge pull request #14569 from Simonx22/android/convert-gamefilecachemanager-to-kotlin
Android: Convert GameFileCacheManager to Kotlin
2026-04-26 12:03:57 -04:00
Jordan Woyak
5588fe0022
Merge pull request #14308 from jordan-woyak/character-encoding
StringUtil: Make UTF16ToUTF8 and UTF8ToUTF16 use custom encoding/decoding implementation.
2026-04-25 14:59:27 -05:00
Dentomologist
ac78e52cf9 GCAdapter: Fix data races
Make `s_is_adapter_wanted` and the elements of `s_config_rumble_enabled`
atomic.

The CPU thread reads `s_is_adapter_wanted` and `s_config_rumble_enabled`
in `Output`, while the host thread writes to them in `RefreshConfig`.

The simplest way to trigger this race is to close the `Settings` window
while playing a game with the adapter active.
2026-04-25 11:16:10 -07:00