new codes, even with d3398cb929dda567fa515738cbf36a6f18a5e8a0

This commit is contained in:
R2DLiu 2020-12-07 00:31:03 -05:00
commit 6d3cea0093
20 changed files with 4560 additions and 5326 deletions

View file

@ -47,7 +47,7 @@ option(USE_DISCORD_PRESENCE "Enables Discord Rich Presence, show the current gam
option(ENABLE_ANALYTICS "Enables opt-in Analytics collection" OFF)
# Enable Playback build for Slippi for watching replays
option(SLIPPI_PLAYBACK "Enable Playback changes" ON)
option(SLIPPI_PLAYBACK "Enable Playback changes" OFF)
option(ENCODE_FRAMEDUMPS "Encode framedumps in AVI format" ON)

View file

@ -1,16 +0,0 @@
# GALE01, GALJ01, GALP01 - Super Smash Bros Melee
[Core]
# Values set here will override the main Dolphin settings.
[OnLoad]
# Add memory patches to be loaded once on boot here.
[OnFrame]
# Add memory patches to be applied every frame here.
[ActionReplay]
# Add action replay cheats here.
[Video_Stereoscopy]
StereoConvergence = 64

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -3,13 +3,14 @@
[Core]
CPUThread = True
GPUDeterminismMode = fake-completion
EnableCheats = True
PollingMethod = OnSIRead
FastDiscSpeed = True
[Gecko_Enabled]
$Required: General Codes
$Required: Slippi Recording
$Required: Slippi Online
#$Recommended: Normal Lag Reduction
$Recommended: Normal Lag Reduction
$Recommended: Polling drift fix + VB
[Gecko]
@ -1143,9 +1144,9 @@ FC020840 4180000C
C21A4DB4 00000031 #Online/Core/ForceEngineOnRollback.asm
3C608048 80639D30
5463443E 2C030208
40820158 3C608047
4082015C 3C608047
60639D64 80630000
2C030000 40820144
2C030000 40820148
3D808034 618C7364
7D8903A6 4E800421
7C7A1B78 80ADB61C
@ -1157,9 +1158,9 @@ C21A4DB4 00000031 #Online/Core/ForceEngineOnRollback.asm
888500DA 988506F7
8085018B 908506F8
808500D5 80840001
908506FC 480000D0
908506FC 480000D4
88850700 2C040000
418200C4 38800000
418200C8 38800000
98850700 3D808001
618C95FC 7D8903A6
4E800421 48000020
@ -1173,23 +1174,23 @@ BC610008 60000000
60000000 60000000
806DAFC4 38630003
4BFFFFB9 7C8802A6
3D808032 618C3CF4
4CC63242 3D808032
618C3CF4 7D8903A6
4E800421 806DAFC4
388000D0 98830000
38800000 98830001
38800001 98830002
38800080 38A00001
3D808000 618C55F0
7D8903A6 4E800421
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
B8610008 80010104
38210100 7C0803A6
7F43D378 3D808034
618C738C 7D8903A6
4E800421 2C1B0000
40820014 3D80801A
618C4DA8 7D8903A6
4E800420 00000000
C216D310 00000009 #Online/Core/HandleLRAS.asm
3C608048 80639D30
5463443E 2C030208
@ -1360,15 +1361,15 @@ BE810008 83ADB61C
800100B4 382100B0
7C0803A6 4E800020
881F0001 00000000
C21A5014 00000052 #Online/Core/LoopEngineForRollback.asm
C21A5014 0000004F #Online/Core/LoopEngineForRollback.asm
41A20014 3D80801A
618C5024 7D8903A6
4E800420 3C608048
80639D30 5463443E
2C030208 40820268
2C030208 40820250
3C608047 60639D64
80630000 2C030000
40820254 7C0802A6
4082023C 7C0802A6
90010004 9421FF50
BE810008 3D808034
618C7364 7D8903A6
@ -1412,32 +1413,29 @@ A0840001 7C032000
3D808034 618C738C
7D8903A6 4E800421
8B7F06F2 2C1B0001
408200E4 3D808003
618C0A50 7D8903A6
4E800421 3D808002
618CA4AC 7D8903A6
4E800421 48000025
408200CC 48000025
BA810008 800100B4
382100B0 7C0803A6
3D80801A 618C4DE4
7D8903A6 4E800420
7C0802A6 90010004
9421FF50 BE810008
3FE08045 63FF3080
3BC00000 3D808003
618C0A50 7D8903A6
4E800421 80630028
3D808036 618C8458
3D808003 618C0A50
7D8903A6 4E800421
807F00B0 2C030000
41820014 3D808008
3D808002 618CA4AC
7D8903A6 4E800421
3D808003 618C0A50
7D8903A6 4E800421
80630028 3D808036
618C8458 7D8903A6
4E800421 806DC18C
82830020 4800002C
82B4002C 8875221F
546006F7 40820018
7E83A378 3D808008
618C6A8C 7D8903A6
4E800421 807F00B4
2C030000 41820014
3D808008 618C6A8C
7D8903A6 4E800421
3BDE0001 3BFF0E90
2C1E0004 4180FFBC
4E800421 82940008
2C140000 4082FFD4
BA810008 800100B4
382100B0 7C0803A6
4E800020 BA810008
@ -1701,35 +1699,39 @@ C21A4CB4 00000004 #Online/Core/EXIFileLoad/AllocBuffer.asm
618CF1E4 7D8903A6
4E800421 906DAFC4
38000000 00000000
C20163FC 00000018 #Online/Core/EXIFileLoad/GetFileSize.asm
C20163FC 0000001B #Online/Core/EXIFileLoad/GetFileSize.asm
7C7E1B78 7C0802A6
90010004 9421FF50
BE810008 83EDAFC4
386000D1 987F0000
387F0001 7FC4F378
3D808032 618C5A50
7D8903A6 4E800421
7FC3F378 3D808032
618C5B04 7D8903A6
4E800421 38830002
7FE3FB78 38A00001
3D808000 618C55F0
7D8903A6 4E800421
7FE3FB78 38800004
38A00000 3D808000
618C55F0 7D8903A6
4E800421 7FE3FB78
2C1F0000 40820018
BA810008 800100B4
382100B0 7C0803A6
80630000 2C030000
40810014 3D808001
618C6488 7D8903A6
4E800420 7FC3F378
60000000 00000000
C20166B8 00000028 #Online/Core/EXIFileLoad/TransferFile.asm
480000A0 386000D1
987F0000 387F0001
7FC4F378 3D808032
618C5A50 7D8903A6
4E800421 7FC3F378
3D808032 618C5B04
7D8903A6 4E800421
38830002 7FE3FB78
38A00001 3D808000
618C55F0 7D8903A6
4E800421 7FE3FB78
38800004 38A00000
3D808000 618C55F0
7D8903A6 4E800421
7FE3FB78 BA810008
800100B4 382100B0
7C0803A6 80630000
2C030000 40810014
3D808001 618C6488
7D8903A6 4E800420
7FC3F378 00000000
C20166B8 00000029 #Online/Core/EXIFileLoad/TransferFile.asm
7C7E1B78 7C0802A6
90010004 9421FF50
BE810008 83EDAFC4
2C1F0000 41820110
386000D1 987F0000
387F0001 7FC4F378
3D808032 618C5A50
@ -1781,17 +1783,17 @@ C2376304 0000000B #Online/Core/Hacks/ForceNoVideoAssert.asm
2056616C 75653A20
25640A00 00000000
04321D70 38600000 #Online/Core/Hacks/PreventCharacterCrowdChants.asm
C2019608 00000024 #Online/Core/Hacks/PreventPadAlarmDuringRollback.asm
C2019608 00000025 #Online/Core/Hacks/PreventPadAlarmDuringRollback.asm
9421FFF8 3C608048
80639D30 5463443E
2C030208 40820104
2C030208 40820108
3C608047 60639D64
80630000 2C030000
408200F0 3C608037
408200F4 3C608037
60635E00 2C000003
408200E0 80ADB61C
408200E4 80ADB61C
886500D9 2C030000
418200D0 4800002C
418200D4 4800002C
4E800021 56492072
65747261 63652043
42206475 72696E67
@ -1803,21 +1805,22 @@ C2019608 00000024 #Online/Core/Hacks/PreventPadAlarmDuringRollback.asm
60000000 60000000
60000000 806DAFC4
38630003 4BFFFFAD
7C8802A6 3D808032
618C3CF4 7D8903A6
4E800421 806DAFC4
388000D0 98830000
38800000 98830001
38800001 98830002
38800080 38A00001
3D808000 618C55F0
7C8802A6 4CC63242
3D808032 618C3CF4
7D8903A6 4E800421
B8610008 80010104
38210100 7C0803A6
38600001 98650700
3D808001 618C9618
7D8903A6 4E800420
38600000 00000000
806DAFC4 388000D0
98830000 38800000
98830001 38800001
98830002 38800080
38A00001 3D808000
618C55F0 7D8903A6
4E800421 B8610008
80010104 38210100
7C0803A6 38600001
98650700 3D808001
618C9618 7D8903A6
4E800420 38600000
60000000 00000000
C21D4578 00000003 #Online/Core/PreventFileAlarms/FreezeStadium.asm
FFE00890 3D80801D
618C4FD8 7D8903A6
@ -1849,60 +1852,66 @@ BE810008 83EDB61C
BA810008 800100B4
382100B0 7C0803A6
60000000 00000000
C2088224 0000001A #Online/Core/Sound/NoDestroyVoice.asm
7C0802A6 90010004
9421FF50 BE810008
83EDB61C 3BBF0197
57DE043E 8B9D0000
3C608048 80639D60
809F06E6 7C032000
41810088 3C608048
C2088224 0000001D #Online/Core/Sound/NoDestroyVoice.asm
3C608048 80639D30
5463443E 2C030208
408200CC 7C0802A6
90010004 9421FF50
BE810008 83EDB61C
3BBF0197 57DE043E
8B9D0000 3C608048
80639D60 809F06E6
7C632050 38630001
8B9D0000 7F83E051
40800008 3B9C0007
1C7C00C2 38DD0062
7CC61A14 39000000
48000020 1C680006
38A60001 7CA51A14
A0650000 7C1E1800
41820018 39080001
88660000 7C081800
4180FFDC 48000024
BA810008 800100B4
382100B0 7C0803A6
3D808008 618C8244
7D8903A6 4E800420
BA810008 800100B4
382100B0 7C0803A6
387F0000 00000000
C20882B0 0000001A #Online/Core/Sound/NoDestroyVoice2.asm
7C0802A6 90010004
9421FF50 BE810008
83EDB61C 3BBF0197
57DE043E 8B9D0000
7C032000 41810088
3C608048 80639D60
809F06E6 7C032000
41810088 3C608048
809F06E6 7C632050
38630001 8B9D0000
7F83E051 40800008
3B9C0007 1C7C00C2
38DD0062 7CC61A14
39000000 48000020
1C680006 38A60001
7CA51A14 A0650000
7C1E1800 41820018
39080001 88660000
7C081800 4180FFDC
48000024 BA810008
800100B4 382100B0
7C0803A6 3D808008
618C8244 7D8903A6
4E800420 BA810008
800100B4 382100B0
7C0803A6 387F0000
60000000 00000000
C20882B0 0000001D #Online/Core/Sound/NoDestroyVoice2.asm
3C608048 80639D30
5463443E 2C030208
408200CC 7C0802A6
90010004 9421FF50
BE810008 83EDB61C
3BBF0197 57DE043E
8B9D0000 3C608048
80639D60 809F06E6
7C632050 38630001
8B9D0000 7F83E051
40800008 3B9C0007
1C7C00C2 38DD0062
7CC61A14 39000000
48000020 1C680006
38A60001 7CA51A14
A0650000 7C1E1800
41820018 39080001
88660000 7C081800
4180FFDC 48000024
BA810008 800100B4
382100B0 7C0803A6
3D808008 618C82D0
7D8903A6 4E800420
BA810008 800100B4
382100B0 7C0803A6
387F0000 00000000
7C032000 41810088
3C608048 80639D60
809F06E6 7C632050
38630001 8B9D0000
7F83E051 40800008
3B9C0007 1C7C00C2
38DD0062 7CC61A14
39000000 48000020
1C680006 38A60001
7CA51A14 A0650000
7C1E1800 41820018
39080001 88660000
7C081800 4180FFDC
48000024 BA810008
800100B4 382100B0
7C0803A6 3D808008
618C82D0 7D8903A6
4E800420 BA810008
800100B4 382100B0
7C0803A6 387F0000
60000000 00000000
C238D0B0 0000002A #Online/Core/Sound/PreventDuplicateSounds.asm
3C608048 80639D30
5463443E 2C030208
@ -3415,288 +3424,302 @@ C21BFA20 00000012 #Online/Slippi Online Scene/boot.asm
3D80801B 618C136C
7D8903A6 4E800420
38600001 00000000
C21A45BC 0000011A #Online/Slippi Online Scene/main.asm
7C0802A6 90010004
9421FF50 BE810008
3C80803E 6084DC1C
480001FD 7C6802A6
38630000 90640008
38600000 986DAFA3
986DAFC8 38600008
4800015D 7C8802A6
4800002D 48000868
80830000 5485467A
2C050048 40820014
548401BA 7C840734
7C841A14 90830000
4E800020 7C0802A6
C21A45B8 00000128 #Online/Slippi Online Scene/main.asm
3BA30004 7C0802A6
90010004 9421FF50
BE810008 7C7F1B78
7C9E2378 3C80803D
6084AD30 48000089
7C6802A6 90640004
480000C5 7C6802A6
90640008 38600001
98640000 3D80801A
618C50AC 7D8903A6
4E800421 88830001
7C04F800 4182000C
38630014 4BFFFFF0
93C30010 7FD4F378
88740000 7C630774
2C03FFFF 4182001C
38740004 4BFFFF5D
38740008 4BFFFF55
3A940018 4BFFFFDC
BA810008 800100B4
382100B0 7C0803A6
4E800020 4E800021
BE810008 3C80803E
6084DC1C 480001F5
7C6802A6 38630000
90640008 38600000
986DAFA3 986DAFC8
38600008 48000155
7C8802A6 4800002D
480008D8 80830000
5485467A 2C050048
40820014 548401BA
7C840734 7C841A14
90830000 4E800020
7C0802A6 90010004
9421FF50 BE810008
3C808045 6084ABF0
886DAEF8 98640006
38600013 3C80803F
60840CC8 98640001
BA810008 800100B4
382100B0 7C0803A6
4E800020 4E800021
7C0802A6 90010004
9421FF50 BE810008
38600012 3C80803F
60840CC8 98640001
BA810008 800100B4
382100B0 7C0803A6
4E800020 4E800021
00030000 48000081
480000F5 08000000
80497758 80497758
01030000 480001AD
480001DD 09000000
80480668 80480668
02030000 801B1588
48000275 02000000
80480530 80479D98
03030000 00000000
00000000 05000000
7C7F1B78 7C9E2378
3C80803D 6084AD30
48000081 7C6802A6
90640004 480000BD
7C6802A6 90640008
38600001 98640000
3C60803D 6063ACA4
88830001 7C04F800
4182000C 38630014
4BFFFFF0 93C30010
7FD4F378 88740000
7C630774 2C03FFFF
4182001C 38740004
4BFFFF65 38740008
4BFFFF5D 3A940018
4BFFFFDC BA810008
800100B4 382100B0
7C0803A6 4E800020
4E800021 7C0802A6
90010004 9421FF50
BE810008 3C808045
6084ABF0 886DAEF8
98640006 38600013
3C80803F 60840CC8
98640001 BA810008
800100B4 382100B0
7C0803A6 4E800020
4E800021 7C0802A6
90010004 9421FF50
BE810008 38600012
3C80803F 60840CC8
98640001 BA810008
800100B4 382100B0
7C0803A6 4E800020
4E800021 00030000
48000081 480000F5
08000000 80497758
80497758 01030000
480001AD 480001DD
09000000 80480668
80480668 02030000
801B1588 48000275
02000000 80480530
80479D98 03030000
00000000 00000000
04030000 48000325
480004A5 20000000
80490880 804D68D0
FF000000 4E800021
81940000 7C0802A6
90010004 9421FF50
BE810008 808D8840
3BE40530 3D80801A
618C427C 7D8903A6
4E800421 88BF0002
3880000E 88FF0003
38C00000 891F0004
895F0006 39200000
3D80801B 618C06B0
7D8903A6 4E800421
3D808001 618C74BC
7D8903A6 4E800421
BA810008 800100B4
382100B0 7C0803A6
4E800020 7C0802A6
90010004 9421FF50
BE810008 7C7E1B78
3D80801B 618CAAD0
7D8903A6 4E800421
809E0014 88840003
2C040002 40820008
48000084 886DAFA0
2C030001 41820014
2C030002 41820014
2C030000 41820008
48000038 48000034
886DAFC9 7C630774
2C03FFFF 41820024
2C030001 4182001C
2C030000 40820000
886DAFCA 2C030000
41820020 48000004
480003B9 3C808047
60849D30 38600005
98640005 48000018
3C808047 60849D30
38600002 98640005
48000004 BA810008
800100B4 382100B0
7C0803A6 4E800020
05000000 00000000
00000000 04030000
4800039D 4800051D
20000000 80490880
804D68D0 FF000000
4E800021 81940000
7C0802A6 90010004
9421FF50 BE810008
3D80801B 618C1514
808D8840 3BE40530
3D80801A 618C427C
7D8903A6 4E800421
BA810008 800100B4
382100B0 7C0803A6
4E800020 7C0802A6
90010004 9421FF50
BE810008 7C7F1B78
809F0014 88840004
2C040000 4082001C
38600000 3D80801A
618C42A0 7D8903A6
4E800421 48000064
38600001 986DAFCA
38600000 3D808000
618C5610 7D8903A6
4E800421 7C7E1B78
887E0001 889E0002
7C032000 4082001C
480002D9 3C808047
60849D30 38600005
98640005 4800001C
38600000 3D80801A
618C42A0 7D8903A6
4E800421 48000004
BA810008 800100B4
382100B0 7C0803A6
4E800020 7C0802A6
90010004 9421FF50
BE810008 3D80801B
618C15C8 7D8903A6
4E800421 38600000
3D808000 618C5610
7D8903A6 4E800421
7C7F1B78 3A800000
3AA00000 7E83A378
48000329 2C030000
41820008 3AB50001
3A940001 2C140004
4180FFE4 2C150001
4082001C 887F0003
48000301 2C030000
4182000C 38600001
48000008 38600000
986DAFC9 38600000
986DAFCA 3C808047
60849D30 38600001
98640005 7FE3FB78
3D808037 618CF1B0
7D8903A6 4E800421
BA810008 800100B4
382100B0 7C0803A6
4E800020 4E800021
01780101 01FF2121
FF2121EE 0000EE00
7C0802A6 90010004
9421FF50 BE810008
83ED8840 3BFF0598
3C608049 60630888
4BFFFFCD 7C8802A6
38A00010 3D808000
618C31F4 7D8903A6
4E800421 3C808049
60840888 887F0060
98640005 887F0063
9864000B 887F0084
98640008 887F0087
9864000E 3C808043
60842078 887F0060
90640014 887F0063
98640018 887F0084
9064001C 887F0087
98640020 A07F000E
9064000C 3D808001
618C8254 7D8903A6
4E800421 386000C7
3D808001 618C8C2C
7D8903A6 4E800421
38600004 3D808001
618C7700 7D8903A6
4E800421 3A800000
1C140024 7FF7FB78
7EF70214 3AA00000
3AC00000 88770060
7C630774 3D808002
618C6E84 7D8903A6
4E800421 3A940001
2C140006 7ED62378
7EB51B78 3AF70024
4180FFD4 A07F000E
3D808002 618C6EBC
7D8903A6 4E800421
7C75AB78 7C96B378
3860001C 3D808002
618C6F2C 7D8903A6
4E800421 38D60000
38B50000 3860000C
3D808002 618C702C
7D8903A6 4E800421
3D808002 618C7168
7D8903A6 4E800421
BA810008 800100B4
382100B0 7C0803A6
4E800020 7C0802A6
90010004 9421FF50
BE810008 3C808047
60849D30 38600003
98640005 BA810008
800100B4 382100B0
7C0803A6 4E800020
7C0802A6 90010004
9421FF50 BE810008
38600000 3D808000
618C5610 7D8903A6
4E800421 7C7F1B78
83CD8840 3BDE0598
7FC3F378 389F0158
38A00138 3D808000
618C31F4 7D8903A6
4E800421 3D808017
618CEB30 7D8903A6
4E800421 889F01B8
98830000 889F01BB
98830001 38800000
98830002 38800003
98830005 38800078
98830004 3C80803D
6084DEC8 8084000C
887F01DC 98640002
38602121 B0640003
3C808049 60840880
887F01DF 98640016
7FE3FB78 3D808037
618CF1B0 7D8903A6
88BF0002 3880000E
88FF0003 38C00000
891F0004 895F0006
39200000 3D80801B
618C06B0 7D8903A6
4E800421 3D808001
618C74BC 7D8903A6
4E800421 BA810008
800100B4 382100B0
7C0803A6 4E800020
7C0802A6 90010004
9421FF50 BE810008
7C7D1B78 3FE08047
63FF9DA4 1FDD00A8
7FDEFA14 887F0004
2C030000 418200B0
3C608046 6063B6A0
886324D0 889F0006
7C032000 40820098
887E0058 2C030003
4182008C 887F0004
2C030007 40820040
887F0006 2C030001
40820024 887F0000
1C6300A8 7C63FA14
8863005F 889E005F
7C032000 41820058
4800005C 887F0000
7C03E800 41820048
4800004C 887F0006
2C030001 40820028
7FE3FB78 3D808016
618C54A0 7D8903A6
4E800421 889E005F
7C032000 41820020
48000014 887E005D
2C030000 41820010
48000004 38600000
48000008 38600001
7C7E1B78 3D80801B
618CAAD0 7D8903A6
4E800421 809E0014
88840003 2C040002
40820008 48000084
886DAFA0 2C030001
41820014 2C030002
41820014 2C030000
41820008 48000038
48000034 886DAFC9
7C630774 2C03FFFF
41820024 2C030001
4182001C 2C030000
40820000 886DAFCA
2C030000 41820020
48000004 48000431
3C808047 60849D30
38600005 98640005
48000018 3C808047
60849D30 38600002
98640005 48000004
BA810008 800100B4
382100B0 7C0803A6
4E800020 BA810008
4E800020 7C0802A6
90010004 9421FF50
BE810008 3D80801B
618C1514 7D8903A6
4E800421 BA810008
800100B4 382100B0
7C0803A6 38600028
987E0000 3BE00000
7C0803A6 4E800020
7C0802A6 90010004
9421FF50 BE810008
7C7F1B78 809F0014
88840004 2C040000
4082001C 38600000
3D80801A 618C42A0
7D8903A6 4E800421
48000064 38600001
986DAFCA 38600000
3D808000 618C5610
7D8903A6 4E800421
7C7E1B78 887E0001
889E0002 7C032000
4082001C 48000351
3C808047 60849D30
38600005 98640005
4800001C 38600000
3D80801A 618C42A0
7D8903A6 4E800421
48000004 BA810008
800100B4 382100B0
7C0803A6 4E800020
7C0802A6 90010004
9421FF50 BE810008
3D80801B 618C15C8
7D8903A6 4E800421
38600000 3D808000
618C5610 7D8903A6
4E800421 7C7F1B78
3A800000 3AA00000
7E83A378 480003A1
2C030000 41820008
3AB50001 3A940001
2C140004 4180FFE4
2C150001 4082001C
887F0003 48000379
2C030000 4182000C
38600001 48000008
38600000 986DAFC9
38600000 986DAFCA
38600004 3D808037
618CF1E4 7D8903A6
4E800421 7C7E1B78
386000BC 987E0000
7FC3F378 38800001
38A00001 3D808000
618C55F0 7D8903A6
4E800421 7FC3F378
38800004 38A00000
3D808000 618C55F0
7D8903A6 4E800421
3C80804D 807E0000
90645F90 7FC3F378
3D808037 618CF1B0
7D8903A6 4E800421
3C808047 60849D30
38600001 98640005
7FE3FB78 3D808037
618CF1B0 7D8903A6
4E800421 BA810008
800100B4 382100B0
7C0803A6 4E800020
4E800021 01780101
01FF2121 FF2121EE
0000EE00 7C0802A6
90010004 9421FF50
BE810008 83ED8840
3BFF0598 3C608049
60630888 4BFFFFCD
7C8802A6 38A00010
3D808000 618C31F4
7D8903A6 4E800421
3C808049 60840888
887F0060 98640005
887F0063 9864000B
887F0084 98640008
887F0087 9864000E
3C808043 60842078
887F0060 90640014
887F0063 98640018
887F0084 9064001C
887F0087 98640020
A07F000E 9064000C
3D808001 618C8254
7D8903A6 4E800421
386000C7 3D808001
618C8C2C 7D8903A6
4E800421 38600004
3D808001 618C7700
7D8903A6 4E800421
3A800000 1C140024
7FF7FB78 7EF70214
3AA00000 3AC00000
88770060 7C630774
3D808002 618C6E84
7D8903A6 4E800421
3A940001 2C140006
7ED62378 7EB51B78
3AF70024 4180FFD4
A07F000E 3D808002
618C6EBC 7D8903A6
4E800421 7C75AB78
7C96B378 3860001C
3D808002 618C6F2C
7D8903A6 4E800421
38D60000 38B50000
3860000C 3D808002
618C702C 7D8903A6
4E800421 3D808002
618C7168 7D8903A6
4E800421 BA810008
800100B4 382100B0
7C0803A6 4E800020
7C0802A6 90010004
9421FF50 BE810008
3C808047 60849D30
38600003 98640005
BA810008 800100B4
382100B0 7C0803A6
4E800020 7C0802A6
90010004 9421FF50
BE810008 38600000
3D808000 618C5610
7D8903A6 4E800421
7C7F1B78 83CD8840
3BDE0598 7FC3F378
389F0158 38A00138
3D808000 618C31F4
7D8903A6 4E800421
3D808017 618CEB30
7D8903A6 4E800421
889F01B8 98830000
889F01BB 98830001
38800000 98830002
38800003 98830005
38800078 98830004
3C80803D 6084DEC8
8084000C 887F01DC
98640002 38602121
B0640003 3C808049
60840880 887F01DF
98640016 7FE3FB78
3D808037 618CF1B0
7D8903A6 4E800421
BA810008 800100B4
382100B0 7C0803A6
4E800020 7C0802A6
90010004 9421FF50
BE810008 7C7D1B78
3FE08047 63FF9DA4
1FDD00A8 7FDEFA14
887F0004 2C030000
418200B0 3C608046
6063B6A0 886324D0
889F0006 7C032000
40820098 887E0058
2C030003 4182008C
887F0004 2C030007
40820040 887F0006
2C030001 40820024
887F0000 1C6300A8
7C63FA14 8863005F
889E005F 7C032000
41820058 4800005C
887F0000 7C03E800
41820048 4800004C
887F0006 2C030001
40820028 7FE3FB78
3D808016 618C54A0
7D8903A6 4E800421
889E005F 7C032000
41820020 48000014
887E005D 2C030000
41820010 48000004
38600000 48000008
38600001 BA810008
800100B4 382100B0
7C0803A6 4E800020
BA810008 800100B4
382100B0 7C0803A6
38600028 987E0000
60000000 00000000
C2005610 00000012 #Online/Static/LoadMatchState.asm
7C0802A6 90010004
@ -3937,7 +3960,7 @@ C21A5018 00000005
04218D68 C8228000
$Optional: Widescreen 16:9 [Dan Salvato, mirrorbender, Achilles1515, UnclePunch]
*Set Aspect Ratio to "Force 16:9" in Graphics for 16:9 monitors ----------------------
*Set Aspect Ratio to "Force 16:9" in Graphics for 16:9 monitors ----------------------
*Will not cause desyncs when playing online
043BB05C 3EB00000 #External/Widescreen/Fix Screen Flash.asm
C236A4A8 00000006 #External/Widescreen/Overwrite CObj Values.asm
@ -3964,17 +3987,17 @@ C0030000 4800000C
044DDB84 3E89FEFA #External/Widescreen/Nametag Fixes/Adjust Nametag Text X Scale.asm
$Optional: Disable Screen Shake [Achilles1515]
*Will prevent screen from shaking on hits, KOs, collisions, etc -----------------------
*Will prevent screen from shaking on hits, KOs, collisions, etc -----------------------
*Will not cause desyncs when playing online
04030E44 4E800020
$Optional: Center Align 2P HUD [Achilles1515]
*When playing online, character %'s will always be centered -------------------------
$Optional: Center Align 2P HUD [UnclePunch]
*When playing online, character %'s will always be centered -------------------------
*Will not cause desyncs when playing online
0416E9AC 38600002
$Optional: Flash Red on Failed L-Cancel [Achilles1515, Fizzi]
*When playing online, this will only affect your character ---------------------------
*When playing online, this will only affect your character ---------------------------
*Will not cause desyncs when playing online
C20C0148 0000000C #External/FlashRedFailedLCancel/ChangeColor.asm
387F0488 89FE0564

View file

@ -3,12 +3,13 @@
[Core]
CPUThread = False
GPUDeterminismMode = fake-completion
EnableCheats = True
PollingMethod = OnSIRead
FastDiscSpeed = True
[Gecko_Enabled]
$Required: General Codes
$Required: Slippi Playback
$Recommended: Normal Lag Reduction
[Gecko]
$Required: General Codes [Achilles, Dan Salvato, UnclePunch, tauKhan, Ptomerty, Cilan, Datel, Most]
@ -80,14 +81,14 @@ BE810008 806DB64C
BA810008 800100B4
382100B0 7C0803A6
881F0008 00000000
C206B0DC 00000043 #Playback/Core/RestoreGameFrame.asm
C206B0DC 00000046 #Playback/Core/RestoreGameFrame.asm
7C0802A6 90010004
9421FF50 BE810008
8BBF000C 7FA3EB78
3D808003 618C1724
7D8903A6 4E800421
7C7C1B78 806DB64C
83630000 7FE3FB78
7C7C1B78 832DB64C
83790000 7FE3FB78
3D808000 618C55F8
7D8903A6 4E800421
7C741B78 389B0007
@ -101,18 +102,21 @@ C206B0DC 00000043 #Playback/Core/RestoreGameFrame.asm
807A0010 907F063C
807A0014 907F0650
807A0018 907F065C
807A001C 907F00B0
807A0020 907F00B4
807A0024 907F002C
807A0028 907F0010
3C608046 6063B108
3C80804C 60841F78
88840001 3884FFFF
2C040000 40A00008
38840005 1C840030
7C632214 889F0618
1C84000C 7E832214
887A002C 98740002
8879056F 2C030000
41820024 807A001C
907F00B0 807A0020
907F00B4 807A0024
907F002C 807A0028
907F0010 3C608046
6063B108 3C80804C
60841F78 88840001
3884FFFF 2C040000
40A00008 38840005
1C840030 7C632214
889F0618 1C84000C
7E832214 887A002C
98740002 8879056F
2C030000 4182004C
807A002D 2C03FFFF
41820040 90610040
C0210040 C05F1830
@ -148,16 +152,16 @@ D0230030 3D808002
800100B4 382100B0
7C0803A6 881F2219
60000000 00000000
C216E74C 00000099 #Playback/Core/RestoreGameInfo.asm
C216E74C 0000009A #Playback/Core/RestoreGameInfo.asm
7C0802A6 90010004
9421FF50 BE810008
3860056F 3D808037
38600570 3D808037
618CF1E4 7D8903A6
4E800421 7C7C1B78
938DB64C 3880056F
938DB64C 38800570
3D808000 618CC160
7D8903A6 4E800421
386001A4 3D808037
386001A5 3D808037
618CF1E4 7D8903A6
4E800421 7C7E1B78
93DC0000 38600040
@ -171,7 +175,7 @@ C216E74C 00000099 #Playback/Core/RestoreGameInfo.asm
3880000D 38A00001
3D808000 618C55F0
7D8903A6 4E800421
7FC3F378 388001A4
7FC3F378 388001A5
38A00000 3D808000
618C55F0 7D8903A6
4E800421 887E0000
@ -215,7 +219,8 @@ C216E74C 00000099 #Playback/Core/RestoreGameInfo.asm
4180FF70 887E019D
9862F234 887E019E
9862F238 887E019F
9862F23C 807E01A0
9862F23C 887E01A0
987C056F 807E01A1
3D808037 618CF1E4
7D8903A6 4E800421
7C7D1B78 93BC0008
@ -224,7 +229,7 @@ C216E74C 00000099 #Playback/Core/RestoreGameInfo.asm
38A00001 3D808000
618C55F0 7D8903A6
4E800421 7FA3EB78
809E01A0 38A00000
809E01A1 38A00000
3D808000 618C55F0
7D8903A6 4E800421
38800004 909C000C
@ -280,7 +285,7 @@ C216E74C 00000099 #Playback/Core/RestoreGameInfo.asm
7C0803A6 4E800020
38600000 809C0014
90640000 7FA3EB78
809E01A0 3D808032
809E01A1 3D808032
618C8F50 7D8903A6
4E800421 38600004
38800007 38A00000
@ -331,7 +336,7 @@ C216B9C0 00000012 #Playback/Core/RestoreStockSteal.asm
4E800420 3D808016
618CBAC8 7D8903A6
4E800420 00000000
C21A501C 00000029 #Playback/Core/FastForward/FastForward.asm
C21A501C 0000002A #Playback/Core/FastForward/FastForward.asm
3C808048 88649D30
2C03000E 40820040
88649D33 2C030001
@ -345,34 +350,35 @@ C21A501C 00000029 #Playback/Core/FastForward/FastForward.asm
38800002 3D808002
618C5064 7D8903A6
4E800421 7C1AD800
480000DC 806DB64C
480000E0 806DB64C
80630000 88630001
2C030001 4182001C
38600000 38800000
3D808002 618C5064
7D8903A6 4E800421
3D808003 618C0A50
7D8903A6 4E800421
3D808002 618CA4AC
7D8903A6 4E800421
4800000D 2C0300FF
48000084 7C0802A6
480000A8 7C0802A6
90010004 9421FF50
BE810008 3FE08045
63FF3080 3BC00000
3D808003 618C0A50
BE810008 3D808003
618C0A50 7D8903A6
4E800421 3D808002
618CA4AC 7D8903A6
4E800421 3D808003
618C0A50 7D8903A6
4E800421 80630028
3D808036 618C8458
7D8903A6 4E800421
80630028 3D808036
618C8458 7D8903A6
4E800421 807F00B0
2C030000 41820014
806DC18C 82830020
4800002C 82B4002C
8875221F 546006F7
40820018 7E83A378
3D808008 618C6A8C
7D8903A6 4E800421
3BDE0001 3BFF0E90
2C1E0004 4180FFD8
BA810008 800100B4
382100B0 7C0803A6
4E800020 00000000
82940008 2C140000
4082FFD4 BA810008
800100B4 382100B0
7C0803A6 4E800020
60000000 00000000
C2377544 00000002 #Playback/Core/FastForward/IncrementPadIndex.asm
40A2000C 38000001
981E0003 00000000
@ -500,167 +506,179 @@ BA810008 800100B4
60000000 00000000
041B16A8 801B09C0 #Playback/Core/Scene/Change Debug Result Screen MinorType to Debug Menu/ScenePrep_DebugResult = ScenePrep_DebugMenu.asm
043DDA9C 07000000 #Playback/Core/Scene/Change Debug Result Screen MinorType to Debug Menu/Swap MinorType.asm
C238D224 00000013 #Playback/Core/Sounds/AssignSoundInstanceId.asm
900DC0E8 7C0802A6
90010004 9421FF50
BE810008 83EDB64C
3BDF001C 8B9E0000
3C608048 80639D60
809F056B 7C032000
41810028 3C608048
80639D60 809F056B
7C632050 38630001
8B9E0000 7F83E051
40800008 3B9C0007
1C7C00C2 38DE0001
7CC61A14 88660000
3863FFFF 1C630006
38A60001 7CA51A14
807D000C 90650002
BA810008 800100B4
382100B0 7C0803A6
60000000 00000000
C21A5014 00000030 #Playback/Core/Sounds/HandleFrameSoundLog.asm
41A20014 3D80801A
618C5024 7D8903A6
4E800420 7C0802A6
90010004 9421FF50
BE810008 3D808034
618C7364 7D8903A6
4E800421 7C7D1B78
C238D224 00000015 #Playback/Core/Sounds/AssignSoundInstanceId.asm
900DC0E8 3C608048
80639D30 5463443E
2C03010E 40820090
7C0802A6 90010004
9421FF50 BE810008
83EDB64C 3BDF001C
8B9E0000 3F008048
83189D60 3B18FFFF
82FF056B 7C18B800
4181009C 7C78B850
8B9E0000 3C608048
80639D60 809F056B
7C032000 41810028
3C608048 80639D60
809F056B 7C632050
38630001 8B9E0000
7F83E051 40800008
3B9C0007 387E0001
1C9C00C2 7F432214
3B200000 48000060
38DA0000 38E00000
48000028 1C790006
7C651A14 A0630001
1C870006 7C862214
A0840001 7C032000
41820030 38E70001
88660000 2C070003
4180FFD4 1C790006
7C651A14 80630003
3D808002 618C36B8
3B9C0007 1C7C00C2
38DE0001 7CC61A14
88660000 3863FFFF
1C630006 38A60001
7CA51A14 807D000C
90650002 BA810008
800100B4 382100B0
7C0803A6 00000000
C21A5014 00000032 #Playback/Core/Sounds/HandleFrameSoundLog.asm
41A20014 3D80801A
618C5024 7D8903A6
4E800420 3C608048
80639D30 5463443E
2C03010E 40820168
7C0802A6 90010004
9421FF50 BE810008
3D808034 618C7364
7D8903A6 4E800421
3B390001 38BA0061
88650000 7C191800
4180FF98 387E0001
1C9C00C2 7F432214
387A0061 389A0000
38A00061 3D808000
618C31F4 7D8903A6
4E800421 387A0000
38800061 3D808000
618CC160 7D8903A6
4E800421 7C18B800
4081001C 931F056B
3B9C0001 2C1C0007
41800008 3B9CFFF9
9B9E0000 7FA3EB78
3D808034 618C738C
7D8903A6 4E800421
BA810008 800100B4
382100B0 7C0803A6
60000000 00000000
C2088224 0000001A #Playback/Core/Sounds/NoDestroyVoice.asm
7C0802A6 90010004
9421FF50 BE810008
83EDB64C 3BBF001C
57DE043E 8B9D0000
3C608048 80639D60
809F056B 7C032000
41810088 3C608048
80639D60 809F056B
7C632050 38630001
8B9D0000 7F83E051
40800008 3B9C0007
1C7C00C2 38DD0062
7CC61A14 39000000
48000020 1C680006
38A60001 7CA51A14
A0650000 7C1E1800
41820018 39080001
88660000 7C081800
4180FFDC 48000024
BA810008 800100B4
382100B0 7C0803A6
3D808008 618C8244
7D8903A6 4E800420
BA810008 800100B4
382100B0 7C0803A6
387F0000 00000000
C20882B0 0000001A #Playback/Core/Sounds/NoDestroyVoice2.asm
7C0802A6 90010004
9421FF50 BE810008
83EDB64C 3BBF001C
57DE043E 8B9D0000
3C608048 80639D60
809F056B 7C032000
41810088 3C608048
80639D60 809F056B
7C632050 38630001
8B9D0000 7F83E051
40800008 3B9C0007
1C7C00C2 38DD0062
7CC61A14 39000000
48000020 1C680006
38A60001 7CA51A14
A0650000 7C1E1800
41820018 39080001
88660000 7C081800
4180FFDC 48000024
BA810008 800100B4
382100B0 7C0803A6
3D808008 618C82D0
7D8903A6 4E800420
BA810008 800100B4
382100B0 7C0803A6
387F0000 00000000
C238D0B0 00000025 #Playback/Core/Sounds/PreventDuplicateSounds.asm
7C0802A6 90010004
9421FF50 BE810008
83EDB64C 3BDF001C
3BA00000 3B400000
56FB043E 8B9E0000
3C608048 80639D60
809F056B 7C032000
41810070 3C608048
80639D60 809F056B
7C632050 38630001
7C7D1B78 83EDB64C
3BDF001C 8B9E0000
3F008048 83189D60
3B18FFFF 82FF056B
7C18B800 4181009C
7C78B850 38630001
8B9E0000 7F83E051
40800008 3B9C0007
1C7C00C2 38DE0062
7CC61A14 39000000
48000020 1C680006
38A60001 7CA51A14
A0650000 7C1B1800
41820018 39080001
88660000 7C081800
4180FFDC 4800000C
83450002 3BA00001
1C7C00C2 38DE0001
7CC61A14 88660000
2C030010 40800024
1C630006 38A60001
7CA51A14 B3650000
93450002 88660000
38630001 98660000
2C1D0000 41820028
7F43D378 BA810008
387E0001 1C9C00C2
7F432214 3B200000
48000060 38DA0000
38E00000 48000028
1C790006 7C651A14
A0630001 1C870006
7C862214 A0840001
7C032000 41820030
38E70001 88660000
2C070003 4180FFD4
1C790006 7C651A14
80630003 3D808002
618C36B8 7D8903A6
4E800421 3B390001
38BA0061 88650000
7C191800 4180FF98
387E0001 1C9C00C2
7F432214 387A0061
389A0000 38A00061
3D808000 618C31F4
7D8903A6 4E800421
387A0000 38800061
3D808000 618CC160
7D8903A6 4E800421
7C18B800 4081001C
931F056B 3B9C0001
2C1C0007 41800008
3B9CFFF9 9B9E0000
7FA3EB78 3D808034
618C738C 7D8903A6
4E800421 BA810008
800100B4 382100B0
7C0803A6 3D808038
618CD2A0 7D8903A6
7C0803A6 00000000
C2088224 0000001D #Playback/Core/Sounds/NoDestroyVoice.asm
3C608048 80639D30
5463443E 2C03010E
408200CC 7C0802A6
90010004 9421FF50
BE810008 83EDB64C
3BBF001C 57DE043E
8B9D0000 3C608048
80639D60 809F056B
7C032000 41810088
3C608048 80639D60
809F056B 7C632050
38630001 8B9D0000
7F83E051 40800008
3B9C0007 1C7C00C2
38DD0062 7CC61A14
39000000 48000020
1C680006 38A60001
7CA51A14 A0650000
7C1E1800 41820018
39080001 88660000
7C081800 4180FFDC
48000024 BA810008
800100B4 382100B0
7C0803A6 3D808008
618C8244 7D8903A6
4E800420 BA810008
800100B4 382100B0
7C0803A6 2C1A0000
7C0803A6 387F0000
60000000 00000000
C20882B0 0000001D #Playback/Core/Sounds/NoDestroyVoice2.asm
3C608048 80639D30
5463443E 2C03010E
408200CC 7C0802A6
90010004 9421FF50
BE810008 83EDB64C
3BBF001C 57DE043E
8B9D0000 3C608048
80639D60 809F056B
7C032000 41810088
3C608048 80639D60
809F056B 7C632050
38630001 8B9D0000
7F83E051 40800008
3B9C0007 1C7C00C2
38DD0062 7CC61A14
39000000 48000020
1C680006 38A60001
7CA51A14 A0650000
7C1E1800 41820018
39080001 88660000
7C081800 4180FFDC
48000024 BA810008
800100B4 382100B0
7C0803A6 3D808008
618C82D0 7D8903A6
4E800420 BA810008
800100B4 382100B0
7C0803A6 387F0000
60000000 00000000
C238D0B0 00000027 #Playback/Core/Sounds/PreventDuplicateSounds.asm
3C608048 80639D30
5463443E 2C03010E
40820120 7C0802A6
90010004 9421FF50
BE810008 83EDB64C
3BDF001C 3BA00000
3B400000 56FB043E
8B9E0000 3C608048
80639D60 809F056B
7C032000 41810070
3C608048 80639D60
809F056B 7C632050
38630001 8B9E0000
7F83E051 40800008
3B9C0007 1C7C00C2
38DE0062 7CC61A14
39000000 48000020
1C680006 38A60001
7CA51A14 A0650000
7C1B1800 41820018
39080001 88660000
7C081800 4180FFDC
4800000C 83450002
3BA00001 1C7C00C2
38DE0001 7CC61A14
88660000 2C030010
40800024 1C630006
38A60001 7CA51A14
B3650000 93450002
88660000 38630001
98660000 2C1D0000
41820028 7F43D378
BA810008 800100B4
382100B0 7C0803A6
3D808038 618CD2A0
7D8903A6 4E800420
BA810008 800100B4
382100B0 7C0803A6
2C1A0000 00000000
C20055F0 0000002C #Common/EXITransferBuffer.asm
7C0802A6 90010004
9421FF50 BE810008
@ -776,6 +794,28 @@ C20055FC 00000022 #Common/Gecko/ProcessCodeList.asm
800100B4 382100B0
7C0803A6 4E800020
60000000 00000000
C209E090 00000011 #Common/FastForward/DynamicsFix.asm
807B0028 48000009
48000074 7C0802A6
90010004 9421FFE8
93E10014 7C7F1B78
807F0014 54600211
40820020 54600673
41820018 7FE3FB78
3D808037 618C3078
7D8903A6 4E800421
807F0010 2C030000
41820008 4BFFFFB9
807F0008 2C030000
41820008 4BFFFFA9
83E10014 8001001C
38210018 7C0803A6
4E800020 BB010028
60000000 00000000
$Recommended: Normal Lag Reduction [Hannes Mann]
043761EC 4800001C
04376238 48000018
$Optional: Game Music OFF [UnclePunch]
*Keep checked if you want music OFF. Uncheck "Game Music ON".
@ -827,3 +867,19 @@ $Optional: Enable Develop Mode [UnclePunch]
*Turns develop (debug) mode on. Allows access to frame advance, hit/hurtbox display, and alternate camera angles
0415FDBC 480000AC #External/Enable Develop Mode/Enable Develop Mode.asm
04089250 48000008 #External/Enable Develop Mode/Enable Stale Moves.asm
$Optional: Lagless FoD [Achilles, Myougi, Dan Salvato]
*Disables particles and reflection on FoD to improve performance
C21CBB90 00000005 #Lagless FoD
9421FFF8 3CC0804A
80C6ED78 3CA00002
60A5AE44 7CA53050
88C50000 60C60004
98C50000 00000000
041CC8AC FC000028
041CBE9C 60000000
041CBEF0 60000000
041CBF54 60000000
04390838 60000000
041CD250 60000000
041CCDCC 480000B4

View file

@ -0,0 +1 @@
Replace GALE01r2.ini in this directory with whatever build type you're doing

View file

@ -582,4 +582,8 @@ namespace Slippi {
bool SlippiGame::DoesPlayerExist(int8_t port) {
return game->settings.players.find(port) != game->settings.players.end();
}
uint8_t SlippiGame::GetGameEndMethod() {
return game->winCondition;
}
}

View file

@ -130,6 +130,7 @@ namespace Slippi {
int32_t GetLastFinalizedFrame();
int32_t GetLatestIndex();
GameSettings* GetSettings();
uint8_t GetGameEndMethod();
bool DoesPlayerExist(int8_t port);
bool IsProcessingComplete();
private:

View file

@ -534,6 +534,8 @@ void SConfig::LoadSlippiSettings(IniFile& ini)
{
IniFile::Section* slippi = ini.GetOrCreateSection("Slippi");
slippi->Get("EnableSpectator", &m_enableSpectator, true);
slippi->Get("SpectatorLocalPort", &m_spectator_local_port, 51441);
slippi->Get("PlaybackControls", &m_slippiEnableSeek, true);
slippi->Get("OnlineDelay", &m_slippiOnlineDelay, 2);
slippi->Get("SaveReplays", &m_slippiSaveReplays, true);

View file

@ -424,19 +424,17 @@ void CEXISlippi::writeToFile(std::unique_ptr<WriteMessage> msg)
// Get display names and connection codes from slippi netplay client
if (slippi_netplay)
{
auto matchInfo = slippi_netplay->GetMatchInfo();
auto userInfo = user->GetUserInfo();
auto oppInfo = matchmaking->GetOpponent();
SlippiPlayerSelections lps = matchInfo->localPlayerSelections;
SlippiPlayerSelections rps = matchInfo->remotePlayerSelections;
auto isDecider = slippi_netplay->IsDecider();
int local_port = isDecider ? 0 : 1;
int remote_port = isDecider ? 1 : 0;
auto isDecider = slippi_netplay->IsDecider();
int local_port = isDecider ? 0 : 1;
int remote_port = isDecider ? 1 : 0;
slippi_names[local_port] = lps.playerName;
slippi_connect_codes[local_port] = lps.connectCode;
slippi_names[remote_port] = rps.playerName;
slippi_connect_codes[remote_port] = rps.connectCode;
slippi_names[local_port] = userInfo.displayName;
slippi_connect_codes[local_port] = userInfo.connectCode;
slippi_names[remote_port] = oppInfo.displayName;
slippi_connect_codes[remote_port] = oppInfo.connectCode;
}
}
@ -1728,7 +1726,9 @@ void CEXISlippi::prepareOnlineMatchState()
u8 localPlayerIndex = 0;
u8 remotePlayerIndex = 1;
std::string oppName = "";
auto opponent = matchmaking->GetOpponent();
std::string oppName = opponent.displayName;
auto userInfo = user->GetUserInfo();
if (mmState == SlippiMatchmaking::ProcessState::CONNECTION_SUCCESS)
{
@ -1762,8 +1762,6 @@ void CEXISlippi::prepareOnlineMatchState()
auto isDecider = slippi_netplay->IsDecider();
localPlayerIndex = isDecider ? 0 : 1;
remotePlayerIndex = isDecider ? 1 : 0;
oppName = slippi_netplay->GetOpponentName();
}
else
{
@ -1802,7 +1800,7 @@ void CEXISlippi::prepareOnlineMatchState()
#ifdef LOCAL_TESTING
rps.characterId = 0x2;
rps.characterColor = 2;
rps.playerName = std::string("Player");
oppName = std::string("Player");
#endif
// Check if someone is picking dumb characters in non-direct
@ -1858,8 +1856,8 @@ void CEXISlippi::prepareOnlineMatchState()
WARN_LOG(SLIPPI_ONLINE, "P1 Char: 0x%X, P2 Char: 0x%X", onlineMatchBlock[0x60], onlineMatchBlock[0x84]);
// Set player names
p1Name = isDecider ? lps.playerName : rps.playerName;
p2Name = isDecider ? rps.playerName : lps.playerName;
p1Name = isDecider ? userInfo.displayName : oppName;
p2Name = isDecider ? oppName : userInfo.displayName;
// Turn pause on in direct, off in everything else
u8* gameBitField3 = (u8*)& onlineMatchBlock[2];
@ -1936,22 +1934,6 @@ void CEXISlippi::setMatchSelections(u8* payload)
s.rngOffset = generator() % 0xFFFF;
// Get user name from file
std::string displayName = user->GetUserInfo().displayName;
// Just let the max length to transfer to opponent be potentially 16 worst-case utf-8 chars
// This string will get converted to the game format later
int maxLenth = MAX_NAME_LENGTH * 4 + 4;
if (displayName.length() > maxLenth)
{
displayName.resize(maxLenth);
}
s.playerName = displayName;
// Get user connect code from file
s.connectCode = user->GetUserInfo().connectCode;
// Merge these selections
localSelections.Merge(s);

View file

@ -67,6 +67,11 @@ std::string SlippiMatchmaking::GetErrorMessage()
return m_errorMsg;
}
SlippiUser::UserInfo SlippiMatchmaking::GetOpponent()
{
return m_oppUser;
}
bool SlippiMatchmaking::IsSearching()
{
return searchingStates.count(m_state) != 0;
@ -378,6 +383,18 @@ void SlippiMatchmaking::handleMatchmaking()
m_oppIp = getResp.value("oppAddress", "");
m_isHost = getResp.value("isHost", false);
// Clear old user
SlippiUser::UserInfo emptyInfo;
m_oppUser = emptyInfo;
auto oppUser = getResp["oppUser"];
if (oppUser.is_object())
{
m_oppUser.uid = oppUser.value("uid", "");
m_oppUser.displayName = oppUser.value("displayName", "");
m_oppUser.connectCode = oppUser.value("connectCode", "");
}
// Disconnect and destroy enet client to mm server
terminateMmConnection();

View file

@ -48,6 +48,7 @@ public:
bool IsSearching();
std::unique_ptr<SlippiNetplayClient> GetNetplayClient();
std::string GetErrorMessage();
SlippiUser::UserInfo GetOpponent();
protected:
const std::string MM_HOST_DEV = "35.197.121.196"; // Dev host
@ -77,6 +78,7 @@ protected:
int m_hostPort;
std::string m_oppIp;
bool m_isHost;
SlippiUser::UserInfo m_oppUser;
std::unique_ptr<SlippiNetplayClient> m_netplayClient;
@ -91,8 +93,6 @@ protected:
void sendMessage(json msg);
int receiveMessage(json& msg, int maxAttempts);
void sendHolePunchMsg(std::string remoteIp, u16 remotePort, u16 localPort);
void startMatchmaking();
void handleMatchmaking();
void handleConnecting();

View file

@ -251,12 +251,6 @@ unsigned int SlippiNetplayClient::OnData(sf::Packet& packet)
INFO_LOG(SLIPPI_ONLINE, "[Netplay] Received selections from opponent");
matchInfo.remotePlayerSelections.Merge(*s);
// Set player name is not empty
if (!matchInfo.remotePlayerSelections.playerName.empty())
{
oppName = matchInfo.remotePlayerSelections.playerName;
}
// This might be a good place to reset some logic? Game can't start until we receive this msg
// so this should ensure that everything is initialized before the game starts
// TODO: This could cause issues in the case of a desync? If this is ever received mid-game, bad things
@ -286,8 +280,6 @@ void SlippiNetplayClient::writeToPacket(sf::Packet& packet, SlippiPlayerSelectio
packet << s.characterId << s.characterColor << s.isCharacterSelected;
packet << s.stageId << s.isStageSelected;
packet << s.rngOffset;
packet << s.playerName;
packet << s.connectCode;
}
std::unique_ptr<SlippiPlayerSelections> SlippiNetplayClient::readSelectionsFromPacket(sf::Packet& packet)
@ -300,10 +292,7 @@ std::unique_ptr<SlippiPlayerSelections> SlippiNetplayClient::readSelectionsFromP
packet >> s->stageId;
packet >> s->isStageSelected;
packet >> s->rngOffset;
packet >> s->playerName;
packet >> s->connectCode;
return std::move(s);
}
@ -670,11 +659,6 @@ u64 SlippiNetplayClient::GetSlippiPing()
return pingUs;
}
std::string SlippiNetplayClient::GetOpponentName()
{
return oppName;
}
int32_t SlippiNetplayClient::GetSlippiLatestRemoteFrame()
{
std::lock_guard<std::mutex> lk(pad_mutex); // TODO: Is this the correct lock?

View file

@ -47,14 +47,9 @@ public:
u32 rngOffset = 0;
std::string playerName = "";
std::string connectCode = "";
void Merge(SlippiPlayerSelections& s)
{
this->rngOffset = s.rngOffset;
this->playerName = s.playerName;
this->connectCode = s.connectCode;
if (s.isStageSelected)
{
@ -80,7 +75,6 @@ public:
isStageSelected = false;
rngOffset = 0;
playerName.clear();
}
};
@ -127,7 +121,6 @@ public:
std::unique_ptr<SlippiRemotePadOutput> GetSlippiRemotePad(int32_t curFrame);
SlippiMatchInfo* GetMatchInfo();
u64 GetSlippiPing();
std::string GetOpponentName();
int32_t GetSlippiLatestRemoteFrame();
s32 CalcTimeOffsetUs();
@ -142,8 +135,6 @@ protected:
std::queue<std::unique_ptr<sf::Packet>> m_async_queue;
std::string oppName = "";
ENetHost* m_client = nullptr;
ENetPeer* m_server = nullptr;
std::thread m_thread;

View file

@ -122,7 +122,9 @@ void SlippiPlaybackStatus::processInitialState()
// Doing it here to get it out of the way and prevent stutters later
// Subsequent calls to SaveToBuffer for cState take ~1 frame
State::SaveToBuffer(cState);
SConfig::GetInstance().bHideCursor = false;
if (SConfig::GetInstance().m_slippiEnableSeek) {
SConfig::GetInstance().bHideCursor = false;
}
};
void SlippiPlaybackStatus::SavestateThread()

View file

@ -195,7 +195,7 @@ void SlippiReplayComm::loadFile()
commFileSettings.isRealTimeMode = res.value("isRealTimeMode", false);
commFileSettings.rollbackDisplayMethod = res.value("rollbackDisplayMethod", "off");
if (isFirstLoad)
if (commFileSettings.mode == "queue")
{
auto queue = res["queue"];
if (queue.is_array())
@ -214,8 +214,7 @@ void SlippiReplayComm::loadFile()
commFileSettings.queue.push(w);
};
queueWasEmpty = false;
}
isFirstLoad = false;
}
}

