| Age | Commit message (Collapse) | Author |
|
Custom composable that switched between compact and medium size app bar depending on a combination of orientation and screen size. (Small app bar when horizontal on small devices, medium app bar otherwise. Medium app bar supports collapse on scroll.
|
|
Android: Convert ContentHandler to Kotlin and fix warnings
|
|
|
|
Android: Coloured netplay chat messages
|
|
Android: Set USAGE_MEDIA for rumble
|
|
We have to use the deprecated APIs when running on old devices.
|
|
|
|
VideoCommon: Use XFB for internal resolution stats
|
|
Core: Remove SerialInterfaceManager::ChangeDevice
|
|
Android: Convert EGLHelper to Kotlin
|
|
Simonx22/android/convert-filebrowserhelper-to-kotlin
Android: Convert FileBrowserHelper to Kotlin
|
|
This lets rumble work even if the user has turned off the Android
setting Sound and vibration > Vibration and haptics > Interactive
haptics > Touch feedback. Rumble can still be disabled through Dolphin's
controller bindings and through in-game settings (GameCube) or SYSCONF
(Wii).
|
|
These are available in DolphinQt, so let's make them available in the
Android GUI too.
|
|
Android netplay
|
|
Now SerialInterfaceManager::UpdateDevices reads the configured SI
devices directly from Config instead.
The main reason why I wanted to do this is so that Android can change SI
devices while emulation is running. (Android didn't have the code for
calling ChangeDevice.) But when implementing the change, I noticed that
NetPlay and Movie were using ChangeDevice as a way of overriding the SI
devices configured by the user. Replacing this ended up making the change
larger than I first anticipated.
For Wii Remotes, there was no equivalent to ChangeDevice, so NetPlay and
Movie were using Config::SetCurrent to override the Wii Remote source
configured by the user. If we can use the config system to override Wii
Remote sources, why not do the same for SI devices? This commit makes
NetPlay and Movie set SI devices and Wii Remote sources in the NetPlay
and Movie config layers, as that is the conceptually appropriate place
to do it.
As far as I can tell, the old Movie code for overriding SI devices and
Wii Remote sources didn't actually work. This new code does. I didn't
investigate exactly why it didn't work, but maybe it's because loading
a movie happens before emulation actually starts.
|
|
Simonx22/android/convert-directoryinitialization-to-kotlin
Android: Convert DirectoryInitialization to Kotlin
|
|
Add screen crop feature
|
|
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.
|
|
|
|
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.
|
|
Remove corresponding jni config.
Rename Netplay to NetplaySession in jni config to match new kotlin name.
|
|
Since it's only instantiated from c++.
|
|
|
|
Was using 2025 instead of 2026! Fixed some buggy bottom sheet behaviour.
Minor tidying of the chat UI in the bottom sheet
|
|
|
|
|
|
Also rename max buffer to client buffer for better consistency with settings and c++
|
|
Traversal connections show in the joining info UI.
Non fatal errors show the retry button.
Fatal errors end the netplay session.
|
|
Doesn't support traversal yet
|
|
Also fix bottom sheets so they survive rotation
|
|
A player's own messages don't come back via the server.
|
|
|
|
|
|
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.
|
|
Show them in the chat window and also in a toast during game play.
|
|
Create a new NetplaySession each time we try to join a netplay game. Hold onto it in NetplayManager so its available to the different activities that need to access it. Close the session when backing out of the netplay UI. Some guardrails in case things go out of sync: creating a session closes the old one if it is still around for some reason, finalizer in NetplaySession to release native resources if not closed explicitly for some reason. Profiling done to ensure all kotlin and native objects are successfully cleared / garbage collected.
|
|
|
|
When transferring saves from the host. Equivalent of ChunkedProgressDialog in QT.
|
|
An orientation change can trigger this code path immediately when a game starts. e.g. dolphin is portrait when launching the game but settings force gameplay to landscape. We want to avoid this and continue to the netplay launch code below.
If the user backgrounds dolphin during netplay and then resumes after the process has died it will actually resume from the save state in single player mode, not sure if thats good or bad but fine for now.
Netplay doesnt handle rotation very well, seems to go more and more out of sync the more rotations.
|
|
Boot session data is already handled when the game is booted so this is just fallback in case the game launch fails in some weird way.
Add missing @Keep annotations to functions called from C++
|
|
the user to exit
|
|
|
|
Remove the big saveSetup function and set individual settings immediately after being changed in the UI. Group them all under Netplay.Settings
|
|
|
|
|
|
Includes chat, game changes, pad buffer changes and host input authority. Merges them all into the chat window.
|
|
|
|
|
|
Put all the boring settings at the bottom to reduce scrolling!
|
|
All it can do at this point is quit the current netplay session when backing out of this screen.
|