add match start status report

This commit is contained in:
Jas Laferriere
2025-07-25 16:09:27 -04:00
parent bd52b75794
commit 7a847e2fd8
4 changed files with 220 additions and 191 deletions

View File

@@ -541,6 +541,7 @@ add \reg, r3, r4
.set CONST_SlippiCmdSendNameEntryIndex,0xBE
.set CONST_SlippiCmdNameEntryAutoComplete,0xBF
.set CONST_SlippiCmdReportSetCompletion,0xC2
.set CONST_SlippiCmdReportMatchStatus,0xC4
# For Slippi file loads
.set CONST_SlippiCmdFileLength, 0xD1
.set CONST_SlippiCmdFileLoad, 0xD2

View File

@@ -150,7 +150,7 @@ loadwz r5, 0x803dad40 # Load minor scene data array ptr
lwz r5, 0x88(r5) # Load game prep minor scene data
lbz r3, GPDO_TIEBREAK_GAME_NUM(r5) # Load is_tiebreak
cmpwi r3, 0
beq SKIP_TIEBREAK_OVERWRITE # If not a tiebreak, do nothing
beq HANDLE_RANKED_MATCH_START # If not a tiebreak, handle ranked match start
lbz r3, GPDO_LAST_GAME_END_MODE(r5)
cmpwi r3, 0x7
beq SKIP_TIEBREAK_OVERWRITE # If last game ended with exit, desync recovery values will be used (set by dolphin)
@@ -164,6 +164,20 @@ stb r3, 0x62 + 0x24(REG_GAME_INFO_START)
stb r3, 0x62 + 0x24 * 2(REG_GAME_INFO_START)
stb r3, 0x62 + 0x24 * 3(REG_GAME_INFO_START)
b SKIP_TIEBREAK_OVERWRITE # Done handling tiebreak
HANDLE_RANKED_MATCH_START:
# This is a ranked match that is not a tiebreak, report to the server that the game is starting
lwz r3, OFST_R13_SB_ADDR(r13) # Use the scene buffer, should be available to use
li r4, CONST_SlippiCmdReportMatchStatus
stb r4, 0(r3) # Store command byte
lhz r4, GPDO_CUR_GAME(r5) # r5 still contains game prep minor scene data from above
addi r4, r4, 19 # Add 19 to the game num because 20 is the offset for game_start_1
stb r4, 1(r3) # Store message index
li r4, 2 # Buffer length
li r5, CONST_ExiWrite
branchl r12, FN_EXITransferBuffer
SKIP_TIEBREAK_OVERWRITE:
# Test code to force the timer to 15 seconds

View File

