Emmanuel Gil Peyrot
24db6e467a
DolphinQt: Fix a -Wunused-result in gcc 11
...
Also use the correct error check for other similar calls in the same
file, despite nothing being doable on error.
2021-11-02 13:50:21 +01:00
Emmanuel Gil Peyrot
25b136ac17
VideoCommon: Fix a -Wclass-memaccess in gcc 11
2021-11-02 13:50:21 +01:00
Emmanuel Gil Peyrot
7e39a0405b
DolphinQt, VideoBackends: Fix all cases of -Wswitch in gcc 11
2021-11-02 13:50:21 +01:00
Emmanuel Gil Peyrot
3d662e746b
Core: Fix a -Wshadow warning in gcc 11
...
This moves the only direct call to zlib’s crc32() into its own
translation unit, but that operation is cold enough that this won’t
matter in the slightest. crc32_z() would be more appropriate, but
Android has an older zlib version…
2021-11-02 13:50:21 +01:00
Emmanuel Gil Peyrot
ab252aedfa
Core, DolphinQt, UICommon: Fix all cases of -Wrange-loop-construct in gcc 11
2021-11-02 13:50:21 +01:00
JosJuice
96a6d6fd95
Merge pull request #10184 from JosJuice/android-riivolution
...
Android: Allow starting game with Riivolution patches from the GUI
2021-10-31 23:44:54 +01:00
Léo Lam
fb8b9f3251
Merge pull request #10194 from AdmiralCurtiss/riivolution-edge-cases
...
Fix some Riivolution file patching edge cases.
2021-10-31 21:24:03 +01:00
Sepalani
e51119c4ce
HLE: Fix hooks overlapping Riivolution patches
2021-11-01 00:07:14 +04:00
Admiral H. Curtiss
e91e04fe1e
RiivolutionPatcher: More closely match behavior of filename searching file patches to actual Riivolution.
2021-10-31 05:47:39 +01:00
Admiral H. Curtiss
335a1b5cb5
RiivolutionPatcher: More closely match behavior of folder patches to actual Riivolution.
2021-10-31 05:47:39 +01:00
JosJuice
8b0624f53e
Android: Show SD root path in Riivolution activity
2021-10-30 23:24:37 +02:00
JosJuice
22a1f3422c
Android: Add Riivolution patch configuration
2021-10-30 23:24:37 +02:00
JosJuice
34021b5ebc
Android: Allow starting game with Riivolution patches from the GUI
2021-10-30 23:24:36 +02:00
Pokechu22
ef80d51df1
RenderWidget: Change "imgui.h" to <imgui.h>
...
This was originally intended to fix https://bugs.dolphin-emu.org/issues/12717 but this ended up not being the issue (instead it seems like files just weren't recompiled when imgui was updated due to MSVC weirdness). Still, using brackets instead of quotes is preferable as this is a library include.
2021-10-29 12:05:21 -07:00
Admiral H. Curtiss
5bb71760d7
Core/CheatSearchSession: Mark class as final.
2021-10-28 06:50:57 +02:00
Admiral H. Curtiss
b154ba513c
Core/CheatSearchSession: Make a few methods const.
2021-10-28 02:16:19 +02:00
Admiral H. Curtiss
6e814cbb8f
Qt/CheatSearchWidget: Add a checkbox to force parsing a value as hexadecimal.
2021-10-28 02:00:38 +02:00
Admiral H. Curtiss
b3e17d2772
Qt/CheatSearchFactoryWidget: Refuse to start standard memory region searches when no game is running because the memory size and console type may not be accurate.
2021-10-28 01:59:52 +02:00
Admiral H. Curtiss
d6ad3fbcb5
Qt/CheatsManager: Save and restory geometry.
2021-10-28 01:03:30 +02:00
Pokechu22
db54e4f2b0
Externals: Update imgui to 1.85
2021-10-26 15:07:57 -07:00
JosJuice
05b4aecf18
Merge pull request #10186 from leoetlino/hle-hbreload
...
HLE: Fix hook flag for HBReload
2021-10-26 22:00:25 +02:00
Léo Lam
7073a90474
Merge pull request #10177 from Dentomologist/gamelist_grid_mode_fix_select_all
...
GameList: Fix duplicate selections with ctrl+a in grid view
2021-10-25 17:22:58 +02:00
Léo Lam
8cb51f276c
HLE: Fix hook flag for HBReload
...
The reload stub is at a fixed address (0x80001800) so its hook flag
should be HookFlag::Fixed.
Otherwise the hook is installed by HLE::PatchFixedFunctions but
immediately removed by HLE::PatchFunctions (which is called by
HLE::Reload right after PatchFixedFunctions).
Should fix https://bugs.dolphin-emu.org/issues/12716
2021-10-25 16:54:25 +02:00
Léo Lam
e4cc1672a2
Merge pull request #10185 from JosJuice/android-fragile
...
Android: Set android:hasFragileUserData
2021-10-24 22:27:37 +02:00
JosJuice
d39150c368
Android: Set android:hasFragileUserData
...
This makes Android ask the user whether they want to delete user
data when uninstalling the app instead of always deleting user data,
which is pretty great now that we're forced to use scoped storage.
It only works on Android 10 and up, though.
2021-10-24 21:39:09 +02:00
Pokechu22
04d8cdfe88
Convert LOG_TYPE and LOG_LEVELS to enum class
2021-10-24 11:48:36 -07:00
Pokechu22
ba107819ec
Create EnumMap
2021-10-24 11:48:36 -07:00
Léo Lam
a80fcf38ae
Merge pull request #10181 from JosJuice/android-data-app
...
Android: Adjust string about file manager apps on Android 11
2021-10-24 01:17:49 +02:00
Admiral H. Curtiss
4f82810845
RiivolutionPatcher: Use FileInfo instead of IOFile when only checking for filesize.
2021-10-24 00:09:09 +02:00
Admiral H. Curtiss
0efff5167d
IOS/FS: On NAND redirected files, the source and target of a Rename operation may be on different partitions or devices. Implement a fallback for that.
2021-10-24 00:09:09 +02:00
Admiral H. Curtiss
fe7f3a6f26
RiivolutionPatcher: Protect against three or more dots in path traversal.
2021-10-24 00:09:09 +02:00
Admiral H. Curtiss
22c6f2fe3b
RiivolutionPatcher: Handle the possibility of the FST already containing a main.dol file.
2021-10-24 00:09:09 +02:00
Admiral H. Curtiss
ba3373b476
RiivolutionPatcher: Modify memory patching logic to be more accurate to actual Riivolution.
2021-10-24 00:09:09 +02:00
Admiral H. Curtiss
dd64c0e423
Core: Deduplicate Riivolution Patch to BootParameters apply logic.
2021-10-24 00:09:08 +02:00
Admiral H. Curtiss
a76fdeee93
DolphinQt: Act like Riivolution and pre-select the last selected patch options when launching via the RiivolutionBootWidget.
2021-10-24 00:09:08 +02:00
Admiral H. Curtiss
2be62d94fc
RiivolutionParser: Add code to read and write the Riivolution config XMLs that remember the last selection.
2021-10-24 00:09:08 +02:00
Admiral H. Curtiss
2d3ed2c3ad
DolphinQt: Add ability to edit the Riivolution XML root directory when launching a patch.
2021-10-24 00:09:08 +02:00
Admiral H. Curtiss
d0c11f76b5
Core/BootManager: Disable loading time emulation for Riivolution-patched games until we have proper emulation for that.
2021-10-24 00:09:07 +02:00
Admiral H. Curtiss
6394960f54
Core: Add ability to specify and launch a riivolution-modded game via a .json file.
2021-10-24 00:09:07 +02:00
Admiral H. Curtiss
fe242f79ee
Core: Implement Wii NAND path redirects for Riivolution savegame patches.
2021-10-24 00:09:07 +02:00
Admiral H. Curtiss
588c31acb6
RiivolutionPatcher: Ignore last two bits of offset in file patches to match console behavior.
2021-10-24 00:09:07 +02:00
Admiral H. Curtiss
6ec4af7ea4
RiivolutionPatcher: Load external files with a layer of indirection during the patching process to properly resolve the paths given in the XML.
...
This also may eventually allow loading patches from sources other than the 1:1 expected file structure host file system, such as memory or an archive file.
2021-10-24 00:09:07 +02:00
Admiral H. Curtiss
175f225ac1
DolphinQt: Add ability to start a game with Riivolution patches from the GUI.
2021-10-24 00:09:06 +02:00
Admiral H. Curtiss
783b180dc8
Core: Add RiivolutionPatcher to apply Riivolution-style patches to a game's file system and memory.
2021-10-24 00:09:06 +02:00
Admiral H. Curtiss
e26b59bab3
Core: Add RiivolutionParser to parse a Riivolution XML.
2021-10-24 00:09:06 +02:00
Admiral H. Curtiss
a4da56e5e6
CommonPaths: Add a Riivolution subfolder in Load.
2021-10-24 00:09:06 +02:00
Admiral H. Curtiss
09fc39e2e5
DiscIO: Add CreateDisc/WAD/Volume() overloads that take a BlobReader directly.
2021-10-24 00:09:05 +02:00
Admiral H. Curtiss
e3f1de023f
DiscIO/DirectoryBlob: Add a callback that allows patching the main.dol and FST of the game partition during blob construction.
2021-10-24 00:09:05 +02:00
Admiral H. Curtiss
00ef9f2b4f
DiscIO/DirectoryBlob: Allow constructing a DirectoryBlobReader from a VolumeDisc.
2021-10-24 00:09:05 +02:00
Admiral H. Curtiss
3a72a39efd
DiscIO/DirectoryBlob: Allow constructing a DirectoryBlobPartition from a VolumeDisc.
2021-10-24 00:09:00 +02:00
Admiral H. Curtiss
b1802f6daa
DiscIO/DirectoryBlob: Add a content source representing a run of padding bytes.
2021-10-23 23:51:23 +02:00
Admiral H. Curtiss
f8611f7139
DiscIO/DirectoryBlob: Add a content source that reads data from a DiscIO::Volume.
2021-10-23 16:51:45 +02:00
Admiral H. Curtiss
b7a9cc37b1
DiscIO/DirectoryBlob: Add ability to have an offset for a partition ContentSource.
2021-10-23 16:51:45 +02:00
Admiral H. Curtiss
a14436fe3f
DiscIO/DirectoryBlob: Add ability to have a start-of-file offset for a file ContentSource.
2021-10-23 16:51:45 +02:00
Admiral H. Curtiss
885e6690c5
DiscIO/DirectoryBlob: Add explanations for DiscContent members.
2021-10-23 16:51:44 +02:00
Admiral H. Curtiss
b988ab4441
DiscIO/DirectoryBlob: Consolidate functions that take data for ContentSource to just take a ContentSource.
2021-10-23 16:51:44 +02:00
Admiral H. Curtiss
7f57c24172
DiscIO/DirectoryBlob: Rename the vector-reference variant of DiscContentContainer::Add() to AddReference() to make it clearer at call sites that the given vector must remain in memory.
2021-10-23 16:51:44 +02:00
Scott Mansell
b997048cfe
Merge pull request #10142 from aldelaro5/gdb-stub-rework
...
Rework the entire logic of the GDB stub
2021-10-24 01:51:29 +13:00
Admiral H. Curtiss
f972ddf32f
Common/FileUtil: Fix incorrect (32-bit) stat struct being used on Windows, which was hidden by a define in CommonFuncs.h.
2021-10-23 03:50:47 +02:00
aldelaro5
6a4d607e09
GDBStub: Add log when break is sent
2021-10-21 08:26:50 -04:00
aldelaro5
7ad586fe2c
GDBStub: Make step force pausing even if play was pressed
2021-10-21 08:26:50 -04:00
aldelaro5
2f7a3e59e5
GDBStub: upgrade some logs from debug to info
2021-10-21 08:26:50 -04:00
aldelaro5
1b92f81379
GDBStub: Refactor the whole code
2021-10-21 08:26:50 -04:00
aldelaro5
94a0f416eb
GDBStub: remove the cmake option and the ifdefs
2021-10-21 08:26:42 -04:00
aldelaro5
657bb00c01
GDBStub: Cleanly shut down on stop
2021-10-21 08:26:42 -04:00
aldelaro5
b8395280d3
GDBStub: Correctly inform the CPU thread if we are stepping
2021-10-21 08:26:28 -04:00
aldelaro5
b9b7c4ac80
GDBStub: Add support for the T command
2021-10-21 08:26:28 -04:00
aldelaro5
7d3ea4c3a1
GDBStub: rework the breakpoint and the control logic
2021-10-21 08:26:28 -04:00
aldelaro5
994847f09c
GDBStub: move the stalling logic to CPU::Run
2021-10-21 08:26:16 -04:00
aldelaro5
e3b978cf20
GDBStub: boot to pause
2021-10-21 08:26:16 -04:00
aldelaro5
e03ddc2116
Let the GDB stub listen for commands while running
...
This is needed to send ctrl+C signals while the CPU thread is running.
2021-10-21 08:26:16 -04:00
JosJuice
ab735293b1
Android: Adjust string about file manager apps on Android 11
...
When I made 9c8bb24
, I assumed it was completely impossible for a
non-preloaded app to access the entirety of the Android/data/ folder
on Android 11. This turned out to be false. While you can't access
the directory without using SAF (even if you have the Manage All
Files permission), and the user can't navigate to the folder using
the SAF folder picker, what you can do is pass the Android/data/
folder as an EXTRA_INITIAL_URI to the SAF folder picker. If the
user then presses "use this folder" without navigating out of the
folder, the app will be able to access the folder using SAF.
So what does that mean for Dolphin? It means scoped storage is a
little less bad than I feared, and I have a string to adjust.
2021-10-20 21:54:22 +02:00
Dentomologist
1e4b2daedb
GameList: Fix duplicate selections with ctrl+a in grid view
...
Make grid view use selectedRow() instead of selectedIndexes() to ensure
one selection per game.
2021-10-19 14:50:58 -07:00
Léo Lam
f0faf3712d
Merge pull request #10171 from malleoz/fix-frame-advance-speed
...
Fix swapped frame advance speed increase/decrease
2021-10-16 11:36:07 +02:00
Léo Lam
8195d0bda1
Merge pull request #10144 from malleoz/dsp-onion
...
Port Main.DSP to MainSettings
2021-10-16 11:32:38 +02:00
sowens99
8ea6bef98f
Port Main.DSP to MainSettings
...
While trying to work on adding audiodump support for CLI, I was alerted that it was important to first try moving the DSP configs to the new config before continuing, as that makes it substantially easier to write clean code to add such a feature.
This commit aims to allow for Dolphin to only rely on the new config for DSP-related settings.
2021-10-15 23:24:46 -04:00
sowens99
ea81346fc3
Fix swapped frame advance speed increase/decrease
...
Frame Advance Speed hotkeys were swapped. This likely occurred because speed and delay are inverses (i.e. a speed increase should DECREASE the delay and vice versa).
2021-10-15 23:22:22 -04:00
Léo Lam
9a6f0bd9b2
Merge pull request #10168 from JosJuice/jitarm64-gcc-float-null
...
JitArm64: Work around a GCC warning promoted to error
2021-10-15 23:03:57 +02:00
Léo Lam
fd7df2ccae
Use fmt::localtime instead of thread-unsafe std::localtime
...
fmt::localtime is also less awkward to use compared to std::localtime.
2021-10-15 22:49:13 +02:00
Léo Lam
7855e5f73b
Turn MAX_LOGLEVEL into a true constant (and fix self-comparison warning)
...
This replaces the MAX_LOGLEVEL define with a constexpr variable
in order to fix self-comparison warnings in the logging macros
when compiling with Clang. (Without this change, the log level check
in the logging macros is expanded into something like this:
`if (LINFO <= LINFO)`, which triggers a tautological compare warning.)
2021-10-15 21:51:01 +02:00
JosJuice
7c88ca7c4e
JitArm64: Work around a GCC warning promoted to error
...
GCC complains about float_emit being null when inlining
ByteswapAfterLoad into MMIOLoadToReg. ByteswapAfterLoad
does dereference float_emit, but only when passing FLAG_FLOAT,
which MMIOLoadToReg has an assert for and does not support.
Also cleaning up some unnecessarily specified namespaces while
I'm at it.
2021-10-15 21:32:46 +02:00
Léo Lam
6bf10e0276
Merge pull request #10149 from malleoz/audiodump-add-timecode
...
Add Game ID, timecode to dspdump and dtkdump filenames
2021-10-15 19:42:30 +02:00
JosJuice
6caf51f966
Merge pull request #9696 from JosJuice/android-scoped-storage
...
Android: Scoped storage [To be merged in October]
2021-10-15 18:17:16 +02:00
JMC47
7d6393332d
Merge pull request #10164 from Pokechu22/per-pixel-lighting-vertex-color
...
VideoCommon: Fix color channel logic when per-pixel lighting is in use
2021-10-14 14:17:06 -04:00
Fletcher Porter
f16e9045a2
Silence the -Wswitch warnings in Tev
...
The compiler was loudly announcing each and every branch Tev was not checking in
a switch statement, but Tev has learned it's lesson and will produce that
warning no more.
2021-10-13 23:54:06 -07:00
Pokechu22
a372a5947b
VideoCommon: Fix color channel logic when per-pixel lighting is in use
...
This was broken in #10012 (specifically by 06579e4d53
and c3dec34391
).
2021-10-13 20:43:32 -07:00
Pokechu22
78bfd25964
Fix all uninitialized variable warnings (C26495)
2021-10-13 12:32:16 -07:00
Pokechu22
525e6b2194
MMU: Replace TryReadResult and TryWriteResult with std::optional
2021-10-13 11:44:28 -07:00
Pokechu22
673f886a7e
MMU: Replace uses of cassert with Common/Assert.h
2021-10-13 11:44:28 -07:00
Pokechu22
aacc1a5e49
IOFile: Add std::array functions
2021-10-13 11:44:28 -07:00
Léo Lam
a0a91ec4b8
Merge pull request #10163 from JosJuice/b
...
Android: Improve OpenModeToAndroid's handling of 'b'
2021-10-13 20:43:33 +02:00
JosJuice
25bff91054
Interpreter: Fix NI_div ZX check
2021-10-13 17:42:56 +02:00
JosJuice
9f525d69c8
Jit: Raise program exception on floating point exceptions
...
This is done entirely through interpreter fallbacks. It would
probably be possible to implement this using host exception
handlers instead, but I think it would be a lot of complexity
for a rarely used feature, so let's not do it for now.
For performance reasons, there are two settings for this feature:
One setting which does enables just what True Crime: New York City
needs and one setting which enables it all. The latter makes
almost all float instructions fall back to the interpreter.
2021-10-13 17:42:56 +02:00
JosJuice
7f7748e181
Interpreter: Raise program exception on floating point exceptions
2021-10-13 17:42:56 +02:00
JosJuice
c3bcc67653
PowerPC: Update FEX on FPSCR store instead of FPSCR load
...
This is needed not only for the next commit, but also for
correctly emulating float instructions that write to CR1.
2021-10-13 17:42:56 +02:00
JosJuice
89a464dafa
Interpreter: Optimize FEX calculation
...
The next commit will make the interpreter run this after every
float instruction, so I think a little optimization here is justified.
2021-10-13 17:42:56 +02:00
JosJuice
83c6df1965
PowerPC: Set SRR1 correctly for program exceptions
2021-10-13 17:42:56 +02:00
JosJuice
b28e5149a7
Android: Improve OpenModeToAndroid's handling of 'b'
...
Now it also works when b isn't at the very end. (+ goes after b.)
2021-10-13 17:39:09 +02:00
sowens99
2aa400e72f
Add option for Never Hide Mouse Cursor
...
Instead of having a single GUI checkbox for "Always Hide Mouse Cursor",
I have instead opted to use radio buttons so the user can swap between
different states of mouse visibility. "Movement" is the default
behavior, "Never" will hide the mouse cursor the entire time the game is
running, and "Always" will keep the mouse cursor always visible.
2021-10-12 21:04:27 -04:00
sowens99
5145853351
Bug: fix unhide on mouse movement only responding to clicks
...
Previously the unhide of movement mouse_timer reset occurred within case MouseButtonPress.
Additionally, there was a redundant expression in the if statement for cursor locking.
2021-10-12 20:59:31 -04:00