Commit Graph

26621 Commits

Author SHA1 Message Date
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
175f225ac1 DolphinQt: Add ability to start a game with Riivolution patches from the GUI. 2021-10-24 00:09:06 +02:00
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
e26b59bab3 Core: Add RiivolutionParser to parse a Riivolution XML. 2021-10-24 00:09:06 +02:00
a4da56e5e6 CommonPaths: Add a Riivolution subfolder in Load. 2021-10-24 00:09:06 +02:00
09fc39e2e5 DiscIO: Add CreateDisc/WAD/Volume() overloads that take a BlobReader directly. 2021-10-24 00:09:05 +02:00
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
00ef9f2b4f DiscIO/DirectoryBlob: Allow constructing a DirectoryBlobReader from a VolumeDisc. 2021-10-24 00:09:05 +02:00
3a72a39efd DiscIO/DirectoryBlob: Allow constructing a DirectoryBlobPartition from a VolumeDisc. 2021-10-24 00:09:00 +02:00
b1802f6daa DiscIO/DirectoryBlob: Add a content source representing a run of padding bytes. 2021-10-23 23:51:23 +02:00
f8611f7139 DiscIO/DirectoryBlob: Add a content source that reads data from a DiscIO::Volume. 2021-10-23 16:51:45 +02:00
b7a9cc37b1 DiscIO/DirectoryBlob: Add ability to have an offset for a partition ContentSource. 2021-10-23 16:51:45 +02:00
a14436fe3f DiscIO/DirectoryBlob: Add ability to have a start-of-file offset for a file ContentSource. 2021-10-23 16:51:45 +02:00
885e6690c5 DiscIO/DirectoryBlob: Add explanations for DiscContent members. 2021-10-23 16:51:44 +02:00
b988ab4441 DiscIO/DirectoryBlob: Consolidate functions that take data for ContentSource to just take a ContentSource. 2021-10-23 16:51:44 +02:00
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
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
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
6a4d607e09 GDBStub: Add log when break is sent 2021-10-21 08:26:50 -04:00
7ad586fe2c GDBStub: Make step force pausing even if play was pressed 2021-10-21 08:26:50 -04:00
2f7a3e59e5 GDBStub: upgrade some logs from debug to info 2021-10-21 08:26:50 -04:00
1b92f81379 GDBStub: Refactor the whole code 2021-10-21 08:26:50 -04:00
94a0f416eb GDBStub: remove the cmake option and the ifdefs 2021-10-21 08:26:42 -04:00
657bb00c01 GDBStub: Cleanly shut down on stop 2021-10-21 08:26:42 -04:00
b8395280d3 GDBStub: Correctly inform the CPU thread if we are stepping 2021-10-21 08:26:28 -04:00
b9b7c4ac80 GDBStub: Add support for the T command 2021-10-21 08:26:28 -04:00
7d3ea4c3a1 GDBStub: rework the breakpoint and the control logic 2021-10-21 08:26:28 -04:00
994847f09c GDBStub: move the stalling logic to CPU::Run 2021-10-21 08:26:16 -04:00
e3b978cf20 GDBStub: boot to pause 2021-10-21 08:26:16 -04:00
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
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
8195d0bda1 Merge pull request #10144 from malleoz/dsp-onion
Port Main.DSP to MainSettings
2021-10-16 11:32:38 +02:00
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
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
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
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
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
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
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
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
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
78bfd25964 Fix all uninitialized variable warnings (C26495) 2021-10-13 12:32:16 -07:00
525e6b2194 MMU: Replace TryReadResult and TryWriteResult with std::optional 2021-10-13 11:44:28 -07:00
673f886a7e MMU: Replace uses of cassert with Common/Assert.h 2021-10-13 11:44:28 -07:00
aacc1a5e49 IOFile: Add std::array functions 2021-10-13 11:44:28 -07:00
25bff91054 Interpreter: Fix NI_div ZX check 2021-10-13 17:42:56 +02:00
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
7f7748e181 Interpreter: Raise program exception on floating point exceptions 2021-10-13 17:42:56 +02:00
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
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