diff --git a/Output/Console/g_core.bin b/Output/Console/g_core.bin index 5495ef0c..30f78091 100644 Binary files a/Output/Console/g_core.bin and b/Output/Console/g_core.bin differ diff --git a/Output/Console/g_core_porta.bin b/Output/Console/g_core_porta.bin index 45f4144c..adf2086e 100644 Binary files a/Output/Console/g_core_porta.bin and b/Output/Console/g_core_porta.bin differ diff --git a/Output/Netplay/GALE01r2.ini b/Output/Netplay/GALE01r2.ini index fad2ba3e..335c3388 100644 --- a/Output/Netplay/GALE01r2.ini +++ b/Output/Netplay/GALE01r2.ini @@ -655,7 +655,7 @@ C216E74C 000000BE #Recording/SendGameInfo.asm 932DB64C 38800005 3D808000 618CC160 7D8903A6 4E800421 -386006E2 3D808037 +386007E2 3D808037 618CF1E4 7D8903A6 4E800421 7C7E1B78 93D90000 38600000 @@ -670,7 +670,7 @@ C216E74C 000000BE #Recording/SendGameInfo.asm B07E0003 38600037 987E0005 3860003F B07E0006 38600038 -987E0008 38600048 +987E0008 38600068 B07E0009 38600039 987E000B 38600002 B07E000C 3860003A @@ -834,14 +834,14 @@ BE810008 806DB64C BA810008 800100B4 382100B0 7C0803A6 3C608017 00000000 -C206DA34 00000034 #Recording/SendGamePostFrame.asm +C206DA34 0000003C #Recording/SendGamePostFrame.asm 7C0802A6 90010004 9421FF50 BE810008 3D808000 618C5604 7D8903A6 4E800421 -2C030000 41820160 +2C030000 418201A0 887F221F 546306F7 -40820154 8B7F000C +40820194 8B7F000C 806DB64C 83A30000 838DB650 7FBDE214 38600038 987D0000 @@ -882,7 +882,15 @@ B07D0030 887F1968 807F008C 907D003D 807F0090 907D0041 807F00EC 907D0045 -838DB650 3B9C0049 +807F0774 907D0049 +807F0778 907D004D +807F077C 907D0051 +807F0780 907D0055 +807F0784 907D0059 +807F0788 907D005D +807F078C 907D0061 +807F0790 907D0065 +838DB650 3B9C0069 938DB650 BA810008 800100B4 382100B0 7C0803A6 8001001C diff --git a/Output/Netplay/GALJ01r2.ini b/Output/Netplay/GALJ01r2.ini index a69f7f55..38a032b7 100644 --- a/Output/Netplay/GALJ01r2.ini +++ b/Output/Netplay/GALJ01r2.ini @@ -655,7 +655,7 @@ C216E74C 000000BE #Recording/SendGameInfo.asm 932DB64C 38800005 3D808000 618CC160 7D8903A6 4E800421 -386006E2 3D808037 +386007E2 3D808037 618CF1E4 7D8903A6 4E800421 7C7E1B78 93D90000 38600000 @@ -670,7 +670,7 @@ C216E74C 000000BE #Recording/SendGameInfo.asm B07E0003 38600037 987E0005 3860003F B07E0006 38600038 -987E0008 38600048 +987E0008 38600068 B07E0009 38600039 987E000B 38600002 B07E000C 3860003A @@ -834,14 +834,14 @@ BE810008 806DB64C BA810008 800100B4 382100B0 7C0803A6 3C608017 00000000 -C206DA34 00000034 #Recording/SendGamePostFrame.asm +C206DA34 0000003C #Recording/SendGamePostFrame.asm 7C0802A6 90010004 9421FF50 BE810008 3D808000 618C5604 7D8903A6 4E800421 -2C030000 41820160 +2C030000 418201A0 887F221F 546306F7 -40820154 8B7F000C +40820194 8B7F000C 806DB64C 83A30000 838DB650 7FBDE214 38600038 987D0000 @@ -882,7 +882,15 @@ B07D0030 887F1968 807F008C 907D003D 807F0090 907D0041 807F00EC 907D0045 -838DB650 3B9C0049 +807F0774 907D0049 +807F0778 907D004D +807F077C 907D0051 +807F0780 907D0055 +807F0784 907D0059 +807F0788 907D005D +807F078C 907D0061 +807F0790 907D0065 +838DB650 3B9C0069 938DB650 BA810008 800100B4 382100B0 7C0803A6 8001001C diff --git a/Recording/Recording.s b/Recording/Recording.s index 5b35f34d..23df0896 100644 --- a/Recording/Recording.s +++ b/Recording/Recording.s @@ -18,7 +18,7 @@ .set GAME_INFO_PAYLOAD_LENGTH, 420 # byte count .set GAME_INITIAL_RNG_PAYLOAD_LENGTH, 8 #byte count .set GAME_PRE_FRAME_PAYLOAD_LENGTH, 63 # byte count -.set GAME_POST_FRAME_PAYLOAD_LENGTH, 72 # byte count +.set GAME_POST_FRAME_PAYLOAD_LENGTH, 104 # byte count .set GAME_ITEM_INFO_PAYLOAD_LENGTH, 42 # byte count .set GAME_FRAME_BOOKEND_PAYLOAD_LENGTH, 8 # byte count .set GAME_END_PAYLOAD_LENGTH, 2 # byte count diff --git a/Recording/SendGamePostFrame.asm b/Recording/SendGamePostFrame.asm index 711b5e44..75b80793 100644 --- a/Recording/SendGamePostFrame.asm +++ b/Recording/SendGamePostFrame.asm @@ -146,6 +146,41 @@ backup lwz r3,0xec(REG_PlayerData) stw r3,0x45(REG_Buffer) + # Note: All ECB Coords are offsets from the character's center + # Not absolute positions + + # ECB top edge, x coord + lwz r3,0x774(REG_PlayerData) + stw r3,0x49(REG_Buffer) + + # ECB top edge, y coord + lwz r3,0x0778(REG_PlayerData) + stw r3,0x4D(REG_Buffer) + + # ECB bottom edge, x coord + lwz r3,0x77C(REG_PlayerData) + stw r3,0x51(REG_Buffer) + + # ECB bottom edge, y coord + lwz r3,0x780(REG_PlayerData) + stw r3,0x55(REG_Buffer) + + # ECB right edge, x coord + lwz r3,0x784(REG_PlayerData) + stw r3,0x59(REG_Buffer) + + # ECB right edge, y coord + lwz r3,0x788(REG_PlayerData) + stw r3,0x5D(REG_Buffer) + + # ECB left edge, x coord + lwz r3,0x78C(REG_PlayerData) + stw r3,0x61(REG_Buffer) + + # ECB left edge, y coord + lwz r3,0x790(REG_PlayerData) + stw r3,0x65(REG_Buffer) + #------------- Increment Buffer Offset ------------ lwz REG_BufferOffset,bufferOffset(r13) addi REG_BufferOffset,REG_BufferOffset,(GAME_POST_FRAME_PAYLOAD_LENGTH+1)