dolphin/Source/Core/Core
Pokechu22 35831f342e Fix regression when recording multiple fifologs
Since ccf92a3e56, recording fifologs multiple times after launching dolphin caused all initial state to not be saved (the initial contents of bpmem, cpmem, etc were all zeroed out). For some games, this was not noticeable, as most registers were set each frame, but for others, this resulted in completely broken fifologs. (Note that recording fifologs also required 05181f6b88 and 9e0755a598 to be cherry-picked due to other, since fixed, regressions.)

This was because previously, `Renderer::CheckFifoRecording` was called every frame, but ccf92a3e56 changed it into a callback (`m_end_of_frame_event`) that was removed when recording ended. Thus, before, `OpcodeDecoder::g_record_fifo_data = IsRecording()` was called when `IsRecording()` returned false, but after that commit `g_record_fifo_data` never got changed back to false, so the check for `was_recording` only ever passed on the first fifolog recorded (even after stopping and starting a game).

There may still be another issue lurking, as I'm not sure if all broken fifologs were caused by recording multiple fifologs (for instance, on https://bugs.dolphin-emu.org/issues/13377, only one fifolog was initially uploaded, but it was affected by an issue with the same symptoms as this).
2023-10-29 15:23:31 -07:00
..
Boot IOS/ES: Split ESDevice into ESCore and ESDevice. 2023-05-15 20:41:05 +02:00
Config Video: add support for 12x resolution multiplier 2023-10-06 01:12:10 +03:00
ConfigLoaders Handle Achievement Progress Event 2023-10-01 11:24:48 -04:00
DSP EnumUtils: Add Common::ToUnderlying 2023-06-17 07:15:33 -05:00
Debugger Kill AsciiToHex 2023-06-22 00:06:50 -05:00
FifoPlayer Fix regression when recording multiple fifologs 2023-10-29 15:23:31 -07:00
HLE HLE_OS: Manually handle printfs from emulated software to prevent emulated software from crashing Dolphin with an invalid printf formatting string. 2023-07-29 20:06:09 +02:00
HW Fix heap buffer overflow in GCMemcardRaw 2023-10-08 15:13:41 +02:00
IOS SkylanderPortal: Make protected variables private 2023-10-22 12:00:49 -07:00
PowerPC Merge pull request #12250 from Sintendo/dcbx-nit 2023-10-28 02:33:51 +01:00
ARDecrypt.cpp Replace BitUtils with C++20: RotateLeft/RotateRight 2022-12-11 08:59:18 +01:00
ARDecrypt.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
AchievementManager.cpp Refactored welcome message to render after game start 2023-10-19 19:21:12 +02:00
AchievementManager.h Refactored welcome message to render after game start 2023-10-19 19:21:12 +02:00
ActionReplay.cpp Common/IniFile: Move interface into Common namespace 2023-04-13 10:19:28 -04:00
ActionReplay.h Common/IniFile: Move interface into Common namespace 2023-04-13 10:19:28 -04:00
BootManager.cpp Added LoadGameByFilenameAsync and CloseGame to AchievementManager 2023-04-12 03:08:47 -04:00
BootManager.h Config: Port emulation speed setting to new config system. 2022-01-06 16:13:54 +01:00
CMakeLists.txt Add lz4 submodule 2023-10-02 17:28:23 -04:00
CPUThreadConfigCallback.cpp CPUThreadConfigCallback: Remove some CPU thread asserts 2023-08-17 19:19:26 +02:00
CPUThreadConfigCallback.h Use structs for config callback IDs 2023-08-17 19:19:26 +02:00
CheatCodes.h Common/IniFile: Move interface into Common namespace 2023-04-13 10:19:28 -04:00
CheatGeneration.cpp Treewide: Adjust order of includes 2021-12-10 14:49:57 -08:00
CheatGeneration.h Core/CheatSearch: Implement cheat searching functionality. 2021-09-15 19:05:48 +02:00
CheatSearch.cpp CheatSearch: Use std comparison function objects 2023-10-20 16:05:47 -07:00
CheatSearch.h DolphinQt: Properly lock CPU before accessing emulated memory 2023-02-12 11:27:50 +01:00
CommonTitles.h Add Everybody Votes Channel and Region Select to WiiLink config 2023-09-03 15:56:02 -04:00
ConfigManager.cpp Add default support for WiiLink + configuration 2023-06-25 14:57:15 -04:00
ConfigManager.h Merge pull request #11751 from noahpistilli/discord-rpc 2023-05-19 19:35:17 +02:00
Core.cpp VideoCommon: Add support for icons in OSD messages. 2023-10-17 02:47:29 +02:00
Core.h Core: Assert that only the Host thread may call PauseAndLock(). 2023-06-02 18:51:43 +02:00
CoreTiming.cpp Don't call RunAsCPUThread in config callbacks 2023-08-17 19:19:25 +02:00
CoreTiming.h Use structs for config callback IDs 2023-08-17 19:19:26 +02:00
DSPEmulator.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
DSPEmulator.h DSPEmulator: Remove unused PauseAndLock parameter 2023-06-25 20:29:23 -07:00
DolphinAnalytics.cpp Video: implement color correction to match the NTSC and PAL color spaces (and gamma) that GC and Wii targeted. 2023-06-19 01:34:42 +03:00
DolphinAnalytics.h DolphinAnalytics: Add READS_BOUNDING_BOX game quirk 2023-05-06 17:18:17 -07:00
FreeLookConfig.cpp Don't call RunAsCPUThread in config callbacks 2023-08-17 19:19:25 +02:00
FreeLookConfig.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
FreeLookManager.cpp ControllerEmu: Convert Translatability to enum class 2023-06-12 18:11:04 -07:00
FreeLookManager.h Core / VideoCommon: refactor FreeLookCamera to have the underlying controller handle all the logic (field-of-view, movement, etc) 2021-10-08 18:16:32 -05:00
GeckoCode.cpp PowerPC/MMU: Refactor to class, move to System. 2023-03-28 03:47:51 +02:00
GeckoCode.h DolphinQt: Properly lock CPU before accessing emulated memory 2023-02-12 11:27:50 +01:00
GeckoCodeConfig.cpp Common/IniFile: Move interface into Common namespace 2023-04-13 10:19:28 -04:00
GeckoCodeConfig.h Common/IniFile: Move interface into Common namespace 2023-04-13 10:19:28 -04:00
Host.h Add Discord presence ioctlv to /dev/dolphin 2022-08-06 07:32:29 +01:00
HotkeyManager.cpp ControllerEmu: Convert Translatability to enum class 2023-06-12 18:11:04 -07:00
HotkeyManager.h Add Hotkeys for Skylanders Portal and Infinity Base Menus 2023-05-26 13:36:08 -07:00
LibusbUtils.cpp Log warnings when LibusbUtils::MakeConfigDescriptor fails 2022-06-08 15:29:11 -07:00
LibusbUtils.h Log warnings when LibusbUtils::MakeConfigDescriptor fails 2022-06-08 15:29:11 -07:00
MachineContext.h MachineContext: Fix USE_SIGACTION_ON_APPLE on arm64 2022-12-11 13:36:44 +00:00
MemTools.cpp JitInterface: Refactor to class, move to System. 2023-03-26 14:38:07 +02:00
MemTools.h UnitTests: Skip PageFaultTest if exception handlers are not supported 2022-05-19 12:26:41 -07:00
MemoryWatcher.cpp PowerPC/MMU: Refactor to class, move to System. 2023-03-28 03:47:51 +02:00
MemoryWatcher.h DolphinQt: Properly lock CPU before accessing emulated memory 2023-02-12 11:27:50 +01:00
Movie.cpp Common: Convert FromWhichRoot to enum class 2023-06-13 13:25:22 -07:00
Movie.h DolphinQt: Use input override system for TAS input windows 2022-10-03 22:04:09 +02:00
NetPlayClient.cpp Replace std::ostringstream usage with fmt::format 2023-06-18 18:37:32 -05:00
NetPlayClient.h Common/TraversalProto: Move interface into Common namespace 2023-04-24 08:53:14 -04:00
NetPlayCommon.cpp Core: Add missing header to NetPlayCommon.cpp 2021-12-15 18:57:10 +01:00
NetPlayCommon.h Updated PEER_TIMOUT in NetPlayCommon.h to use chrono literals; Updated NetPlayServer.cpp OnConnect() by putting commonly used code into named functions 2022-08-09 16:26:52 -06:00
NetPlayProto.h NetPlay: Limit ENet's MTU to 1392 as a workaround for dropped packets over VPN via WireGuard, see https://github.com/lsalzman/enet/issues/132 2023-04-02 17:23:10 +02:00
NetPlayServer.cpp Do not try portmapping when using traversal server 2023-07-13 01:15:12 -07:00
NetPlayServer.h Common/TraversalProto: Move interface into Common namespace 2023-04-24 08:53:14 -04:00
NetworkCaptureLogger.cpp NetworkCaptureLogger: Allow PCAP shared read access on Windows 2022-09-29 23:08:25 +04:00
NetworkCaptureLogger.h NetworkCaptureLogger: Add GameCube BBA support 2022-07-12 13:35:49 +04:00
PatchEngine.cpp Common/IniFile: Move interface into Common namespace 2023-04-13 10:19:28 -04:00
PatchEngine.h Common/IniFile: Move interface into Common namespace 2023-04-13 10:19:28 -04:00
State.cpp Savestates: Use LZ4 algorithm for faster decompression 2023-10-08 20:45:49 -04:00
State.h Savestates: Use LZ4 algorithm for faster decompression 2023-10-08 20:45:49 -04:00
SyncIdentifier.h Added type to SyncIndentifierComparison enum in SyncIdentifier.h in an 2022-08-09 16:26:53 -06:00
SysConf.cpp treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
SysConf.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
System.cpp Core: add CustomAssetLoader to System 2023-06-05 16:33:19 -05:00
System.h Core: add CustomAssetLoader to System 2023-06-05 16:33:19 -05:00
TitleDatabase.cpp StripSpaces: only strip spaces 2022-07-25 18:40:12 -07:00
TitleDatabase.h treewide: convert GPLv2+ license info to SPDX tags 2021-07-05 04:35:56 +02:00
WC24PatchEngine.cpp Add Everybody Votes Channel and Region Select to WiiLink config 2023-09-03 15:56:02 -04:00
WC24PatchEngine.h Add default support for WiiLink + configuration 2023-06-25 14:57:15 -04:00
WiiRoot.cpp Common: Convert FromWhichRoot to enum class 2023-06-13 13:25:22 -07:00
WiiRoot.h Core/Boot: Add Wii FS sync data (for temp NAND/netplay) to BootSessionData and handle it in the boot and shutdown logic. 2021-11-22 01:33:45 +01:00
WiiUtils.cpp Qt: Add file size stats to NAND Check. 2023-07-14 05:24:29 +02:00
WiiUtils.h Qt: Add file size stats to NAND Check. 2023-07-14 05:24:29 +02:00