Commit Graph

35593 Commits

Author SHA1 Message Date
3adb07ac74 Android: Show a dialog for scoped storage incompatible settings
The following settings are currently not SAF compatible,
and might never be due to the performance impact:

Dump Path
Load Path
Resource Pack Path
Wii NAND Root

This commit makes us show a message to the user if they try to
change one of these settings while scoped storage is active.
I don't want to entirely remove the settings from being listed
in the settings activity, because it's important that the user
is able to reset them if they were set to something custom in
a previous version of Dolphin.
2021-09-16 20:12:20 +02:00
820420c5f5 Android: Use app-specific directory as User folder by default
This lets Dolphin function without the user granting access to
external storage. We need this for scoped storage compatibility.

When scoped storage is not active, we still ask for permission to
access external storage the first time the app is started so that
we can use the existing dolphin-emu folder if there is one. But
if it doesn't exist, or the user denies the permission, or scoped
storage is active, the app-specific directory will be used instead.
2021-09-16 20:01:47 +02:00
7379450633 Merge pull request #10092 from JosJuice/android-cheats
Android: Add cheat GUI
2021-09-16 19:21:33 +02:00
0ca4c6dbd4 Android: Add save button to cheats activity
By request. Matches the settings activity.
2021-09-16 18:48:40 +02:00
ffa25c4cf5 Android: Allow $ line when entering cheat code
Port of cda442d.
2021-09-16 18:48:40 +02:00
53ae1a0725 Android: Add Gecko code downloading 2021-09-16 18:48:39 +02:00
47efd3317d Android: Fix CheatsActivity d-pad navigation
Special shoutout to Android for not having RTL compatible
variants of nextFocusRight and nextFocusLeft.

