12210 Commits

Author SHA1 Message Date
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
Sepalani
e51119c4ce HLE: Fix hooks overlapping Riivolution patches 2021-11-01 00:07:14 +04: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
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
Pokechu22
04d8cdfe88 Convert LOG_TYPE and LOG_LEVELS to enum class 2021-10-24 11:48:36 -07: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
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
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
175f225ac1
DolphinQt: Add ability to start a game with Riivolution patches from the GUI. 2021-10-24 00:09:06 +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
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
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
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
JosJuice
2d1674cd56 JitArm64: Keep track of free code regions and reuse space when possible
JitArm64 port of 306a5e6.
2021-10-13 21:52:16 +02:00
JosJuice
44beaeaff5 Arm64Emitter: Check end of allocated space when emitting code
JitArm64 port of 5b52b3e.
2021-10-13 21:52:16 +02:00
JosJuice
867cd99de1 JitArm64: Remove the ability to reuse backpatch slowmem handlers
Reusing the slowmem handlers of existing blocks meshes badly
with reusing the empty space left when destroying blocks.
I don't think reusing slowmem handlers was much of a gain anyway.
2021-10-13 21:51:45 +02: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
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
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
Léo Lam
f19da1cf92
Merge pull request #10118 from lioncash/messageid
NetPlayProto: Remove lots of casts to MessageId when inserting enum values into packets
2021-10-13 02:27:52 +02:00
Léo Lam
dd936c5072
Merge pull request #10126 from malleoz/l-r-digital-input-display
Include digital L and R buttons in Input Display
2021-10-13 02:06:20 +02:00
Léo Lam
6c1a625f0d
Merge pull request #10159 from JosJuice/print-callstack-log
Core: Use log variant of PrintCallstack, not print variant
2021-10-13 01:40:07 +02:00