Commit Graph

324 Commits

Author SHA1 Message Date
Lioncash
4bef3b93b4 AndroidCommon: Resolve -Wsign-compare warning 2023-12-11 18:06:40 -05:00
JosJuice
d80f9d53fc Android: Expose config changed callbacks 2023-12-07 21:09:17 +01:00
Mai
ac53766058
Merge pull request #12215 from JosJuice/android-si-devices
Android: Add more GameCube controller types
2023-11-28 19:21:29 +01:00
JosJuice
5bda811a00 Android: Remove HostThreadLocks that are no longer needed
71ce8bb6f0 got rid of the need to be the
host or CPU thread when writing to the config.
2023-11-25 14:06:29 +01:00
Mandar1jn
afdf6de041
Skylanders: Improve figure data view and generation
Co-authored-by: deReeperJosh <joshua@dereeper.co.nz>
2023-11-05 18:06:10 +01:00
JosJuice
d811c12196 Android: Add more GameCube controller types
For all your PSO needs.
2023-10-01 18:47:49 +02:00
JosJuice
d6c0f8e749 Android: Get profile name from core
To avoid duplicating information between Kotlin and C++.
2023-10-01 18:47:49 +02:00
JosJuice
d8e00c98e8 Android: Remove a stray backtick 2023-10-01 13:37:04 +02:00
get
63467559b2
fmt 10.0.0-10.1.1 compile fixes
Implicit conversion operators and enums was removed for parity with std::format (fce74caa15).
2023-09-21 01:19:23 +02:00
JosJuice
190e71a318 Android: Use JNI for setting/getting ISO paths
This gets rid of the last Android-specific code that directly interfaces
with INI files.
2023-09-02 12:58:20 +02:00
JosJuice
f9959656e7
Merge pull request #11919 from t895/kotlin-controls
Android: Convert "features.input" package to Kotlin
2023-08-26 19:10:56 +02:00
Charles Lombardo
09c2c6541d Android: Convert GameFileCache to Kotlin 2023-08-25 14:54:17 -04:00
Charles Lombardo
a56ee1a62e Android: Convert GameFile to Kotlin 2023-08-25 14:54:16 -04:00
Charles Lombardo
9ac1847cbd Android: Convert NumericSetting to Kotlin 2023-08-25 14:20:31 -04:00
Charles Lombardo
82298dc408 Android: Convert CoreDevice to Kotlin 2023-08-25 14:20:31 -04:00
Charles Lombardo
3011c0dc64 Android: Convert EmulatedController to Kotlin 2023-08-25 13:31:21 -04:00
Charles Lombardo
4ce069cf4f Android: Convert ControlReference to Kotlin 2023-08-25 13:31:04 -04:00
Charles Lombardo
7c79ff0100 Android: Convert ControlGroup to Kotlin 2023-08-25 13:30:42 -04:00
Charles Lombardo
fafbb2199e Android: Convert Control to Kotlin 2023-08-25 13:30:23 -04:00
JosJuice
1f130bf8a3 Android: Declare host thread when generating analytics ID
Another instance of the host thread check failing.
2023-06-21 18:16:46 +02:00
JosJuice
27db8d4123
Merge pull request #11935 from nitanmarcel/patch-1
Use getCacheDir if getExternalCacheDir returns null.
2023-06-19 20:47:27 +02:00
Marcel Alexandru Nitan
cff7a4bfd2 Use getCacheDir if getExternalCacheDir returns null. 2023-06-13 18:44:27 +00:00
JosJuice
03f2f57edf Android: Add HostThreadLock where necessary 2023-06-12 23:39:42 +02:00
JosJuice
3519a7070d Android: And Lock and Unlock wrappers to HostThreadLock
This way we can ensure DeclareAsHostThread and UndeclareAsHostThread
are called when locking and unlocking.
2023-06-12 23:39:42 +02:00
JosJuice
5524042922 Android: Move host thread lock to a separate file 2023-06-12 23:39:42 +02:00
Robin Kertels
23bebc5270
VideoBackends:Vulkan: Allow loading custom drivers on Android
... using libadrenotools
2023-06-11 13:52:34 +02:00
Admiral H. Curtiss
a7678f3210
Merge pull request #11694 from jnaidu360/skylanders-portal-window
Skylanders Portal Menu Navigational Improvements
2023-06-06 19:20:39 +02:00
jnaidu360
66f4902a1e Improved Skylanders Portal Window Navigation
Adds features to improve navigation of Skylanders portal menu, includes:
-List of Skylanders and filters for searching
-Improved buttons for faster loading options
-Added default user folder for storing .sky files
2023-06-04 18:10:08 -07:00
Admiral H. Curtiss
b3c9f49cbe
Core: Assert that only the Host thread may call PauseAndLock(). 2023-06-02 18:51:43 +02:00
Joshua de Reeper
cf3e8714eb Android: Add Hashmap to IDCache 2023-05-28 19:01:21 +12:00
Joshua de Reeper
f8abc2c0e6 Android: Infinity Base UI
Add a UI option for the Infinity Base within the Android Emulation Activity
2023-05-28 19:01:21 +12:00
Admiral H. Curtiss
6a339cbdb3
IOS/ES: Split ESDevice into ESCore and ESDevice.
ESCore implements the core functionality that can also be used outside of emulation. ESDevice implements the IOS device and is only available during emulation.
2023-05-15 20:41:05 +02:00
Lioncash
e4caace6bb Common/IniFile: Move interface into Common namespace
Gets this out of the global namespace and into the Common namespace
2023-04-13 10:19:28 -04:00
Admiral H. Curtiss
9217a9eba4
JitInterface: Refactor to class, move to System. 2023-03-26 14:38:07 +02:00
JosJuice
8e363c0995 Android: Translate C++ "w" to ParcelFileDescriptor "wt"
Previously we were translating "w" to "w", which unlike in C++ doesn't
truncate. See https://issuetracker.google.com/issues/180526528, and for
reference, https://en.cppreference.com/w/cpp/io/c/fopen and
https://en.cppreference.com/w/cpp/io/basic_filebuf/open.