View file

@ -60,9 +60,7 @@ private:
u64 configLastLoadModTime;
// Queue stuff
bool isFirstLoad = true;
bool provideNew = false;
int queuePos = 0;
bool queueWasEmpty = true;
CommSettings commFileSettings;
};

View file

@ -18,14 +18,12 @@ inline bool isSpectatorEnabled()
return SConfig::GetInstance().m_enableSpectator;
}
// CALLED FROM DOLPHIN MAIN THREAD
SlippiSpectateServer& SlippiSpectateServer::getInstance()
{
static SlippiSpectateServer instance;
return instance;
}
// CALLED FROM DOLPHIN MAIN THREAD
void SlippiSpectateServer::write(u8 *payload, u32 length)
{
if (isSpectatorEnabled()) {
@ -149,7 +147,7 @@ void SlippiSpectateServer::popEvents()
if (sendEvents.count(command))
{
u32 cursor = (u32)(m_event_buffer.size() + m_cursor_offset);
u32 cursor = static_cast<u32>(m_event_buffer.size() + m_cursor_offset);
game_event["payload"] = base64::Base64::Encode(m_event_concat);
game_event["type"] = "game_event";
game_event["cursor"] = cursor;

View file

@ -338,7 +338,5 @@ void SlippiUser::overwriteFromServer()
auto r = json::parse(resp);
userInfo.connectCode = r.value("connectCode", userInfo.connectCode);
userInfo.latestVersion = r.value("latestVersion", userInfo.latestVersion);
// TODO: Once it's possible to change Display name from website, uncomment below
// userInfo.displayName = r.value("displayName", userInfo.displayName);
userInfo.displayName = r.value("displayName", userInfo.displayName);
}