From 7cd7e77626883520ef73fa878f077e359c95a9f4 Mon Sep 17 00:00:00 2001 From: Jas Laferriere Date: Fri, 2 Feb 2024 12:29:49 -0500 Subject: [PATCH] correctly forward gameplay codes during playback gets picked up by the recording code and extracts the codes that actually matter instead of the playback codes --- Output/Playback/GALE01r2.ini | 6 ++++-- Output/Playback/GALJ01r2.ini | 6 ++++-- Playback/Core/RestoreGameInfo.asm | 5 +++++ 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/Output/Playback/GALE01r2.ini b/Output/Playback/GALE01r2.ini index 99a33310..4a09634c 100644 --- a/Output/Playback/GALE01r2.ini +++ b/Output/Playback/GALE01r2.ini @@ -251,7 +251,7 @@ C0230044 D0230030 BA8100B0 800100E4 382100E0 7C0803A6 881F2219 00000000 -C216E748 0000009F #Playback/Core/RestoreGameInfo.asm +C216E748 000000A1 #Playback/Core/RestoreGameInfo.asm 3D808022 618C54B8 7D8903A6 4E800421 7C0802A6 90010004 @@ -328,7 +328,9 @@ C216E748 0000009F #Playback/Core/RestoreGameInfo.asm 807E021D 3D808037 618CF1E4 7D8903A6 4E800421 7C7D1B78 -93BC0008 3860008A +93BC0008 3C808000 +60845600 387DFFF8 +90640000 3860008A 987D0000 7FA3EB78 38800001 38A00001 3D808000 618C55F0 diff --git a/Output/Playback/GALJ01r2.ini b/Output/Playback/GALJ01r2.ini index 99f39ae2..0d9f05c8 100644 --- a/Output/Playback/GALJ01r2.ini +++ b/Output/Playback/GALJ01r2.ini @@ -250,7 +250,7 @@ C0230044 D0230030 BA8100B0 800100E4 382100E0 7C0803A6 881F2219 00000000 -C216E748 0000009F #Playback/Core/RestoreGameInfo.asm +C216E748 000000A1 #Playback/Core/RestoreGameInfo.asm 3D808022 618C54B8 7D8903A6 4E800421 7C0802A6 90010004 @@ -327,7 +327,9 @@ C216E748 0000009F #Playback/Core/RestoreGameInfo.asm 807E021D 3D808037 618CF1E4 7D8903A6 4E800421 7C7D1B78 -93BC0008 3860008A +93BC0008 3C808000 +60845600 387DFFF8 +90640000 3860008A 987D0000 7FA3EB78 38800001 38A00001 3D808000 618C55F0 diff --git a/Playback/Core/RestoreGameInfo.asm b/Playback/Core/RestoreGameInfo.asm index 3d9899f5..4724bd42 100644 --- a/Playback/Core/RestoreGameInfo.asm +++ b/Playback/Core/RestoreGameInfo.asm @@ -219,6 +219,11 @@ RESTORE_GAME_INFO_NAMETAG_INC_LOOP: mr REG_GeckoBuffer, r3 stw REG_GeckoBuffer, PDB_DYNAMIC_GECKO_ADDR(REG_DirectoryBuffer) + # Overwrite the gecko heap location for simultaneous recording + playback + load r4, GeckoHeapPtr + subi r3, REG_GeckoBuffer, 0x8 # Recording expects d0c0de d0c0de but we dont have that here + stw r3, 0(r4) + # Step 2: Ask dolphin for the code list li r3, CMD_GET_GECKO_CODES stb r3, 0(REG_GeckoBuffer)