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) option(ENABLE_ANALYTICS "Enables opt-in Analytics collection" OFF)
# Enable Playback build for Slippi for watching replays # 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) 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] [Core]
CPUThread = True CPUThread = True
GPUDeterminismMode = fake-completion GPUDeterminismMode = fake-completion
EnableCheats = True PollingMethod = OnSIRead
FastDiscSpeed = True
[Gecko_Enabled] [Gecko_Enabled]
$Required: General Codes $Required: General Codes
$Required: Slippi Recording $Required: Slippi Recording
$Required: Slippi Online $Required: Slippi Online
#$Recommended: Normal Lag Reduction $Recommended: Normal Lag Reduction
$Recommended: Polling drift fix + VB $Recommended: Polling drift fix + VB
[Gecko] [Gecko]
@ -1143,9 +1144,9 @@ FC020840 4180000C
C21A4DB4 00000031 #Online/Core/ForceEngineOnRollback.asm C21A4DB4 00000031 #Online/Core/ForceEngineOnRollback.asm
3C608048 80639D30 3C608048 80639D30
5463443E 2C030208 5463443E 2C030208
40820158 3C608047 4082015C 3C608047
60639D64 80630000 60639D64 80630000
2C030000 40820144 2C030000 40820148
3D808034 618C7364 3D808034 618C7364
7D8903A6 4E800421 7D8903A6 4E800421
7C7A1B78 80ADB61C 7C7A1B78 80ADB61C
@ -1157,9 +1158,9 @@ C21A4DB4 00000031 #Online/Core/ForceEngineOnRollback.asm
888500DA 988506F7 888500DA 988506F7
8085018B 908506F8 8085018B 908506F8
808500D5 80840001 808500D5 80840001
908506FC 480000D0 908506FC 480000D4
88850700 2C040000 88850700 2C040000
418200C4 38800000 418200C8 38800000
98850700 3D808001 98850700 3D808001
618C95FC 7D8903A6 618C95FC 7D8903A6
4E800421 48000020 4E800421 48000020
@ -1173,23 +1174,23 @@ BC610008 60000000
60000000 60000000 60000000 60000000
806DAFC4 38630003 806DAFC4 38630003
4BFFFFB9 7C8802A6 4BFFFFB9 7C8802A6
3D808032 618C3CF4 4CC63242 3D808032
618C3CF4 7D8903A6
4E800421 806DAFC4
388000D0 98830000
38800000 98830001
38800001 98830002
38800080 38A00001
3D808000 618C55F0
7D8903A6 4E800421 7D8903A6 4E800421
806DAFC4 388000D0 B8610008 80010104
98830000 38800000 38210100 7C0803A6
98830001 38800001 7F43D378 3D808034
98830002 38800080 618C738C 7D8903A6
38A00001 3D808000 4E800421 2C1B0000
618C55F0 7D8903A6 40820014 3D80801A
4E800421 B8610008 618C4DA8 7D8903A6
80010104 38210100 4E800420 00000000
7C0803A6 7F43D378
3D808034 618C738C
7D8903A6 4E800421
2C1B0000 40820014
3D80801A 618C4DA8
7D8903A6 4E800420
60000000 00000000
C216D310 00000009 #Online/Core/HandleLRAS.asm C216D310 00000009 #Online/Core/HandleLRAS.asm
3C608048 80639D30 3C608048 80639D30
5463443E 2C030208 5463443E 2C030208
@ -1360,15 +1361,15 @@ BE810008 83ADB61C
800100B4 382100B0 800100B4 382100B0
7C0803A6 4E800020 7C0803A6 4E800020
881F0001 00000000 881F0001 00000000
C21A5014 00000052 #Online/Core/LoopEngineForRollback.asm C21A5014 0000004F #Online/Core/LoopEngineForRollback.asm
41A20014 3D80801A 41A20014 3D80801A
618C5024 7D8903A6 618C5024 7D8903A6
4E800420 3C608048 4E800420 3C608048
80639D30 5463443E 80639D30 5463443E
2C030208 40820268 2C030208 40820250
3C608047 60639D64 3C608047 60639D64
80630000 2C030000 80630000 2C030000
40820254 7C0802A6 4082023C 7C0802A6
90010004 9421FF50 90010004 9421FF50
BE810008 3D808034 BE810008 3D808034
618C7364 7D8903A6 618C7364 7D8903A6
@ -1412,32 +1413,29 @@ A0840001 7C032000
3D808034 618C738C 3D808034 618C738C
7D8903A6 4E800421 7D8903A6 4E800421
8B7F06F2 2C1B0001 8B7F06F2 2C1B0001
408200E4 3D808003 408200CC 48000025
618C0A50 7D8903A6
4E800421 3D808002
618CA4AC 7D8903A6
4E800421 48000025
BA810008 800100B4 BA810008 800100B4
382100B0 7C0803A6 382100B0 7C0803A6
3D80801A 618C4DE4 3D80801A 618C4DE4
7D8903A6 4E800420 7D8903A6 4E800420
7C0802A6 90010004 7C0802A6 90010004
9421FF50 BE810008 9421FF50 BE810008
3FE08045 63FF3080 3D808003 618C0A50
3BC00000 3D808003
618C0A50 7D8903A6
4E800421 80630028
3D808036 618C8458
7D8903A6 4E800421 7D8903A6 4E800421
807F00B0 2C030000 3D808002 618CA4AC
41820014 3D808008 7D8903A6 4E800421
3D808003 618C0A50
7D8903A6 4E800421
80630028 3D808036
618C8458 7D8903A6
4E800421 806DC18C
82830020 4800002C
82B4002C 8875221F
546006F7 40820018
7E83A378 3D808008
618C6A8C 7D8903A6 618C6A8C 7D8903A6
4E800421 807F00B4 4E800421 82940008
2C030000 41820014 2C140000 4082FFD4
3D808008 618C6A8C
7D8903A6 4E800421
3BDE0001 3BFF0E90
2C1E0004 4180FFBC
BA810008 800100B4 BA810008 800100B4
382100B0 7C0803A6 382100B0 7C0803A6
4E800020 BA810008 4E800020 BA810008
@ -1701,35 +1699,39 @@ C21A4CB4 00000004 #Online/Core/EXIFileLoad/AllocBuffer.asm
618CF1E4 7D8903A6 618CF1E4 7D8903A6
4E800421 906DAFC4 4E800421 906DAFC4
38000000 00000000 38000000 00000000
C20163FC 00000018 #Online/Core/EXIFileLoad/GetFileSize.asm C20163FC 0000001B #Online/Core/EXIFileLoad/GetFileSize.asm
7C7E1B78 7C0802A6 7C7E1B78 7C0802A6
90010004 9421FF50 90010004 9421FF50
BE810008 83EDAFC4 BE810008 83EDAFC4
386000D1 987F0000 2C1F0000 40820018
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 BA810008 800100B4
382100B0 7C0803A6 382100B0 7C0803A6
80630000 2C030000 480000A0 386000D1
40810014 3D808001 987F0000 387F0001
618C6488 7D8903A6 7FC4F378 3D808032
4E800420 7FC3F378 618C5A50 7D8903A6
60000000 00000000 4E800421 7FC3F378
C20166B8 00000028 #Online/Core/EXIFileLoad/TransferFile.asm 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 7C7E1B78 7C0802A6
90010004 9421FF50 90010004 9421FF50
BE810008 83EDAFC4 BE810008 83EDAFC4
2C1F0000 41820110
386000D1 987F0000 386000D1 987F0000
387F0001 7FC4F378 387F0001 7FC4F378
3D808032 618C5A50 3D808032 618C5A50
@ -1781,17 +1783,17 @@ C2376304 0000000B #Online/Core/Hacks/ForceNoVideoAssert.asm
2056616C 75653A20 2056616C 75653A20
25640A00 00000000 25640A00 00000000
04321D70 38600000 #Online/Core/Hacks/PreventCharacterCrowdChants.asm 04321D70 38600000 #Online/Core/Hacks/PreventCharacterCrowdChants.asm
C2019608 00000024 #Online/Core/Hacks/PreventPadAlarmDuringRollback.asm C2019608 00000025 #Online/Core/Hacks/PreventPadAlarmDuringRollback.asm
9421FFF8 3C608048 9421FFF8 3C608048
80639D30 5463443E 80639D30 5463443E
2C030208 40820104 2C030208 40820108
3C608047 60639D64 3C608047 60639D64
80630000 2C030000 80630000 2C030000
408200F0 3C608037 408200F4 3C608037
60635E00 2C000003 60635E00 2C000003
408200E0 80ADB61C 408200E4 80ADB61C
886500D9 2C030000 886500D9 2C030000
418200D0 4800002C 418200D4 4800002C
4E800021 56492072 4E800021 56492072
65747261 63652043 65747261 63652043
42206475 72696E67 42206475 72696E67
@ -1803,21 +1805,22 @@ C2019608 00000024 #Online/Core/Hacks/PreventPadAlarmDuringRollback.asm
60000000 60000000 60000000 60000000
60000000 806DAFC4 60000000 806DAFC4
38630003 4BFFFFAD 38630003 4BFFFFAD
7C8802A6 3D808032 7C8802A6 4CC63242
618C3CF4 7D8903A6 3D808032 618C3CF4
4E800421 806DAFC4
388000D0 98830000
38800000 98830001
38800001 98830002
38800080 38A00001
3D808000 618C55F0
7D8903A6 4E800421 7D8903A6 4E800421
B8610008 80010104 806DAFC4 388000D0
38210100 7C0803A6 98830000 38800000
38600001 98650700 98830001 38800001
3D808001 618C9618 98830002 38800080
7D8903A6 4E800420 38A00001 3D808000
38600000 00000000 618C55F0 7D8903A6
4E800421 B8610008
80010104 38210100
7C0803A6 38600001
98650700 3D808001
618C9618 7D8903A6
4E800420 38600000
60000000 00000000
C21D4578 00000003 #Online/Core/PreventFileAlarms/FreezeStadium.asm C21D4578 00000003 #Online/Core/PreventFileAlarms/FreezeStadium.asm
FFE00890 3D80801D FFE00890 3D80801D
618C4FD8 7D8903A6 618C4FD8 7D8903A6
@ -1849,60 +1852,66 @@ BE810008 83EDB61C
BA810008 800100B4 BA810008 800100B4
382100B0 7C0803A6 382100B0 7C0803A6
60000000 00000000 60000000 00000000
C2088224 0000001A #Online/Core/Sound/NoDestroyVoice.asm C2088224 0000001D #Online/Core/Sound/NoDestroyVoice.asm
7C0802A6 90010004 3C608048 80639D30
9421FF50 BE810008 5463443E 2C030208
83EDB61C 3BBF0197 408200CC 7C0802A6
57DE043E 8B9D0000 90010004 9421FF50
3C608048 80639D60 BE810008 83EDB61C
809F06E6 7C032000 3BBF0197 57DE043E
41810088 3C608048 8B9D0000 3C608048
80639D60 809F06E6 80639D60 809F06E6
7C632050 38630001 7C032000 41810088
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
3C608048 80639D60 3C608048 80639D60
809F06E6 7C032000 809F06E6 7C632050
41810088 3C608048 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 80639D60 809F06E6
7C632050 38630001 7C032000 41810088
8B9D0000 7F83E051 3C608048 80639D60
40800008 3B9C0007 809F06E6 7C632050
1C7C00C2 38DD0062 38630001 8B9D0000
7CC61A14 39000000 7F83E051 40800008
48000020 1C680006 3B9C0007 1C7C00C2
38A60001 7CA51A14 38DD0062 7CC61A14
A0650000 7C1E1800 39000000 48000020
41820018 39080001 1C680006 38A60001
88660000 7C081800 7CA51A14 A0650000
4180FFDC 48000024 7C1E1800 41820018
BA810008 800100B4 39080001 88660000
382100B0 7C0803A6 7C081800 4180FFDC
3D808008 618C82D0 48000024 BA810008
7D8903A6 4E800420 800100B4 382100B0
BA810008 800100B4 7C0803A6 3D808008
382100B0 7C0803A6 618C82D0 7D8903A6
387F0000 00000000 4E800420 BA810008
800100B4 382100B0
7C0803A6 387F0000
60000000 00000000
C238D0B0 0000002A #Online/Core/Sound/PreventDuplicateSounds.asm C238D0B0 0000002A #Online/Core/Sound/PreventDuplicateSounds.asm
3C608048 80639D30 3C608048 80639D30
5463443E 2C030208 5463443E 2C030208
@ -3415,288 +3424,302 @@ C21BFA20 00000012 #Online/Slippi Online Scene/boot.asm
3D80801B 618C136C 3D80801B 618C136C
7D8903A6 4E800420 7D8903A6 4E800420
38600001 00000000 38600001 00000000
C21A45BC 0000011A #Online/Slippi Online Scene/main.asm C21A45B8 00000128 #Online/Slippi Online Scene/main.asm
7C0802A6 90010004 3BA30004 7C0802A6
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
90010004 9421FF50 90010004 9421FF50
BE810008 7C7F1B78 BE810008 3C80803E
7C9E2378 3C80803D 6084DC1C 480001F5
6084AD30 48000089 7C6802A6 38630000
7C6802A6 90640004 90640008 38600000
480000C5 7C6802A6 986DAFA3 986DAFC8
90640008 38600001 38600008 48000155
98640000 3D80801A 7C8802A6 4800002D
618C50AC 7D8903A6 480008D8 80830000
4E800421 88830001 5485467A 2C050048
7C04F800 4182000C 40820014 548401BA
38630014 4BFFFFF0 7C840734 7C841A14
93C30010 7FD4F378 90830000 4E800020
88740000 7C630774
2C03FFFF 4182001C
38740004 4BFFFF5D
38740008 4BFFFF55
3A940018 4BFFFFDC
BA810008 800100B4
382100B0 7C0803A6
4E800020 4E800021
7C0802A6 90010004 7C0802A6 90010004
9421FF50 BE810008 9421FF50 BE810008
3C808045 6084ABF0 7C7F1B78 7C9E2378
886DAEF8 98640006 3C80803D 6084AD30
38600013 3C80803F 48000081 7C6802A6
60840CC8 98640001 90640004 480000BD
BA810008 800100B4 7C6802A6 90640008
382100B0 7C0803A6 38600001 98640000
4E800020 4E800021 3C60803D 6063ACA4
7C0802A6 90010004 88830001 7C04F800
9421FF50 BE810008 4182000C 38630014
38600012 3C80803F 4BFFFFF0 93C30010
60840CC8 98640001 7FD4F378 88740000
BA810008 800100B4 7C630774 2C03FFFF
382100B0 7C0803A6 4182001C 38740004
4E800020 4E800021 4BFFFF65 38740008
00030000 48000081 4BFFFF5D 3A940018
480000F5 08000000 4BFFFFDC BA810008
80497758 80497758 800100B4 382100B0
01030000 480001AD 7C0803A6 4E800020
480001DD 09000000 4E800021 7C0802A6
80480668 80480668 90010004 9421FF50
02030000 801B1588 BE810008 3C808045
48000275 02000000 6084ABF0 886DAEF8
80480530 80479D98 98640006 38600013
03030000 00000000 3C80803F 60840CC8
00000000 05000000 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 00000000 00000000
04030000 48000325 05000000 00000000
480004A5 20000000 00000000 04030000
80490880 804D68D0 4800039D 4800051D
FF000000 4E800021 20000000 80490880
81940000 7C0802A6 804D68D0 FF000000
90010004 9421FF50 4E800021 81940000
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
7C0802A6 90010004 7C0802A6 90010004
9421FF50 BE810008 9421FF50 BE810008
3D80801B 618C1514 808D8840 3BE40530
3D80801A 618C427C
7D8903A6 4E800421 7D8903A6 4E800421
BA810008 800100B4 88BF0002 3880000E
382100B0 7C0803A6 88FF0003 38C00000
4E800020 7C0802A6 891F0004 895F0006
90010004 9421FF50 39200000 3D80801B
BE810008 7C7F1B78 618C06B0 7D8903A6
809F0014 88840004 4E800421 3D808001
2C040000 4082001C 618C74BC 7D8903A6
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
4E800421 BA810008 4E800421 BA810008
800100B4 382100B0 800100B4 382100B0
7C0803A6 4E800020 7C0803A6 4E800020
7C0802A6 90010004 7C0802A6 90010004
9421FF50 BE810008 9421FF50 BE810008
7C7D1B78 3FE08047 7C7E1B78 3D80801B
63FF9DA4 1FDD00A8 618CAAD0 7D8903A6
7FDEFA14 887F0004 4E800421 809E0014
2C030000 418200B0 88840003 2C040002
3C608046 6063B6A0 40820008 48000084
886324D0 889F0006 886DAFA0 2C030001
7C032000 40820098 41820014 2C030002
887E0058 2C030003 41820014 2C030000
4182008C 887F0004 41820008 48000038
2C030007 40820040 48000034 886DAFC9
887F0006 2C030001 7C630774 2C03FFFF
40820024 887F0000 41820024 2C030001
1C6300A8 7C63FA14 4182001C 2C030000
8863005F 889E005F 40820000 886DAFCA
7C032000 41820058 2C030000 41820020
4800005C 887F0000 48000004 48000431
7C03E800 41820048 3C808047 60849D30
4800004C 887F0006 38600005 98640005
2C030001 40820028 48000018 3C808047
7FE3FB78 3D808016 60849D30 38600002
618C54A0 7D8903A6 98640005 48000004
4E800421 889E005F
7C032000 41820020
48000014 887E005D
2C030000 41820010
48000004 38600000
48000008 38600001
BA810008 800100B4 BA810008 800100B4
382100B0 7C0803A6 382100B0 7C0803A6
4E800020 BA810008 4E800020 7C0802A6
90010004 9421FF50
BE810008 3D80801B
618C1514 7D8903A6
4E800421 BA810008
800100B4 382100B0 800100B4 382100B0
7C0803A6 38600028 7C0803A6 4E800020
987E0000 3BE00000 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 60000000 00000000
C2005610 00000012 #Online/Static/LoadMatchState.asm C2005610 00000012 #Online/Static/LoadMatchState.asm
7C0802A6 90010004 7C0802A6 90010004
@ -3968,7 +3991,7 @@ $Optional: Disable Screen Shake [Achilles1515]
*Will not cause desyncs when playing online *Will not cause desyncs when playing online
04030E44 4E800020 04030E44 4E800020
$Optional: Center Align 2P HUD [Achilles1515] $Optional: Center Align 2P HUD [UnclePunch]
*When playing online, character %'s will always be centered ------------------------- *When playing online, character %'s will always be centered -------------------------
*Will not cause desyncs when playing online *Will not cause desyncs when playing online
0416E9AC 38600002 0416E9AC 38600002

