diff --git a/Output/Console/GALE01r2.ini b/Output/Console/GALE01r2.ini index ddd19d17..a4d948f3 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 0000010A #Recording/SendGameInfo.asm +C216E74C 00000110 #Recording/SendGameInfo.asm 7C0802A6 90010004 9421FF20 BE8100B0 3D808000 618C5604 7D8903A6 4E800421 -2C030000 41820814 +2C030000 41820844 38600005 3D808037 618CF1E4 7D8903A6 4E800421 7C7B1B78 936DB64C 38800005 3D808000 618CC160 7D8903A6 4E800421 -38600780 3D808037 +38600794 3D808037 618CF1E4 7D8903A6 4E800421 7C7E1B78 93DB0000 38600000 @@ -154,7 +154,7 @@ C216E74C 0000010A #Recording/SendGameInfo.asm 3D808000 618C55FC 7D8903A6 4E800421 7C7C1B78 38600035 -987E0000 3860001C +987E0000 38600025 987E0001 38600036 987E0002 386002F8 B07E0003 38600037 @@ -173,16 +173,22 @@ B07E0015 3860003D 987E0017 B39E0018 38600010 987E001A 38600204 B07E001B -38600036 987E001D +3860003F 987E001D +38600009 B07E001E +38600040 987E0020 +38600005 B07E0021 +38600041 987E0023 +38600008 B07E0024 +38600036 987E0026 3C600311 60630000 -907E001E 387E0022 +907E0027 387E002B 7FE4FB78 38A00138 3D808000 618C31F4 7D8903A6 4E800421 -387E0062 3880001C +387E006B 3880001C 3D808000 618CC160 7D8903A6 4E800421 -387E0022 3AA30060 +387E002B 3AA30060 3A800000 1ED40024 7ED6AA14 88760001 2C030000 40820034 @@ -193,7 +199,7 @@ B07E0015 3860003D 546005EF 4182000C 38600013 98760000 3A940001 2C140004 -4180FFB4 387E0022 +4180FFB4 387E002B 3AA30060 3A800000 1ED40024 7ED6AA14 88760001 2C030000 @@ -205,14 +211,14 @@ B07E0015 3860003D 98760003 3A940001 2C140004 4180FFBC 3C60804D 80635F90 -907E015A 3A82F228 -3AA00000 3ADE015E +907E0163 3A82F228 +3AA00000 3ADE0167 1EF50008 38600001 7C76B92E 3AF70004 7C76B92E 3AB50001 2C150004 4180FFE4 3A800000 3ABF0060 -3AFE017E 1F140010 +3AFE0187 1F140010 7F18BA14 1ED40024 7ED6AA14 88760001 2C030000 40820040 @@ -228,10 +234,10 @@ B07E0015 3860003D 618CC160 7D8903A6 4E800421 3A940001 2C140004 4180FF88 -8862F234 987E01BE -8862F23C 987E01BF +8862F234 987E01C7 +8862F23C 987E01C8 3C608048 80639D30 -5463443E B07E01C0 +5463443E B07E01C9 3B200000 3C608048 80639D30 5463443E 2C030208 4082017C @@ -239,7 +245,7 @@ B07E0015 3860003D 618C5610 7D8903A6 4E800421 7C791B78 3A800000 3ABF0060 -3AFE01C2 3B590034 +3AFE01CB 3B590034 1C74001F 7F03BA14 1ED40024 7ED6AA14 88760001 2C030000 @@ -253,7 +259,7 @@ B07E0015 3860003D 7D8903A6 4E800421 3A940001 2C140004 4180FFA0 3A800000 -3ABF0060 3AFE023E +3ABF0060 3AFE0247 3B5900CF 1C74000A 7F03BA14 1ED40024 7ED6AA14 88760001 @@ -268,7 +274,7 @@ B07E0015 3860003D 4E800421 3A940001 2C140004 4180FFA0 3A800000 3ABF0060 -3AFE0266 3B5900F7 +3AFE026F 3B5900F7 1C74001D 7F03BA14 1ED40024 7ED6AA14 88760001 2C030000 @@ -282,28 +288,28 @@ B07E0015 3860003D 7D8903A6 4E800421 3A940001 2C140004 4180FFA0 4800001C -387E01C2 38800118 +387E01CB 38800118 3D808000 618CC160 7D8903A6 4E800421 3D808000 618CADF4 7D8903A6 4E800421 -987E02DA 2C190000 -41820044 387E02DB +987E02E3 2C190000 +41820044 387E02E4 38990394 38A00033 3D808000 618C31F4 7D8903A6 4E800421 3C60803D 6063AD40 80630000 81830088 -A06C0001 907E030E -886C0006 907E0312 -4800001C 387E02DB +A06C0001 907E0317 +886C0006 907E031B +4800001C 387E02E4 3880003B 3D808000 618CC160 7D8903A6 4E800421 2C190000 41820018 7F23CB78 3D808037 618CF1B0 7D8903A6 4E800421 -7FC3F378 38800316 +7FC3F378 3880031F 38A00001 3D808000 618C55F0 7D8903A6 4E800421 38600205 @@ -524,6 +530,44 @@ C208D698 00000005 #Recording/GetLCancelStatus/GetLCancelStatus.asm C206C324 00000002 #Recording/GetLCancelStatus/ResetLCancelStatus.asm 38600000 987E25FF 807E00B0 00000000 +C2211BF8 0000000C #Recording/Stages/SendDreamlandInfo.asm +4800000C 4E800021 +00000000 4BFFFFF9 +7C6802A6 80830000 +80BF00DC 7C042800 +41820038 90A30000 +806DB64C 81630000 +818DB650 7D6B6214 +38600040 986B0000 +806DB654 906B0001 +98AB0005 818DB650 +398C0006 918DB650 +BB4100E8 00000000 +C21CC998 0000000B #Recording/Stages/SendFountainInfo.asm +7C0802A6 3C60801C +6063C908 7C001A79 +41820040 806DB64C +81630000 818DB650 +7D6B6214 3860003F +986B0000 806DB654 +906B0001 807B0038 +54630FFE 986B0005 +D3EB0006 818DB650 +398C000A 918DB650 +D3FB003C 00000000 +C21D4FD8 0000000C #Recording/Stages/SendStadiumInfo.asm +4800000C 4E800021 +00000005 4BFFFFF9 +7C6802A6 80830000 +80BF00DC 7C042800 +41820038 90A30000 +806DB64C 81630000 +818DB650 7D6B6214 +38600041 986B0000 +806DB654 906B0001 +90AB0005 818DB650 +398C0009 918DB650 +BB610084 00000000 C21A4CB4 00000004 #Common/AllocBuffer.asm 38600080 3D808037 618CF1E4 7D8903A6 diff --git a/Output/Console/g_core.bin b/Output/Console/g_core.bin index 0181fa60..e8529fd4 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 0fcb63ff..576d8fbc 100644 Binary files a/Output/Console/g_core_porta.bin and b/Output/Console/g_core_porta.bin differ diff --git a/Output/InjectionLists/list_console_core.json b/Output/InjectionLists/list_console_core.json index ab58b33e..f5a92296 100644 --- a/Output/InjectionLists/list_console_core.json +++ b/Output/InjectionLists/list_console_core.json @@ -266,6 +266,27 @@ "Annotation": "Recording/GetLCancelStatus/ResetLCancelStatus.asm", "Tags": "" }, + { + "InjectionAddress": "80211BF8", + "Name": "Slippi Recording", + "Codetype": "Auto", + "Annotation": "Recording/Stages/SendDreamlandInfo.asm", + "Tags": "" + }, + { + "InjectionAddress": "801CC998", + "Name": "Slippi Recording", + "Codetype": "Auto", + "Annotation": "Recording/Stages/SendFountainInfo.asm", + "Tags": "" + }, + { + "InjectionAddress": "801D4FD8", + "Name": "Slippi Recording", + "Codetype": "Auto", + "Annotation": "Recording/Stages/SendStadiumInfo.asm", + "Tags": "" + }, { "InjectionAddress": "801A4CB4", "Name": "Slippi Recording", diff --git a/Output/InjectionLists/list_netplay.json b/Output/InjectionLists/list_netplay.json index a914113e..d6d2293a 100644 --- a/Output/InjectionLists/list_netplay.json +++ b/Output/InjectionLists/list_netplay.json @@ -497,6 +497,27 @@ "Annotation": "Recording/GetLCancelStatus/ResetLCancelStatus.asm", "Tags": "" }, + { + "InjectionAddress": "80211BF8", + "Name": "Required: Slippi Recording", + "Codetype": "Auto", + "Annotation": "Recording/Stages/SendDreamlandInfo.asm", + "Tags": "" + }, + { + "InjectionAddress": "801CC998", + "Name": "Required: Slippi Recording", + "Codetype": "Auto", + "Annotation": "Recording/Stages/SendFountainInfo.asm", + "Tags": "" + }, + { + "InjectionAddress": "801D4FD8", + "Name": "Required: Slippi Recording", + "Codetype": "Auto", + "Annotation": "Recording/Stages/SendStadiumInfo.asm", + "Tags": "" + }, { "InjectionAddress": "801A4CB4", "Name": "Required: Slippi Recording", diff --git a/Output/Netplay/GALE01r2.ini b/Output/Netplay/GALE01r2.ini index 04d1892c..a540e0bc 100644 --- a/Output/Netplay/GALE01r2.ini +++ b/Output/Netplay/GALE01r2.ini @@ -772,19 +772,19 @@ C216D884 00000030 #Recording/SendGameEnd.asm BA8100B0 800100E4 382100E0 7C0803A6 819F2514 00000000 -C216E74C 0000010A #Recording/SendGameInfo.asm +C216E74C 00000110 #Recording/SendGameInfo.asm 7C0802A6 90010004 9421FF20 BE8100B0 3D808000 618C5604 7D8903A6 4E800421 -2C030000 41820814 +2C030000 41820844 38600005 3D808037 618CF1E4 7D8903A6 4E800421 7C7B1B78 936DB64C 38800005 3D808000 618CC160 7D8903A6 4E800421 -38600780 3D808037 +38600794 3D808037 618CF1E4 7D8903A6 4E800421 7C7E1B78 93DB0000 38600000 @@ -794,7 +794,7 @@ C216E74C 0000010A #Recording/SendGameInfo.asm 3D808000 618C55FC 7D8903A6 4E800421 7C7C1B78 38600035 -987E0000 3860001C +987E0000 38600025 987E0001 38600036 987E0002 386002F8 B07E0003 38600037 @@ -813,16 +813,22 @@ B07E0015 3860003D 987E0017 B39E0018 38600010 987E001A 38600204 B07E001B -38600036 987E001D +3860003F 987E001D +38600009 B07E001E +38600040 987E0020 +38600005 B07E0021 +38600041 987E0023 +38600008 B07E0024 +38600036 987E0026 3C600311 60630000 -907E001E 387E0022 +907E0027 387E002B 7FE4FB78 38A00138 3D808000 618C31F4 7D8903A6 4E800421 -387E0062 3880001C +387E006B 3880001C 3D808000 618CC160 7D8903A6 4E800421 -387E0022 3AA30060 +387E002B 3AA30060 3A800000 1ED40024 7ED6AA14 88760001 2C030000 40820034 @@ -833,7 +839,7 @@ B07E0015 3860003D 546005EF 4182000C 38600013 98760000 3A940001 2C140004 -4180FFB4 387E0022 +4180FFB4 387E002B 3AA30060 3A800000 1ED40024 7ED6AA14 88760001 2C030000 @@ -845,14 +851,14 @@ B07E0015 3860003D 98760003 3A940001 2C140004 4180FFBC 3C60804D 80635F90 -907E015A 3A82F228 -3AA00000 3ADE015E +907E0163 3A82F228 +3AA00000 3ADE0167 1EF50008 38600001 7C76B92E 3AF70004 7C76B92E 3AB50001 2C150004 4180FFE4 3A800000 3ABF0060 -3AFE017E 1F140010 +3AFE0187 1F140010 7F18BA14 1ED40024 7ED6AA14 88760001 2C030000 40820040 @@ -868,10 +874,10 @@ B07E0015 3860003D 618CC160 7D8903A6 4E800421 3A940001 2C140004 4180FF88 -8862F234 987E01BE -8862F23C 987E01BF +8862F234 987E01C7 +8862F23C 987E01C8 3C608048 80639D30 -5463443E B07E01C0 +5463443E B07E01C9 3B200000 3C608048 80639D30 5463443E 2C030208 4082017C @@ -879,7 +885,7 @@ B07E0015 3860003D 618C5610 7D8903A6 4E800421 7C791B78 3A800000 3ABF0060 -3AFE01C2 3B590034 +3AFE01CB 3B590034 1C74001F 7F03BA14 1ED40024 7ED6AA14 88760001 2C030000 @@ -893,7 +899,7 @@ B07E0015 3860003D 7D8903A6 4E800421 3A940001 2C140004 4180FFA0 3A800000 -3ABF0060 3AFE023E +3ABF0060 3AFE0247 3B5900CF 1C74000A 7F03BA14 1ED40024 7ED6AA14 88760001 @@ -908,7 +914,7 @@ B07E0015 3860003D 4E800421 3A940001 2C140004 4180FFA0 3A800000 3ABF0060 -3AFE0266 3B5900F7 +3AFE026F 3B5900F7 1C74001D 7F03BA14 1ED40024 7ED6AA14 88760001 2C030000 @@ -922,28 +928,28 @@ B07E0015 3860003D 7D8903A6 4E800421 3A940001 2C140004 4180FFA0 4800001C -387E01C2 38800118 +387E01CB 38800118 3D808000 618CC160 7D8903A6 4E800421 3D808000 618CADF4 7D8903A6 4E800421 -987E02DA 2C190000 -41820044 387E02DB +987E02E3 2C190000 +41820044 387E02E4 38990394 38A00033 3D808000 618C31F4 7D8903A6 4E800421 3C60803D 6063AD40 80630000 81830088 -A06C0001 907E030E -886C0006 907E0312 -4800001C 387E02DB +A06C0001 907E0317 +886C0006 907E031B +4800001C 387E02E4 3880003B 3D808000 618CC160 7D8903A6 4E800421 2C190000 41820018 7F23CB78 3D808037 618CF1B0 7D8903A6 4E800421 -7FC3F378 38800316 +7FC3F378 3880031F 38A00001 3D808000 618C55F0 7D8903A6 4E800421 38600205 @@ -1164,6 +1170,44 @@ C208D698 00000005 #Recording/GetLCancelStatus/GetLCancelStatus.asm C206C324 00000002 #Recording/GetLCancelStatus/ResetLCancelStatus.asm 38600000 987E25FF 807E00B0 00000000 +C2211BF8 0000000C #Recording/Stages/SendDreamlandInfo.asm +4800000C 4E800021 +00000000 4BFFFFF9 +7C6802A6 80830000 +80BF00DC 7C042800 +41820038 90A30000 +806DB64C 81630000 +818DB650 7D6B6214 +38600040 986B0000 +806DB654 906B0001 +98AB0005 818DB650 +398C0006 918DB650 +BB4100E8 00000000 +C21CC998 0000000B #Recording/Stages/SendFountainInfo.asm +7C0802A6 3C60801C +6063C908 7C001A79 +41820040 806DB64C +81630000 818DB650 +7D6B6214 3860003F +986B0000 806DB654 +906B0001 807B0038 +54630FFE 986B0005 +D3EB0006 818DB650 +398C000A 918DB650 +D3FB003C 00000000 +C21D4FD8 0000000C #Recording/Stages/SendStadiumInfo.asm +4800000C 4E800021 +00000005 4BFFFFF9 +7C6802A6 80830000 +80BF00DC 7C042800 +41820038 90A30000 +806DB64C 81630000 +818DB650 7D6B6214 +38600041 986B0000 +806DB654 906B0001 +90AB0005 818DB650 +398C0009 918DB650 +BB610084 00000000 C21A4CB4 00000004 #Common/AllocBuffer.asm 38600080 3D808037 618CF1E4 7D8903A6 diff --git a/Output/Netplay/GALJ01r2.ini b/Output/Netplay/GALJ01r2.ini index 6ccc116a..08677579 100644 --- a/Output/Netplay/GALJ01r2.ini +++ b/Output/Netplay/GALJ01r2.ini @@ -771,19 +771,19 @@ C216D884 00000030 #Recording/SendGameEnd.asm BA8100B0 800100E4 382100E0 7C0803A6 819F2514 00000000 -C216E74C 0000010A #Recording/SendGameInfo.asm +C216E74C 00000110 #Recording/SendGameInfo.asm 7C0802A6 90010004 9421FF20 BE8100B0 3D808000 618C5604 7D8903A6 4E800421 -2C030000 41820814 +2C030000 41820844 38600005 3D808037 618CF1E4 7D8903A6 4E800421 7C7B1B78 936DB64C 38800005 3D808000 618CC160 7D8903A6 4E800421 -38600780 3D808037 +38600794 3D808037 618CF1E4 7D8903A6 4E800421 7C7E1B78 93DB0000 38600000 @@ -793,7 +793,7 @@ C216E74C 0000010A #Recording/SendGameInfo.asm 3D808000 618C55FC 7D8903A6 4E800421 7C7C1B78 38600035 -987E0000 3860001C +987E0000 38600025 987E0001 38600036 987E0002 386002F8 B07E0003 38600037 @@ -812,16 +812,22 @@ B07E0015 3860003D 987E0017 B39E0018 38600010 987E001A 38600204 B07E001B -38600036 987E001D +3860003F 987E001D +38600009 B07E001E +38600040 987E0020 +38600005 B07E0021 +38600041 987E0023 +38600008 B07E0024 +38600036 987E0026 3C600311 60630000 -907E001E 387E0022 +907E0027 387E002B 7FE4FB78 38A00138 3D808000 618C31F4 7D8903A6 4E800421 -387E0062 3880001C +387E006B 3880001C 3D808000 618CC160 7D8903A6 4E800421 -387E0022 3AA30060 +387E002B 3AA30060 3A800000 1ED40024 7ED6AA14 88760001 2C030000 40820034 @@ -832,7 +838,7 @@ B07E0015 3860003D 546005EF 4182000C 38600013 98760000 3A940001 2C140004 -4180FFB4 387E0022 +4180FFB4 387E002B 3AA30060 3A800000 1ED40024 7ED6AA14 88760001 2C030000 @@ -844,14 +850,14 @@ B07E0015 3860003D 98760003 3A940001 2C140004 4180FFBC 3C60804D 80635F90 -907E015A 3A82F228 -3AA00000 3ADE015E +907E0163 3A82F228 +3AA00000 3ADE0167 1EF50008 38600001 7C76B92E 3AF70004 7C76B92E 3AB50001 2C150004 4180FFE4 3A800000 3ABF0060 -3AFE017E 1F140010 +3AFE0187 1F140010 7F18BA14 1ED40024 7ED6AA14 88760001 2C030000 40820040 @@ -867,10 +873,10 @@ B07E0015 3860003D 618CC160 7D8903A6 4E800421 3A940001 2C140004 4180FF88 -8862F234 987E01BE -8862F23C 987E01BF +8862F234 987E01C7 +8862F23C 987E01C8 3C608048 80639D30 -5463443E B07E01C0 +5463443E B07E01C9 3B200000 3C608048 80639D30 5463443E 2C030208 4082017C @@ -878,7 +884,7 @@ B07E0015 3860003D 618C5610 7D8903A6 4E800421 7C791B78 3A800000 3ABF0060 -3AFE01C2 3B590034 +3AFE01CB 3B590034 1C74001F 7F03BA14 1ED40024 7ED6AA14 88760001 2C030000 @@ -892,7 +898,7 @@ B07E0015 3860003D 7D8903A6 4E800421 3A940001 2C140004 4180FFA0 3A800000 -3ABF0060 3AFE023E +3ABF0060 3AFE0247 3B5900CF 1C74000A 7F03BA14 1ED40024 7ED6AA14 88760001 @@ -907,7 +913,7 @@ B07E0015 3860003D 4E800421 3A940001 2C140004 4180FFA0 3A800000 3ABF0060 -3AFE0266 3B5900F7 +3AFE026F 3B5900F7 1C74001D 7F03BA14 1ED40024 7ED6AA14 88760001 2C030000 @@ -921,28 +927,28 @@ B07E0015 3860003D 7D8903A6 4E800421 3A940001 2C140004 4180FFA0 4800001C -387E01C2 38800118 +387E01CB 38800118 3D808000 618CC160 7D8903A6 4E800421 3D808000 618CADF4 7D8903A6 4E800421 -987E02DA 2C190000 -41820044 387E02DB +987E02E3 2C190000 +41820044 387E02E4 38990394 38A00033 3D808000 618C31F4 7D8903A6 4E800421 3C60803D 6063AD40 80630000 81830088 -A06C0001 907E030E -886C0006 907E0312 -4800001C 387E02DB +A06C0001 907E0317 +886C0006 907E031B +4800001C 387E02E4 3880003B 3D808000 618CC160 7D8903A6 4E800421 2C190000 41820018 7F23CB78 3D808037 618CF1B0 7D8903A6 4E800421 -7FC3F378 38800316 +7FC3F378 3880031F 38A00001 3D808000 618C55F0 7D8903A6 4E800421 38600205 @@ -1163,6 +1169,44 @@ C208D698 00000005 #Recording/GetLCancelStatus/GetLCancelStatus.asm C206C324 00000002 #Recording/GetLCancelStatus/ResetLCancelStatus.asm 38600000 987E25FF 807E00B0 00000000 +C2211BF8 0000000C #Recording/Stages/SendDreamlandInfo.asm +4800000C 4E800021 +00000000 4BFFFFF9 +7C6802A6 80830000 +80BF00DC 7C042800 +41820038 90A30000 +806DB64C 81630000 +818DB650 7D6B6214 +38600040 986B0000 +806DB654 906B0001 +98AB0005 818DB650 +398C0006 918DB650 +BB4100E8 00000000 +C21CC998 0000000B #Recording/Stages/SendFountainInfo.asm +7C0802A6 3C60801C +6063C908 7C001A79 +41820040 806DB64C +81630000 818DB650 +7D6B6214 3860003F +986B0000 806DB654 +906B0001 807B0038 +54630FFE 986B0005 +D3EB0006 818DB650 +398C000A 918DB650 +D3FB003C 00000000 +C21D4FD8 0000000C #Recording/Stages/SendStadiumInfo.asm +4800000C 4E800021 +00000005 4BFFFFF9 +7C6802A6 80830000 +80BF00DC 7C042800 +41820038 90A30000 +806DB64C 81630000 +818DB650 7D6B6214 +38600041 986B0000 +806DB654 906B0001 +90AB0005 818DB650 +398C0009 918DB650 +BB610084 00000000 C21A4CB4 00000004 #Common/AllocBuffer.asm 38600080 3D808037 618CF1E4 7D8903A6 diff --git a/Output/Playback/GALE01r2.ini b/Output/Playback/GALE01r2.ini index 94f05bdb..853c972d 100644 --- a/Output/Playback/GALE01r2.ini +++ b/Output/Playback/GALE01r2.ini @@ -1011,19 +1011,19 @@ C216D884 00000030 #Recording/SendGameEnd.asm BA8100B0 800100E4 382100E0 7C0803A6 819F2514 00000000 -C216E74C 0000010A #Recording/SendGameInfo.asm +C216E74C 00000110 #Recording/SendGameInfo.asm 7C0802A6 90010004 9421FF20 BE8100B0 3D808000 618C5604 7D8903A6 4E800421 -2C030000 41820814 +2C030000 41820844 38600005 3D808037 618CF1E4 7D8903A6 4E800421 7C7B1B78 936DB64C 38800005 3D808000 618CC160 7D8903A6 4E800421 -38600780 3D808037 +38600794 3D808037 618CF1E4 7D8903A6 4E800421 7C7E1B78 93DB0000 38600000 @@ -1033,7 +1033,7 @@ C216E74C 0000010A #Recording/SendGameInfo.asm 3D808000 618C55FC 7D8903A6 4E800421 7C7C1B78 38600035 -987E0000 3860001C +987E0000 38600025 987E0001 38600036 987E0002 386002F8 B07E0003 38600037 @@ -1052,16 +1052,22 @@ B07E0015 3860003D 987E0017 B39E0018 38600010 987E001A 38600204 B07E001B -38600036 987E001D +3860003F 987E001D +38600009 B07E001E +38600040 987E0020 +38600005 B07E0021 +38600041 987E0023 +38600008 B07E0024 +38600036 987E0026 3C600311 60630000 -907E001E 387E0022 +907E0027 387E002B 7FE4FB78 38A00138 3D808000 618C31F4 7D8903A6 4E800421 -387E0062 3880001C +387E006B 3880001C 3D808000 618CC160 7D8903A6 4E800421 -387E0022 3AA30060 +387E002B 3AA30060 3A800000 1ED40024 7ED6AA14 88760001 2C030000 40820034 @@ -1072,7 +1078,7 @@ B07E0015 3860003D 546005EF 4182000C 38600013 98760000 3A940001 2C140004 -4180FFB4 387E0022 +4180FFB4 387E002B 3AA30060 3A800000 1ED40024 7ED6AA14 88760001 2C030000 @@ -1084,14 +1090,14 @@ B07E0015 3860003D 98760003 3A940001 2C140004 4180FFBC 3C60804D 80635F90 -907E015A 3A82F228 -3AA00000 3ADE015E +907E0163 3A82F228 +3AA00000 3ADE0167 1EF50008 38600001 7C76B92E 3AF70004 7C76B92E 3AB50001 2C150004 4180FFE4 3A800000 3ABF0060 -3AFE017E 1F140010 +3AFE0187 1F140010 7F18BA14 1ED40024 7ED6AA14 88760001 2C030000 40820040 @@ -1107,10 +1113,10 @@ B07E0015 3860003D 618CC160 7D8903A6 4E800421 3A940001 2C140004 4180FF88 -8862F234 987E01BE -8862F23C 987E01BF +8862F234 987E01C7 +8862F23C 987E01C8 3C608048 80639D30 -5463443E B07E01C0 +5463443E B07E01C9 3B200000 3C608048 80639D30 5463443E 2C030208 4082017C @@ -1118,7 +1124,7 @@ B07E0015 3860003D 618C5610 7D8903A6 4E800421 7C791B78 3A800000 3ABF0060 -3AFE01C2 3B590034 +3AFE01CB 3B590034 1C74001F 7F03BA14 1ED40024 7ED6AA14 88760001 2C030000 @@ -1132,7 +1138,7 @@ B07E0015 3860003D 7D8903A6 4E800421 3A940001 2C140004 4180FFA0 3A800000 -3ABF0060 3AFE023E +3ABF0060 3AFE0247 3B5900CF 1C74000A 7F03BA14 1ED40024 7ED6AA14 88760001 @@ -1147,7 +1153,7 @@ B07E0015 3860003D 4E800421 3A940001 2C140004 4180FFA0 3A800000 3ABF0060 -3AFE0266 3B5900F7 +3AFE026F 3B5900F7 1C74001D 7F03BA14 1ED40024 7ED6AA14 88760001 2C030000 @@ -1161,28 +1167,28 @@ B07E0015 3860003D 7D8903A6 4E800421 3A940001 2C140004 4180FFA0 4800001C -387E01C2 38800118 +387E01CB 38800118 3D808000 618CC160 7D8903A6 4E800421 3D808000 618CADF4 7D8903A6 4E800421 -987E02DA 2C190000 -41820044 387E02DB +987E02E3 2C190000 +41820044 387E02E4 38990394 38A00033 3D808000 618C31F4 7D8903A6 4E800421 3C60803D 6063AD40 80630000 81830088 -A06C0001 907E030E -886C0006 907E0312 -4800001C 387E02DB +A06C0001 907E0317 +886C0006 907E031B +4800001C 387E02E4 3880003B 3D808000 618CC160 7D8903A6 4E800421 2C190000 41820018 7F23CB78 3D808037 618CF1B0 7D8903A6 4E800421 -7FC3F378 38800316 +7FC3F378 3880031F 38A00001 3D808000 618C55F0 7D8903A6 4E800421 38600205 @@ -1403,6 +1409,44 @@ C208D698 00000005 #Recording/GetLCancelStatus/GetLCancelStatus.asm C206C324 00000002 #Recording/GetLCancelStatus/ResetLCancelStatus.asm 38600000 987E25FF 807E00B0 00000000 +C2211BF8 0000000C #Recording/Stages/SendDreamlandInfo.asm +4800000C 4E800021 +00000000 4BFFFFF9 +7C6802A6 80830000 +80BF00DC 7C042800 +41820038 90A30000 +806DB64C 81630000 +818DB650 7D6B6214 +38600040 986B0000 +806DB654 906B0001 +98AB0005 818DB650 +398C0006 918DB650 +BB4100E8 00000000 +C21CC998 0000000B #Recording/Stages/SendFountainInfo.asm +7C0802A6 3C60801C +6063C908 7C001A79 +41820040 806DB64C +81630000 818DB650 +7D6B6214 3860003F +986B0000 806DB654 +906B0001 807B0038 +54630FFE 986B0005 +D3EB0006 818DB650 +398C000A 918DB650 +D3FB003C 00000000 +C21D4FD8 0000000C #Recording/Stages/SendStadiumInfo.asm +4800000C 4E800021 +00000005 4BFFFFF9 +7C6802A6 80830000 +80BF00DC 7C042800 +41820038 90A30000 +806DB64C 81630000 +818DB650 7D6B6214 +38600041 986B0000 +806DB654 906B0001 +90AB0005 818DB650 +398C0009 918DB650 +BB610084 00000000 $Optional: Show Player Names [Fizzi, UnclePunch, Enzyme, jmlee337] *Show players' Slippi Online display names as HUD elements when available diff --git a/Output/Playback/GALJ01r2.ini b/Output/Playback/GALJ01r2.ini index 8b3f3910..13a443dd 100644 --- a/Output/Playback/GALJ01r2.ini +++ b/Output/Playback/GALJ01r2.ini @@ -1010,19 +1010,19 @@ C216D884 00000030 #Recording/SendGameEnd.asm BA8100B0 800100E4 382100E0 7C0803A6 819F2514 00000000 -C216E74C 0000010A #Recording/SendGameInfo.asm +C216E74C 00000110 #Recording/SendGameInfo.asm 7C0802A6 90010004 9421FF20 BE8100B0 3D808000 618C5604 7D8903A6 4E800421 -2C030000 41820814 +2C030000 41820844 38600005 3D808037 618CF1E4 7D8903A6 4E800421 7C7B1B78 936DB64C 38800005 3D808000 618CC160 7D8903A6 4E800421 -38600780 3D808037 +38600794 3D808037 618CF1E4 7D8903A6 4E800421 7C7E1B78 93DB0000 38600000 @@ -1032,7 +1032,7 @@ C216E74C 0000010A #Recording/SendGameInfo.asm 3D808000 618C55FC 7D8903A6 4E800421 7C7C1B78 38600035 -987E0000 3860001C +987E0000 38600025 987E0001 38600036 987E0002 386002F8 B07E0003 38600037 @@ -1051,16 +1051,22 @@ B07E0015 3860003D 987E0017 B39E0018 38600010 987E001A 38600204 B07E001B -38600036 987E001D +3860003F 987E001D +38600009 B07E001E +38600040 987E0020 +38600005 B07E0021 +38600041 987E0023 +38600008 B07E0024 +38600036 987E0026 3C600311 60630000 -907E001E 387E0022 +907E0027 387E002B 7FE4FB78 38A00138 3D808000 618C31F4 7D8903A6 4E800421 -387E0062 3880001C +387E006B 3880001C 3D808000 618CC160 7D8903A6 4E800421 -387E0022 3AA30060 +387E002B 3AA30060 3A800000 1ED40024 7ED6AA14 88760001 2C030000 40820034 @@ -1071,7 +1077,7 @@ B07E0015 3860003D 546005EF 4182000C 38600013 98760000 3A940001 2C140004 -4180FFB4 387E0022 +4180FFB4 387E002B 3AA30060 3A800000 1ED40024 7ED6AA14 88760001 2C030000 @@ -1083,14 +1089,14 @@ B07E0015 3860003D 98760003 3A940001 2C140004 4180FFBC 3C60804D 80635F90 -907E015A 3A82F228 -3AA00000 3ADE015E +907E0163 3A82F228 +3AA00000 3ADE0167 1EF50008 38600001 7C76B92E 3AF70004 7C76B92E 3AB50001 2C150004 4180FFE4 3A800000 3ABF0060 -3AFE017E 1F140010 +3AFE0187 1F140010 7F18BA14 1ED40024 7ED6AA14 88760001 2C030000 40820040 @@ -1106,10 +1112,10 @@ B07E0015 3860003D 618CC160 7D8903A6 4E800421 3A940001 2C140004 4180FF88 -8862F234 987E01BE -8862F23C 987E01BF +8862F234 987E01C7 +8862F23C 987E01C8 3C608048 80639D30 -5463443E B07E01C0 +5463443E B07E01C9 3B200000 3C608048 80639D30 5463443E 2C030208 4082017C @@ -1117,7 +1123,7 @@ B07E0015 3860003D 618C5610 7D8903A6 4E800421 7C791B78 3A800000 3ABF0060 -3AFE01C2 3B590034 +3AFE01CB 3B590034 1C74001F 7F03BA14 1ED40024 7ED6AA14 88760001 2C030000 @@ -1131,7 +1137,7 @@ B07E0015 3860003D 7D8903A6 4E800421 3A940001 2C140004 4180FFA0 3A800000 -3ABF0060 3AFE023E +3ABF0060 3AFE0247 3B5900CF 1C74000A 7F03BA14 1ED40024 7ED6AA14 88760001 @@ -1146,7 +1152,7 @@ B07E0015 3860003D 4E800421 3A940001 2C140004 4180FFA0 3A800000 3ABF0060 -3AFE0266 3B5900F7 +3AFE026F 3B5900F7 1C74001D 7F03BA14 1ED40024 7ED6AA14 88760001 2C030000 @@ -1160,28 +1166,28 @@ B07E0015 3860003D 7D8903A6 4E800421 3A940001 2C140004 4180FFA0 4800001C -387E01C2 38800118 +387E01CB 38800118 3D808000 618CC160 7D8903A6 4E800421 3D808000 618CADF4 7D8903A6 4E800421 -987E02DA 2C190000 -41820044 387E02DB +987E02E3 2C190000 +41820044 387E02E4 38990394 38A00033 3D808000 618C31F4 7D8903A6 4E800421 3C60803D 6063AD40 80630000 81830088 -A06C0001 907E030E -886C0006 907E0312 -4800001C 387E02DB +A06C0001 907E0317 +886C0006 907E031B +4800001C 387E02E4 3880003B 3D808000 618CC160 7D8903A6 4E800421 2C190000 41820018 7F23CB78 3D808037 618CF1B0 7D8903A6 4E800421 -7FC3F378 38800316 +7FC3F378 3880031F 38A00001 3D808000 618C55F0 7D8903A6 4E800421 38600205 @@ -1402,6 +1408,44 @@ C208D698 00000005 #Recording/GetLCancelStatus/GetLCancelStatus.asm C206C324 00000002 #Recording/GetLCancelStatus/ResetLCancelStatus.asm 38600000 987E25FF 807E00B0 00000000 +C2211BF8 0000000C #Recording/Stages/SendDreamlandInfo.asm +4800000C 4E800021 +00000000 4BFFFFF9 +7C6802A6 80830000 +80BF00DC 7C042800 +41820038 90A30000 +806DB64C 81630000 +818DB650 7D6B6214 +38600040 986B0000 +806DB654 906B0001 +98AB0005 818DB650 +398C0006 918DB650 +BB4100E8 00000000 +C21CC998 0000000B #Recording/Stages/SendFountainInfo.asm +7C0802A6 3C60801C +6063C908 7C001A79 +41820040 806DB64C +81630000 818DB650 +7D6B6214 3860003F +986B0000 806DB654 +906B0001 807B0038 +54630FFE 986B0005 +D3EB0006 818DB650 +398C000A 918DB650 +D3FB003C 00000000 +C21D4FD8 0000000C #Recording/Stages/SendStadiumInfo.asm +4800000C 4E800021 +00000005 4BFFFFF9 +7C6802A6 80830000 +80BF00DC 7C042800 +41820038 90A30000 +806DB64C 81630000 +818DB650 7D6B6214 +38600041 986B0000 +806DB654 906B0001 +90AB0005 818DB650 +398C0009 918DB650 +BB610084 00000000 $Optional: Show Player Names [Fizzi, UnclePunch, Enzyme, jmlee337] *Show players' Slippi Online display names as HUD elements when available diff --git a/Recording/Recording.s b/Recording/Recording.s index eb541b09..73aebe59 100644 --- a/Recording/Recording.s +++ b/Recording/Recording.s @@ -22,7 +22,11 @@ .set CMD_ITEM, 0x3B .set CMD_FRAME_BOOKEND, 0x3C .set CMD_GAME_END, 0x39 -.set COMMAND_COUNT, 10 # number of possible commands +.set CMD_FOD_INFO, 0x3F +.set CMD_DL_INFO, 0x40 +.set CMD_PS_INFO, 0x41 +.set COMMAND_COUNT, 13 # number of possible commands +# .set CMD_MENU_FRAME, 0x3E # not written for recorded game ################################################################################ # Payload lengths @@ -35,6 +39,9 @@ .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 FOD_INFO_PAYLOAD_LENGTH, 9 # byte count +.set DL_INFO_PAYLOAD_LENGTH, 5 # byte count +.set PS_INFO_PAYLOAD_LENGTH, 8 # byte count .set SPLIT_MESSAGE_PAYLOAD_LENGTH, 516 # byte count .set SPLIT_MESSAGE_INTERNAL_DATA_LEN, 512 @@ -59,9 +66,23 @@ .set TOTAL_FRAME_START_LEN, GAME_FRAME_START_PAYLOAD_LENGTH + 1 .set TOTAL_CHAR_FRAME_LEN, MAX_CHARACTERS * (GAME_PRE_FRAME_PAYLOAD_LENGTH + 1) + MAX_CHARACTERS * (GAME_POST_FRAME_PAYLOAD_LENGTH + 1) .set TOTAL_ITEM_LEN, MAX_ITEMS * (GAME_ITEM_INFO_PAYLOAD_LENGTH + 1) + +# Determine the most amount of possible bytes that could be sent in a single frame by stages +.set TOTAL_FOD_LENGTH, (FOD_INFO_PAYLOAD_LENGTH + 1) * 2 # 2 platforms +.set TOTAL_DL_LENGTH, DL_INFO_PAYLOAD_LENGTH + 1 +.set TOTAL_PS_LENGTH, PS_INFO_PAYLOAD_LENGTH + 1 + +.set TOTAL_MAX_STAGE_LEN, TOTAL_FOD_LENGTH +.if TOTAL_DL_LENGTH > TOTAL_MAX_STAGE_LEN + .set TOTAL_MAX_STAGE_LEN, TOTAL_DL_LENGTH +.endif +.if TOTAL_PS_LENGTH > TOTAL_MAX_STAGE_LEN + .set TOTAL_MAX_STAGE_LEN, TOTAL_PS_LENGTH +.endif + .set TOTAL_FRAME_BOOKEND_LEN, GAME_FRAME_BOOKEND_PAYLOAD_LENGTH + 1 .set TOTAL_GAME_END_LEN, GAME_END_PAYLOAD_LENGTH + 1 -.set FULL_FRAME_DATA_BUF_LENGTH, TOTAL_FRAME_START_LEN + TOTAL_CHAR_FRAME_LEN + TOTAL_ITEM_LEN + TOTAL_FRAME_BOOKEND_LEN + TOTAL_GAME_END_LEN +.set FULL_FRAME_DATA_BUF_LENGTH, TOTAL_FRAME_START_LEN + TOTAL_CHAR_FRAME_LEN + TOTAL_ITEM_LEN + TOTAL_MAX_STAGE_LEN + TOTAL_FRAME_BOOKEND_LEN + TOTAL_GAME_END_LEN # build version number. Each byte is one digit # any change in command data should result in a minor version change diff --git a/Recording/SendGameInfo.asm b/Recording/SendGameInfo.asm index 7e645817..07084e97 100644 --- a/Recording/SendGameInfo.asm +++ b/Recording/SendGameInfo.asm @@ -122,6 +122,21 @@ backup li r3, SPLIT_MESSAGE_PAYLOAD_LENGTH sth r3, CommandSizesStart+0x1B(REG_Buffer) + li r3, CMD_FOD_INFO + stb r3, CommandSizesStart+0x1D(REG_Buffer) + li r3, FOD_INFO_PAYLOAD_LENGTH + sth r3, CommandSizesStart+0x1E(REG_Buffer) + + li r3, CMD_DL_INFO + stb r3, CommandSizesStart+0x20(REG_Buffer) + li r3, DL_INFO_PAYLOAD_LENGTH + sth r3, CommandSizesStart+0x21(REG_Buffer) + + li r3, CMD_PS_INFO + stb r3, CommandSizesStart+0x23(REG_Buffer) + li r3, PS_INFO_PAYLOAD_LENGTH + sth r3, CommandSizesStart+0x24(REG_Buffer) + #------------- BEGIN GAME INFO COMMAND ------------- # game information message type .set GameInfoCommandStart, (CommandSizesStart + CommandSizesLength) diff --git a/Recording/Stages/SendDreamlandInfo.asm b/Recording/Stages/SendDreamlandInfo.asm new file mode 100644 index 00000000..7ec2525a --- /dev/null +++ b/Recording/Stages/SendDreamlandInfo.asm @@ -0,0 +1,56 @@ +################################################################################ +# Address: 80211bf8 +################################################################################ +.include "Common/Common.s" +.include "Recording/Recording.s" + +################################################################################ +# Routine: SendDreamlandInfo +# ------------------------------------------------------------------------------ +# Sends whispy wind direction when it changes. +################################################################################ + +.set REG_Buffer,11 +.set REG_BufferOffset,12 + +b Start +STATIC_PREVIOUS_VALUE: + blrl + .long 0x00000000 + +Start: + bl STATIC_PREVIOUS_VALUE + mflr r3 + lwz r4, 0(r3) + lwz r5,0xdc(r31) + cmpw r4, r5 + beq Skip + stw r5, 0(r3) + +#------------- INITIALIZE ------------- +# here we want to initalize some variables we plan on using throughout +# get current offset in buffer + lwz r3, primaryDataBuffer(r13) + lwz REG_Buffer, RDB_TXB_ADDRESS(r3) + lwz REG_BufferOffset,bufferOffset(r13) + add REG_Buffer,REG_Buffer,REG_BufferOffset + +# send stage info event code + li r3, CMD_DL_INFO + stb r3,0x0(REG_Buffer) + +# send frame index + lwz r3,frameIndex(r13) + stw r3,0x1(REG_Buffer) + +# send wind direction (0 = none, 1 = left, 2 = right) + stb r5,0x5(REG_Buffer) + +#------------- Increment Buffer Offset ------------ + lwz REG_BufferOffset,bufferOffset(r13) + addi REG_BufferOffset,REG_BufferOffset,DL_INFO_PAYLOAD_LENGTH+1 + stw REG_BufferOffset,bufferOffset(r13) + +Skip: + lmw r26, 0xe8(r1) #execute replaced code line + diff --git a/Recording/Stages/SendFountainInfo.asm b/Recording/Stages/SendFountainInfo.asm new file mode 100644 index 00000000..f5efd692 --- /dev/null +++ b/Recording/Stages/SendFountainInfo.asm @@ -0,0 +1,52 @@ +################################################################################ +# Address: 801cc998 +################################################################################ +.include "Common/Common.s" +.include "Recording/Recording.s" + +################################################################################ +# Routine: SendFountainInfo +# ------------------------------------------------------------------------------ +# Sends Fount of Dreams platform heights when they change. +################################################################################ + +.set REG_Buffer,11 +.set REG_BufferOffset,12 + +# We skip to avoid the two initialization calls at game start + mflr r0 + load r3, 0x801cc908 + xor. r0, r0, r3 + beq Skip + +#------------- INITIALIZE ------------- +# here we want to initalize some variables we plan on using throughout +# get current offset in buffer + lwz r3, primaryDataBuffer(r13) + lwz REG_Buffer, RDB_TXB_ADDRESS(r3) + lwz REG_BufferOffset,bufferOffset(r13) + add REG_Buffer,REG_Buffer,REG_BufferOffset + +# send stage info event code + li r3, CMD_FOD_INFO + stb r3,0x0(REG_Buffer) + +# send frame index + lwz r3,frameIndex(r13) + stw r3,0x1(REG_Buffer) + +# send left/right + lwz r3,0x38(r27) + srwi r3, r3, 0x1f + stb r3,0x5(REG_Buffer) + +# send height + stfs f31, 0x6(REG_Buffer) + +#------------- Increment Buffer Offset ------------ + lwz REG_BufferOffset,bufferOffset(r13) + addi REG_BufferOffset,REG_BufferOffset,FOD_INFO_PAYLOAD_LENGTH+1 + stw REG_BufferOffset,bufferOffset(r13) + +Skip: + stfs f31, 0x3c(r27) #execute replaced code line diff --git a/Recording/Stages/SendStadiumInfo.asm b/Recording/Stages/SendStadiumInfo.asm new file mode 100644 index 00000000..1683d46e --- /dev/null +++ b/Recording/Stages/SendStadiumInfo.asm @@ -0,0 +1,55 @@ +################################################################################ +# Address: 801d4fd8 +################################################################################ +.include "Common/Common.s" +.include "Recording/Recording.s" + +################################################################################ +# Routine: SendStadiumInfo +# ------------------------------------------------------------------------------ +# Sends Pokemon Stadium transformation IDs +################################################################################ + +.set REG_Buffer,11 +.set REG_BufferOffset,12 + +b Start +STATIC_PREVIOUS_VALUE: + blrl + .long 0x00000005 + +Start: + bl STATIC_PREVIOUS_VALUE + mflr r3 + lwz r4, 0(r3) + lwz r5,0xdc(r31) + cmpw r4, r5 + beq Skip + stw r5, 0(r3) + +#------------- INITIALIZE ------------- +# here we want to initalize some variables we plan on using throughout +# get current offset in buffer + lwz r3, primaryDataBuffer(r13) + lwz REG_Buffer, RDB_TXB_ADDRESS(r3) + lwz REG_BufferOffset,bufferOffset(r13) + add REG_Buffer,REG_Buffer,REG_BufferOffset + +# send stage info event code + li r3, CMD_PS_INFO + stb r3,0x0(REG_Buffer) + +# send frame index + lwz r3,frameIndex(r13) + stw r3,0x1(REG_Buffer) + +# send transform IDs (two 16 bit IDs) + stw r5,0x5(REG_Buffer) + +#------------- Increment Buffer Offset ------------ + lwz REG_BufferOffset,bufferOffset(r13) + addi REG_BufferOffset,REG_BufferOffset,PS_INFO_PAYLOAD_LENGTH+1 + stw REG_BufferOffset,bufferOffset(r13) + +Skip: + lmw r27, 0x84(r1) #execute replaced code line