From 07ee80de77ca29c0881214696c4d7005cb08964a Mon Sep 17 00:00:00 2001 From: Nick Condron Date: Sat, 18 Feb 2023 09:01:33 -0500 Subject: [PATCH 1/2] Record instance info for Fighters/Items --- Recording/Recording.s | 8 ++++---- Recording/SendGamePostFrame.asm | 6 ++++++ Recording/SendItemInfo.s | 6 +++++- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/Recording/Recording.s b/Recording/Recording.s index 45007d2b..494aa713 100644 --- a/Recording/Recording.s +++ b/Recording/Recording.s @@ -31,8 +31,8 @@ .set GAME_INFO_PAYLOAD_LENGTH, 760 # byte count .set GAME_FRAME_START_PAYLOAD_LENGTH, 12 #byte count .set GAME_PRE_FRAME_PAYLOAD_LENGTH, 64 # byte count -.set GAME_POST_FRAME_PAYLOAD_LENGTH, 80 # byte count -.set GAME_ITEM_INFO_PAYLOAD_LENGTH, 42 # byte count +.set GAME_POST_FRAME_PAYLOAD_LENGTH, 84 # byte count +.set GAME_ITEM_INFO_PAYLOAD_LENGTH, 44 # byte count .set GAME_FRAME_BOOKEND_PAYLOAD_LENGTH, 8 # byte count .set GAME_END_PAYLOAD_LENGTH, GAME_END_TXB_SIZE - 1 # byte count .set SPLIT_MESSAGE_PAYLOAD_LENGTH, 516 # byte count @@ -65,8 +65,8 @@ # build version number. Each byte is one digit # any change in command data should result in a minor version change -# current version: 3.15.0 -.set CURRENT_VERSION,0x030F0000 +# current version: 3.16.0 +.set CURRENT_VERSION,0x03100000 ################################################################################ # Static Function Locations diff --git a/Recording/SendGamePostFrame.asm b/Recording/SendGamePostFrame.asm index 15cc5755..9accd4c9 100644 --- a/Recording/SendGamePostFrame.asm +++ b/Recording/SendGamePostFrame.asm @@ -154,6 +154,12 @@ backup lwz r3,0x14(REG_PlayerData) stw r3,0x4d(REG_Buffer) + # send instance information + lhz r3,0x18ec(REG_PlayerData) + sth r3,0x51(REG_Buffer) + lhz r3,0x2088(REG_PlayerData) + sth r3,0x53(REG_Buffer) + #------------- Increment Buffer Offset ------------ lwz REG_BufferOffset,bufferOffset(r13) addi REG_BufferOffset,REG_BufferOffset,(GAME_POST_FRAME_PAYLOAD_LENGTH+1) diff --git a/Recording/SendItemInfo.s b/Recording/SendItemInfo.s index 5a90c069..a3d92fa4 100644 --- a/Recording/SendItemInfo.s +++ b/Recording/SendItemInfo.s @@ -16,7 +16,8 @@ .set OFST_METADATA_3,OFST_METADATA_2+0x1 .set OFST_METADATA_4,OFST_METADATA_3+0x1 .set OFST_OWNER,OFST_METADATA_4+0x1 -.set ITEM_STRUCT_SIZE,OFST_OWNER+0x1 +.set OFST_INSTANCE,OFST_OWNER+0x1 +.set ITEM_STRUCT_SIZE,OFST_INSTANCE+0x2 .macro Macro_SendItemInfo @@ -137,6 +138,9 @@ DontFollowItemOwnerPtr: li r3, -1 SendItemOwner: stb r3, OFST_OWNER(REG_Buffer) +# store item instance + lhz r3,0xDA8(REG_ItemData) + sth r3,OFST_INSTANCE(REG_Buffer) #------------- Increment Buffer Offset ------------ lwz REG_BufferOffset,bufferOffset(r13) From 40bf52acb08e35b05192e221dbaff50a1d5e5efc Mon Sep 17 00:00:00 2001 From: Nick Condron Date: Fri, 15 Sep 2023 11:47:28 -0400 Subject: [PATCH 2/2] Build Codes --- Output/Console/GALE01r2.ini | 35 +++++++++++++++++--------------- Output/Console/g_core.bin | Bin 5496 -> 5520 bytes Output/Console/g_core_porta.bin | Bin 5496 -> 5520 bytes Output/Netplay/GALE01r2.ini | 35 +++++++++++++++++--------------- Output/Netplay/GALJ01r2.ini | 35 +++++++++++++++++--------------- 5 files changed, 57 insertions(+), 48 deletions(-) diff --git a/Output/Console/GALE01r2.ini b/Output/Console/GALE01r2.ini index 98d69bac..70d32915 100644 --- a/Output/Console/GALE01r2.ini +++ b/Output/Console/GALE01r2.ini @@ -132,19 +132,19 @@ C216D884 00000030 #Recording/SendGameEnd.asm BA8100B0 800100E4 382100E0 7C0803A6 819F2514 00000000 -C216E74C 00000109 #Recording/SendGameInfo.asm +C216E74C 0000010A #Recording/SendGameInfo.asm 7C0802A6 90010004 9421FF20 BE8100B0 3D808000 618C5604 7D8903A6 4E800421 -2C030000 4182080C +2C030000 41820814 38600005 3D808037 618CF1E4 7D8903A6 4E800421 7C7B1B78 936DB64C 38800005 3D808000 618CC160 7D8903A6 4E800421 -38600732 3D808037 +38600770 3D808037 618CF1E4 7D8903A6 4E800421 7C7E1B78 93DB0000 38600000 @@ -160,13 +160,13 @@ C216E74C 00000109 #Recording/SendGameInfo.asm B07E0003 38600037 987E0005 38600040 B07E0006 38600038 -987E0008 38600050 +987E0008 38600054 B07E0009 38600039 987E000B 38600006 B07E000C 3860003A 987E000E 3860000C B07E000F 3860003B -987E0011 3860002A +987E0011 3860002C B07E0012 3860003C 987E0014 38600008 B07E0015 3860003D @@ -174,7 +174,7 @@ B07E0015 3860003D 38600010 987E001A 38600204 B07E001B 38600036 987E001D -3C60030F 60630000 +3C600310 60630000 907E001E 387E0022 7FE4FB78 38A00138 3D808000 618C31F4 @@ -358,16 +358,16 @@ BA8100B0 800100E4 48000021 7C8802A6 38A0000F 3D808038 618CFD54 7D8903A6 -4E800421 48000124 +4E800421 4800012C 4E800021 7C0802A6 90010004 9421FF20 BE8100B0 806DB64C 83E30000 83CDB650 7FFFF214 3B600000 806DC18C 83A30024 -2C1D0000 418200D8 +2C1D0000 418200E0 3B7B0001 2C1B000F -418100CC 839D002C +418100D4 839D002C 3860003B 987F0000 806DB654 907F0001 807C0010 B07F0005 @@ -389,23 +389,24 @@ BE8100B0 806DB64C 2C030000 4182000C 8863000C 48000008 3860FFFF 987F002A -83CDB650 3BDE002B -93CDB650 3BFF002B +A07C0DA8 B07F002B +83CDB650 3BDE002D +93CDB650 3BFF002D 83BD0008 2C1D0000 -4082FF30 BA8100B0 +4082FF28 BA8100B0 800100E4 382100E0 7C0803A6 4E800020 BA8100B0 800100E4 382100E0 7C0803A6 3C608017 00000000 -C206DA34 00000036 #Recording/SendGamePostFrame.asm +C206DA34 00000038 #Recording/SendGamePostFrame.asm 7C0802A6 90010004 9421FF20 BE8100B0 3D808000 618C5604 7D8903A6 4E800421 -2C030000 41820170 +2C030000 41820180 887F221F 546306F7 -40820164 8B7F000C +40820174 8B7F000C 806DB64C 83A30000 838DB650 7FBDE214 38600038 987D0000 @@ -448,7 +449,9 @@ B07D0030 887F1968 807F00EC 907D0045 807F195C 907D0049 807F0014 907D004D -838DB650 3B9C0051 +A07F18EC B07D0051 +A07F2088 B07D0053 +838DB650 3B9C0055 938DB650 BA8100B0 800100E4 382100E0 7C0803A6 8001001C diff --git a/Output/Console/g_core.bin b/Output/Console/g_core.bin index b01d8c0a3c01dd7db538c562c82fe0dcef90c322..f2324c990448ae828759314c8e7b918906a4fba6 100644 GIT binary patch delta 171 zcmeyNH9>pBdS*th$s3r}8AT@FU^Zqfn9Re{%os9x0*gMQ&g26u){Fw1|F9fp1#!5{ zc^_C;Gcf8%Gw?e$GF+L=!o5aiK@IPU4fPD#&1bg-Sl?sNoeZM?Gw3$&W#G_}Wnge< z`mZs$fJ+0|4d}I;a2u delta 148 zcmbQB{X=WRdS*t>$s3r}8F?n(U^Zqnn#{w}%os3v0*gMQ*5m^$){Oj{|F9fpWmK7b zfXkfshIKUqqmDEKzhfiAnaM2NYh;?wZVRx!$DlnKME_^dZr;nlp(D${;L!BnU~&PM z$mAE?@{DGaFYv1K7If4r$%iDfeRpVLOxbM16T-;R+zZq-haqsX0KdrQJ-k=g0lz;m A9smFU diff --git a/Output/Console/g_core_porta.bin b/Output/Console/g_core_porta.bin index b9b03399eb1ef21c420a91fdc356925cfffa2831..94a8c550050fe115353594dbf6aa30102dce04d6 100644 GIT binary patch delta 171 zcmeyNH9>pBdS*th$s3r}8AT@FU^Zqfn9Re{%os9x0*gMQ&g26u){Fw1|F9fp1#!5{ zc^_C;Gcf8%Gw?e$GF+L=!o5aiK@IPU4fPD#&1bg-Sl?sNoeZM?Gw3$&W#G_}Wnge< z`mZs$fJ+0|4d}I;a2u delta 148 zcmbQB{X=WRdS*t>$s3r}8F?n(U^Zqnn#{w}%os3v0*gMQ*5m^$){Oj{|F9fpWmK7b zfXkfshIKUqqmDEKzhfiAnaM2NYh;?wZVRx!$DlnKME_^dZr;nlp(D${;L!BnU~&PM z$mAE?@{DGaFYv1K7If4r$%iDfeRpVLOxbM16T-;R+zZq-haqsX0KdrQJ-k=g0lz;m A9smFU diff --git a/Output/Netplay/GALE01r2.ini b/Output/Netplay/GALE01r2.ini index 6e2cf55c..62972ab1 100644 --- a/Output/Netplay/GALE01r2.ini +++ b/Output/Netplay/GALE01r2.ini @@ -635,19 +635,19 @@ C216D884 00000030 #Recording/SendGameEnd.asm BA8100B0 800100E4 382100E0 7C0803A6 819F2514 00000000 -C216E74C 00000109 #Recording/SendGameInfo.asm +C216E74C 0000010A #Recording/SendGameInfo.asm 7C0802A6 90010004 9421FF20 BE8100B0 3D808000 618C5604 7D8903A6 4E800421 -2C030000 4182080C +2C030000 41820814 38600005 3D808037 618CF1E4 7D8903A6 4E800421 7C7B1B78 936DB64C 38800005 3D808000 618CC160 7D8903A6 4E800421 -38600732 3D808037 +38600770 3D808037 618CF1E4 7D8903A6 4E800421 7C7E1B78 93DB0000 38600000 @@ -663,13 +663,13 @@ C216E74C 00000109 #Recording/SendGameInfo.asm B07E0003 38600037 987E0005 38600040 B07E0006 38600038 -987E0008 38600050 +987E0008 38600054 B07E0009 38600039 987E000B 38600006 B07E000C 3860003A 987E000E 3860000C B07E000F 3860003B -987E0011 3860002A +987E0011 3860002C B07E0012 3860003C 987E0014 38600008 B07E0015 3860003D @@ -677,7 +677,7 @@ B07E0015 3860003D 38600010 987E001A 38600204 B07E001B 38600036 987E001D -3C60030F 60630000 +3C600310 60630000 907E001E 387E0022 7FE4FB78 38A00138 3D808000 618C31F4 @@ -861,16 +861,16 @@ BA8100B0 800100E4 48000021 7C8802A6 38A0000F 3D808038 618CFD54 7D8903A6 -4E800421 48000124 +4E800421 4800012C 4E800021 7C0802A6 90010004 9421FF20 BE8100B0 806DB64C 83E30000 83CDB650 7FFFF214 3B600000 806DC18C 83A30024 -2C1D0000 418200D8 +2C1D0000 418200E0 3B7B0001 2C1B000F -418100CC 839D002C +418100D4 839D002C 3860003B 987F0000 806DB654 907F0001 807C0010 B07F0005 @@ -892,23 +892,24 @@ BE8100B0 806DB64C 2C030000 4182000C 8863000C 48000008 3860FFFF 987F002A -83CDB650 3BDE002B -93CDB650 3BFF002B +A07C0DA8 B07F002B +83CDB650 3BDE002D +93CDB650 3BFF002D 83BD0008 2C1D0000 -4082FF30 BA8100B0 +4082FF28 BA8100B0 800100E4 382100E0 7C0803A6 4E800020 BA8100B0 800100E4 382100E0 7C0803A6 3C608017 00000000 -C206DA34 00000036 #Recording/SendGamePostFrame.asm +C206DA34 00000038 #Recording/SendGamePostFrame.asm 7C0802A6 90010004 9421FF20 BE8100B0 3D808000 618C5604 7D8903A6 4E800421 -2C030000 41820170 +2C030000 41820180 887F221F 546306F7 -40820164 8B7F000C +40820174 8B7F000C 806DB64C 83A30000 838DB650 7FBDE214 38600038 987D0000 @@ -951,7 +952,9 @@ B07D0030 887F1968 807F00EC 907D0045 807F195C 907D0049 807F0014 907D004D -838DB650 3B9C0051 +A07F18EC B07D0051 +A07F2088 B07D0053 +838DB650 3B9C0055 938DB650 BA8100B0 800100E4 382100E0 7C0803A6 8001001C diff --git a/Output/Netplay/GALJ01r2.ini b/Output/Netplay/GALJ01r2.ini index 5aeebdb0..d4f4dfa2 100644 --- a/Output/Netplay/GALJ01r2.ini +++ b/Output/Netplay/GALJ01r2.ini @@ -634,19 +634,19 @@ C216D884 00000030 #Recording/SendGameEnd.asm BA8100B0 800100E4 382100E0 7C0803A6 819F2514 00000000 -C216E74C 00000109 #Recording/SendGameInfo.asm +C216E74C 0000010A #Recording/SendGameInfo.asm 7C0802A6 90010004 9421FF20 BE8100B0 3D808000 618C5604 7D8903A6 4E800421 -2C030000 4182080C +2C030000 41820814 38600005 3D808037 618CF1E4 7D8903A6 4E800421 7C7B1B78 936DB64C 38800005 3D808000 618CC160 7D8903A6 4E800421 -38600732 3D808037 +38600770 3D808037 618CF1E4 7D8903A6 4E800421 7C7E1B78 93DB0000 38600000 @@ -662,13 +662,13 @@ C216E74C 00000109 #Recording/SendGameInfo.asm B07E0003 38600037 987E0005 38600040 B07E0006 38600038 -987E0008 38600050 +987E0008 38600054 B07E0009 38600039 987E000B 38600006 B07E000C 3860003A 987E000E 3860000C B07E000F 3860003B -987E0011 3860002A +987E0011 3860002C B07E0012 3860003C 987E0014 38600008 B07E0015 3860003D @@ -676,7 +676,7 @@ B07E0015 3860003D 38600010 987E001A 38600204 B07E001B 38600036 987E001D -3C60030F 60630000 +3C600310 60630000 907E001E 387E0022 7FE4FB78 38A00138 3D808000 618C31F4 @@ -860,16 +860,16 @@ BA8100B0 800100E4 48000021 7C8802A6 38A0000F 3D808038 618CFD54 7D8903A6 -4E800421 48000124 +4E800421 4800012C 4E800021 7C0802A6 90010004 9421FF20 BE8100B0 806DB64C 83E30000 83CDB650 7FFFF214 3B600000 806DC18C 83A30024 -2C1D0000 418200D8 +2C1D0000 418200E0 3B7B0001 2C1B000F -418100CC 839D002C +418100D4 839D002C 3860003B 987F0000 806DB654 907F0001 807C0010 B07F0005 @@ -891,23 +891,24 @@ BE8100B0 806DB64C 2C030000 4182000C 8863000C 48000008 3860FFFF 987F002A -83CDB650 3BDE002B -93CDB650 3BFF002B +A07C0DA8 B07F002B +83CDB650 3BDE002D +93CDB650 3BFF002D 83BD0008 2C1D0000 -4082FF30 BA8100B0 +4082FF28 BA8100B0 800100E4 382100E0 7C0803A6 4E800020 BA8100B0 800100E4 382100E0 7C0803A6 3C608017 00000000 -C206DA34 00000036 #Recording/SendGamePostFrame.asm +C206DA34 00000038 #Recording/SendGamePostFrame.asm 7C0802A6 90010004 9421FF20 BE8100B0 3D808000 618C5604 7D8903A6 4E800421 -2C030000 41820170 +2C030000 41820180 887F221F 546306F7 -40820164 8B7F000C +40820174 8B7F000C 806DB64C 83A30000 838DB650 7FBDE214 38600038 987D0000 @@ -950,7 +951,9 @@ B07D0030 887F1968 807F00EC 907D0045 807F195C 907D0049 807F0014 907D004D -838DB650 3B9C0051 +A07F18EC B07D0051 +A07F2088 B07D0053 +838DB650 3B9C0055 938DB650 BA8100B0 800100E4 382100E0 7C0803A6 8001001C