@@ -1392,14 +1392,14 @@ BA8100B0 800100E4
800100E4 382100E0
7C0803A6 7C7D1B78
60000000 00000000
C216E748 000000A7 #Online/Core/InitOnlinePlay.asm
C216E748 000000AE #Online/Core/InitOnlinePlay.asm
3D808022 618C54B8
7D8903A6 4E800421
7C0802A6 90010004
9421FF20 BE8100B0
3C608048 80639D30
5463443E 2C030208
408204F4 38600B2F
40820528 38600B2F
3D808037 618CF1E4
7D8903A6 4E800421
7C7B1B78 38800B2F
@@ -1411,7 +1411,7 @@ C216E748 000000A7 #Online/Core/InitOnlinePlay.asm
2C030000 41820010
A06C0001 38630001
B06C0001 38600001
907B0003 480002B1
907B0003 480002E5
7C6802A6 907B08FB
3860001A 3D808037
618CF1E4 7D8903A6
@@ -1456,110 +1456,117 @@ B06C0001 38600001
7C8523D6 7C832214
887803C7 98640008
886DAFA0 2C030000
40820048 3CA0803D
4082007C 3CA0803D
60A5AD40 80A50000
80A50088 88650006
2C030000 4182002C
2C030000 41820030
88650017 2C030007
41820020 386000B4
41820054 386000B4
907F0010 38600001
987F0062 987F0086
987F00AA 987F00CE
886DAFA0 2C030003
40820048 3AE00000
1CB70024 38650069
7C7F18AE 38630001
38850060 7C9F20AE
3D808000 618C56B0
48000034 806DAFC4
388000C4 98830000
A0850001 38840013
98830001 38800002
38A00001 3D808000
618C55F0 7D8903A6
4E800421 886DAFA0
2C030003 40820048
3AE00000 1CB70024
38650069 7C7F18AE
38630001 38850060
7C9F20AE 3D808000
618C56B0 7D8903A6
4E800421 1C970024
38840063 7C7F21AE
3AF70001 2C170004
4180FFC4 88780009
2C030001 41800010
2C03000F 41810010
48000010 38600001
48000008 3860000F
987B0021 38A00000
3C60804C 606320BC
1C850044 7C632214
38800000 90830000
38A50001 2C050004
4180FFE0 38600004
38800007 38A00000
3D808039 618C01F0
7D8903A6 4E800421
1C970024 38840063
7C7F21AE 3AF70001
2C170004 4180FFC4
88780009 2C030001
41800010 2C03000F
41810010 48000010
38600001 48000008
3860000F 987B0021
38A00000 3C60804C
606320BC 1C850044
7C632214 38800000
90830000 38A50001
2C050004 4180FFE0
38600004 38800007
38A00000 3D808039
618C01F0 7D8903A6
4E800421 48000021
7C8802A6 38A00000
3D808038 618CFD54
48000021 7C8802A6
38A00000 3D808038
618CFD54 7D8903A6
4E800421 4800020C
4E800021 3C608048
80639D60 5464803E
806DB61C 80630007
7C841A14 3C60804D
90835F90 4E800020
4E800021 7C0802A6
90010004 9421FF20
BE8100B0 838DB61C
3CA0803D 60A5AD40
80A50000 83650088
3F408047 635A9DA4
7F43D378 3C808046
6084B8EC 38A02278
3D808000 618C31F4
7D8903A6 4E800421
4800020C 4E800021
3C608048 80639D60
5464803E 806DB61C
80630007 7C841A14
3C60804D 90835F90
4E800020 4E800021
7C0802A6 90010004
9421FF20 BE8100B0
838DB61C 3CA0803D
60A5AD40 80A50000
83650088 3F408047
635A9DA4 7F43D378
3C808046 6084B8EC
38A02278 3D808000
618C31F4 7D8903A6
4E800421 3C808046
6084B6A0 7F43D378
880424D0 98030006
88040008 98030004
3D808016 618C6378
3C808046 6084B6A0
7F43D378 880424D0
98030006 88040008
98030004 3D808016
618C6378 7D8903A6
4E800421 38600171
3D808037 618CF1E4
7D8903A6 4E800421
38600171 3D808037
618CF1E4 7D8903A6
4E800421 7C7E1B78
386000BD 987E0000
886DAFA0 987E0001
3D80801A 618C4BA8
7D8903A6 4E800421
907E0002 A07B0001
907E0006 887B0006
907E000A 807B0018
7C6903A6 4E800421
987E000E 887C0011
2C030000 3880FFFD
40820018 887C0012
2C030000 3880FFFE
40820008 48000008
989E000E 3C808046
6084B6A0 88640008
987E000F 2C030007
4082000C 88640001
48000008 3860FFFF
987E0010 809C0B1F
909E0011 3BE00000
3BBE0015 7FE3FB78
3D808003 618C1724
7D8903A6 4E800421
80830008 989D0000
8883008E 989D0001
80830D28 909D0002
1CBF0003 38850B23
7C9C20AE 989D0006
38850B24 7C9C222E
B09D0007 3BFF0001
3BBD0009 2C1F0004
4180FFAC 387E0039
3C808048 60840530
38A00138 3D808000
618C31F4 7D8903A6
4E800421 7FC3F378
38800171 38A00001
3D808000 618C55F0
7C7E1B78 386000BD
987E0000 886DAFA0
987E0001 3D80801A
618C4BA8 7D8903A6
4E800421 907E0002
A07B0001 907E0006
887B0006 907E000A
807B0018 7C6903A6
4E800421 987E000E
887C0011 2C030000
3880FFFD 40820018
887C0012 2C030000
3880FFFE 40820008
48000008 989E000E
3C808046 6084B6A0
88640008 987E000F
2C030007 4082000C
88640001 48000008
3860FFFF 987E0010
809C0B1F 909E0011
3BE00000 3BBE0015
7FE3FB78 3D808003
618C1724 7D8903A6
4E800421 80830008
989D0000 8883008E
989D0001 80830D28
909D0002 1CBF0003
38850B23 7C9C20AE
989D0006 38850B24
7C9C222E B09D0007
3BFF0001 3BBD0009
2C1F0004 4180FFAC
387E0039 3C808048
60840530 38A00138
3D808000 618C31F4
7D8903A6 4E800421
7FC3F378 38800171
38A00001 3D808000
618C55F0 7D8903A6
4E800421 BA8100B0
800100E4 382100E0
7C0803A6 4E800020
BA8100B0 800100E4
382100E0 7C0803A6
4E800020 BA8100B0
800100E4 382100E0
7C0803A6 00000000
60000000 00000000
C216E904 0000004C #Online/Core/InitPause.asm
3C608048 80639D30
5463443E 2C030208