This issue was brought to my attention by the recently published issue
CVE-2023-21036 in the screenshot editing tool on Pixel phones. I'm not
aware of any code in Dolphin that actually uses "w" with an existing
file on Android (when we ask the user for a location to save to using
SAF, a new file is always created), but still, best to fix this.
2023-03-18 13:44:01 +01:00
JosJuice
68fd133057 Android: Remove support for the old config system
All settings that we care about from an Android perspective are now
supported by the new config system, so we can remove all the Android code
for the old config system. This should have no impact on users.
2023-03-11 17:51:59 +01:00
JosJuice
53e7090f55 Migrate game INI profile setting to new config system 2023-03-11 17:51:58 +01:00
JosJuice
62ff2f1030
Merge pull request #11385 from JosJuice/android-input-overhaul
Android input overhaul
2023-03-11 12:37:44 +01:00
Admiral H. Curtiss
eb25c46a91
HW/DVDInterface: Refactor to class. 2023-03-10 18:12:59 +01:00
JosJuice
1b55d7c594 Android: Change how the overlay controller setting works
Up until now, there have been two settings on Android that stored the
selected Wii Remote extension: the normal one that's also used on PC,
and a SharedPreferences one that's used by the overlay controls to
determine what controls to show. It is possible for these two to end up
out of sync, and my input changes have made that more likely to happen.

To fix this, let's rework how the overlay controller setting works.
We don't want it to encode the currently selected Wii Remote extension.
However, we can't simply get rid of the setting, because for some Wii
games we need the ability to switch between a GameCube controller and a
Wii Remote. What this commit does is give the user the option to select
any of the 4 GameCube controllers and any of the 4 Wii Remotes. (Before,
controllers 2-4 weren't available in the overlay.) Could be useful for
things like the Psycho Mantis fight in Metal Gear Solid. I'm also
switching from SharedPreferences to Dolphin.ini while I'm at it.
2023-03-07 17:39:34 +01:00
JosJuice
c2779aef06 Android: Add the advanced input mapping dialog
It's missing a lot of features from the PC version for now, like
buttons for inserting functions and the ability to see what the
expression evaluates to. I mostly just wanted to get something in
place so you can set up rumble.

Co-authored-by: Charles Lombardo <clombardo169@gmail.com>
2023-03-07 17:39:30 +01:00
JosJuice
1eeded23df Android: Add input profile management
Co-authored-by: Charles Lombardo <clombardo169@gmail.com>
2023-03-03 22:28:25 +01:00
JosJuice
8b78f73e80 Android: Add Default and Clear actions for controllers 2023-03-03 22:28:25 +01:00
JosJuice
2b1dd52750 Android: Add input device selection 2023-03-03 22:28:24 +01:00
JosJuice
2113bf5e3a Android: Implement enabling/disabling control groups
All this code for just a single checkbox... Ah well, it has to be done
2023-03-03 22:28:24 +01:00
JosJuice
0dd8bbbbbb Android: Add extension selection 2023-03-03 22:28:24 +01:00
JosJuice
1c26a85e35 Android: Add NumericSetting support 2023-03-03 22:28:24 +01:00
JosJuice
2c529b9db1 Android: Add new input mapping implementation 2023-03-03 22:28:24 +01:00
JosJuice
93657cce54 Android: Stop extracting pre-defined controller INIs 2023-03-03 22:28:24 +01:00
JosJuice
68ebb5c33e Android: Remove old rumble implementation 2023-03-03 22:28:23 +01:00