View file

@ -3,12 +3,13 @@
[Core] [Core]
CPUThread = False CPUThread = False
GPUDeterminismMode = fake-completion GPUDeterminismMode = fake-completion
EnableCheats = True PollingMethod = OnSIRead
FastDiscSpeed = True FastDiscSpeed = True
[Gecko_Enabled] [Gecko_Enabled]
$Required: General Codes $Required: General Codes
$Required: Slippi Playback $Required: Slippi Playback
$Recommended: Normal Lag Reduction
[Gecko] [Gecko]
$Required: General Codes [Achilles, Dan Salvato, UnclePunch, tauKhan, Ptomerty, Cilan, Datel, Most] $Required: General Codes [Achilles, Dan Salvato, UnclePunch, tauKhan, Ptomerty, Cilan, Datel, Most]
@ -80,14 +81,14 @@ BE810008 806DB64C
BA810008 800100B4 BA810008 800100B4
382100B0 7C0803A6 382100B0 7C0803A6
881F0008 00000000 881F0008 00000000
C206B0DC 00000043 #Playback/Core/RestoreGameFrame.asm C206B0DC 00000046 #Playback/Core/RestoreGameFrame.asm
7C0802A6 90010004 7C0802A6 90010004
9421FF50 BE810008 9421FF50 BE810008
8BBF000C 7FA3EB78 8BBF000C 7FA3EB78
3D808003 618C1724 3D808003 618C1724
7D8903A6 4E800421 7D8903A6 4E800421
7C7C1B78 806DB64C 7C7C1B78 832DB64C
83630000 7FE3FB78 83790000 7FE3FB78
3D808000 618C55F8 3D808000 618C55F8
7D8903A6 4E800421 7D8903A6 4E800421
7C741B78 389B0007 7C741B78 389B0007
@ -101,18 +102,21 @@ C206B0DC 00000043 #Playback/Core/RestoreGameFrame.asm
807A0010 907F063C 807A0010 907F063C
807A0014 907F0650 807A0014 907F0650
807A0018 907F065C 807A0018 907F065C
807A001C 907F00B0 8879056F 2C030000
807A0020 907F00B4 41820024 807A001C
807A0024 907F002C 907F00B0 807A0020
807A0028 907F0010 907F00B4 807A0024
3C608046 6063B108 907F002C 807A0028
3C80804C 60841F78 907F0010 3C608046
88840001 3884FFFF 6063B108 3C80804C
2C040000 40A00008 60841F78 88840001
38840005 1C840030 3884FFFF 2C040000
7C632214 889F0618 40A00008 38840005
1C84000C 7E832214 1C840030 7C632214
887A002C 98740002 889F0618 1C84000C
7E832214 887A002C
98740002 8879056F
2C030000 4182004C
807A002D 2C03FFFF 807A002D 2C03FFFF
41820040 90610040 41820040 90610040
C0210040 C05F1830 C0210040 C05F1830
@ -148,16 +152,16 @@ D0230030 3D808002
800100B4 382100B0 800100B4 382100B0
7C0803A6 881F2219 7C0803A6 881F2219
60000000 00000000 60000000 00000000
C216E74C 00000099 #Playback/Core/RestoreGameInfo.asm C216E74C 0000009A #Playback/Core/RestoreGameInfo.asm
7C0802A6 90010004 7C0802A6 90010004
9421FF50 BE810008 9421FF50 BE810008
3860056F 3D808037 38600570 3D808037
618CF1E4 7D8903A6 618CF1E4 7D8903A6
4E800421 7C7C1B78 4E800421 7C7C1B78
938DB64C 3880056F 938DB64C 38800570
3D808000 618CC160 3D808000 618CC160
7D8903A6 4E800421 7D8903A6 4E800421
386001A4 3D808037 386001A5 3D808037
618CF1E4 7D8903A6 618CF1E4 7D8903A6
4E800421 7C7E1B78 4E800421 7C7E1B78
93DC0000 38600040 93DC0000 38600040
@ -171,7 +175,7 @@ C216E74C 00000099 #Playback/Core/RestoreGameInfo.asm
3880000D 38A00001 3880000D 38A00001
3D808000 618C55F0 3D808000 618C55F0
7D8903A6 4E800421 7D8903A6 4E800421
7FC3F378 388001A4 7FC3F378 388001A5
38A00000 3D808000 38A00000 3D808000
618C55F0 7D8903A6 618C55F0 7D8903A6
4E800421 887E0000 4E800421 887E0000
@ -215,7 +219,8 @@ C216E74C 00000099 #Playback/Core/RestoreGameInfo.asm
4180FF70 887E019D 4180FF70 887E019D
9862F234 887E019E 9862F234 887E019E
9862F238 887E019F 9862F238 887E019F
9862F23C 807E01A0 9862F23C 887E01A0
987C056F 807E01A1
3D808037 618CF1E4 3D808037 618CF1E4
7D8903A6 4E800421 7D8903A6 4E800421
7C7D1B78 93BC0008 7C7D1B78 93BC0008
@ -224,7 +229,7 @@ C216E74C 00000099 #Playback/Core/RestoreGameInfo.asm
38A00001 3D808000 38A00001 3D808000
618C55F0 7D8903A6 618C55F0 7D8903A6
4E800421 7FA3EB78 4E800421 7FA3EB78
809E01A0 38A00000 809E01A1 38A00000
3D808000 618C55F0 3D808000 618C55F0
7D8903A6 4E800421 7D8903A6 4E800421
38800004 909C000C 38800004 909C000C
@ -280,7 +285,7 @@ C216E74C 00000099 #Playback/Core/RestoreGameInfo.asm
7C0803A6 4E800020 7C0803A6 4E800020
38600000 809C0014 38600000 809C0014
90640000 7FA3EB78 90640000 7FA3EB78
809E01A0 3D808032 809E01A1 3D808032
618C8F50 7D8903A6 618C8F50 7D8903A6
4E800421 38600004 4E800421 38600004
38800007 38A00000 38800007 38A00000
@ -331,7 +336,7 @@ C216B9C0 00000012 #Playback/Core/RestoreStockSteal.asm
4E800420 3D808016 4E800420 3D808016
618CBAC8 7D8903A6 618CBAC8 7D8903A6
4E800420 00000000 4E800420 00000000
C21A501C 00000029 #Playback/Core/FastForward/FastForward.asm C21A501C 0000002A #Playback/Core/FastForward/FastForward.asm
3C808048 88649D30 3C808048 88649D30
2C03000E 40820040 2C03000E 40820040
88649D33 2C030001 88649D33 2C030001
@ -345,34 +350,35 @@ C21A501C 00000029 #Playback/Core/FastForward/FastForward.asm
38800002 3D808002 38800002 3D808002
618C5064 7D8903A6 618C5064 7D8903A6
4E800421 7C1AD800 4E800421 7C1AD800
480000DC 806DB64C 480000E0 806DB64C
80630000 88630001 80630000 88630001
2C030001 4182001C 2C030001 4182001C
38600000 38800000 38600000 38800000
3D808002 618C5064 3D808002 618C5064
7D8903A6 4E800421 7D8903A6 4E800421
3D808003 618C0A50
7D8903A6 4E800421
3D808002 618CA4AC
7D8903A6 4E800421
4800000D 2C0300FF 4800000D 2C0300FF
48000084 7C0802A6 480000A8 7C0802A6
90010004 9421FF50 90010004 9421FF50
BE810008 3FE08045 BE810008 3D808003
63FF3080 3BC00000 618C0A50 7D8903A6
3D808003 618C0A50 4E800421 3D808002
618CA4AC 7D8903A6
4E800421 3D808003
618C0A50 7D8903A6
4E800421 80630028
3D808036 618C8458
7D8903A6 4E800421 7D8903A6 4E800421
80630028 3D808036 806DC18C 82830020
618C8458 7D8903A6 4800002C 82B4002C
4E800421 807F00B0 8875221F 546006F7
2C030000 41820014 40820018 7E83A378
3D808008 618C6A8C 3D808008 618C6A8C
7D8903A6 4E800421 7D8903A6 4E800421
3BDE0001 3BFF0E90 82940008 2C140000
2C1E0004 4180FFD8 4082FFD4 BA810008
BA810008 800100B4 800100B4 382100B0
382100B0 7C0803A6 7C0803A6 4E800020
4E800020 00000000 60000000 00000000
C2377544 00000002 #Playback/Core/FastForward/IncrementPadIndex.asm C2377544 00000002 #Playback/Core/FastForward/IncrementPadIndex.asm
40A2000C 38000001 40A2000C 38000001
981E0003 00000000 981E0003 00000000
@ -500,167 +506,179 @@ BA810008 800100B4
60000000 00000000 60000000 00000000
041B16A8 801B09C0 #Playback/Core/Scene/Change Debug Result Screen MinorType to Debug Menu/ScenePrep_DebugResult = ScenePrep_DebugMenu.asm 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 043DDA9C 07000000 #Playback/Core/Scene/Change Debug Result Screen MinorType to Debug Menu/Swap MinorType.asm
C238D224 00000013 #Playback/Core/Sounds/AssignSoundInstanceId.asm C238D224 00000015 #Playback/Core/Sounds/AssignSoundInstanceId.asm
900DC0E8 7C0802A6 900DC0E8 3C608048
90010004 9421FF50 80639D30 5463443E
BE810008 83EDB64C 2C03010E 40820090
3BDF001C 8B9E0000 7C0802A6 90010004
3C608048 80639D60 9421FF50 BE810008
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
83EDB64C 3BDF001C 83EDB64C 3BDF001C
8B9E0000 3F008048 8B9E0000 3C608048
83189D60 3B18FFFF 80639D60 809F056B
82FF056B 7C18B800 7C032000 41810028
4181009C 7C78B850 3C608048 80639D60
809F056B 7C632050
38630001 8B9E0000 38630001 8B9E0000
7F83E051 40800008 7F83E051 40800008
3B9C0007 387E0001 3B9C0007 1C7C00C2
1C9C00C2 7F432214 38DE0001 7CC61A14
3B200000 48000060 88660000 3863FFFF
38DA0000 38E00000 1C630006 38A60001
48000028 1C790006 7CA51A14 807D000C
7C651A14 A0630001 90650002 BA810008
1C870006 7C862214 800100B4 382100B0
A0840001 7C032000 7C0803A6 00000000
41820030 38E70001 C21A5014 00000032 #Playback/Core/Sounds/HandleFrameSoundLog.asm
88660000 2C070003 41A20014 3D80801A
4180FFD4 1C790006 618C5024 7D8903A6
7C651A14 80630003 4E800420 3C608048
3D808002 618C36B8 80639D30 5463443E
2C03010E 40820168
7C0802A6 90010004
9421FF50 BE810008
3D808034 618C7364
7D8903A6 4E800421 7D8903A6 4E800421
3B390001 38BA0061 7C7D1B78 83EDB64C
88650000 7C191800 3BDF001C 8B9E0000
4180FF98 387E0001 3F008048 83189D60
1C9C00C2 7F432214 3B18FFFF 82FF056B
387A0061 389A0000 7C18B800 4181009C
38A00061 3D808000 7C78B850 38630001
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
8B9E0000 7F83E051 8B9E0000 7F83E051
40800008 3B9C0007 40800008 3B9C0007
1C7C00C2 38DE0062 387E0001 1C9C00C2
7CC61A14 39000000 7F432214 3B200000
48000020 1C680006 48000060 38DA0000
38A60001 7CA51A14 38E00000 48000028
A0650000 7C1B1800 1C790006 7C651A14
41820018 39080001 A0630001 1C870006
88660000 7C081800 7C862214 A0840001
4180FFDC 4800000C 7C032000 41820030
83450002 3BA00001 38E70001 88660000
1C7C00C2 38DE0001 2C070003 4180FFD4
7CC61A14 88660000 1C790006 7C651A14
2C030010 40800024 80630003 3D808002
1C630006 38A60001 618C36B8 7D8903A6
7CA51A14 B3650000 4E800421 3B390001
93450002 88660000 38BA0061 88650000
38630001 98660000 7C191800 4180FF98
2C1D0000 41820028 387E0001 1C9C00C2
7F43D378 BA810008 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 800100B4 382100B0
7C0803A6 3D808038 7C0803A6 00000000
618CD2A0 7D8903A6 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 4E800420 BA810008
800100B4 382100B0 800100B4 382100B0
7C0803A6 2C1A0000 7C0803A6 387F0000
60000000 00000000 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 C20055F0 0000002C #Common/EXITransferBuffer.asm
7C0802A6 90010004 7C0802A6 90010004
9421FF50 BE810008 9421FF50 BE810008
@ -776,6 +794,28 @@ C20055FC 00000022 #Common/Gecko/ProcessCodeList.asm
800100B4 382100B0 800100B4 382100B0
7C0803A6 4E800020 7C0803A6 4E800020
60000000 00000000 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] $Optional: Game Music OFF [UnclePunch]
*Keep checked if you want music OFF. Uncheck "Game Music ON". *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 *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 0415FDBC 480000AC #External/Enable Develop Mode/Enable Develop Mode.asm
04089250 48000008 #External/Enable Develop Mode/Enable Stale Moves.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) { bool SlippiGame::DoesPlayerExist(int8_t port) {
return game->settings.players.find(port) != game->settings.players.end(); 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 GetLastFinalizedFrame();
int32_t GetLatestIndex(); int32_t GetLatestIndex();
GameSettings* GetSettings(); GameSettings* GetSettings();
uint8_t GetGameEndMethod();
bool DoesPlayerExist(int8_t port); bool DoesPlayerExist(int8_t port);
bool IsProcessingComplete(); bool IsProcessingComplete();
private: private:

View file

@ -534,6 +534,8 @@ void SConfig::LoadSlippiSettings(IniFile& ini)
{ {
IniFile::Section* slippi = ini.GetOrCreateSection("Slippi"); 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("PlaybackControls", &m_slippiEnableSeek, true);
slippi->Get("OnlineDelay", &m_slippiOnlineDelay, 2); slippi->Get("OnlineDelay", &m_slippiOnlineDelay, 2);
slippi->Get("SaveReplays", &m_slippiSaveReplays, true); 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 // Get display names and connection codes from slippi netplay client
if (slippi_netplay) 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(); auto isDecider = slippi_netplay->IsDecider();
int local_port = isDecider ? 0 : 1; int local_port = isDecider ? 0 : 1;
int remote_port = isDecider ? 1 : 0; int remote_port = isDecider ? 1 : 0;
slippi_names[local_port] = lps.playerName; slippi_names[local_port] = userInfo.displayName;
slippi_connect_codes[local_port] = lps.connectCode; slippi_connect_codes[local_port] = userInfo.connectCode;
slippi_names[remote_port] = rps.playerName; slippi_names[remote_port] = oppInfo.displayName;
slippi_connect_codes[remote_port] = rps.connectCode; slippi_connect_codes[remote_port] = oppInfo.connectCode;
} }
} }
@ -1728,7 +1726,9 @@ void CEXISlippi::prepareOnlineMatchState()
u8 localPlayerIndex = 0; u8 localPlayerIndex = 0;
u8 remotePlayerIndex = 1; 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) if (mmState == SlippiMatchmaking::ProcessState::CONNECTION_SUCCESS)
{ {
@ -1762,8 +1762,6 @@ void CEXISlippi::prepareOnlineMatchState()
auto isDecider = slippi_netplay->IsDecider(); auto isDecider = slippi_netplay->IsDecider();
localPlayerIndex = isDecider ? 0 : 1; localPlayerIndex = isDecider ? 0 : 1;
remotePlayerIndex = isDecider ? 1 : 0; remotePlayerIndex = isDecider ? 1 : 0;
oppName = slippi_netplay->GetOpponentName();
} }
else else
{ {
@ -1802,7 +1800,7 @@ void CEXISlippi::prepareOnlineMatchState()
#ifdef LOCAL_TESTING #ifdef LOCAL_TESTING
rps.characterId = 0x2; rps.characterId = 0x2;
rps.characterColor = 2; rps.characterColor = 2;
rps.playerName = std::string("Player"); oppName = std::string("Player");
#endif #endif
// Check if someone is picking dumb characters in non-direct // 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]); WARN_LOG(SLIPPI_ONLINE, "P1 Char: 0x%X, P2 Char: 0x%X", onlineMatchBlock[0x60], onlineMatchBlock[0x84]);
// Set player names // Set player names
p1Name = isDecider ? lps.playerName : rps.playerName; p1Name = isDecider ? userInfo.displayName : oppName;
p2Name = isDecider ? rps.playerName : lps.playerName; p2Name = isDecider ? oppName : userInfo.displayName;
// Turn pause on in direct, off in everything else // Turn pause on in direct, off in everything else
u8* gameBitField3 = (u8*)& onlineMatchBlock[2]; u8* gameBitField3 = (u8*)& onlineMatchBlock[2];
@ -1936,22 +1934,6 @@ void CEXISlippi::setMatchSelections(u8* payload)
s.rngOffset = generator() % 0xFFFF; 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 // Merge these selections
localSelections.Merge(s); localSelections.Merge(s);

View file

@ -67,6 +67,11 @@ std::string SlippiMatchmaking::GetErrorMessage()
return m_errorMsg; return m_errorMsg;
} }
SlippiUser::UserInfo SlippiMatchmaking::GetOpponent()
{
return m_oppUser;
}
bool SlippiMatchmaking::IsSearching() bool SlippiMatchmaking::IsSearching()
{ {
return searchingStates.count(m_state) != 0; return searchingStates.count(m_state) != 0;
@ -378,6 +383,18 @@ void SlippiMatchmaking::handleMatchmaking()
m_oppIp = getResp.value("oppAddress", ""); m_oppIp = getResp.value("oppAddress", "");
m_isHost = getResp.value("isHost", false); 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 // Disconnect and destroy enet client to mm server
terminateMmConnection(); terminateMmConnection();

View file

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

View file

@ -251,12 +251,6 @@ unsigned int SlippiNetplayClient::OnData(sf::Packet& packet)
INFO_LOG(SLIPPI_ONLINE, "[Netplay] Received selections from opponent"); INFO_LOG(SLIPPI_ONLINE, "[Netplay] Received selections from opponent");
matchInfo.remotePlayerSelections.Merge(*s); 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 // 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 // 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 // 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.characterId << s.characterColor << s.isCharacterSelected;
packet << s.stageId << s.isStageSelected; packet << s.stageId << s.isStageSelected;
packet << s.rngOffset; packet << s.rngOffset;
packet << s.playerName;
packet << s.connectCode;
} }
std::unique_ptr<SlippiPlayerSelections> SlippiNetplayClient::readSelectionsFromPacket(sf::Packet& packet) std::unique_ptr<SlippiPlayerSelections> SlippiNetplayClient::readSelectionsFromPacket(sf::Packet& packet)
@ -300,10 +292,7 @@ std::unique_ptr<SlippiPlayerSelections> SlippiNetplayClient::readSelectionsFromP
packet >> s->stageId; packet >> s->stageId;
packet >> s->isStageSelected; packet >> s->isStageSelected;
packet >> s->rngOffset; packet >> s->rngOffset;
packet >> s->playerName;
packet >> s->connectCode;
return std::move(s); return std::move(s);
} }
@ -670,11 +659,6 @@ u64 SlippiNetplayClient::GetSlippiPing()
return pingUs; return pingUs;
} }
std::string SlippiNetplayClient::GetOpponentName()
{
return oppName;
}
int32_t SlippiNetplayClient::GetSlippiLatestRemoteFrame() int32_t SlippiNetplayClient::GetSlippiLatestRemoteFrame()
{ {
std::lock_guard<std::mutex> lk(pad_mutex); // TODO: Is this the correct lock? std::lock_guard<std::mutex> lk(pad_mutex); // TODO: Is this the correct lock?

View file

@ -47,14 +47,9 @@ public:
u32 rngOffset = 0; u32 rngOffset = 0;
std::string playerName = "";
std::string connectCode = "";
void Merge(SlippiPlayerSelections& s) void Merge(SlippiPlayerSelections& s)
{ {
this->rngOffset = s.rngOffset; this->rngOffset = s.rngOffset;
this->playerName = s.playerName;
this->connectCode = s.connectCode;
if (s.isStageSelected) if (s.isStageSelected)
{ {
@ -80,7 +75,6 @@ public:
isStageSelected = false; isStageSelected = false;
rngOffset = 0; rngOffset = 0;
playerName.clear();
} }
}; };
@ -127,7 +121,6 @@ public:
std::unique_ptr<SlippiRemotePadOutput> GetSlippiRemotePad(int32_t curFrame); std::unique_ptr<SlippiRemotePadOutput> GetSlippiRemotePad(int32_t curFrame);
SlippiMatchInfo* GetMatchInfo(); SlippiMatchInfo* GetMatchInfo();
u64 GetSlippiPing(); u64 GetSlippiPing();
std::string GetOpponentName();
int32_t GetSlippiLatestRemoteFrame(); int32_t GetSlippiLatestRemoteFrame();
s32 CalcTimeOffsetUs(); s32 CalcTimeOffsetUs();
@ -142,8 +135,6 @@ protected:
std::queue<std::unique_ptr<sf::Packet>> m_async_queue; std::queue<std::unique_ptr<sf::Packet>> m_async_queue;
std::string oppName = "";
ENetHost* m_client = nullptr; ENetHost* m_client = nullptr;
ENetPeer* m_server = nullptr; ENetPeer* m_server = nullptr;
std::thread m_thread; 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 // Doing it here to get it out of the way and prevent stutters later
// Subsequent calls to SaveToBuffer for cState take ~1 frame // Subsequent calls to SaveToBuffer for cState take ~1 frame
State::SaveToBuffer(cState); State::SaveToBuffer(cState);
if (SConfig::GetInstance().m_slippiEnableSeek) {
SConfig::GetInstance().bHideCursor = false; SConfig::GetInstance().bHideCursor = false;
}
}; };
void SlippiPlaybackStatus::SavestateThread() void SlippiPlaybackStatus::SavestateThread()

View file

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

View file

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

View file

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

View file

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