View File

@@ -1391,14 +1391,14 @@ BA8100B0 800100E4
800100E4 382100E0
7C0803A6 7C7D1B78
60000000 00000000
C216E748 000000A7 #Online/Core/InitOnlinePlay.asm
C216E748 000000AE #Online/Core/InitOnlinePlay.asm
3D808022 618C54B8
7D8903A6 4E800421
7C0802A6 90010004
9421FF20 BE8100B0
3C608048 80639D30
5463443E 2C030208
408204F4 38600B2F
40820528 38600B2F
3D808037 618CF1E4
7D8903A6 4E800421
7C7B1B78 38800B2F
@@ -1410,7 +1410,7 @@ C216E748 000000A7 #Online/Core/InitOnlinePlay.asm
2C030000 41820010
A06C0001 38630001
B06C0001 38600001
907B0003 480002B1
907B0003 480002E5
7C6802A6 907B08FB
3860001A 3D808037
618CF1E4 7D8903A6
@@ -1455,110 +1455,117 @@ B06C0001 38600001
7C8523D6 7C832214
887803C7 98640008
886DAFA0 2C030000
40820048 3CA0803D
4082007C 3CA0803D
60A5AD40 80A50000
80A50088 88650006
2C030000 4182002C
2C030000 41820030
88650017 2C030007
41820020 386000B4
41820054 386000B4
907F0010 38600001
987F0062 987F0086
987F00AA 987F00CE
886DAFA0 2C030003
40820048 3AE00000
1CB70024 38650069
7C7F18AE 38630001
38850060 7C9F20AE
3D808000 618C56B0
48000034 806DAFC4
388000C4 98830000
A0850001 38840013
98830001 38800002
38A00001 3D808000
618C55F0 7D8903A6
4E800421 886DAFA0
2C030003 40820048
3AE00000 1CB70024
38650069 7C7F18AE
38630001 38850060
7C9F20AE 3D808000
618C56B0 7D8903A6
4E800421 1C970024
38840063 7C7F21AE
3AF70001 2C170004
4180FFC4 88780009
2C030001 41800010
2C03000F 41810010
48000010 38600001
48000008 3860000F
987B0021 38A00000
3C60804C 606320BC
1C850044 7C632214
38800000 90830000
38A50001 2C050004
4180FFE0 38600004
38800007 38A00000
3D808039 618C01F0
7D8903A6 4E800421
1C970024 38840063
7C7F21AE 3AF70001
2C170004 4180FFC4
88780009 2C030001
41800010 2C03000F
41810010 48000010
38600001 48000008
3860000F 987B0021
38A00000 3C60804C
606320BC 1C850044
7C632214 38800000
90830000 38A50001
2C050004 4180FFE0
38600004 38800007
38A00000 3D808039
618C01F0 7D8903A6
4E800421 48000021
7C8802A6 38A00000
3D808038 618CFD54
48000021 7C8802A6
38A00000 3D808038
618CFD54 7D8903A6
4E800421 4800020C
4E800021 3C608048
80639D60 5464803E
806DB61C 80630007
7C841A14 3C60804D
90835F90 4E800020
4E800021 7C0802A6
90010004 9421FF20
BE8100B0 838DB61C
3CA0803D 60A5AD40
80A50000 83650088
3F408047 635A9DA4
7F43D378 3C808046
6084B8EC 38A02278
3D808000 618C31F4
7D8903A6 4E800421
4800020C 4E800021
3C608048 80639D60
5464803E 806DB61C
80630007 7C841A14
3C60804D 90835F90
4E800020 4E800021
7C0802A6 90010004
9421FF20 BE8100B0
838DB61C 3CA0803D
60A5AD40 80A50000
83650088 3F408047
635A9DA4 7F43D378
3C808046 6084B8EC
38A02278 3D808000
618C31F4 7D8903A6
4E800421 3C808046
6084B6A0 7F43D378
880424D0 98030006
88040008 98030004
3D808016 618C6378
3C808046 6084B6A0
7F43D378 880424D0
98030006 88040008
98030004 3D808016
618C6378 7D8903A6
4E800421 38600171
3D808037 618CF1E4
7D8903A6 4E800421
38600171 3D808037
618CF1E4 7D8903A6
4E800421 7C7E1B78
386000BD 987E0000
886DAFA0 987E0001
3D80801A 618C4BA8
7D8903A6 4E800421
907E0002 A07B0001
907E0006 887B0006
907E000A 807B0018
7C6903A6 4E800421
987E000E 887C0011
2C030000 3880FFFD
40820018 887C0012
2C030000 3880FFFE
40820008 48000008
989E000E 3C808046
6084B6A0 88640008
987E000F 2C030007
4082000C 88640001
48000008 3860FFFF
987E0010 809C0B1F
909E0011 3BE00000
3BBE0015 7FE3FB78
3D808003 618C1724
7D8903A6 4E800421
80830008 989D0000
8883008E 989D0001
80830D28 909D0002
1CBF0003 38850B23
7C9C20AE 989D0006
38850B24 7C9C222E
B09D0007 3BFF0001
3BBD0009 2C1F0004
4180FFAC 387E0039
3C808048 60840530
38A00138 3D808000
618C31F4 7D8903A6
4E800421 7FC3F378
38800171 38A00001
3D808000 618C55F0
7C7E1B78 386000BD
987E0000 886DAFA0
987E0001 3D80801A
618C4BA8 7D8903A6
4E800421 907E0002
A07B0001 907E0006
887B0006 907E000A
807B0018 7C6903A6
4E800421 987E000E
887C0011 2C030000
3880FFFD 40820018
887C0012 2C030000
3880FFFE 40820008
48000008 989E000E
3C808046 6084B6A0
88640008 987E000F
2C030007 4082000C
88640001 48000008
3860FFFF 987E0010
809C0B1F 909E0011
3BE00000 3BBE0015
7FE3FB78 3D808003
618C1724 7D8903A6
4E800421 80830008
989D0000 8883008E
989D0001 80830D28
909D0002 1CBF0003
38850B23 7C9C20AE
989D0006 38850B24
7C9C222E B09D0007
3BFF0001 3BBD0009
2C1F0004 4180FFAC
387E0039 3C808048
60840530 38A00138
3D808000 618C31F4
7D8903A6 4E800421
7FC3F378 38800171
38A00001 3D808000
618C55F0 7D8903A6
4E800421 BA8100B0
800100E4 382100E0
7C0803A6 4E800020
BA8100B0 800100E4
382100E0 7C0803A6
4E800020 BA8100B0
800100E4 382100E0
7C0803A6 00000000
60000000 00000000
C216E904 0000004C #Online/Core/InitPause.asm
3C608048 80639D30
5463443E 2C030208