mirror of
https://github.com/project-slippi/slippi-ssbm-asm.git
synced 2025-10-05 23:52:43 +02:00
add logic to output latest finalized frame
This commit is contained in:
@@ -286,6 +286,8 @@ rlwinm \reg, \reg, 8, 0xFFFF # Loads major and minor scene into bottom of reg
|
||||
.set CONST_SlippiCmdFileLength, 0xD1
|
||||
.set CONST_SlippiCmdFileLoad, 0xD2
|
||||
|
||||
.set CONST_FirstFrameIdx, -123
|
||||
|
||||
.set GeckoCodeSectionStart,0x801910E8
|
||||
|
||||
.set RtocAddress, 0x804df9e0
|
||||
|
@@ -19,7 +19,7 @@
|
||||
bne IncrementFrameIndex
|
||||
|
||||
InitIndex:
|
||||
li r3,-123
|
||||
li r3,CONST_FirstFrameIdx
|
||||
stw r3,frameIndex(r13)
|
||||
b Exit
|
||||
|
||||
|
@@ -49,6 +49,9 @@ lbz r4, ODB_ROLLBACK_SHOULD_LOAD_STATE(r5)
|
||||
stb r4, ODB_STABLE_ROLLBACK_SHOULD_LOAD_STATE(r5)
|
||||
lwz r4, ODB_SAVESTATE_FRAME(r5)
|
||||
stw r4, ODB_STABLE_SAVESTATE_FRAME(r5)
|
||||
lwz r4, ODB_RXB_ADDR(r5)
|
||||
lwz r4, RXB_OPNT_FRAME_NUM(r4)
|
||||
stw r4, ODB_STABLE_OPNT_FRAME_NUM(r5)
|
||||
b RESTORE_AND_EXIT
|
||||
|
||||
HANDLE_NO_ROLLBACK_NO_INPUTS:
|
||||
|
@@ -51,6 +51,8 @@ li r3, RXB_SIZE
|
||||
branchl r12, HSD_MemAlloc
|
||||
stw r3, ODB_RXB_ADDR(REG_ODB_ADDRESS)
|
||||
mr REG_RXB_ADDRESS, r3
|
||||
li r4, RXB_SIZE
|
||||
branchl r12, Zero_AreaLength # For frame num, may not be necessary
|
||||
|
||||
# Prepare buffer for requesting savestate actions from Dolphin
|
||||
li r3, SSRB_SIZE
|
||||
|
@@ -187,7 +187,8 @@ lwz \reg, -0x62A0(\reg)
|
||||
.set ODB_STABLE_ROLLBACK_END_FRAME, ODB_STABLE_ROLLBACK_IS_ACTIVE + 1 # s32
|
||||
.set ODB_STABLE_ROLLBACK_SHOULD_LOAD_STATE, ODB_STABLE_ROLLBACK_END_FRAME + 4 # bool
|
||||
.set ODB_STABLE_SAVESTATE_FRAME, ODB_STABLE_ROLLBACK_SHOULD_LOAD_STATE + 1 # s32
|
||||
.set ODB_SHOULD_FORCE_PAD_RENEW, ODB_STABLE_SAVESTATE_FRAME + 4 # bool
|
||||
.set ODB_STABLE_OPNT_FRAME_NUM, ODB_STABLE_SAVESTATE_FRAME + 4 # s32
|
||||
.set ODB_SHOULD_FORCE_PAD_RENEW, ODB_STABLE_OPNT_FRAME_NUM + 4 # bool
|
||||
.set ODB_SIZE, ODB_SHOULD_FORCE_PAD_RENEW + 1
|
||||
|
||||
.set TXB_CMD, 0 # u8
|
||||
|
Binary file not shown.
Binary file not shown.
@@ -571,25 +571,31 @@ $Required: Slippi Recording [Fizzi, Achilles, UnclePunch]
|
||||
*Saves replays, Slippi device must be in Slot B.
|
||||
*To disable saving replays, visit the Slippi settings in Config > GameCube
|
||||
040679BC 38802600 #Recording/ExtendPlayerBlock.asm
|
||||
C23219EC 00000012 #Recording/FlushFrameBuffer.asm
|
||||
C23219EC 00000018 #Recording/FlushFrameBuffer.asm
|
||||
7C0802A6 90010004
|
||||
9421FF50 BE810008
|
||||
3D808000 618C5604
|
||||
7D8903A6 4E800421
|
||||
2C030000 41820050
|
||||
2C030000 41820084
|
||||
83CDB64C 83ADB650
|
||||
7F9EEA14 2C1D0000
|
||||
4182003C 3860003C
|
||||
41820070 3860003C
|
||||
987C0000 806DB654
|
||||
907C0001 3BBD0005
|
||||
7FC3F378 7FA4EB78
|
||||
38A00001 3D808000
|
||||
618C55F0 7D8903A6
|
||||
4E800421 38600000
|
||||
906DB650 BA810008
|
||||
800100B4 382100B0
|
||||
7C0803A6 8001001C
|
||||
60000000 00000000
|
||||
907C0001 3C608048
|
||||
80639D30 5463443E
|
||||
2C030208 806DB654
|
||||
4082001C 808DB61C
|
||||
808406FC 3884FF85
|
||||
7C041800 40800008
|
||||
7C832378 907C0005
|
||||
3BBD0009 7FC3F378
|
||||
7FA4EB78 38A00001
|
||||
3D808000 618C55F0
|
||||
7D8903A6 4E800421
|
||||
38600000 906DB650
|
||||
BA810008 800100B4
|
||||
382100B0 7C0803A6
|
||||
8001001C 00000000
|
||||
C216D30C 00000013 #Recording/SendGameEnd.asm
|
||||
7C0802A6 90010004
|
||||
9421FF50 BE810008
|
||||
@@ -610,12 +616,12 @@ C216D30C 00000013 #Recording/SendGameEnd.asm
|
||||
BA810008 800100B4
|
||||
382100B0 7C0803A6
|
||||
8001003C 00000000
|
||||
C216E74C 000000B5 #Recording/SendGameInfo.asm
|
||||
C216E74C 000000B7 #Recording/SendGameInfo.asm
|
||||
7C0802A6 90010004
|
||||
9421FF50 BE810008
|
||||
3D808000 618C5604
|
||||
7D8903A6 4E800421
|
||||
2C030000 4182056C
|
||||
2C030000 4182057C
|
||||
386006DE 3D808037
|
||||
618CF1E4 7D8903A6
|
||||
4E800421 7C7E1B78
|
||||
@@ -627,7 +633,7 @@ C216E74C 000000B5 #Recording/SendGameInfo.asm
|
||||
7C7C1B78 38600035
|
||||
987E0000 3860001C
|
||||
987E0001 38600036
|
||||
987E0002 386001A2
|
||||
987E0002 386001A4
|
||||
B07E0003 38600037
|
||||
987E0005 3860003F
|
||||
B07E0006 38600038
|
||||
@@ -701,7 +707,9 @@ B07E0015 3860003D
|
||||
2C140004 4180FF88
|
||||
8862F234 987E01BE
|
||||
8862F23C 987E01BF
|
||||
7FC3F378 388001C0
|
||||
3C608048 80639D30
|
||||
5463443E B07E01C0
|
||||
7FC3F378 388001C2
|
||||
38A00001 3D808000
|
||||
618C55F0 7D8903A6
|
||||
4E800421 38600205
|
||||
@@ -1097,54 +1105,56 @@ FC020840 4180000C
|
||||
38600001 BA810008
|
||||
800100B4 382100B0
|
||||
7C0803A6 00000000
|
||||
C21A4DB4 0000002F #Online/Core/ForceEngineOnRollback.asm
|
||||
C21A4DB4 00000031 #Online/Core/ForceEngineOnRollback.asm
|
||||
3C608048 80639D30
|
||||
5463443E 2C030208
|
||||
4082014C 3C608047
|
||||
40820158 3C608047
|
||||
60639D64 80630000
|
||||
2C030000 40820138
|
||||
2C030000 40820144
|
||||
3D808034 618C7364
|
||||
7D8903A6 4E800421
|
||||
7C7A1B78 80ADB61C
|
||||
2C1B0000 41810014
|
||||
888500D9 2C040000
|
||||
4182002C 3B600001
|
||||
41820038 3B600001
|
||||
888500D9 988506F2
|
||||
808500DB 908506F3
|
||||
888500DA 988506F7
|
||||
8085018B 908506F8
|
||||
480000D0 888506FC
|
||||
2C040000 418200C4
|
||||
38800000 988506FC
|
||||
3D808001 618C95FC
|
||||
7D8903A6 4E800421
|
||||
48000020 4E800021
|
||||
466F7263 65642061
|
||||
20706164 2072656E
|
||||
65772E2E 2E000000
|
||||
7C0802A6 90010004
|
||||
9421FF00 BC610008
|
||||
808500D5 80840001
|
||||
908506FC 480000D0
|
||||
88850700 2C040000
|
||||
418200C4 38800000
|
||||
98850700 3D808001
|
||||
618C95FC 7D8903A6
|
||||
4E800421 48000020
|
||||
4E800021 466F7263
|
||||
65642061 20706164
|
||||
2072656E 65772E2E
|
||||
2E000000 7C0802A6
|
||||
90010004 9421FF00
|
||||
BC610008 60000000
|
||||
60000000 60000000
|
||||
60000000 60000000
|
||||
60000000 806DAFC4
|
||||
38630003 4BFFFFB9
|
||||
7C8802A6 3D808032
|
||||
618C3CF4 7D8903A6
|
||||
4E800421 806DAFC4
|
||||
388000D0 98830000
|
||||
38800000 98830001
|
||||
38800001 98830002
|
||||
38800080 38A00001
|
||||
3D808000 618C55F0
|
||||
806DAFC4 38630003
|
||||
4BFFFFB9 7C8802A6
|
||||
3D808032 618C3CF4
|
||||
7D8903A6 4E800421
|
||||
B8610008 80010104
|
||||
38210100 7C0803A6
|
||||
7F43D378 3D808034
|
||||
618C738C 7D8903A6
|
||||
4E800421 2C1B0000
|
||||
40820014 3D80801A
|
||||
618C4DA8 7D8903A6
|
||||
4E800420 00000000
|
||||
806DAFC4 388000D0
|
||||
98830000 38800000
|
||||
98830001 38800001
|
||||
98830002 38800080
|
||||
38A00001 3D808000
|
||||
618C55F0 7D8903A6
|
||||
4E800421 B8610008
|
||||
80010104 38210100
|
||||
7C0803A6 7F43D378
|
||||
3D808034 618C738C
|
||||
7D8903A6 4E800421
|
||||
2C1B0000 40820014
|
||||
3D80801A 618C4DA8
|
||||
7D8903A6 4E800420
|
||||
60000000 00000000
|
||||
C216D310 00000009 #Online/Core/HandleLRAS.asm
|
||||
3C608048 80639D30
|
||||
5463443E 2C030208
|
||||
@@ -1171,21 +1181,21 @@ BA810008 800100B4
|
||||
800100B4 382100B0
|
||||
7C0803A6 7C7D1B78
|
||||
60000000 00000000
|
||||
C216E748 00000050 #Online/Core/InitOnlinePlay.asm
|
||||
C216E748 00000053 #Online/Core/InitOnlinePlay.asm
|
||||
3D808022 618C54B8
|
||||
7D8903A6 4E800421
|
||||
7C0802A6 90010004
|
||||
9421FF50 BE810008
|
||||
3C608048 80639D30
|
||||
5463443E 2C030208
|
||||
4082023C 386006FD
|
||||
40820250 38600701
|
||||
3D808037 618CF1E4
|
||||
7D8903A6 4E800421
|
||||
7C7B1B78 388006FD
|
||||
7C7B1B78 38800701
|
||||
3D808000 618CC160
|
||||
7D8903A6 4E800421
|
||||
936DB61C 38600001
|
||||
907B0003 480001ED
|
||||
907B0003 48000201
|
||||
7C6802A6 907B06EE
|
||||
38600012 3D808037
|
||||
618CF1E4 7D8903A6
|
||||
@@ -1193,65 +1203,68 @@ C216E748 00000050 #Online/Core/InitOnlinePlay.asm
|
||||
38600059 3D808037
|
||||
618CF1E4 7D8903A6
|
||||
4E800421 907B00D5
|
||||
7C7A1B78 38600021
|
||||
7C7A1B78 38800059
|
||||
3D808000 618CC160
|
||||
7D8903A6 4E800421
|
||||
38600021 3D808037
|
||||
618CF1E4 7D8903A6
|
||||
4E800421 7C791B78
|
||||
933B018F 3860009E
|
||||
3D808037 618CF1E4
|
||||
7D8903A6 4E800421
|
||||
7C791B78 933B018F
|
||||
3860009E 3D808037
|
||||
618CF1E4 7D8903A6
|
||||
4E800421 907B0193
|
||||
3880009E 3D808000
|
||||
618CC160 7D8903A6
|
||||
4E800421 38800000
|
||||
98830000 38800007
|
||||
98830001 93790005
|
||||
386006FD 90790009
|
||||
9359000D 38600059
|
||||
90790011 807B0193
|
||||
90790015 3860009E
|
||||
90790019 38600000
|
||||
9079001D 38600000
|
||||
3D808000 618C5610
|
||||
907B0193 3880009E
|
||||
3D808000 618CC160
|
||||
7D8903A6 4E800421
|
||||
7C781B78 886DAEF8
|
||||
987B0002 88780003
|
||||
987B0000 88780004
|
||||
987B0001 80780005
|
||||
907B0007 3C80804D
|
||||
90645F90 7FE3FB78
|
||||
38980158 38A00138
|
||||
3D808000 618C31F4
|
||||
38800000 98830000
|
||||
38800007 98830001
|
||||
93790005 38600701
|
||||
90790009 9359000D
|
||||
38600059 90790011
|
||||
807B0193 90790015
|
||||
3860009E 90790019
|
||||
38600000 9079001D
|
||||
38600000 3D808000
|
||||
618C5610 7D8903A6
|
||||
4E800421 7C781B78
|
||||
886DAEF8 987B0002
|
||||
88780003 987B0000
|
||||
88780004 987B0001
|
||||
80780005 907B0007
|
||||
3C80804D 90645F90
|
||||
7FE3FB78 38980158
|
||||
38A00138 3D808000
|
||||
618C31F4 7D8903A6
|
||||
4E800421 88780009
|
||||
2C030001 41800010
|
||||
2C03000F 41810010
|
||||
48000010 38600001
|
||||
48000008 3860000F
|
||||
987B001B 8062F228
|
||||
907B06EA 3C600101
|
||||
60630101 9062F228
|
||||
38A00000 3C60804C
|
||||
606320BC 1C850044
|
||||
7C632214 38800000
|
||||
90830000 38A50001
|
||||
2C050004 4180FFE0
|
||||
38600004 38800007
|
||||
38A00000 3D808039
|
||||
618C01F0 7D8903A6
|
||||
4E800421 48000021
|
||||
7C8802A6 38A00000
|
||||
3D808038 618CFD54
|
||||
7D8903A6 4E800421
|
||||
88780009 2C030001
|
||||
41800010 2C03000F
|
||||
41810010 48000010
|
||||
38600001 48000008
|
||||
3860000F 987B001B
|
||||
8062F228 907B06EA
|
||||
3C600101 60630101
|
||||
9062F228 38A00000
|
||||
3C60804C 606320BC
|
||||
1C850044 7C632214
|
||||
38800000 90830000
|
||||
38A50001 2C050004
|
||||
4180FFE0 38600004
|
||||
38800007 38A00000
|
||||
3D808039 618C01F0
|
||||
7D8903A6 4E800421
|
||||
48000021 7C8802A6
|
||||
38A00000 3D808038
|
||||
618CFD54 7D8903A6
|
||||
4E800421 48000040
|
||||
4E800021 3C608048
|
||||
80639D60 5464803E
|
||||
806DB61C 80630007
|
||||
7C841A14 3C60804D
|
||||
90835F90 4E800020
|
||||
4E800021 808DB61C
|
||||
806406EA 9062F228
|
||||
4E800020 BA810008
|
||||
800100B4 382100B0
|
||||
7C0803A6 00000000
|
||||
48000040 4E800021
|
||||
3C608048 80639D60
|
||||
5464803E 806DB61C
|
||||
80630007 7C841A14
|
||||
3C60804D 90835F90
|
||||
4E800020 4E800021
|
||||
808DB61C 806406EA
|
||||
9062F228 4E800020
|
||||
BA810008 800100B4
|
||||
382100B0 7C0803A6
|
||||
60000000 00000000
|
||||
C216E904 0000003B #Online/Core/InitPause.asm
|
||||
3C608048 80639D30
|
||||
5463443E 2C030208
|
||||
@@ -1761,7 +1774,7 @@ C2019608 00000024 #Online/Core/Hacks/PreventPadAlarmDuringRollback.asm
|
||||
7D8903A6 4E800421
|
||||
B8610008 80010104
|
||||
38210100 7C0803A6
|
||||
38600001 986506FC
|
||||
38600001 98650700
|
||||
3D808001 618C9618
|
||||
7D8903A6 4E800420
|
||||
38600000 00000000
|
||||
|
@@ -571,25 +571,31 @@ $Required: Slippi Recording [Fizzi, Achilles, UnclePunch]
|
||||
*Saves replays, Slippi device must be in Slot B.
|
||||
*To disable saving replays, visit the Slippi settings in Config > GameCube
|
||||
040679BC 38802600 #Recording/ExtendPlayerBlock.asm
|
||||
C23219EC 00000012 #Recording/FlushFrameBuffer.asm
|
||||
C23219EC 00000018 #Recording/FlushFrameBuffer.asm
|
||||
7C0802A6 90010004
|
||||
9421FF50 BE810008
|
||||
3D808000 618C5604
|
||||
7D8903A6 4E800421
|
||||
2C030000 41820050
|
||||
2C030000 41820084
|
||||
83CDB64C 83ADB650
|
||||
7F9EEA14 2C1D0000
|
||||
4182003C 3860003C
|
||||
41820070 3860003C
|
||||
987C0000 806DB654
|
||||
907C0001 3BBD0005
|
||||
7FC3F378 7FA4EB78
|
||||
38A00001 3D808000
|
||||
618C55F0 7D8903A6
|
||||
4E800421 38600000
|
||||
906DB650 BA810008
|
||||
800100B4 382100B0
|
||||
7C0803A6 8001001C
|
||||
60000000 00000000
|
||||
907C0001 3C608048
|
||||
80639D30 5463443E
|
||||
2C030208 806DB654
|
||||
4082001C 808DB61C
|
||||
808406FC 3884FF85
|
||||
7C041800 40800008
|
||||
7C832378 907C0005
|
||||
3BBD0009 7FC3F378
|
||||
7FA4EB78 38A00001
|
||||
3D808000 618C55F0
|
||||
7D8903A6 4E800421
|
||||
38600000 906DB650
|
||||
BA810008 800100B4
|
||||
382100B0 7C0803A6
|
||||
8001001C 00000000
|
||||
C216D30C 00000013 #Recording/SendGameEnd.asm
|
||||
7C0802A6 90010004
|
||||
9421FF50 BE810008
|
||||
@@ -610,12 +616,12 @@ C216D30C 00000013 #Recording/SendGameEnd.asm
|
||||
BA810008 800100B4
|
||||
382100B0 7C0803A6
|
||||
8001003C 00000000
|
||||
C216E74C 000000B5 #Recording/SendGameInfo.asm
|
||||
C216E74C 000000B7 #Recording/SendGameInfo.asm
|
||||
7C0802A6 90010004
|
||||
9421FF50 BE810008
|
||||
3D808000 618C5604
|
||||
7D8903A6 4E800421
|
||||
2C030000 4182056C
|
||||
2C030000 4182057C
|
||||
386006DE 3D808037
|
||||
618CF1E4 7D8903A6
|
||||
4E800421 7C7E1B78
|
||||
@@ -627,7 +633,7 @@ C216E74C 000000B5 #Recording/SendGameInfo.asm
|
||||
7C7C1B78 38600035
|
||||
987E0000 3860001C
|
||||
987E0001 38600036
|
||||
987E0002 386001A2
|
||||
987E0002 386001A4
|
||||
B07E0003 38600037
|
||||
987E0005 3860003F
|
||||
B07E0006 38600038
|
||||
@@ -701,7 +707,9 @@ B07E0015 3860003D
|
||||
2C140004 4180FF88
|
||||
8862F234 987E01BE
|
||||
8862F23C 987E01BF
|
||||
7FC3F378 388001C0
|
||||
3C608048 80639D30
|
||||
5463443E B07E01C0
|
||||
7FC3F378 388001C2
|
||||
38A00001 3D808000
|
||||
618C55F0 7D8903A6
|
||||
4E800421 38600205
|
||||
@@ -1097,54 +1105,56 @@ FC020840 4180000C
|
||||
38600001 BA810008
|
||||
800100B4 382100B0
|
||||
7C0803A6 00000000
|
||||
C21A4DB4 0000002F #Online/Core/ForceEngineOnRollback.asm
|
||||
C21A4DB4 00000031 #Online/Core/ForceEngineOnRollback.asm
|
||||
3C608048 80639D30
|
||||
5463443E 2C030208
|
||||
4082014C 3C608047
|
||||
40820158 3C608047
|
||||
60639D64 80630000
|
||||
2C030000 40820138
|
||||
2C030000 40820144
|
||||
3D808034 618C7364
|
||||
7D8903A6 4E800421
|
||||
7C7A1B78 80ADB61C
|
||||
2C1B0000 41810014
|
||||
888500D9 2C040000
|
||||
4182002C 3B600001
|
||||
41820038 3B600001
|
||||
888500D9 988506F2
|
||||
808500DB 908506F3
|
||||
888500DA 988506F7
|
||||
8085018B 908506F8
|
||||
480000D0 888506FC
|
||||
2C040000 418200C4
|
||||
38800000 988506FC
|
||||
3D808001 618C95FC
|
||||
7D8903A6 4E800421
|
||||
48000020 4E800021
|
||||
466F7263 65642061
|
||||
20706164 2072656E
|
||||
65772E2E 2E000000
|
||||
7C0802A6 90010004
|
||||
9421FF00 BC610008
|
||||
808500D5 80840001
|
||||
908506FC 480000D0
|
||||
88850700 2C040000
|
||||
418200C4 38800000
|
||||
98850700 3D808001
|
||||
618C95FC 7D8903A6
|
||||
4E800421 48000020
|
||||
4E800021 466F7263
|
||||
65642061 20706164
|
||||
2072656E 65772E2E
|
||||
2E000000 7C0802A6
|
||||
90010004 9421FF00
|
||||
BC610008 60000000
|
||||
60000000 60000000
|
||||
60000000 60000000
|
||||
60000000 806DAFC4
|
||||
38630003 4BFFFFB9
|
||||
7C8802A6 3D808032
|
||||
618C3CF4 7D8903A6
|
||||
4E800421 806DAFC4
|
||||
388000D0 98830000
|
||||
38800000 98830001
|
||||
38800001 98830002
|
||||
38800080 38A00001
|
||||
3D808000 618C55F0
|
||||
806DAFC4 38630003
|
||||
4BFFFFB9 7C8802A6
|
||||
3D808032 618C3CF4
|
||||
7D8903A6 4E800421
|
||||
B8610008 80010104
|
||||
38210100 7C0803A6
|
||||
7F43D378 3D808034
|
||||
618C738C 7D8903A6
|
||||
4E800421 2C1B0000
|
||||
40820014 3D80801A
|
||||
618C4DA8 7D8903A6
|
||||
4E800420 00000000
|
||||
806DAFC4 388000D0
|
||||
98830000 38800000
|
||||
98830001 38800001
|
||||
98830002 38800080
|
||||
38A00001 3D808000
|
||||
618C55F0 7D8903A6
|
||||
4E800421 B8610008
|
||||
80010104 38210100
|
||||
7C0803A6 7F43D378
|
||||
3D808034 618C738C
|
||||
7D8903A6 4E800421
|
||||
2C1B0000 40820014
|
||||
3D80801A 618C4DA8
|
||||
7D8903A6 4E800420
|
||||
60000000 00000000
|
||||
C216D310 00000009 #Online/Core/HandleLRAS.asm
|
||||
3C608048 80639D30
|
||||
5463443E 2C030208
|
||||
@@ -1171,21 +1181,21 @@ BA810008 800100B4
|
||||
800100B4 382100B0
|
||||
7C0803A6 7C7D1B78
|
||||
60000000 00000000
|
||||
C216E748 00000050 #Online/Core/InitOnlinePlay.asm
|
||||
C216E748 00000053 #Online/Core/InitOnlinePlay.asm
|
||||
3D808022 618C54B8
|
||||
7D8903A6 4E800421
|
||||
7C0802A6 90010004
|
||||
9421FF50 BE810008
|
||||
3C608048 80639D30
|
||||
5463443E 2C030208
|
||||
4082023C 386006FD
|
||||
40820250 38600701
|
||||
3D808037 618CF1E4
|
||||
7D8903A6 4E800421
|
||||
7C7B1B78 388006FD
|
||||
7C7B1B78 38800701
|
||||
3D808000 618CC160
|
||||
7D8903A6 4E800421
|
||||
936DB61C 38600001
|
||||
907B0003 480001ED
|
||||
907B0003 48000201
|
||||
7C6802A6 907B06EE
|
||||
38600012 3D808037
|
||||
618CF1E4 7D8903A6
|
||||
@@ -1193,65 +1203,68 @@ C216E748 00000050 #Online/Core/InitOnlinePlay.asm
|
||||
38600059 3D808037
|
||||
618CF1E4 7D8903A6
|
||||
4E800421 907B00D5
|
||||
7C7A1B78 38600021
|
||||
7C7A1B78 38800059
|
||||
3D808000 618CC160
|
||||
7D8903A6 4E800421
|
||||
38600021 3D808037
|
||||
618CF1E4 7D8903A6
|
||||
4E800421 7C791B78
|
||||
933B018F 3860009E
|
||||
3D808037 618CF1E4
|
||||
7D8903A6 4E800421
|
||||
7C791B78 933B018F
|
||||
3860009E 3D808037
|
||||
618CF1E4 7D8903A6
|
||||
4E800421 907B0193
|
||||
3880009E 3D808000
|
||||
618CC160 7D8903A6
|
||||
4E800421 38800000
|
||||
98830000 38800007
|
||||
98830001 93790005
|
||||
386006FD 90790009
|
||||
9359000D 38600059
|
||||
90790011 807B0193
|
||||
90790015 3860009E
|
||||
90790019 38600000
|
||||
9079001D 38600000
|
||||
3D808000 618C5610
|
||||
907B0193 3880009E
|
||||
3D808000 618CC160
|
||||
7D8903A6 4E800421
|
||||
7C781B78 886DAEF8
|
||||
987B0002 88780003
|
||||
987B0000 88780004
|
||||
987B0001 80780005
|
||||
907B0007 3C80804D
|
||||
90645F90 7FE3FB78
|
||||
38980158 38A00138
|
||||
3D808000 618C31F4
|
||||
38800000 98830000
|
||||
38800007 98830001
|
||||
93790005 38600701
|
||||
90790009 9359000D
|
||||
38600059 90790011
|
||||
807B0193 90790015
|
||||
3860009E 90790019
|
||||
38600000 9079001D
|
||||
38600000 3D808000
|
||||
618C5610 7D8903A6
|
||||
4E800421 7C781B78
|
||||
886DAEF8 987B0002
|
||||
88780003 987B0000
|
||||
88780004 987B0001
|
||||
80780005 907B0007
|
||||
3C80804D 90645F90
|
||||
7FE3FB78 38980158
|
||||
38A00138 3D808000
|
||||
618C31F4 7D8903A6
|
||||
4E800421 88780009
|
||||
2C030001 41800010
|
||||
2C03000F 41810010
|
||||
48000010 38600001
|
||||
48000008 3860000F
|
||||
987B001B 8062F228
|
||||
907B06EA 3C600101
|
||||
60630101 9062F228
|
||||
38A00000 3C60804C
|
||||
606320BC 1C850044
|
||||
7C632214 38800000
|
||||
90830000 38A50001
|
||||
2C050004 4180FFE0
|
||||
38600004 38800007
|
||||
38A00000 3D808039
|
||||
618C01F0 7D8903A6
|
||||
4E800421 48000021
|
||||
7C8802A6 38A00000
|
||||
3D808038 618CFD54
|
||||
7D8903A6 4E800421
|
||||
88780009 2C030001
|
||||
41800010 2C03000F
|
||||
41810010 48000010
|
||||
38600001 48000008
|
||||
3860000F 987B001B
|
||||
8062F228 907B06EA
|
||||
3C600101 60630101
|
||||
9062F228 38A00000
|
||||
3C60804C 606320BC
|
||||
1C850044 7C632214
|
||||
38800000 90830000
|
||||
38A50001 2C050004
|
||||
4180FFE0 38600004
|
||||
38800007 38A00000
|
||||
3D808039 618C01F0
|
||||
7D8903A6 4E800421
|
||||
48000021 7C8802A6
|
||||
38A00000 3D808038
|
||||
618CFD54 7D8903A6
|
||||
4E800421 48000040
|
||||
4E800021 3C608048
|
||||
80639D60 5464803E
|
||||
806DB61C 80630007
|
||||
7C841A14 3C60804D
|
||||
90835F90 4E800020
|
||||
4E800021 808DB61C
|
||||
806406EA 9062F228
|
||||
4E800020 BA810008
|
||||
800100B4 382100B0
|
||||
7C0803A6 00000000
|
||||
48000040 4E800021
|
||||
3C608048 80639D60
|
||||
5464803E 806DB61C
|
||||
80630007 7C841A14
|
||||
3C60804D 90835F90
|
||||
4E800020 4E800021
|
||||
808DB61C 806406EA
|
||||
9062F228 4E800020
|
||||
BA810008 800100B4
|
||||
382100B0 7C0803A6
|
||||
60000000 00000000
|
||||
C216E904 0000003B #Online/Core/InitPause.asm
|
||||
3C608048 80639D30
|
||||
5463443E 2C030208
|
||||
@@ -1761,7 +1774,7 @@ C2019608 00000024 #Online/Core/Hacks/PreventPadAlarmDuringRollback.asm
|
||||
7D8903A6 4E800421
|
||||
B8610008 80010104
|
||||
38210100 7C0803A6
|
||||
38600001 986506FC
|
||||
38600001 98650700
|
||||
3D808001 618C9618
|
||||
7D8903A6 4E800420
|
||||
38600000 00000000
|
||||
|
@@ -166,7 +166,7 @@ SkipPercentageRestore:
|
||||
|
||||
# Correct spawn points on the first frame
|
||||
lwz r3,frameIndex(r13)
|
||||
cmpwi r3,-123
|
||||
cmpwi r3,CONST_FirstFrameIdx
|
||||
bne SkipSpawnCorrection
|
||||
# Force Direction Change
|
||||
mr r3,PlayerData
|
||||
|
@@ -3,6 +3,7 @@
|
||||
################################################################################
|
||||
.include "Common/Common.s"
|
||||
.include "Recording/Recording.s"
|
||||
.include "Online/Online.s"
|
||||
|
||||
################################################################################
|
||||
# Routine: FlushFrameBuffer
|
||||
@@ -13,7 +14,8 @@
|
||||
# struct offsets
|
||||
.set OFST_CMD,0x0
|
||||
.set OFST_FRAME,OFST_CMD+0x1
|
||||
.set BOOKEND_STRUCT_SIZE,OFST_FRAME+0x4
|
||||
.set OFST_LATEST_FINALIZED_FRAME,OFST_FRAME+0x4
|
||||
.set BOOKEND_STRUCT_SIZE,OFST_LATEST_FINALIZED_FRAME+0x4
|
||||
|
||||
# registers
|
||||
.set REG_Buffer,30
|
||||
@@ -45,6 +47,24 @@ backup
|
||||
lwz r3,frameIndex(r13)
|
||||
stw r3,OFST_FRAME(REG_WritePos)
|
||||
|
||||
# send the latest finalized frame index. This is only relevant during rollback
|
||||
# where we continue on with frames when their contents may change later.
|
||||
# Having this here helps any kind of real-time system listening to the file
|
||||
# wait until a frame will no longer change before processing it
|
||||
getMinorMajor r3
|
||||
cmpwi r3, SCENE_ONLINE_IN_GAME
|
||||
lwz r3,frameIndex(r13)
|
||||
bne WRITE_FINALIZED_FRAME
|
||||
# Convert latest online frame index to replay frame index format
|
||||
lwz r4, OFST_R13_ODB_ADDR(r13) # data buffer address
|
||||
lwz r4, ODB_STABLE_OPNT_FRAME_NUM(r4)
|
||||
addi r4, r4, CONST_FirstFrameIdx
|
||||
cmpw r4, r3
|
||||
bge WRITE_FINALIZED_FRAME # If latest frame greater than current frame, use current
|
||||
mr r3, r4
|
||||
WRITE_FINALIZED_FRAME:
|
||||
stw r3,OFST_LATEST_FINALIZED_FRAME(REG_WritePos)
|
||||
|
||||
# increment buffer offset, we dont need to write it to memory because it's
|
||||
# about to get cleared anyway
|
||||
addi REG_BufferOffset,REG_BufferOffset,BOOKEND_STRUCT_SIZE
|
||||
|
@@ -15,7 +15,7 @@
|
||||
|
||||
# Payload lengths, if any additional data is added, these must be incremented
|
||||
.set MESSAGE_DESCRIPTIONS_PAYLOAD_LENGTH, 3 * (COMMAND_COUNT - 1) + 1 # byte count
|
||||
.set GAME_INFO_PAYLOAD_LENGTH, 418 # byte count
|
||||
.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
|
||||
|
@@ -329,6 +329,13 @@ SEND_GAME_INFO_NAMETAG_INC_LOOP:
|
||||
lbz r3,FSToggle(rtoc)
|
||||
stb r3,FSToggleStart+0x0(REG_Buffer)
|
||||
|
||||
#------------- SEND Major/Minor Scene ------------
|
||||
.set MinorMajorStart, (FSToggleStart + FSToggleLength)
|
||||
.set MinorMajorLength, 0x2
|
||||
|
||||
getMinorMajor r3
|
||||
sth r3, MinorMajorStart(REG_Buffer)
|
||||
|
||||
#------------- Transfer Buffer ------------
|
||||
mr r3,REG_Buffer
|
||||
li r4,MESSAGE_DESCRIPTIONS_PAYLOAD_LENGTH+1 + GAME_INFO_PAYLOAD_LENGTH+1
|
||||
|
Reference in New Issue
Block a user