Ideally we would have some way to block the user from using
the d-pad to switch between the two panes when in portrait mode,
or make the list pane act as if it's to the left of the details
pane rather than the right when the details pane is open, but I
don't know of a good way to do this. SlidingPaneLayout doesn't
really seem to have been implemented with d-pad navigation in mind.
Thankfully, landscape is the most important use case for gamepads.
2021-09-16 18:48:39 +02:00
215492152c Android: Show warning when Enable Cheats is off 2021-09-16 18:48:39 +02:00
1470dfcf81 Android: Add the ability to delete cheats 2021-09-16 18:48:39 +02:00
404eb13e2f Android: Add the ability to add cheats 2021-09-16 18:48:39 +02:00
6934b9a21d Android: Add headers to cheat list 2021-09-16 18:48:38 +02:00
109aef4b81 Android: Scroll to field with error when error occurs 2021-09-16 18:48:38 +02:00
e299be1d85 Android: Add creator and notes fields for Gecko codes 2021-09-16 18:48:38 +02:00
883a9f8a99 Android: Allow viewing/editing the actual codes 2021-09-16 18:48:38 +02:00
fc6c31c3db Android: Update cheat list when a cheat is edited
The way I'm implementing events using LiveData feels rather
unorthodox, but I'm not aware of anything in the Android framework
that would let me do it in a better way... One option I did
consider was wrapping the cheat lists in LiveData and observing
those, but then CheatsAdapter wouldn't know which cheat had
changed, only that there was some kind of change to the list,
necessitating the use of the not recommended notifyDataSetChanged.
2021-09-16 16:46:50 +02:00
43dcbf33ad Android: Add edit button for cheats 2021-09-16 16:46:49 +02:00
a303b4bc98 Android: Programmatically open/close cheat details
Only has an effect when using a narrow screen.
2021-09-16 16:46:49 +02:00
95879c2e76 Android: Add details view for cheats
The details view only contains the name of the cheat for now.
2021-09-16 16:46:49 +02:00
93a1271386 Android: Add checkboxes for toggling cheats enabled 2021-09-16 16:46:49 +02:00
67a8855d9a Android: Add "Enable Cheats" setting to GUI 2021-09-16 16:46:49 +02:00
4d609c769f Android: Implement basic read-only cheats list 2021-09-16 16:46:48 +02:00
ee3a5a4a81 Android: Create CheatsActivity 2021-09-16 16:46:48 +02:00
4d1bd54917 Merge pull request #10095 from phire/fix-out-of-range-efb
BPStructs: fix out-of-range EFB copy clamping
2021-09-15 13:26:23 -04:00
57a8ee049f Merge pull request #9886 from AdmiralCurtiss/cheat-search
Reimplement Cheat Search.
2021-09-15 13:25:24 -04:00
55397b6d52 DolphinQt: Rewrite cheat search GUI. 2021-09-15 19:05:49 +02:00
f3346262d2 Core/CheatSearch: Implement cheat searching functionality. 2021-09-15 19:05:48 +02:00
94cfbfc49d Merge pull request #10099 from AdmiralCurtiss/directoryblob-read-between-files
DiscIO/DirectoryBlob: Handle reads between files.
2021-09-15 14:38:37 +02:00
94e9751dfe Merge pull request #10100 from Pokechu22/no-wglShareLists
GLInterface: Remove unneeded wglShareLists call
2021-09-15 14:37:19 +02:00
111c36e6cd Merge pull request #10101 from lioncash/kb
SI_DeviceKeyboard: Shorten MapKeys()
2021-09-15 13:24:05 +02:00
7c909a73de SI_DeviceKeyboard: Shorten MapKeys()
We can wrap this logic into a lambda to avoid copy-pasted checking of
the over 400+ lines of code.
2021-09-15 01:58:02 -04:00
eb8bfabdfd BPStructs: make copy width/height const 2021-09-15 11:54:40 +12:00
15ec7bd546 Merge pull request #10097 from JosJuice/jitarm64-w0-clobber
JitArm64: Fix fresx/frsqrtex unlocking W0 too early
2021-09-14 23:51:24 +02:00
b8f4a4ae44 GLInterface: Remove unneeded wglShareLists call
When RenderDoc is attached, wglShareLists fails for some reason (see baldurk/renderdoc#2361).  wglCreateContextAttribsARB has a parameter for the share context, so there's no reason to use a separate wglShareLists call.

Co-authored-by: baldurk <baldurk@baldurk.org>
2021-09-14 10:55:33 -07:00
819a0a69ff Merge pull request #10076 from lioncash/sibf
SI: Migrate bitfields to Common::BitField
2021-09-14 19:10:39 +02:00
37b80e2170 BPStructs: fix out-of-range EFB copy clamping
Previous code from #7950 only clamps correctly when the efb copies
left and top coordinates are (0, 0)

Now we should handle all situations.

Spyro: A hero's tail is an example of a game that does an oversized
EFB copy with a non-zero origin.
2021-09-15 02:31:38 +12:00
06d41c53ce DiscIO/DirectoryBlob: Handle reads between files. 2021-09-14 07:09:55 +02:00
74f2acd83b JitArm64: Move fresx/frsqrtex RW calls earlier
If W0 is locked when fpr.RW is called, the indirectly called
ConvertSingleToDoubleLower may need to emit a push+pop, so it's
better for fresx/frsqrtex to call RW before locking W0 than after.
2021-09-13 19:27:16 +02:00
1c4155f800 JitArm64: Fix fresx/frsqrtex unlocking W0 too early
fpr.RW may clobber GPRs that are not locked.
Fixes https://bugs.dolphin-emu.org/issues/12656.
2021-09-13 19:03:43 +02:00
d00e7d5a75 SI: Collapse interrupt generation check in UpdateInterrupts()
We can simplify this by storing the result of the test into a variable
instead.
2021-09-13 11:25:03 -04:00
ca24c32cbf SI: Eliminate trivial sign conversion cases in RegisterMMIO()
Previously differently signed types were being used to create addresses
and bit offsets.
2021-09-13 11:24:59 -04:00
ee863e6722 Merge pull request #10014 from OatmealDome/wiimote-disconnect-crash
WiimoteReal: Fix Wiimote disconnection causing Dolphin to crash on macOS
2021-09-13 15:26:02 +02:00
5f2a8d98fb Merge pull request #10093 from JosJuice/revert-revert-10025
Revert "Revert "DolphinQt: Minor consistency fixes for the Settings window""
2021-09-13 14:54:01 +02:00
1b32a61d6a Merge pull request #10094 from AdmiralCurtiss/namco-museum-branch-following
GameINI: Disable JIT branch following for Namco Museum.
2021-09-10 23:42:04 -04:00
788177a001 GameINI: Disable JIT branch following for Namco Museum to avoid major stuttering in Galaga Arrangement and Dig Dug Arrangement. 2021-09-11 05:27:07 +02:00
05f86b9f5b Merge pull request #10012 from Pokechu22/thps4-green-sky
UberShaderVertex: Fix Tony Hawk Pro Skater 4
2021-09-09 17:58:35 -04:00
5ea121eeb5 Revert "Revert "DolphinQt: Minor consistency fixes for the Settings window""
This reverts commit e376a985e4.

A beta build has been released now, so there's no reason to keep
it reverted anymore.
2021-09-08 22:09:19 +02:00
b4787cdbd3 Merge pull request #10077 from lioncash/dvdbf
DVDInterface: Migrate bitfields over to Common::BitField
2021-09-08 21:37:09 +02:00
52304df943 Merge pull request #10011 from JosJuice/android-cheats-preparation
Split out code for serializing/deserializing cheat lines
2021-09-08 21:36:56 +02:00
2a22367211 Merge pull request #10056 from lioncash/qtloc
DolphinQt: Minor localization changes
2021-09-08 21:36:46 +02:00
059794b551 Merge pull request #10087 from JosJuice/jitarm64-psq-caller-saved
JitArm64: Move psq_stXX GetCallerSavedUsed calls later
2021-09-08 04:00:43 -04:00