playback work. File loads but replay freezes shortly after. stripped out a lot of ui and playback functionality to get compiling

This commit is contained in:
R2DLiu 2023-06-20 00:06:35 -04:00
commit fb5ae3f4a1
16 changed files with 6453 additions and 8810 deletions

View file

@ -654,6 +654,7 @@ if(ENABLE_ANALYTICS)
add_definitions(-DUSE_ANALYTICS=1) add_definitions(-DUSE_ANALYTICS=1)
endif() endif()
set(SLIPPI_PLAYBACK TRUE)
if(SLIPPI_PLAYBACK) if(SLIPPI_PLAYBACK)
# Slippi Playback build option # Slippi Playback build option
add_definitions(-DIS_PLAYBACK=1) add_definitions(-DIS_PLAYBACK=1)

View file

@ -1,4 +1,5 @@
# GALE01 - Super Smash Bros. Melee NTSC-U 1.02 # GALE01 - Super Smash Bros. Melee NTSC-U 1.02
# DO NOT EDIT - generated by gecko
[Core] [Core]
CPUThread = False CPUThread = False
@ -62,7 +63,7 @@ C213C388 0000000A #Common/CostumeBoundCheck/PuffCostume.asm
809C002C 00000000 809C002C 00000000
C216DED4 00000039 #Common/CostumeBoundCheck/main.asm C216DED4 00000039 #Common/CostumeBoundCheck/main.asm
7C0802A6 90010004 7C0802A6 90010004
9421FF50 BE810008 9421FF20 BE8100B0
3BE00000 7FE3FB78 3BE00000 7FE3FB78
3D808003 618C241C 3D808003 618C241C
7D8903A6 4E800421 7D8903A6 4E800421
@ -114,43 +115,56 @@ C216DED4 00000039 #Common/CostumeBoundCheck/main.asm
4E800421 3B7B0001 4E800421 3B7B0001
2C1B0006 4180FF68 2C1B0006 4180FF68
3BFF0001 2C1F0006 3BFF0001 2C1F0006
4180FEF4 BA810008 4180FEF4 BA8100B0
800100B4 382100B0 800100E4 382100E0
7C0803A6 8001001C 7C0803A6 8001001C
60000000 00000000 60000000 00000000
$Required: Slippi Playback [Fizzi, UnclePunch, Achilles, tauKhan] $Required: Slippi Playback [Fizzi, UnclePunch, Achilles, tauKhan, Krohnos]
*Used to play back a .slp file *Used to play back a .slp file
*Will play replay configured in playback.txt *Will play replay configured in playback.txt
C216E9E4 00000010 #Playback/Core/CleanDynamicGeckos.asm C216E9E4 0000001D #Playback/Core/CleanDynamicGeckos.asm
3BC30000 7C0802A6 3BC30000 7C0802A6
90010004 9421FF50 90010004 9421FF20
BE810008 83CDB64C BE8100B0 83CDB64C
83BE0010 807D0000 83BE0010 3B800000
2C030000 41820044 807D0000 2C030000
389D0008 80BD0004 41820018 3B9C0001
3D808000 618C31F4
7D8903A6 4E800421
807D0000 809D0004
3D808032 618C8F50
7D8903A6 4E800421
807D0004 7FBD1A14 807D0004 7FBD1A14
3BBD0008 4BFFFFB8 3BBD0008 4BFFFFE4
BA810008 800100B4 1C7C0004 3D808037
382100B0 7C0803A6 618CF1E4 7D8903A6
60000000 00000000 4E800421 7C7B1B78
83BE0010 3B400000
807D0000 2C030000
4182001C 7FBBD12E
3B5A0004 807D0004
7FBD1A14 3BBD0008
4BFFFFE0 387CFFFF
1F430004 2C1A0000
41800044 7FBBD02E
807D0000 389D0008
80BD0004 3D808000
618C31F4 7D8903A6
4E800421 807D0000
809D0004 3D808032
618C8F50 7D8903A6
4E800421 3B5AFFFC
4BFFFFBC BA8100B0
800100E4 382100E0
7C0803A6 00000000
C216D298 00000016 #Playback/Core/FetchGameFrame.asm C216D298 00000016 #Playback/Core/FetchGameFrame.asm
881F0008 2C000000 881F0008 2C000000
408200A0 7C0802A6 408200A0 7C0802A6
90010004 9421FF50 90010004 9421FF20
BE810008 806DB64C BE8100B0 806DB64C
83630000 38600076 83630000 38600076
987B0000 806DB654 987B0000 806DB654
907B0001 7F63DB78 907B0001 7F63DB78
38800005 38A00001 38800005 38A00001
3D808000 618C55F0 3D808000 618C55F0
7D8903A6 4E800421 7D8903A6 4E800421
7F63DB78 3880018F 7F63DB78 38800197
38A00000 3D808000 38A00000 3D808000
618C55F0 7D8903A6 618C55F0 7D8903A6
4E800421 887B0000 4E800421 887B0000
@ -159,12 +173,12 @@ BE810008 806DB64C
7D8903A6 4E800421 7D8903A6 4E800421
3C60804C 38000000 3C60804C 38000000
98031F7B 4BFFFF90 98031F7B 4BFFFF90
BA810008 800100B4 BA8100B0 800100E4
382100B0 7C0803A6 382100E0 7C0803A6
881F0008 00000000 881F0008 00000000
C206B0DC 00000046 #Playback/Core/RestoreGameFrame.asm C206B0DC 00000049 #Playback/Core/RestoreGameFrame.asm
7C0802A6 90010004 7C0802A6 90010004
9421FF50 BE810008 9421FF20 BE8100B0
8BBF000C 7FA3EB78 8BBF000C 7FA3EB78
3D808003 618C1724 3D808003 618C1724
7D8903A6 4E800421 7D8903A6 4E800421
@ -172,11 +186,12 @@ C206B0DC 00000046 #Playback/Core/RestoreGameFrame.asm
83790000 7FE3FB78 83790000 7FE3FB78
3D808000 618C55F8 3D808000 618C55F8
7D8903A6 4E800421 7D8903A6 4E800421
7C741B78 389B0007 7C741B78 2C140000
88BF000C 1CA50062 41820010 8879056F
7C842A14 1CB40031 2C030000 418201D4
7F442A14 3C80804D 389B0007 88BF000C
807A0000 90645F90 1CA50064 7C842A14
1CB40032 7F442A14
807A0004 907F0620 807A0004 907F0620
807A0008 907F0624 807A0008 907F0624
807A000C 907F0638 807A000C 907F0638
@ -184,58 +199,60 @@ C206B0DC 00000046 #Playback/Core/RestoreGameFrame.asm
807A0014 907F0650 807A0014 907F0650
807A0018 907F065C 807A0018 907F065C
8879056F 2C030000 8879056F 2C030000
41820024 807A001C 41820030 3C80804D
907F00B0 807A0020 807A0000 90645F90
907F00B4 807A0024 807A001C 907F00B0
907F002C 807A0028 807A0020 907F00B4
907F0010 3C608046 807A0024 907F002C
6063B108 3C80804C 807A0028 907F0010
60841F78 88840001 3C608046 6063B108
3884FFFF 2C040000 3C80804C 60841F78
40A00008 38840005 88840001 3884FFFF
1C840030 7C632214 2C040000 40A00008
889F0618 1C84000C 38840005 1C840030
7E832214 887A002C 7C632214 889F0618
98740002 8879056F 1C84000C 7E832214
2C030000 4182004C 887A002C 98740002
807A002D 2C03FFFF 887A002D 98740003
41820040 90610040 8879056F 2C030000
C0210040 C05F1830 4182004C 807A002E
EC211028 C0429500 2C03FFFF 41820040
FC011040 41820024 90610040 C0210040
7FE3FB78 C0210040
C05F1830 EC211028 C05F1830 EC211028
3D808006 618CCC7C C0429500 FC011040
41820024 7FE3FB78
C0210040 C05F1830
EC211028 3D808006
618CCC7C 7D8903A6
4E800421 806DB654
2C03FF85 408200AC
7FE3FB78 38800000
C0228874 3D808007
618C592C 7D8903A6
4E800421 807F00B0
907F06F4 907F070C
807F00B4 907F06F8
907F0710 807F00B8
907F06FC 907F0714
C03F00B4 D03F2344
806DAE0C 907F0728
887F000C 889F221F
5484EFFE 38BF00B0
3D808003 618C2828
7D8903A6 4E800421 7D8903A6 4E800421
806DB654 2C03FF85 7FC3F378 3D808007
408200AC 7FE3FB78 618C61C8 7D8903A6
38800000 C0228874 4E800421 807F0890
3D808007 618C592C C0230040 D023002C
C0230044 D0230030
3D808002 618CF3AC
7D8903A6 4E800421 7D8903A6 4E800421
807F00B0 907F06F4 BA8100B0 800100E4
907F070C 807F00B4 382100E0 7C0803A6
907F06F8 907F0710 881F2219 00000000
807F00B8 907F06FC
907F0714 C03F00B4
D03F2344 806DAE0C
907F0728 887F000C
889F221F 5484EFFE
38BF00B0 3D808003
618C2828 7D8903A6
4E800421 7FC3F378
3D808007 618C61C8
7D8903A6 4E800421
807F0890 C0230040
D023002C C0230044
D0230030 3D808002
618CF3AC 7D8903A6
4E800421 BA810008
800100B4 382100B0
7C0803A6 881F2219
60000000 00000000
C216E74C 0000009E #Playback/Core/RestoreGameInfo.asm C216E74C 0000009E #Playback/Core/RestoreGameInfo.asm
7C0802A6 90010004 7C0802A6 90010004
9421FF50 BE810008 9421FF20 BE8100B0
386005EC 3D808037 386005EC 3D808037
618CF1E4 7D8903A6 618CF1E4 7D8903A6
4E800421 7C7C1B78 4E800421 7C7C1B78
@ -335,8 +352,8 @@ C216E74C 0000009E #Playback/Core/RestoreGameInfo.asm
9066000C 4E800020 9066000C 4E800020
4E800021 2C050000 4E800021 2C050000
41820108 7C0802A6 41820108 7C0802A6
90010004 9421FF50 90010004 9421FF20
BE810008 7C9E2378 BE8100B0 7C9E2378
7CBB2B78 80BE0000 7CBB2B78 80BE0000
54A501FE 64BD8000 54A501FE 64BD8000
834DB64C 833A0014 834DB64C 833A0014
@ -365,8 +382,8 @@ BE810008 7C9E2378
7FA3EB78 7F64DB78 7FA3EB78 7F64DB78
3D808032 618C8F50 3D808032 618C8F50
7D8903A6 4E800421 7D8903A6 4E800421
BA810008 800100B4 BA8100B0 800100E4
382100B0 7C0803A6 382100E0 7C0803A6
4E800020 38600000 4E800020 38600000
809C0014 90640000 809C0014 90640000
7FA3EB78 809E021D 7FA3EB78 809E021D
@ -381,15 +398,15 @@ BA810008 800100B4
7D8903A6 4E800421 7D8903A6 4E800421
4800004C 4E800021 4800004C 4E800021
7C0802A6 90010004 7C0802A6 90010004
9421FF50 BE810008 9421FF20 BE8100B0
806DB64C 83A30000 806DB64C 83A30000
887D0002 2C030000 887D0002 2C030000
41820010 807D0003 41820010 807D0003
3C80804D 90645F90 3C80804D 90645F90
BA810008 800100B4 BA8100B0 800100E4
382100B0 7C0803A6 382100E0 7C0803A6
4E800020 BA810008 4E800020 BA8100B0
800100B4 382100B0 800100E4 382100E0
7C0803A6 3C608017 7C0803A6 3C608017
60000000 00000000 60000000 00000000
C216D304 00000009 #Playback/Core/RestoreLRAStart.asm C216D304 00000009 #Playback/Core/RestoreLRAStart.asm
@ -443,8 +460,8 @@ C21A501C 0000002A #Playback/Core/FastForward/FastForward.asm
7D8903A6 4E800421 7D8903A6 4E800421
4800000D 2C0300FF 4800000D 2C0300FF
480000A8 7C0802A6 480000A8 7C0802A6
90010004 9421FF50 90010004 9421FF20
BE810008 3D808003 BE8100B0 3D808003
618C0A50 7D8903A6 618C0A50 7D8903A6
4E800421 3D808002 4E800421 3D808002
618CA4AC 7D8903A6 618CA4AC 7D8903A6
@ -460,8 +477,8 @@ BE810008 3D808003
3D808008 618C6A8C 3D808008 618C6A8C
7D8903A6 4E800421 7D8903A6 4E800421
82940008 2C140000 82940008 2C140000
4082FFD4 BA810008 4082FFD4 BA8100B0
800100B4 382100B0 800100E4 382100E0
7C0803A6 4E800020 7C0803A6 4E800020
60000000 00000000 60000000 00000000
C2377544 00000002 #Playback/Core/FastForward/IncrementPadIndex.asm C2377544 00000002 #Playback/Core/FastForward/IncrementPadIndex.asm
@ -488,8 +505,8 @@ C21A6348 000000AB #Playback/Core/Scene/SceneThink_Playback.asm
618CFD54 7D8903A6 618CFD54 7D8903A6
4E800421 480004F0 4E800421 480004F0
4E800021 7C0802A6 4E800021 7C0802A6
90010004 9421FF50 90010004 9421FF20
BE810008 48000461 BE8100B0 48000461
7FC802A6 38600000 7FC802A6 38600000
3880FFFF 3D80803A 3880FFFF 3D80803A
618C6754 7D8903A6 618C6754 7D8903A6
@ -642,8 +659,8 @@ C33E0000 00000000
2E2E0000 2E2E2E00 2E2E0000 2E2E2E00
4E800021 736C6970 4E800021 736C6970
70692E67 67000000 70692E67 67000000
BA810008 800100B4 BA8100B0 800100E4
382100B0 7C0803A6 382100E0 7C0803A6
4E800020 3D80801A 4E800020 3D80801A
618C6368 7D8903A6 618C6368 7D8903A6
4E800420 807F0000 4E800420 807F0000
@ -655,7 +672,7 @@ C238D224 00000015 #Playback/Core/Sounds/AssignSoundInstanceId.asm
80639D30 5463443E 80639D30 5463443E
2C03010E 40820090 2C03010E 40820090
7C0802A6 90010004 7C0802A6 90010004
9421FF50 BE810008 9421FF20 BE8100B0
83EDB64C 3BDF001C 83EDB64C 3BDF001C
8B9E0000 3C608048 8B9E0000 3C608048
80639D60 809F056B 80639D60 809F056B
@ -669,8 +686,8 @@ C238D224 00000015 #Playback/Core/Sounds/AssignSoundInstanceId.asm
88660000 3863FFFF 88660000 3863FFFF
1C630006 38A60001 1C630006 38A60001
7CA51A14 807D000C 7CA51A14 807D000C
90650002 BA810008 90650002 BA8100B0
800100B4 382100B0 800100E4 382100E0
7C0803A6 00000000 7C0803A6 00000000
C21A5014 00000032 #Playback/Core/Sounds/HandleFrameSoundLog.asm C21A5014 00000032 #Playback/Core/Sounds/HandleFrameSoundLog.asm
41A20014 3D80801A 41A20014 3D80801A
@ -679,7 +696,7 @@ C21A5014 00000032 #Playback/Core/Sounds/HandleFrameSoundLog.asm
80639D30 5463443E 80639D30 5463443E
2C03010E 40820168 2C03010E 40820168
7C0802A6 90010004 7C0802A6 90010004
9421FF50 BE810008 9421FF20 BE8100B0
3D808034 618C7364 3D808034 618C7364
7D8903A6 4E800421 7D8903A6 4E800421
7C7D1B78 83EDB64C 7C7D1B78 83EDB64C
@ -699,7 +716,7 @@ A0630001 1C870006
7C862214 A0840001 7C862214 A0840001
7C032000 41820030 7C032000 41820030
38E70001 88660000 38E70001 88660000
2C070003 4180FFD4 7C071800 4180FFD4
1C790006 7C651A14 1C790006 7C651A14
80630003 3D808002 80630003 3D808002
618C36B8 7D8903A6 618C36B8 7D8903A6
@ -720,15 +737,15 @@ A0630001 1C870006
3B9CFFF9 9B9E0000 3B9CFFF9 9B9E0000
7FA3EB78 3D808034 7FA3EB78 3D808034
618C738C 7D8903A6 618C738C 7D8903A6
4E800421 BA810008 4E800421 BA8100B0
800100B4 382100B0 800100E4 382100E0
7C0803A6 00000000 7C0803A6 00000000
C2088224 0000001D #Playback/Core/Sounds/NoDestroyVoice.asm C2088224 0000001D #Playback/Core/Sounds/NoDestroyVoice.asm
3C608048 80639D30 3C608048 80639D30
5463443E 2C03010E 5463443E 2C03010E
408200CC 7C0802A6 408200CC 7C0802A6
90010004 9421FF50 90010004 9421FF20
BE810008 83EDB64C BE8100B0 83EDB64C
3BBF001C 57DE043E 3BBF001C 57DE043E
8B9D0000 3C608048 8B9D0000 3C608048
80639D60 809F056B 80639D60 809F056B
@ -745,20 +762,20 @@ BE810008 83EDB64C
7C1E1800 41820018 7C1E1800 41820018
39080001 88660000 39080001 88660000
7C081800 4180FFDC 7C081800 4180FFDC
48000024 BA810008 48000024 BA8100B0
800100B4 382100B0 800100E4 382100E0
7C0803A6 3D808008 7C0803A6 3D808008
618C8244 7D8903A6 618C8244 7D8903A6
4E800420 BA810008 4E800420 BA8100B0
800100B4 382100B0 800100E4 382100E0
7C0803A6 387F0000 7C0803A6 387F0000
60000000 00000000 60000000 00000000
C20882B0 0000001D #Playback/Core/Sounds/NoDestroyVoice2.asm C20882B0 0000001D #Playback/Core/Sounds/NoDestroyVoice2.asm
3C608048 80639D30 3C608048 80639D30
5463443E 2C03010E 5463443E 2C03010E
408200CC 7C0802A6 408200CC 7C0802A6
90010004 9421FF50 90010004 9421FF20
BE810008 83EDB64C BE8100B0 83EDB64C
3BBF001C 57DE043E 3BBF001C 57DE043E
8B9D0000 3C608048 8B9D0000 3C608048
80639D60 809F056B 80639D60 809F056B
@ -775,20 +792,20 @@ BE810008 83EDB64C
7C1E1800 41820018 7C1E1800 41820018
39080001 88660000 39080001 88660000
7C081800 4180FFDC 7C081800 4180FFDC
48000024 BA810008 48000024 BA8100B0
800100B4 382100B0 800100E4 382100E0
7C0803A6 3D808008 7C0803A6 3D808008
618C82D0 7D8903A6 618C82D0 7D8903A6
4E800420 BA810008 4E800420 BA8100B0
800100B4 382100B0 800100E4 382100E0
7C0803A6 387F0000 7C0803A6 387F0000
60000000 00000000 60000000 00000000
C238D0B0 00000027 #Playback/Core/Sounds/PreventDuplicateSounds.asm C238D0B0 00000027 #Playback/Core/Sounds/PreventDuplicateSounds.asm
3C608048 80639D30 3C608048 80639D30
5463443E 2C03010E 5463443E 2C03010E
40820120 7C0802A6 40820120 7C0802A6
90010004 9421FF50 90010004 9421FF20
BE810008 83EDB64C BE8100B0 83EDB64C
3BDF001C 3BA00000 3BDF001C 3BA00000
3B400000 56FB043E 3B400000 56FB043E
8B9E0000 3C608048 8B9E0000 3C608048
@ -816,19 +833,22 @@ B3650000 93450002
88660000 38630001 88660000 38630001
98660000 2C1D0000 98660000 2C1D0000
41820028 7F43D378 41820028 7F43D378
BA810008 800100B4 BA8100B0 800100E4
382100B0 7C0803A6 382100E0 7C0803A6
3D808038 618CD2A0 3D808038 618CD2A0
7D8903A6 4E800420 7D8903A6 4E800420
BA810008 800100B4 BA8100B0 800100E4
382100B0 7C0803A6 382100E0 7C0803A6
2C1A0000 00000000 2C1A0000 00000000
C200569C 00000002 #Common/GetFighterNum.asm C216E8C8 00000005 #Playback/Core/Stadium/Enable Home Run Contest Distance.asm
38600021 4E800020 3D808046 618CDB77
60000000 00000000 898C0000 2C0C0054
4182000C 819F0044
4800000C 3D808018
618C1998 00000000
C20055F8 0000000F #Common/GetIsFollower.asm C20055F8 0000000F #Common/GetIsFollower.asm
7C0802A6 90010004 7C0802A6 90010004
9421FF50 BE810008 9421FF20 BE8100B0
7C7E1B78 3BE00000 7C7E1B78 3BE00000
887E221F 5460EFFF 887E221F 5460EFFF
41820038 887E000C 41820038 887E000C
@ -838,18 +858,10 @@ C20055F8 0000000F #Common/GetIsFollower.asm
1C030003 7C640214 1C030003 7C640214
88030002 2C000000 88030002 2C000000
40820008 3BE00001 40820008 3BE00001
7FE3FB78 BA810008 7FE3FB78 BA8100B0
800100B4 382100B0 800100E4 382100E0
7C0803A6 4E800020 7C0803A6 4E800020
60000000 00000000 60000000 00000000
C20056A0 00000007 #Common/GetSSMIndex.asm
2C030001 41820018
3C60803B 6063B3C0
1C840010 7C6320AE
48000018 3C60803B
6063B6B0 1C840003
7C6320AE 48000004
4E800020 00000000
C216D294 00000006 #Common/IncrementFrameIndex.asm C216D294 00000006 #Common/IncrementFrameIndex.asm
987F0008 3C608048 987F0008 3C608048
80639D58 2C030000 80639D58 2C030000
@ -857,154 +869,6 @@ C216D294 00000006 #Common/IncrementFrameIndex.asm
906DB654 48000010 906DB654 48000010
806DB654 38630001 806DB654 38630001
906DB654 00000000 906DB654 00000000
C20055F4 00000007 #Common/IntToFloat.asm
9421FF00 D0410008
3C004330 C84298A8
6C638000 900100F0
906100F4 C82100F0
EC211028 C0410008
38210100 4E800020
60000000 00000000
C20056A4 00000022 #Common/LoadPremadeText.asm
7C0802A6 90010004
9421FF50 BE810008
7C7F1B78 7C9E2378
3B800004 7F83E378
3D808037 618CF1E4
7D8903A6 4E800421
7C7D1B78 7F84E378
3D808000 618CC160
7D8903A6 4E800421
386000E1 48000055
839D0000 7FA3EB78
3D808037 618CF1B0
7D8903A6 4E800421
7F83E378 3D808037
618CF1E4 7D8903A6
4E800421 7C7D1B78
386000E2 4800001D
7FA3EB78 BA810008
800100B4 382100B0
7C0803A6 4E800020
7C0802A6 90010004
9421FF50 BE810008
987D0000 9BFD0001
9BDD0002 7FA3EB78
38800003 38A00001
3D808000 618C55F0
7D8903A6 4E800421
7FA3EB78 7F84E378
38A00000 3D808000
618C55F0 7D8903A6
4E800421 BA810008
800100B4 382100B0
7C0803A6 4E800020
60000000 00000000
C20055EC 00000008 #Common/MultiplyRWithF.asm
7C0802A6 90010004
9421FF50 BE810008
3D808000 618C55F4
7D8903A6 4E800421
EC2100B2 BA810008
800100B4 382100B0
7C0803A6 4E800020
60000000 00000000
C20056A8 00000005 #Common/RequestSSMLoad.asm
2C030037 41820018
3D808043 618C37C4
38800001 1C630004
7C83612E 4E800020
60000000 00000000
C20056B4 00000059 #Common/SubtextFunctions.asm
2C050002 418201F8
7C0802A6 90010004
9421FF50 BE810008
7C751B78 7C962378
7CB82B78 7CD93378
90E10038 9101003C
91210040 91410044
91610048 9181004C
FEA00890 FEC01090
FEE01890 FF202890
FF403090 2C180001
418000FC 39E00004
FC20B090 FC40B890
2C0F0001 41820020
2C0F0002 41820020
2C0F0003 41820020
2C0F0004 41820020
48000024 EC21D028
4800001C EC21D02A
48000014 EC42D028
4800000C EC42D02A
48000004 7EA3AB78
80810038 3D80803A
618C6B98 7D8903A6
4E800421 7C771B78
7EA3AB78 7EE4BB78
FC20A890 FC40A890
3D80803A 618C7548
7D8903A6 4E800421
7F25CB78 2C0F0000
40820008 7EC5B378
7EA3AB78 7EE4BB78
3D80803A 618C74F0
7D8903A6 4E800421
7EA3AB78 7EE4BB78
80A10038 80C1003C
80E10040 81010044
81210048 8141004C
3D80803A 618C70A0
7D8903A6 4E800421
2C0F0000 4182000C
39EFFFFF 4BFFFF14
48000094 7EA3AB78
80810038 FC20B090
FC40B890 3D80803A
618C6B98 7D8903A6
4E800421 7C771B78
7EA3AB78 7EE4BB78
FC20A890 FC40A890
3D80803A 618C7548
7D8903A6 4E800421
7EA3AB78 7EE4BB78
7EC5B378 3D80803A
618C74F0 7D8903A6
4E800421 7EA3AB78
7EE4BB78 80A10038
80C1003C 80E10040
81010044 81210048
8141004C 3D80803A
618C70A0 7D8903A6
4E800421 7EE3BB78
BA810008 800100B4
382100B0 7C0803A6
4E800020 7C0802A6
90010004 9421FF50
BE810008 7C7D1B78
7C9C2378 7CDB3378
FEC00890 FEE01090
FF001890 FEA02090
4800008D 7F4802A6
38600000 7F64DB78
C01A0000 FC20B090
FC40B890 FC60C090
C09A0004 C0BA0008
3D80803A 618C5ACC
7D8903A6 4E800421
7C751B78 2C1C0000
41820010 38600001
986DAFEC 7F86E378
7EA3AB78 7FA4EB78
FC00A890 D0030024
D0030028 3D80803A
618C6368 7D8903A6
4E800421 7EA3AB78
BA810008 800100B4
382100B0 7C0803A6
4E800020 4E800021
41100000 44160000
41A00000 00000000
C21C154C 00000004 #Common/Initialize Stage Data/Init Stage Data.asm C21C154C 00000004 #Common/Initialize Stage Data/Init Stage Data.asm
38800204 3D808000 38800204 3D808000
618CC160 7D8903A6 618CC160 7D8903A6
@ -1035,6 +899,23 @@ C209E090 00000011 #Common/FastForward/DynamicsFix.asm
8001001C 38210018 8001001C 38210018
7C0803A6 4E800020 7C0803A6 4E800020
BB010028 00000000 BB010028 00000000
C200569C 00000002 #Common/CompatibilityHooks/GetFighterNum.asm
38600021 4E800020
60000000 00000000
C20056A0 00000007 #Common/CompatibilityHooks/GetSSMIndex.asm
2C030001 41820018
3C60803B 6063B3C0
1C840010 7C6320AE
48000018 3C60803B
6063B6B0 1C840003
7C6320AE 48000004
4E800020 00000000
C20056A8 00000005 #Common/CompatibilityHooks/RequestSSMLoad.asm
2C030037 41820018
3D808043 618C37C4
38800001 1C630004
7C83612E 4E800020
60000000 00000000
$Optional: Show Player Names [Fizzi, UnclePunch, Enzyme, jmlee337] $Optional: Show Player Names [Fizzi, UnclePunch, Enzyme, jmlee337]
*Show players' Slippi Online display names as HUD elements when available *Show players' Slippi Online display names as HUD elements when available
@ -1048,16 +929,16 @@ C1C07AE1 3C6F34D7
43160000 3F0A3D71 43160000 3F0A3D71
00000000 4E800021 00000000 4E800021
7C0802A6 90010004 7C0802A6 90010004
9421FF50 BE810008 9421FF20 BE8100B0
7C7F1B78 880DB6CC 7C7F1B78 880DB6CC
2C000001 41820018 2C000001 41820018
7FE3FB78 3D808039 7FE3FB78 3D808039
618C10D8 7D8903A6 618C10D8 7D8903A6
4E800421 BA810008 4E800421 BA8100B0
800100B4 382100B0 800100E4 382100E0
7C0803A6 4E800020 7C0803A6 4E800020
7C0802A6 90010004 7C0802A6 90010004
9421FF50 BE810008 9421FF20 BE8100B0
3C60804D 60636D5C 3C60804D 60636D5C
80630000 3C80803F 80630000 3C80803F
608494D0 3D808038 608494D0 3D808038
@ -1190,8 +1071,8 @@ C8210080 EC211028
C05C0014 EC2100B2 C05C0014 EC2100B2
D036002C 3A940001 D036002C 3A940001
2C140006 4180FCD8 2C140006 4180FCD8
BA810008 800100B4 BA8100B0 800100E4
382100B0 7C0803A6 382100E0 7C0803A6
8001001C 00000000 8001001C 00000000
$Optional: Game Music OFF [UnclePunch] $Optional: Game Music OFF [UnclePunch]
@ -1224,6 +1105,8 @@ C0030000 4800000C
4E800021 40DC7AE1 4E800021 40DC7AE1
60000000 00000000 60000000 00000000
044DDB84 3E89FEFA #External/Widescreen/Nametag Fixes/Adjust Nametag Text X Scale.asm 044DDB84 3E89FEFA #External/Widescreen/Nametag Fixes/Adjust Nametag Text X Scale.asm
043761EC 4800001C #Normal Lag Reduction [Hannes Mann]
04376238 48000018
$Optional: Disable Screen Shake [Achilles1515] $Optional: Disable Screen Shake [Achilles1515]
*Disables all screen shaking *Disables all screen shaking

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,4 +1,5 @@
# GALE01 - Super Smash Bros. Melee NTSC-U 1.02 # GALE01 - Super Smash Bros. Melee NTSC-U 1.02
# DO NOT EDIT - generated by gecko
[Core] [Core]
CPUThread = False CPUThread = False
@ -62,7 +63,7 @@ C213C388 0000000A #Common/CostumeBoundCheck/PuffCostume.asm
809C002C 00000000 809C002C 00000000
C216DED4 00000039 #Common/CostumeBoundCheck/main.asm C216DED4 00000039 #Common/CostumeBoundCheck/main.asm
7C0802A6 90010004 7C0802A6 90010004
9421FF50 BE810008 9421FF20 BE8100B0
3BE00000 7FE3FB78 3BE00000 7FE3FB78
3D808003 618C241C 3D808003 618C241C
7D8903A6 4E800421 7D8903A6 4E800421
@ -114,8 +115,8 @@ C216DED4 00000039 #Common/CostumeBoundCheck/main.asm
4E800421 3B7B0001 4E800421 3B7B0001
2C1B0006 4180FF68 2C1B0006 4180FF68
3BFF0001 2C1F0006 3BFF0001 2C1F0006
4180FEF4 BA810008 4180FEF4 BA8100B0
800100B4 382100B0 800100E4 382100E0
7C0803A6 8001001C 7C0803A6 8001001C
60000000 00000000 60000000 00000000
@ -124,8 +125,8 @@ $Required: Slippi Playback [Fizzi, UnclePunch, Achilles, tauKhan, Krohnos]
*Will play replay configured in playback.txt *Will play replay configured in playback.txt
C216E9E4 0000001D #Playback/Core/CleanDynamicGeckos.asm C216E9E4 0000001D #Playback/Core/CleanDynamicGeckos.asm
3BC30000 7C0802A6 3BC30000 7C0802A6
90010004 9421FF50 90010004 9421FF20
BE810008 83CDB64C BE8100B0 83CDB64C
83BE0010 3B800000 83BE0010 3B800000
807D0000 2C030000 807D0000 2C030000
41820018 3B9C0001 41820018 3B9C0001
@ -149,21 +150,21 @@ BE810008 83CDB64C
809D0004 3D808032 809D0004 3D808032
618C8F50 7D8903A6 618C8F50 7D8903A6
4E800421 3B5AFFFC 4E800421 3B5AFFFC
4BFFFFBC BA810008 4BFFFFBC BA8100B0
800100B4 382100B0 800100E4 382100E0
7C0803A6 00000000 7C0803A6 00000000
C216D298 00000016 #Playback/Core/FetchGameFrame.asm C216D298 00000016 #Playback/Core/FetchGameFrame.asm
881F0008 2C000000 881F0008 2C000000
408200A0 7C0802A6 408200A0 7C0802A6
90010004 9421FF50 90010004 9421FF20
BE810008 806DB64C BE8100B0 806DB64C
83630000 38600076 83630000 38600076
987B0000 806DB654 987B0000 806DB654
907B0001 7F63DB78 907B0001 7F63DB78
38800005 38A00001 38800005 38A00001
3D808000 618C55F0 3D808000 618C55F0
7D8903A6 4E800421 7D8903A6 4E800421
7F63DB78 3880018F 7F63DB78 38800197
38A00000 3D808000 38A00000 3D808000
618C55F0 7D8903A6 618C55F0 7D8903A6
4E800421 887B0000 4E800421 887B0000
@ -172,12 +173,12 @@ BE810008 806DB64C
7D8903A6 4E800421 7D8903A6 4E800421
3C60804C 38000000 3C60804C 38000000
98031F7B 4BFFFF90 98031F7B 4BFFFF90
BA810008 800100B4 BA8100B0 800100E4
382100B0 7C0803A6 382100E0 7C0803A6
881F0008 00000000 881F0008 00000000
C206B0DC 00000046 #Playback/Core/RestoreGameFrame.asm C206B0DC 00000049 #Playback/Core/RestoreGameFrame.asm
7C0802A6 90010004 7C0802A6 90010004
9421FF50 BE810008 9421FF20 BE8100B0
8BBF000C 7FA3EB78 8BBF000C 7FA3EB78
3D808003 618C1724 3D808003 618C1724
7D8903A6 4E800421 7D8903A6 4E800421
@ -185,11 +186,12 @@ C206B0DC 00000046 #Playback/Core/RestoreGameFrame.asm
83790000 7FE3FB78 83790000 7FE3FB78
3D808000 618C55F8 3D808000 618C55F8
7D8903A6 4E800421 7D8903A6 4E800421
7C741B78 389B0007 7C741B78 2C140000
88BF000C 1CA50062 41820010 8879056F
7C842A14 1CB40031 2C030000 418201D4
7F442A14 3C80804D 389B0007 88BF000C
807A0000 90645F90 1CA50064 7C842A14
1CB40032 7F442A14
807A0004 907F0620 807A0004 907F0620
807A0008 907F0624 807A0008 907F0624
807A000C 907F0638 807A000C 907F0638
@ -197,58 +199,60 @@ C206B0DC 00000046 #Playback/Core/RestoreGameFrame.asm
807A0014 907F0650 807A0014 907F0650
807A0018 907F065C 807A0018 907F065C
8879056F 2C030000 8879056F 2C030000
41820024 807A001C 41820030 3C80804D
907F00B0 807A0020 807A0000 90645F90
907F00B4 807A0024 807A001C 907F00B0
907F002C 807A0028 807A0020 907F00B4
907F0010 3C608046 807A0024 907F002C
6063B108 3C80804C 807A0028 907F0010
60841F78 88840001 3C608046 6063B108
3884FFFF 2C040000 3C80804C 60841F78
40A00008 38840005 88840001 3884FFFF
1C840030 7C632214 2C040000 40A00008
889F0618 1C84000C 38840005 1C840030
7E832214 887A002C 7C632214 889F0618
98740002 8879056F 1C84000C 7E832214
2C030000 4182004C 887A002C 98740002
807A002D 2C03FFFF 887A002D 98740003
41820040 90610040 8879056F 2C030000
C0210040 C05F1830 4182004C 807A002E
EC211028 C0429500 2C03FFFF 41820040
FC011040 41820024 90610040 C0210040
7FE3FB78 C0210040
C05F1830 EC211028 C05F1830 EC211028
3D808006 618CCC7C C0429500 FC011040
41820024 7FE3FB78
C0210040 C05F1830
EC211028 3D808006
618CCC7C 7D8903A6
4E800421 806DB654
2C03FF85 408200AC
7FE3FB78 38800000
C0228874 3D808007
618C592C 7D8903A6
4E800421 807F00B0
907F06F4 907F070C
807F00B4 907F06F8
907F0710 807F00B8
907F06FC 907F0714
C03F00B4 D03F2344
806DAE0C 907F0728
887F000C 889F221F
5484EFFE 38BF00B0
3D808003 618C2828
7D8903A6 4E800421 7D8903A6 4E800421
806DB654 2C03FF85 7FC3F378 3D808007
408200AC 7FE3FB78 618C61C8 7D8903A6
38800000 C0228874 4E800421 807F0890
3D808007 618C592C C0230040 D023002C
C0230044 D0230030
3D808002 618CF3AC
7D8903A6 4E800421 7D8903A6 4E800421
807F00B0 907F06F4 BA8100B0 800100E4
907F070C 807F00B4 382100E0 7C0803A6
907F06F8 907F0710 881F2219 00000000
807F00B8 907F06FC
907F0714 C03F00B4
D03F2344 806DAE0C
907F0728 887F000C
889F221F 5484EFFE
38BF00B0 3D808003
618C2828 7D8903A6
4E800421 7FC3F378
3D808007 618C61C8
7D8903A6 4E800421
807F0890 C0230040
D023002C C0230044
D0230030 3D808002
618CF3AC 7D8903A6
4E800421 BA810008
800100B4 382100B0
7C0803A6 881F2219
60000000 00000000
C216E74C 0000009E #Playback/Core/RestoreGameInfo.asm C216E74C 0000009E #Playback/Core/RestoreGameInfo.asm
7C0802A6 90010004 7C0802A6 90010004
9421FF50 BE810008 9421FF20 BE8100B0
386005EC 3D808037 386005EC 3D808037
618CF1E4 7D8903A6 618CF1E4 7D8903A6
4E800421 7C7C1B78 4E800421 7C7C1B78
@ -348,8 +352,8 @@ C216E74C 0000009E #Playback/Core/RestoreGameInfo.asm
9066000C 4E800020 9066000C 4E800020
4E800021 2C050000 4E800021 2C050000
41820108 7C0802A6 41820108 7C0802A6
90010004 9421FF50 90010004 9421FF20
BE810008 7C9E2378 BE8100B0 7C9E2378
7CBB2B78 80BE0000 7CBB2B78 80BE0000
54A501FE 64BD8000 54A501FE 64BD8000
834DB64C 833A0014 834DB64C 833A0014
@ -378,8 +382,8 @@ BE810008 7C9E2378
7FA3EB78 7F64DB78 7FA3EB78 7F64DB78
3D808032 618C8F50 3D808032 618C8F50
7D8903A6 4E800421 7D8903A6 4E800421
BA810008 800100B4 BA8100B0 800100E4
382100B0 7C0803A6 382100E0 7C0803A6
4E800020 38600000 4E800020 38600000
809C0014 90640000 809C0014 90640000
7FA3EB78 809E021D 7FA3EB78 809E021D
@ -394,15 +398,15 @@ BA810008 800100B4
7D8903A6 4E800421 7D8903A6 4E800421
4800004C 4E800021 4800004C 4E800021
7C0802A6 90010004 7C0802A6 90010004
9421FF50 BE810008 9421FF20 BE8100B0
806DB64C 83A30000 806DB64C 83A30000
887D0002 2C030000 887D0002 2C030000
41820010 807D0003 41820010 807D0003
3C80804D 90645F90 3C80804D 90645F90
BA810008 800100B4 BA8100B0 800100E4
382100B0 7C0803A6 382100E0 7C0803A6
4E800020 BA810008 4E800020 BA8100B0
800100B4 382100B0 800100E4 382100E0
7C0803A6 3C608017 7C0803A6 3C608017
60000000 00000000 60000000 00000000
C216D304 00000009 #Playback/Core/RestoreLRAStart.asm C216D304 00000009 #Playback/Core/RestoreLRAStart.asm
@ -456,8 +460,8 @@ C21A501C 0000002A #Playback/Core/FastForward/FastForward.asm
7D8903A6 4E800421 7D8903A6 4E800421
4800000D 2C0300FF 4800000D 2C0300FF
480000A8 7C0802A6 480000A8 7C0802A6
90010004 9421FF50 90010004 9421FF20
BE810008 3D808003 BE8100B0 3D808003
618C0A50 7D8903A6 618C0A50 7D8903A6
4E800421 3D808002 4E800421 3D808002
618CA4AC 7D8903A6 618CA4AC 7D8903A6
@ -473,8 +477,8 @@ BE810008 3D808003
3D808008 618C6A8C 3D808008 618C6A8C
7D8903A6 4E800421 7D8903A6 4E800421
82940008 2C140000 82940008 2C140000
4082FFD4 BA810008 4082FFD4 BA8100B0
800100B4 382100B0 800100E4 382100E0
7C0803A6 4E800020 7C0803A6 4E800020
60000000 00000000 60000000 00000000
C2377544 00000002 #Playback/Core/FastForward/IncrementPadIndex.asm C2377544 00000002 #Playback/Core/FastForward/IncrementPadIndex.asm
@ -501,8 +505,8 @@ C21A6348 000000AB #Playback/Core/Scene/SceneThink_Playback.asm
618CFD54 7D8903A6 618CFD54 7D8903A6
4E800421 480004F0 4E800421 480004F0
4E800021 7C0802A6 4E800021 7C0802A6
90010004 9421FF50 90010004 9421FF20
BE810008 48000461 BE8100B0 48000461
7FC802A6 38600000 7FC802A6 38600000
3880FFFF 3D80803A 3880FFFF 3D80803A
618C6754 7D8903A6 618C6754 7D8903A6
@ -655,8 +659,8 @@ C33E0000 00000000
2E2E0000 2E2E2E00 2E2E0000 2E2E2E00
4E800021 736C6970 4E800021 736C6970
70692E67 67000000 70692E67 67000000
BA810008 800100B4 BA8100B0 800100E4
382100B0 7C0803A6 382100E0 7C0803A6
4E800020 3D80801A 4E800020 3D80801A
618C6368 7D8903A6 618C6368 7D8903A6
4E800420 807F0000 4E800420 807F0000
@ -668,7 +672,7 @@ C238D224 00000015 #Playback/Core/Sounds/AssignSoundInstanceId.asm
80639D30 5463443E 80639D30 5463443E
2C03010E 40820090 2C03010E 40820090
7C0802A6 90010004 7C0802A6 90010004
9421FF50 BE810008 9421FF20 BE8100B0
83EDB64C 3BDF001C 83EDB64C 3BDF001C
8B9E0000 3C608048 8B9E0000 3C608048
80639D60 809F056B 80639D60 809F056B
@ -682,8 +686,8 @@ C238D224 00000015 #Playback/Core/Sounds/AssignSoundInstanceId.asm
88660000 3863FFFF 88660000 3863FFFF
1C630006 38A60001 1C630006 38A60001
7CA51A14 807D000C 7CA51A14 807D000C
90650002 BA810008 90650002 BA8100B0
800100B4 382100B0 800100E4 382100E0
7C0803A6 00000000 7C0803A6 00000000
C21A5014 00000032 #Playback/Core/Sounds/HandleFrameSoundLog.asm C21A5014 00000032 #Playback/Core/Sounds/HandleFrameSoundLog.asm
41A20014 3D80801A 41A20014 3D80801A
@ -692,7 +696,7 @@ C21A5014 00000032 #Playback/Core/Sounds/HandleFrameSoundLog.asm
80639D30 5463443E 80639D30 5463443E
2C03010E 40820168 2C03010E 40820168
7C0802A6 90010004 7C0802A6 90010004
9421FF50 BE810008 9421FF20 BE8100B0
3D808034 618C7364 3D808034 618C7364
7D8903A6 4E800421 7D8903A6 4E800421
7C7D1B78 83EDB64C 7C7D1B78 83EDB64C
@ -712,7 +716,7 @@ A0630001 1C870006
7C862214 A0840001 7C862214 A0840001
7C032000 41820030 7C032000 41820030
38E70001 88660000 38E70001 88660000
2C070003 4180FFD4 7C071800 4180FFD4
1C790006 7C651A14 1C790006 7C651A14
80630003 3D808002 80630003 3D808002
618C36B8 7D8903A6 618C36B8 7D8903A6
@ -733,15 +737,15 @@ A0630001 1C870006
3B9CFFF9 9B9E0000 3B9CFFF9 9B9E0000
7FA3EB78 3D808034 7FA3EB78 3D808034
618C738C 7D8903A6 618C738C 7D8903A6
4E800421 BA810008 4E800421 BA8100B0
800100B4 382100B0 800100E4 382100E0
7C0803A6 00000000 7C0803A6 00000000
C2088224 0000001D #Playback/Core/Sounds/NoDestroyVoice.asm C2088224 0000001D #Playback/Core/Sounds/NoDestroyVoice.asm
3C608048 80639D30 3C608048 80639D30
5463443E 2C03010E 5463443E 2C03010E
408200CC 7C0802A6 408200CC 7C0802A6
90010004 9421FF50 90010004 9421FF20
BE810008 83EDB64C BE8100B0 83EDB64C
3BBF001C 57DE043E 3BBF001C 57DE043E
8B9D0000 3C608048 8B9D0000 3C608048
80639D60 809F056B 80639D60 809F056B
@ -758,20 +762,20 @@ BE810008 83EDB64C
7C1E1800 41820018 7C1E1800 41820018
39080001 88660000 39080001 88660000
7C081800 4180FFDC 7C081800 4180FFDC
48000024 BA810008 48000024 BA8100B0
800100B4 382100B0 800100E4 382100E0
7C0803A6 3D808008 7C0803A6 3D808008
618C8244 7D8903A6 618C8244 7D8903A6
4E800420 BA810008 4E800420 BA8100B0
800100B4 382100B0 800100E4 382100E0
7C0803A6 387F0000 7C0803A6 387F0000
60000000 00000000 60000000 00000000
C20882B0 0000001D #Playback/Core/Sounds/NoDestroyVoice2.asm C20882B0 0000001D #Playback/Core/Sounds/NoDestroyVoice2.asm
3C608048 80639D30 3C608048 80639D30
5463443E 2C03010E 5463443E 2C03010E
408200CC 7C0802A6 408200CC 7C0802A6
90010004 9421FF50 90010004 9421FF20
BE810008 83EDB64C BE8100B0 83EDB64C
3BBF001C 57DE043E 3BBF001C 57DE043E
8B9D0000 3C608048 8B9D0000 3C608048
80639D60 809F056B 80639D60 809F056B
@ -788,20 +792,20 @@ BE810008 83EDB64C
7C1E1800 41820018 7C1E1800 41820018
39080001 88660000 39080001 88660000
7C081800 4180FFDC 7C081800 4180FFDC
48000024 BA810008 48000024 BA8100B0
800100B4 382100B0 800100E4 382100E0
7C0803A6 3D808008 7C0803A6 3D808008
618C82D0 7D8903A6 618C82D0 7D8903A6
4E800420 BA810008 4E800420 BA8100B0
800100B4 382100B0 800100E4 382100E0
7C0803A6 387F0000 7C0803A6 387F0000
60000000 00000000 60000000 00000000
C238D0B0 00000027 #Playback/Core/Sounds/PreventDuplicateSounds.asm C238D0B0 00000027 #Playback/Core/Sounds/PreventDuplicateSounds.asm
3C608048 80639D30 3C608048 80639D30
5463443E 2C03010E 5463443E 2C03010E
40820120 7C0802A6 40820120 7C0802A6
90010004 9421FF50 90010004 9421FF20
BE810008 83EDB64C BE8100B0 83EDB64C
3BDF001C 3BA00000 3BDF001C 3BA00000
3B400000 56FB043E 3B400000 56FB043E
8B9E0000 3C608048 8B9E0000 3C608048
@ -829,12 +833,12 @@ B3650000 93450002
88660000 38630001 88660000 38630001
98660000 2C1D0000 98660000 2C1D0000
41820028 7F43D378 41820028 7F43D378
BA810008 800100B4 BA8100B0 800100E4
382100B0 7C0803A6 382100E0 7C0803A6
3D808038 618CD2A0 3D808038 618CD2A0
7D8903A6 4E800420 7D8903A6 4E800420
BA810008 800100B4 BA8100B0 800100E4
382100B0 7C0803A6 382100E0 7C0803A6
2C1A0000 00000000 2C1A0000 00000000
C216E8C8 00000005 #Playback/Core/Stadium/Enable Home Run Contest Distance.asm C216E8C8 00000005 #Playback/Core/Stadium/Enable Home Run Contest Distance.asm
3D808046 618CDB77 3D808046 618CDB77
@ -844,7 +848,7 @@ C216E8C8 00000005 #Playback/Core/Stadium/Enable Home Run Contest Distance.asm
618C1998 00000000 618C1998 00000000
C20055F8 0000000F #Common/GetIsFollower.asm C20055F8 0000000F #Common/GetIsFollower.asm
7C0802A6 90010004 7C0802A6 90010004
9421FF50 BE810008 9421FF20 BE8100B0
7C7E1B78 3BE00000 7C7E1B78 3BE00000
887E221F 5460EFFF 887E221F 5460EFFF
41820038 887E000C 41820038 887E000C
@ -854,8 +858,8 @@ C20055F8 0000000F #Common/GetIsFollower.asm
1C030003 7C640214 1C030003 7C640214
88030002 2C000000 88030002 2C000000
40820008 3BE00001 40820008 3BE00001
7FE3FB78 BA810008 7FE3FB78 BA8100B0
800100B4 382100B0 800100E4 382100E0
7C0803A6 4E800020 7C0803A6 4E800020
60000000 00000000 60000000 00000000
C216D294 00000006 #Common/IncrementFrameIndex.asm C216D294 00000006 #Common/IncrementFrameIndex.asm
@ -925,16 +929,16 @@ C1C07AE1 3C6F34D7
43160000 3F0A3D71 43160000 3F0A3D71
00000000 4E800021 00000000 4E800021
7C0802A6 90010004 7C0802A6 90010004
9421FF50 BE810008 9421FF20 BE8100B0
7C7F1B78 880DB6CC 7C7F1B78 880DB6CC
2C000001 41820018 2C000001 41820018
7FE3FB78 3D808039 7FE3FB78 3D808039
618C10D8 7D8903A6 618C10D8 7D8903A6
4E800421 BA810008 4E800421 BA8100B0
800100B4 382100B0 800100E4 382100E0
7C0803A6 4E800020 7C0803A6 4E800020
7C0802A6 90010004 7C0802A6 90010004
9421FF50 BE810008 9421FF20 BE8100B0
3C60804D 60636D5C 3C60804D 60636D5C
80630000 3C80803F 80630000 3C80803F
608494D0 3D808038 608494D0 3D808038
@ -1067,8 +1071,8 @@ C8210080 EC211028
C05C0014 EC2100B2 C05C0014 EC2100B2
D036002C 3A940001 D036002C 3A940001
2C140006 4180FCD8 2C140006 4180FCD8
BA810008 800100B4 BA8100B0 800100E4
382100B0 7C0803A6 382100E0 7C0803A6
8001001C 00000000 8001001C 00000000
$Optional: Game Music OFF [UnclePunch] $Optional: Game Music OFF [UnclePunch]
@ -1101,6 +1105,8 @@ C0030000 4800000C
4E800021 40DC7AE1 4E800021 40DC7AE1
60000000 00000000 60000000 00000000
044DDB84 3E89FEFA #External/Widescreen/Nametag Fixes/Adjust Nametag Text X Scale.asm 044DDB84 3E89FEFA #External/Widescreen/Nametag Fixes/Adjust Nametag Text X Scale.asm
043761EC 4800001C #Normal Lag Reduction [Hannes Mann]
04376238 48000018
$Optional: Disable Screen Shake [Achilles1515] $Optional: Disable Screen Shake [Achilles1515]
*Disables all screen shaking *Disables all screen shaking

View file

@ -179,6 +179,8 @@ Options:
Set a configuration option Set a configuration option
-s <file>, --save_state=<file> -s <file>, --save_state=<file>
Load the initial save state Load the initial save state
-i <file>, --slippi_input=<file>
Load replay
-d, --debugger Show the debugger pane and additional View menu options -d, --debugger Show the debugger pane and additional View menu options
-l, --logger Open the logger -l, --logger Open the logger
-b, --batch Run Dolphin without the user interface (Requires -b, --batch Run Dolphin without the user interface (Requires

View file

@ -18,9 +18,9 @@ namespace Common
#endif #endif
#ifndef IS_PLAYBACK #ifndef IS_PLAYBACK
#define SLIPPI_REV_STR "2.4.0" // netplay version #define SLIPPI_REV_STR "3.1.0" // netplay version
#else #else
#define SLIPPI_REV_STR "2.4.1" // playback version #define SLIPPI_REV_STR "3.1.0" // playback version
#endif #endif
const std::string& GetSemVerStr() const std::string& GetSemVerStr()

View file

@ -788,7 +788,7 @@ void CEXISlippi::prepareGameInfo(u8* payload)
if (replayCommSettings.rollbackDisplayMethod == "off" && if (replayCommSettings.rollbackDisplayMethod == "off" &&
(replayCommSettings.mode == "normal" || replayCommSettings.mode == "queue")) (replayCommSettings.mode == "normal" || replayCommSettings.mode == "queue"))
{ {
g_playbackStatus->startThreads(); // g_playbackStatus->startThreads();
} }
} }

View file

@ -15,6 +15,7 @@
#include "Common/FileUtil.h" #include "Common/FileUtil.h"
#include "Common/IniFile.h" #include "Common/IniFile.h"
#include "Common/StringUtil.h" #include "Common/StringUtil.h"
#include "Core/Config/Mainsettings.h"
#include "Core/ConfigManager.h" #include "Core/ConfigManager.h"
#include "InputCommon/ControllerEmu/Control/Input.h" #include "InputCommon/ControllerEmu/Control/Input.h"
@ -475,9 +476,9 @@ void HotkeyManager::LoadDefaults(const ControllerInterface& ciface)
set_key_expression(HK_UNDO_LOAD_STATE, "F12"); set_key_expression(HK_UNDO_LOAD_STATE, "F12");
set_key_expression(HK_UNDO_SAVE_STATE, hotkey_string({"Shift", "F12"})); set_key_expression(HK_UNDO_SAVE_STATE, hotkey_string({"Shift", "F12"}));
// Slippi Playback // Slippi Playback
#ifdef IS_PLAYBACK #ifdef IS_PLAYBACK
if (SConfig::GetInstance().m_slippiEnableSeek) if (Config::Get(Config::SLIPPI_ENABLE_SEEK))
{ {
#ifdef _WIN32 #ifdef _WIN32
@ -502,31 +503,32 @@ void HotkeyManager::LoadDefaults(const ControllerInterface& ciface)
set_key_expression(HK_SLIPPI_STEP_FORWARD, "`Right`"); set_key_expression(HK_SLIPPI_STEP_FORWARD, "`Right`");
set_key_expression(HK_SLIPPI_JUMP_FORWARD, hotkey_string({"Shift", "`Right`"})); set_key_expression(HK_SLIPPI_JUMP_FORWARD, hotkey_string({"Shift", "`Right`"}));
#endif #endif
}
#endif #endif
// GBA // GBA
set_key_expression(HK_GBA_LOAD, hotkey_string({"`Ctrl`", "`Shift`", "`O`"})); set_key_expression(HK_GBA_LOAD, hotkey_string({"`Ctrl`", "`Shift`", "`O`"}));
set_key_expression(HK_GBA_UNLOAD, hotkey_string({"`Ctrl`", "`Shift`", "`W`"})); set_key_expression(HK_GBA_UNLOAD, hotkey_string({"`Ctrl`", "`Shift`", "`W`"}));
set_key_expression(HK_GBA_RESET, hotkey_string({"`Ctrl`", "`Shift`", "`R`"})); set_key_expression(HK_GBA_RESET, hotkey_string({"`Ctrl`", "`Shift`", "`R`"}));
#ifdef _WIN32 #ifdef _WIN32
set_key_expression(HK_GBA_VOLUME_DOWN, "`SUBTRACT`"); set_key_expression(HK_GBA_VOLUME_DOWN, "`SUBTRACT`");
set_key_expression(HK_GBA_VOLUME_UP, "`ADD`"); set_key_expression(HK_GBA_VOLUME_UP, "`ADD`");
#else #else
set_key_expression(HK_GBA_VOLUME_DOWN, "`KP_Subtract`"); set_key_expression(HK_GBA_VOLUME_DOWN, "`KP_Subtract`");
set_key_expression(HK_GBA_VOLUME_UP, "`KP_Add`"); set_key_expression(HK_GBA_VOLUME_UP, "`KP_Add`");
#endif #endif
set_key_expression(HK_GBA_TOGGLE_MUTE, "`M`"); set_key_expression(HK_GBA_TOGGLE_MUTE, "`M`");
#ifdef _WIN32 #ifdef _WIN32
set_key_expression(HK_GBA_1X, "`NUMPAD1`"); set_key_expression(HK_GBA_1X, "`NUMPAD1`");
set_key_expression(HK_GBA_2X, "`NUMPAD2`"); set_key_expression(HK_GBA_2X, "`NUMPAD2`");
set_key_expression(HK_GBA_3X, "`NUMPAD3`"); set_key_expression(HK_GBA_3X, "`NUMPAD3`");
set_key_expression(HK_GBA_4X, "`NUMPAD4`"); set_key_expression(HK_GBA_4X, "`NUMPAD4`");
#else #else
set_key_expression(HK_GBA_1X, "`KP_1`"); set_key_expression(HK_GBA_1X, "`KP_1`");
set_key_expression(HK_GBA_2X, "`KP_2`"); set_key_expression(HK_GBA_2X, "`KP_2`");
set_key_expression(HK_GBA_3X, "`KP_3`"); set_key_expression(HK_GBA_3X, "`KP_3`");
set_key_expression(HK_GBA_4X, "`KP_4`"); set_key_expression(HK_GBA_4X, "`KP_4`");
#endif #endif
} }

View file

@ -264,6 +264,7 @@ std::string SlippiUser::getUserFilePath()
File::GetBundleDirectory() + "/Contents/Resources" + DIR_SEP + "user.json"; File::GetBundleDirectory() + "/Contents/Resources" + DIR_SEP + "user.json";
#else #else
std::string user_file_path = File::GetUserPath(F_USERJSON_IDX); std::string user_file_path = File::GetUserPath(F_USERJSON_IDX);
INFO_LOG_FMT(SLIPPI, "{}", user_file_path);
#endif #endif
return user_file_path; return user_file_path;
} }

View file

@ -122,10 +122,18 @@ void Host_TitleChanged()
#endif #endif
} }
void Host_LowerWindow() {} void Host_LowerWindow()
void Host_Exit() {} {
void Host_PlaybackSeek() {} }
void Host_Fullscreen() {} void Host_Exit()
{
}
void Host_PlaybackSeek()
{
}
void Host_Fullscreen()
{
}
void Host_UpdateDiscordClientID(const std::string& client_id) void Host_UpdateDiscordClientID(const std::string& client_id)
{ {
#ifdef USE_DISCORD_PRESENCE #ifdef USE_DISCORD_PRESENCE
@ -264,7 +272,7 @@ int main(int argc, char* argv[])
if (options.is_set("slippi_input")) if (options.is_set("slippi_input"))
{ {
slippi_input_path = static_cast<const char*>(options.get("slippi_input")); slippi_input_path = static_cast<const char*>(options.get("slippi_input"));
SConfig::GetInstance().m_strSlippiInput = slippi_input_path.value(); SConfig::GetSlippiConfig().slippi_input = slippi_input_path.value();
} }
#endif #endif

View file

@ -171,7 +171,7 @@ void SlippiPane::CreateLayout()
auto* playback_settings = new QGroupBox(tr("Playback Settings")); auto* playback_settings = new QGroupBox(tr("Playback Settings"));
auto* playback_settings_layout = new QVBoxLayout(); auto* playback_settings_layout = new QVBoxLayout();
playback_settings->setLayout(playback_settings_layout); playback_settings->setLayout(playback_settings_layout);
layout->addWidget(playback_settings); m_main_layout->addWidget(playback_settings);
auto* enable_playback_seek_checkbox = new QCheckBox(tr("Enable Seekbar")); auto* enable_playback_seek_checkbox = new QCheckBox(tr("Enable Seekbar"));
char seekbarTooltip[] = "<html><head/><body><p>Enables video player style controls while " char seekbarTooltip[] = "<html><head/><body><p>Enables video player style controls while "
@ -182,9 +182,9 @@ void SlippiPane::CreateLayout()
"Period (while paused): Advance one frame"; "Period (while paused): Advance one frame";
enable_playback_seek_checkbox->setToolTip(tr(seekbarTooltip)); enable_playback_seek_checkbox->setToolTip(tr(seekbarTooltip));
playback_settings_layout->addWidget(enable_playback_seek_checkbox); playback_settings_layout->addWidget(enable_playback_seek_checkbox);
enable_playback_seek_checkbox->setChecked(SConfig::GetInstance().m_slippiEnableSeek); enable_playback_seek_checkbox->setChecked(Config::Get(Config::SLIPPI_ENABLE_SEEK));
connect(enable_playback_seek_checkbox, &QCheckBox::toggled, this, connect(enable_playback_seek_checkbox, &QCheckBox::toggled, this,
[](bool checked) { SConfig::GetInstance().m_slippiEnableSeek = checked; }); [](bool checked) { Config::SetBaseOrCurrent(Config::SLIPPI_ENABLE_SEEK, checked); });
#endif #endif
} }

View file

@ -1,684 +0,0 @@
// Generated by https://github.com/juliettef/IconFontCppHeaders script GenerateIconFontCppHeaders.py for language C++11
// from https://raw.githubusercontent.com/FortAwesome/Font-Awesome/fa-4/src/icons.yml
// for use with https://github.com/FortAwesome/Font-Awesome/blob/fa-4/fonts/fontawesome-webfont.ttf
#pragma once
#define FONT_ICON_FILE_NAME_FA "fontawesome-webfont.ttf"
#define ICON_MIN_FA 0xf000
#define ICON_MAX_FA 0xf2e0
#define ICON_FA_GLASS u8"\uf000"
#define ICON_FA_MUSIC u8"\uf001"
#define ICON_FA_SEARCH u8"\uf002"
#define ICON_FA_ENVELOPE_O u8"\uf003"
#define ICON_FA_HEART u8"\uf004"
#define ICON_FA_STAR u8"\uf005"
#define ICON_FA_STAR_O u8"\uf006"
#define ICON_FA_USER u8"\uf007"
#define ICON_FA_FILM u8"\uf008"
#define ICON_FA_TH_LARGE u8"\uf009"
#define ICON_FA_TH u8"\uf00a"
#define ICON_FA_TH_LIST u8"\uf00b"
#define ICON_FA_CHECK u8"\uf00c"
#define ICON_FA_TIMES u8"\uf00d"
#define ICON_FA_SEARCH_PLUS u8"\uf00e"
#define ICON_FA_SEARCH_MINUS u8"\uf010"
#define ICON_FA_POWER_OFF u8"\uf011"
#define ICON_FA_SIGNAL u8"\uf012"
#define ICON_FA_COG u8"\uf013"
#define ICON_FA_TRASH_O u8"\uf014"
#define ICON_FA_HOME u8"\uf015"
#define ICON_FA_FILE_O u8"\uf016"
#define ICON_FA_CLOCK_O u8"\uf017"
#define ICON_FA_ROAD u8"\uf018"
#define ICON_FA_DOWNLOAD u8"\uf019"
#define ICON_FA_ARROW_CIRCLE_O_DOWN u8"\uf01a"
#define ICON_FA_ARROW_CIRCLE_O_UP u8"\uf01b"
#define ICON_FA_INBOX u8"\uf01c"
#define ICON_FA_PLAY_CIRCLE_O u8"\uf01d"
#define ICON_FA_REPEAT u8"\uf01e"
#define ICON_FA_REFRESH u8"\uf021"
#define ICON_FA_LIST_ALT u8"\uf022"
#define ICON_FA_LOCK u8"\uf023"
#define ICON_FA_FLAG u8"\uf024"
#define ICON_FA_HEADPHONES u8"\uf025"
#define ICON_FA_VOLUME_OFF u8"\uf026"
#define ICON_FA_VOLUME_DOWN u8"\uf027"
#define ICON_FA_VOLUME_UP u8"\uf028"
#define ICON_FA_QRCODE u8"\uf029"
#define ICON_FA_BARCODE u8"\uf02a"
#define ICON_FA_TAG u8"\uf02b"
#define ICON_FA_TAGS u8"\uf02c"
#define ICON_FA_BOOK u8"\uf02d"
#define ICON_FA_BOOKMARK u8"\uf02e"
#define ICON_FA_PRINT u8"\uf02f"
#define ICON_FA_CAMERA u8"\uf030"
#define ICON_FA_FONT u8"\uf031"
#define ICON_FA_BOLD u8"\uf032"
#define ICON_FA_ITALIC u8"\uf033"
#define ICON_FA_TEXT_HEIGHT u8"\uf034"
#define ICON_FA_TEXT_WIDTH u8"\uf035"
#define ICON_FA_ALIGN_LEFT u8"\uf036"
#define ICON_FA_ALIGN_CENTER u8"\uf037"
#define ICON_FA_ALIGN_RIGHT u8"\uf038"
#define ICON_FA_ALIGN_JUSTIFY u8"\uf039"
#define ICON_FA_LIST u8"\uf03a"
#define ICON_FA_OUTDENT u8"\uf03b"
#define ICON_FA_INDENT u8"\uf03c"
#define ICON_FA_VIDEO_CAMERA u8"\uf03d"
#define ICON_FA_PICTURE_O u8"\uf03e"
#define ICON_FA_PENCIL u8"\uf040"
#define ICON_FA_MAP_MARKER u8"\uf041"
#define ICON_FA_ADJUST u8"\uf042"
#define ICON_FA_TINT u8"\uf043"
#define ICON_FA_PENCIL_SQUARE_O u8"\uf044"
#define ICON_FA_SHARE_SQUARE_O u8"\uf045"
#define ICON_FA_CHECK_SQUARE_O u8"\uf046"
#define ICON_FA_ARROWS u8"\uf047"
#define ICON_FA_STEP_BACKWARD u8"\uf048"
#define ICON_FA_FAST_BACKWARD u8"\uf049"
#define ICON_FA_BACKWARD u8"\uf04a"
#define ICON_FA_PLAY u8"\uf04b"
#define ICON_FA_PAUSE u8"\uf04c"
#define ICON_FA_STOP u8"\uf04d"
#define ICON_FA_FORWARD u8"\uf04e"
#define ICON_FA_FAST_FORWARD u8"\uf050"
#define ICON_FA_STEP_FORWARD u8"\uf051"
#define ICON_FA_EJECT u8"\uf052"
#define ICON_FA_CHEVRON_LEFT u8"\uf053"
#define ICON_FA_CHEVRON_RIGHT u8"\uf054"
#define ICON_FA_PLUS_CIRCLE u8"\uf055"
#define ICON_FA_MINUS_CIRCLE u8"\uf056"
#define ICON_FA_TIMES_CIRCLE u8"\uf057"
#define ICON_FA_CHECK_CIRCLE u8"\uf058"
#define ICON_FA_QUESTION_CIRCLE u8"\uf059"
#define ICON_FA_INFO_CIRCLE u8"\uf05a"
#define ICON_FA_CROSSHAIRS u8"\uf05b"
#define ICON_FA_TIMES_CIRCLE_O u8"\uf05c"
#define ICON_FA_CHECK_CIRCLE_O u8"\uf05d"
#define ICON_FA_BAN u8"\uf05e"
#define ICON_FA_ARROW_LEFT u8"\uf060"
#define ICON_FA_ARROW_RIGHT u8"\uf061"
#define ICON_FA_ARROW_UP u8"\uf062"
#define ICON_FA_ARROW_DOWN u8"\uf063"
#define ICON_FA_SHARE u8"\uf064"
#define ICON_FA_EXPAND u8"\uf065"
#define ICON_FA_COMPRESS u8"\uf066"
#define ICON_FA_PLUS u8"\uf067"
#define ICON_FA_MINUS u8"\uf068"
#define ICON_FA_ASTERISK u8"\uf069"
#define ICON_FA_EXCLAMATION_CIRCLE u8"\uf06a"
#define ICON_FA_GIFT u8"\uf06b"
#define ICON_FA_LEAF u8"\uf06c"
#define ICON_FA_FIRE u8"\uf06d"
#define ICON_FA_EYE u8"\uf06e"
#define ICON_FA_EYE_SLASH u8"\uf070"
#define ICON_FA_EXCLAMATION_TRIANGLE u8"\uf071"
#define ICON_FA_PLANE u8"\uf072"
#define ICON_FA_CALENDAR u8"\uf073"
#define ICON_FA_RANDOM u8"\uf074"
#define ICON_FA_COMMENT u8"\uf075"
#define ICON_FA_MAGNET u8"\uf076"
#define ICON_FA_CHEVRON_UP u8"\uf077"
#define ICON_FA_CHEVRON_DOWN u8"\uf078"
#define ICON_FA_RETWEET u8"\uf079"
#define ICON_FA_SHOPPING_CART u8"\uf07a"
#define ICON_FA_FOLDER u8"\uf07b"
#define ICON_FA_FOLDER_OPEN u8"\uf07c"
#define ICON_FA_ARROWS_V u8"\uf07d"
#define ICON_FA_ARROWS_H u8"\uf07e"
#define ICON_FA_BAR_CHART u8"\uf080"
#define ICON_FA_TWITTER_SQUARE u8"\uf081"
#define ICON_FA_FACEBOOK_SQUARE u8"\uf082"
#define ICON_FA_CAMERA_RETRO u8"\uf083"
#define ICON_FA_KEY u8"\uf084"
#define ICON_FA_COGS u8"\uf085"
#define ICON_FA_COMMENTS u8"\uf086"
#define ICON_FA_THUMBS_O_UP u8"\uf087"
#define ICON_FA_THUMBS_O_DOWN u8"\uf088"
#define ICON_FA_STAR_HALF u8"\uf089"
#define ICON_FA_HEART_O u8"\uf08a"
#define ICON_FA_SIGN_OUT u8"\uf08b"
#define ICON_FA_LINKEDIN_SQUARE u8"\uf08c"
#define ICON_FA_THUMB_TACK u8"\uf08d"
#define ICON_FA_EXTERNAL_LINK u8"\uf08e"
#define ICON_FA_SIGN_IN u8"\uf090"
#define ICON_FA_TROPHY u8"\uf091"
#define ICON_FA_GITHUB_SQUARE u8"\uf092"
#define ICON_FA_UPLOAD u8"\uf093"
#define ICON_FA_LEMON_O u8"\uf094"
#define ICON_FA_PHONE u8"\uf095"
#define ICON_FA_SQUARE_O u8"\uf096"
#define ICON_FA_BOOKMARK_O u8"\uf097"
#define ICON_FA_PHONE_SQUARE u8"\uf098"
#define ICON_FA_TWITTER u8"\uf099"
#define ICON_FA_FACEBOOK u8"\uf09a"
#define ICON_FA_GITHUB u8"\uf09b"
#define ICON_FA_UNLOCK u8"\uf09c"
#define ICON_FA_CREDIT_CARD u8"\uf09d"
#define ICON_FA_RSS u8"\uf09e"
#define ICON_FA_HDD_O u8"\uf0a0"
#define ICON_FA_BULLHORN u8"\uf0a1"
#define ICON_FA_BELL u8"\uf0f3"
#define ICON_FA_CERTIFICATE u8"\uf0a3"
#define ICON_FA_HAND_O_RIGHT u8"\uf0a4"
#define ICON_FA_HAND_O_LEFT u8"\uf0a5"
#define ICON_FA_HAND_O_UP u8"\uf0a6"
#define ICON_FA_HAND_O_DOWN u8"\uf0a7"
#define ICON_FA_ARROW_CIRCLE_LEFT u8"\uf0a8"
#define ICON_FA_ARROW_CIRCLE_RIGHT u8"\uf0a9"
#define ICON_FA_ARROW_CIRCLE_UP u8"\uf0aa"
#define ICON_FA_ARROW_CIRCLE_DOWN u8"\uf0ab"
#define ICON_FA_GLOBE u8"\uf0ac"
#define ICON_FA_WRENCH u8"\uf0ad"
#define ICON_FA_TASKS u8"\uf0ae"
#define ICON_FA_FILTER u8"\uf0b0"
#define ICON_FA_BRIEFCASE u8"\uf0b1"
#define ICON_FA_ARROWS_ALT u8"\uf0b2"
#define ICON_FA_USERS u8"\uf0c0"
#define ICON_FA_LINK u8"\uf0c1"
#define ICON_FA_CLOUD u8"\uf0c2"
#define ICON_FA_FLASK u8"\uf0c3"
#define ICON_FA_SCISSORS u8"\uf0c4"
#define ICON_FA_FILES_O u8"\uf0c5"
#define ICON_FA_PAPERCLIP u8"\uf0c6"
#define ICON_FA_FLOPPY_O u8"\uf0c7"
#define ICON_FA_SQUARE u8"\uf0c8"
#define ICON_FA_BARS u8"\uf0c9"
#define ICON_FA_LIST_UL u8"\uf0ca"
#define ICON_FA_LIST_OL u8"\uf0cb"
#define ICON_FA_STRIKETHROUGH u8"\uf0cc"
#define ICON_FA_UNDERLINE u8"\uf0cd"
#define ICON_FA_TABLE u8"\uf0ce"
#define ICON_FA_MAGIC u8"\uf0d0"
#define ICON_FA_TRUCK u8"\uf0d1"
#define ICON_FA_PINTEREST u8"\uf0d2"
#define ICON_FA_PINTEREST_SQUARE u8"\uf0d3"
#define ICON_FA_GOOGLE_PLUS_SQUARE u8"\uf0d4"
#define ICON_FA_GOOGLE_PLUS u8"\uf0d5"
#define ICON_FA_MONEY u8"\uf0d6"
#define ICON_FA_CARET_DOWN u8"\uf0d7"
#define ICON_FA_CARET_UP u8"\uf0d8"
#define ICON_FA_CARET_LEFT u8"\uf0d9"
#define ICON_FA_CARET_RIGHT u8"\uf0da"
#define ICON_FA_COLUMNS u8"\uf0db"
#define ICON_FA_SORT u8"\uf0dc"
#define ICON_FA_SORT_DESC u8"\uf0dd"
#define ICON_FA_SORT_ASC u8"\uf0de"
#define ICON_FA_ENVELOPE u8"\uf0e0"
#define ICON_FA_LINKEDIN u8"\uf0e1"
#define ICON_FA_UNDO u8"\uf0e2"
#define ICON_FA_GAVEL u8"\uf0e3"
#define ICON_FA_TACHOMETER u8"\uf0e4"
#define ICON_FA_COMMENT_O u8"\uf0e5"
#define ICON_FA_COMMENTS_O u8"\uf0e6"
#define ICON_FA_BOLT u8"\uf0e7"
#define ICON_FA_SITEMAP u8"\uf0e8"
#define ICON_FA_UMBRELLA u8"\uf0e9"
#define ICON_FA_CLIPBOARD u8"\uf0ea"
#define ICON_FA_LIGHTBULB_O u8"\uf0eb"
#define ICON_FA_EXCHANGE u8"\uf0ec"
#define ICON_FA_CLOUD_DOWNLOAD u8"\uf0ed"
#define ICON_FA_CLOUD_UPLOAD u8"\uf0ee"
#define ICON_FA_USER_MD u8"\uf0f0"
#define ICON_FA_STETHOSCOPE u8"\uf0f1"
#define ICON_FA_SUITCASE u8"\uf0f2"
#define ICON_FA_BELL_O u8"\uf0a2"
#define ICON_FA_COFFEE u8"\uf0f4"
#define ICON_FA_CUTLERY u8"\uf0f5"
#define ICON_FA_FILE_TEXT_O u8"\uf0f6"
#define ICON_FA_BUILDING_O u8"\uf0f7"
#define ICON_FA_HOSPITAL_O u8"\uf0f8"
#define ICON_FA_AMBULANCE u8"\uf0f9"
#define ICON_FA_MEDKIT u8"\uf0fa"
#define ICON_FA_FIGHTER_JET u8"\uf0fb"
#define ICON_FA_BEER u8"\uf0fc"
#define ICON_FA_H_SQUARE u8"\uf0fd"
#define ICON_FA_PLUS_SQUARE u8"\uf0fe"
#define ICON_FA_ANGLE_DOUBLE_LEFT u8"\uf100"
#define ICON_FA_ANGLE_DOUBLE_RIGHT u8"\uf101"
#define ICON_FA_ANGLE_DOUBLE_UP u8"\uf102"
#define ICON_FA_ANGLE_DOUBLE_DOWN u8"\uf103"
#define ICON_FA_ANGLE_LEFT u8"\uf104"
#define ICON_FA_ANGLE_RIGHT u8"\uf105"
#define ICON_FA_ANGLE_UP u8"\uf106"
#define ICON_FA_ANGLE_DOWN u8"\uf107"
#define ICON_FA_DESKTOP u8"\uf108"
#define ICON_FA_LAPTOP u8"\uf109"
#define ICON_FA_TABLET u8"\uf10a"
#define ICON_FA_MOBILE u8"\uf10b"
#define ICON_FA_CIRCLE_O u8"\uf10c"
#define ICON_FA_QUOTE_LEFT u8"\uf10d"
#define ICON_FA_QUOTE_RIGHT u8"\uf10e"
#define ICON_FA_SPINNER u8"\uf110"
#define ICON_FA_CIRCLE u8"\uf111"
#define ICON_FA_REPLY u8"\uf112"
#define ICON_FA_GITHUB_ALT u8"\uf113"
#define ICON_FA_FOLDER_O u8"\uf114"
#define ICON_FA_FOLDER_OPEN_O u8"\uf115"
#define ICON_FA_SMILE_O u8"\uf118"
#define ICON_FA_FROWN_O u8"\uf119"
#define ICON_FA_MEH_O u8"\uf11a"
#define ICON_FA_GAMEPAD u8"\uf11b"
#define ICON_FA_KEYBOARD_O u8"\uf11c"
#define ICON_FA_FLAG_O u8"\uf11d"
#define ICON_FA_FLAG_CHECKERED u8"\uf11e"
#define ICON_FA_TERMINAL u8"\uf120"
#define ICON_FA_CODE u8"\uf121"
#define ICON_FA_REPLY_ALL u8"\uf122"
#define ICON_FA_STAR_HALF_O u8"\uf123"
#define ICON_FA_LOCATION_ARROW u8"\uf124"
#define ICON_FA_CROP u8"\uf125"
#define ICON_FA_CODE_FORK u8"\uf126"
#define ICON_FA_CHAIN_BROKEN u8"\uf127"
#define ICON_FA_QUESTION u8"\uf128"
#define ICON_FA_INFO u8"\uf129"
#define ICON_FA_EXCLAMATION u8"\uf12a"
#define ICON_FA_SUPERSCRIPT u8"\uf12b"
#define ICON_FA_SUBSCRIPT u8"\uf12c"
#define ICON_FA_ERASER u8"\uf12d"
#define ICON_FA_PUZZLE_PIECE u8"\uf12e"
#define ICON_FA_MICROPHONE u8"\uf130"
#define ICON_FA_MICROPHONE_SLASH u8"\uf131"
#define ICON_FA_SHIELD u8"\uf132"
#define ICON_FA_CALENDAR_O u8"\uf133"
#define ICON_FA_FIRE_EXTINGUISHER u8"\uf134"
#define ICON_FA_ROCKET u8"\uf135"
#define ICON_FA_MAXCDN u8"\uf136"
#define ICON_FA_CHEVRON_CIRCLE_LEFT u8"\uf137"
#define ICON_FA_CHEVRON_CIRCLE_RIGHT u8"\uf138"
#define ICON_FA_CHEVRON_CIRCLE_UP u8"\uf139"
#define ICON_FA_CHEVRON_CIRCLE_DOWN u8"\uf13a"
#define ICON_FA_HTML5 u8"\uf13b"
#define ICON_FA_CSS3 u8"\uf13c"
#define ICON_FA_ANCHOR u8"\uf13d"
#define ICON_FA_UNLOCK_ALT u8"\uf13e"
#define ICON_FA_BULLSEYE u8"\uf140"
#define ICON_FA_ELLIPSIS_H u8"\uf141"
#define ICON_FA_ELLIPSIS_V u8"\uf142"
#define ICON_FA_RSS_SQUARE u8"\uf143"
#define ICON_FA_PLAY_CIRCLE u8"\uf144"
#define ICON_FA_TICKET u8"\uf145"
#define ICON_FA_MINUS_SQUARE u8"\uf146"
#define ICON_FA_MINUS_SQUARE_O u8"\uf147"
#define ICON_FA_LEVEL_UP u8"\uf148"
#define ICON_FA_LEVEL_DOWN u8"\uf149"
#define ICON_FA_CHECK_SQUARE u8"\uf14a"
#define ICON_FA_PENCIL_SQUARE u8"\uf14b"
#define ICON_FA_EXTERNAL_LINK_SQUARE u8"\uf14c"
#define ICON_FA_SHARE_SQUARE u8"\uf14d"
#define ICON_FA_COMPASS u8"\uf14e"
#define ICON_FA_CARET_SQUARE_O_DOWN u8"\uf150"
#define ICON_FA_CARET_SQUARE_O_UP u8"\uf151"
#define ICON_FA_CARET_SQUARE_O_RIGHT u8"\uf152"
#define ICON_FA_EUR u8"\uf153"
#define ICON_FA_GBP u8"\uf154"
#define ICON_FA_USD u8"\uf155"
#define ICON_FA_INR u8"\uf156"
#define ICON_FA_JPY u8"\uf157"
#define ICON_FA_RUB u8"\uf158"
#define ICON_FA_KRW u8"\uf159"
#define ICON_FA_BTC u8"\uf15a"
#define ICON_FA_FILE u8"\uf15b"
#define ICON_FA_FILE_TEXT u8"\uf15c"
#define ICON_FA_SORT_ALPHA_ASC u8"\uf15d"
#define ICON_FA_SORT_ALPHA_DESC u8"\uf15e"
#define ICON_FA_SORT_AMOUNT_ASC u8"\uf160"
#define ICON_FA_SORT_AMOUNT_DESC u8"\uf161"
#define ICON_FA_SORT_NUMERIC_ASC u8"\uf162"
#define ICON_FA_SORT_NUMERIC_DESC u8"\uf163"
#define ICON_FA_THUMBS_UP u8"\uf164"
#define ICON_FA_THUMBS_DOWN u8"\uf165"
#define ICON_FA_YOUTUBE_SQUARE u8"\uf166"
#define ICON_FA_YOUTUBE u8"\uf167"
#define ICON_FA_XING u8"\uf168"
#define ICON_FA_XING_SQUARE u8"\uf169"
#define ICON_FA_YOUTUBE_PLAY u8"\uf16a"
#define ICON_FA_DROPBOX u8"\uf16b"
#define ICON_FA_STACK_OVERFLOW u8"\uf16c"
#define ICON_FA_INSTAGRAM u8"\uf16d"
#define ICON_FA_FLICKR u8"\uf16e"
#define ICON_FA_ADN u8"\uf170"
#define ICON_FA_BITBUCKET u8"\uf171"
#define ICON_FA_BITBUCKET_SQUARE u8"\uf172"
#define ICON_FA_TUMBLR u8"\uf173"
#define ICON_FA_TUMBLR_SQUARE u8"\uf174"
#define ICON_FA_LONG_ARROW_DOWN u8"\uf175"
#define ICON_FA_LONG_ARROW_UP u8"\uf176"
#define ICON_FA_LONG_ARROW_LEFT u8"\uf177"
#define ICON_FA_LONG_ARROW_RIGHT u8"\uf178"
#define ICON_FA_APPLE u8"\uf179"
#define ICON_FA_WINDOWS u8"\uf17a"
#define ICON_FA_ANDROID u8"\uf17b"
#define ICON_FA_LINUX u8"\uf17c"
#define ICON_FA_DRIBBBLE u8"\uf17d"
#define ICON_FA_SKYPE u8"\uf17e"
#define ICON_FA_FOURSQUARE u8"\uf180"
#define ICON_FA_TRELLO u8"\uf181"
#define ICON_FA_FEMALE u8"\uf182"
#define ICON_FA_MALE u8"\uf183"
#define ICON_FA_GRATIPAY u8"\uf184"
#define ICON_FA_SUN_O u8"\uf185"
#define ICON_FA_MOON_O u8"\uf186"
#define ICON_FA_ARCHIVE u8"\uf187"
#define ICON_FA_BUG u8"\uf188"
#define ICON_FA_VK u8"\uf189"
#define ICON_FA_WEIBO u8"\uf18a"
#define ICON_FA_RENREN u8"\uf18b"
#define ICON_FA_PAGELINES u8"\uf18c"
#define ICON_FA_STACK_EXCHANGE u8"\uf18d"
#define ICON_FA_ARROW_CIRCLE_O_RIGHT u8"\uf18e"
#define ICON_FA_ARROW_CIRCLE_O_LEFT u8"\uf190"
#define ICON_FA_CARET_SQUARE_O_LEFT u8"\uf191"
#define ICON_FA_DOT_CIRCLE_O u8"\uf192"
#define ICON_FA_WHEELCHAIR u8"\uf193"
#define ICON_FA_VIMEO_SQUARE u8"\uf194"
#define ICON_FA_TRY u8"\uf195"
#define ICON_FA_PLUS_SQUARE_O u8"\uf196"
#define ICON_FA_SPACE_SHUTTLE u8"\uf197"
#define ICON_FA_SLACK u8"\uf198"
#define ICON_FA_ENVELOPE_SQUARE u8"\uf199"
#define ICON_FA_WORDPRESS u8"\uf19a"
#define ICON_FA_OPENID u8"\uf19b"
#define ICON_FA_UNIVERSITY u8"\uf19c"
#define ICON_FA_GRADUATION_CAP u8"\uf19d"
#define ICON_FA_YAHOO u8"\uf19e"
#define ICON_FA_GOOGLE u8"\uf1a0"
#define ICON_FA_REDDIT u8"\uf1a1"
#define ICON_FA_REDDIT_SQUARE u8"\uf1a2"
#define ICON_FA_STUMBLEUPON_CIRCLE u8"\uf1a3"
#define ICON_FA_STUMBLEUPON u8"\uf1a4"
#define ICON_FA_DELICIOUS u8"\uf1a5"
#define ICON_FA_DIGG u8"\uf1a6"
#define ICON_FA_PIED_PIPER_PP u8"\uf1a7"
#define ICON_FA_PIED_PIPER_ALT u8"\uf1a8"
#define ICON_FA_DRUPAL u8"\uf1a9"
#define ICON_FA_JOOMLA u8"\uf1aa"
#define ICON_FA_LANGUAGE u8"\uf1ab"
#define ICON_FA_FAX u8"\uf1ac"
#define ICON_FA_BUILDING u8"\uf1ad"
#define ICON_FA_CHILD u8"\uf1ae"
#define ICON_FA_PAW u8"\uf1b0"
#define ICON_FA_SPOON u8"\uf1b1"
#define ICON_FA_CUBE u8"\uf1b2"
#define ICON_FA_CUBES u8"\uf1b3"
#define ICON_FA_BEHANCE u8"\uf1b4"
#define ICON_FA_BEHANCE_SQUARE u8"\uf1b5"
#define ICON_FA_STEAM u8"\uf1b6"
#define ICON_FA_STEAM_SQUARE u8"\uf1b7"
#define ICON_FA_RECYCLE u8"\uf1b8"
#define ICON_FA_CAR u8"\uf1b9"
#define ICON_FA_TAXI u8"\uf1ba"
#define ICON_FA_TREE u8"\uf1bb"
#define ICON_FA_SPOTIFY u8"\uf1bc"
#define ICON_FA_DEVIANTART u8"\uf1bd"
#define ICON_FA_SOUNDCLOUD u8"\uf1be"
#define ICON_FA_DATABASE u8"\uf1c0"
#define ICON_FA_FILE_PDF_O u8"\uf1c1"
#define ICON_FA_FILE_WORD_O u8"\uf1c2"
#define ICON_FA_FILE_EXCEL_O u8"\uf1c3"
#define ICON_FA_FILE_POWERPOINT_O u8"\uf1c4"
#define ICON_FA_FILE_IMAGE_O u8"\uf1c5"
#define ICON_FA_FILE_ARCHIVE_O u8"\uf1c6"
#define ICON_FA_FILE_AUDIO_O u8"\uf1c7"
#define ICON_FA_FILE_VIDEO_O u8"\uf1c8"
#define ICON_FA_FILE_CODE_O u8"\uf1c9"
#define ICON_FA_VINE u8"\uf1ca"
#define ICON_FA_CODEPEN u8"\uf1cb"
#define ICON_FA_JSFIDDLE u8"\uf1cc"
#define ICON_FA_LIFE_RING u8"\uf1cd"
#define ICON_FA_CIRCLE_O_NOTCH u8"\uf1ce"
#define ICON_FA_REBEL u8"\uf1d0"
#define ICON_FA_EMPIRE u8"\uf1d1"
#define ICON_FA_GIT_SQUARE u8"\uf1d2"
#define ICON_FA_GIT u8"\uf1d3"
#define ICON_FA_HACKER_NEWS u8"\uf1d4"
#define ICON_FA_TENCENT_WEIBO u8"\uf1d5"
#define ICON_FA_QQ u8"\uf1d6"
#define ICON_FA_WEIXIN u8"\uf1d7"
#define ICON_FA_PAPER_PLANE u8"\uf1d8"
#define ICON_FA_PAPER_PLANE_O u8"\uf1d9"
#define ICON_FA_HISTORY u8"\uf1da"
#define ICON_FA_CIRCLE_THIN u8"\uf1db"
#define ICON_FA_HEADER u8"\uf1dc"
#define ICON_FA_PARAGRAPH u8"\uf1dd"
#define ICON_FA_SLIDERS u8"\uf1de"
#define ICON_FA_SHARE_ALT u8"\uf1e0"
#define ICON_FA_SHARE_ALT_SQUARE u8"\uf1e1"
#define ICON_FA_BOMB u8"\uf1e2"
#define ICON_FA_FUTBOL_O u8"\uf1e3"
#define ICON_FA_TTY u8"\uf1e4"
#define ICON_FA_BINOCULARS u8"\uf1e5"
#define ICON_FA_PLUG u8"\uf1e6"
#define ICON_FA_SLIDESHARE u8"\uf1e7"
#define ICON_FA_TWITCH u8"\uf1e8"
#define ICON_FA_YELP u8"\uf1e9"
#define ICON_FA_NEWSPAPER_O u8"\uf1ea"
#define ICON_FA_WIFI u8"\uf1eb"
#define ICON_FA_CALCULATOR u8"\uf1ec"
#define ICON_FA_PAYPAL u8"\uf1ed"
#define ICON_FA_GOOGLE_WALLET u8"\uf1ee"
#define ICON_FA_CC_VISA u8"\uf1f0"
#define ICON_FA_CC_MASTERCARD u8"\uf1f1"
#define ICON_FA_CC_DISCOVER u8"\uf1f2"
#define ICON_FA_CC_AMEX u8"\uf1f3"
#define ICON_FA_CC_PAYPAL u8"\uf1f4"
#define ICON_FA_CC_STRIPE u8"\uf1f5"
#define ICON_FA_BELL_SLASH u8"\uf1f6"
#define ICON_FA_BELL_SLASH_O u8"\uf1f7"
#define ICON_FA_TRASH u8"\uf1f8"
#define ICON_FA_COPYRIGHT u8"\uf1f9"
#define ICON_FA_AT u8"\uf1fa"
#define ICON_FA_EYEDROPPER u8"\uf1fb"
#define ICON_FA_PAINT_BRUSH u8"\uf1fc"
#define ICON_FA_BIRTHDAY_CAKE u8"\uf1fd"
#define ICON_FA_AREA_CHART u8"\uf1fe"
#define ICON_FA_PIE_CHART u8"\uf200"
#define ICON_FA_LINE_CHART u8"\uf201"
#define ICON_FA_LASTFM u8"\uf202"
#define ICON_FA_LASTFM_SQUARE u8"\uf203"
#define ICON_FA_TOGGLE_OFF u8"\uf204"
#define ICON_FA_TOGGLE_ON u8"\uf205"
#define ICON_FA_BICYCLE u8"\uf206"
#define ICON_FA_BUS u8"\uf207"
#define ICON_FA_IOXHOST u8"\uf208"
#define ICON_FA_ANGELLIST u8"\uf209"
#define ICON_FA_CC u8"\uf20a"
#define ICON_FA_ILS u8"\uf20b"
#define ICON_FA_MEANPATH u8"\uf20c"
#define ICON_FA_BUYSELLADS u8"\uf20d"
#define ICON_FA_CONNECTDEVELOP u8"\uf20e"
#define ICON_FA_DASHCUBE u8"\uf210"
#define ICON_FA_FORUMBEE u8"\uf211"
#define ICON_FA_LEANPUB u8"\uf212"
#define ICON_FA_SELLSY u8"\uf213"
#define ICON_FA_SHIRTSINBULK u8"\uf214"
#define ICON_FA_SIMPLYBUILT u8"\uf215"
#define ICON_FA_SKYATLAS u8"\uf216"
#define ICON_FA_CART_PLUS u8"\uf217"
#define ICON_FA_CART_ARROW_DOWN u8"\uf218"
#define ICON_FA_DIAMOND u8"\uf219"
#define ICON_FA_SHIP u8"\uf21a"
#define ICON_FA_USER_SECRET u8"\uf21b"
#define ICON_FA_MOTORCYCLE u8"\uf21c"
#define ICON_FA_STREET_VIEW u8"\uf21d"
#define ICON_FA_HEARTBEAT u8"\uf21e"
#define ICON_FA_VENUS u8"\uf221"
#define ICON_FA_MARS u8"\uf222"
#define ICON_FA_MERCURY u8"\uf223"
#define ICON_FA_TRANSGENDER u8"\uf224"
#define ICON_FA_TRANSGENDER_ALT u8"\uf225"
#define ICON_FA_VENUS_DOUBLE u8"\uf226"
#define ICON_FA_MARS_DOUBLE u8"\uf227"
#define ICON_FA_VENUS_MARS u8"\uf228"
#define ICON_FA_MARS_STROKE u8"\uf229"
#define ICON_FA_MARS_STROKE_V u8"\uf22a"
#define ICON_FA_MARS_STROKE_H u8"\uf22b"
#define ICON_FA_NEUTER u8"\uf22c"
#define ICON_FA_GENDERLESS u8"\uf22d"
#define ICON_FA_FACEBOOK_OFFICIAL u8"\uf230"
#define ICON_FA_PINTEREST_P u8"\uf231"
#define ICON_FA_WHATSAPP u8"\uf232"
#define ICON_FA_SERVER u8"\uf233"
#define ICON_FA_USER_PLUS u8"\uf234"
#define ICON_FA_USER_TIMES u8"\uf235"
#define ICON_FA_BED u8"\uf236"
#define ICON_FA_VIACOIN u8"\uf237"
#define ICON_FA_TRAIN u8"\uf238"
#define ICON_FA_SUBWAY u8"\uf239"
#define ICON_FA_MEDIUM u8"\uf23a"
#define ICON_FA_Y_COMBINATOR u8"\uf23b"
#define ICON_FA_OPTIN_MONSTER u8"\uf23c"
#define ICON_FA_OPENCART u8"\uf23d"
#define ICON_FA_EXPEDITEDSSL u8"\uf23e"
#define ICON_FA_BATTERY_FULL u8"\uf240"
#define ICON_FA_BATTERY_THREE_QUARTERS u8"\uf241"
#define ICON_FA_BATTERY_HALF u8"\uf242"
#define ICON_FA_BATTERY_QUARTER u8"\uf243"
#define ICON_FA_BATTERY_EMPTY u8"\uf244"
#define ICON_FA_MOUSE_POINTER u8"\uf245"
#define ICON_FA_I_CURSOR u8"\uf246"
#define ICON_FA_OBJECT_GROUP u8"\uf247"
#define ICON_FA_OBJECT_UNGROUP u8"\uf248"
#define ICON_FA_STICKY_NOTE u8"\uf249"
#define ICON_FA_STICKY_NOTE_O u8"\uf24a"
#define ICON_FA_CC_JCB u8"\uf24b"
#define ICON_FA_CC_DINERS_CLUB u8"\uf24c"
#define ICON_FA_CLONE u8"\uf24d"
#define ICON_FA_BALANCE_SCALE u8"\uf24e"
#define ICON_FA_HOURGLASS_O u8"\uf250"
#define ICON_FA_HOURGLASS_START u8"\uf251"
#define ICON_FA_HOURGLASS_HALF u8"\uf252"
#define ICON_FA_HOURGLASS_END u8"\uf253"
#define ICON_FA_HOURGLASS u8"\uf254"
#define ICON_FA_HAND_ROCK_O u8"\uf255"
#define ICON_FA_HAND_PAPER_O u8"\uf256"
#define ICON_FA_HAND_SCISSORS_O u8"\uf257"
#define ICON_FA_HAND_LIZARD_O u8"\uf258"
#define ICON_FA_HAND_SPOCK_O u8"\uf259"
#define ICON_FA_HAND_POINTER_O u8"\uf25a"
#define ICON_FA_HAND_PEACE_O u8"\uf25b"
#define ICON_FA_TRADEMARK u8"\uf25c"
#define ICON_FA_REGISTERED u8"\uf25d"
#define ICON_FA_CREATIVE_COMMONS u8"\uf25e"
#define ICON_FA_GG u8"\uf260"
#define ICON_FA_GG_CIRCLE u8"\uf261"
#define ICON_FA_TRIPADVISOR u8"\uf262"
#define ICON_FA_ODNOKLASSNIKI u8"\uf263"
#define ICON_FA_ODNOKLASSNIKI_SQUARE u8"\uf264"
#define ICON_FA_GET_POCKET u8"\uf265"
#define ICON_FA_WIKIPEDIA_W u8"\uf266"
#define ICON_FA_SAFARI u8"\uf267"
#define ICON_FA_CHROME u8"\uf268"
#define ICON_FA_FIREFOX u8"\uf269"
#define ICON_FA_OPERA u8"\uf26a"
#define ICON_FA_INTERNET_EXPLORER u8"\uf26b"
#define ICON_FA_TELEVISION u8"\uf26c"
#define ICON_FA_CONTAO u8"\uf26d"
#define ICON_FA_500PX u8"\uf26e"
#define ICON_FA_AMAZON u8"\uf270"
#define ICON_FA_CALENDAR_PLUS_O u8"\uf271"
#define ICON_FA_CALENDAR_MINUS_O u8"\uf272"
#define ICON_FA_CALENDAR_TIMES_O u8"\uf273"
#define ICON_FA_CALENDAR_CHECK_O u8"\uf274"
#define ICON_FA_INDUSTRY u8"\uf275"
#define ICON_FA_MAP_PIN u8"\uf276"
#define ICON_FA_MAP_SIGNS u8"\uf277"
#define ICON_FA_MAP_O u8"\uf278"
#define ICON_FA_MAP u8"\uf279"
#define ICON_FA_COMMENTING u8"\uf27a"
#define ICON_FA_COMMENTING_O u8"\uf27b"
#define ICON_FA_HOUZZ u8"\uf27c"
#define ICON_FA_VIMEO u8"\uf27d"
#define ICON_FA_BLACK_TIE u8"\uf27e"
#define ICON_FA_FONTICONS u8"\uf280"
#define ICON_FA_REDDIT_ALIEN u8"\uf281"
#define ICON_FA_EDGE u8"\uf282"
#define ICON_FA_CREDIT_CARD_ALT u8"\uf283"
#define ICON_FA_CODIEPIE u8"\uf284"
#define ICON_FA_MODX u8"\uf285"
#define ICON_FA_FORT_AWESOME u8"\uf286"
#define ICON_FA_USB u8"\uf287"
#define ICON_FA_PRODUCT_HUNT u8"\uf288"
#define ICON_FA_MIXCLOUD u8"\uf289"
#define ICON_FA_SCRIBD u8"\uf28a"
#define ICON_FA_PAUSE_CIRCLE u8"\uf28b"
#define ICON_FA_PAUSE_CIRCLE_O u8"\uf28c"
#define ICON_FA_STOP_CIRCLE u8"\uf28d"
#define ICON_FA_STOP_CIRCLE_O u8"\uf28e"
#define ICON_FA_SHOPPING_BAG u8"\uf290"
#define ICON_FA_SHOPPING_BASKET u8"\uf291"
#define ICON_FA_HASHTAG u8"\uf292"
#define ICON_FA_BLUETOOTH u8"\uf293"
#define ICON_FA_BLUETOOTH_B u8"\uf294"
#define ICON_FA_PERCENT u8"\uf295"
#define ICON_FA_GITLAB u8"\uf296"
#define ICON_FA_WPBEGINNER u8"\uf297"
#define ICON_FA_WPFORMS u8"\uf298"
#define ICON_FA_ENVIRA u8"\uf299"
#define ICON_FA_UNIVERSAL_ACCESS u8"\uf29a"
#define ICON_FA_WHEELCHAIR_ALT u8"\uf29b"
#define ICON_FA_QUESTION_CIRCLE_O u8"\uf29c"
#define ICON_FA_BLIND u8"\uf29d"
#define ICON_FA_AUDIO_DESCRIPTION u8"\uf29e"
#define ICON_FA_VOLUME_CONTROL_PHONE u8"\uf2a0"
#define ICON_FA_BRAILLE u8"\uf2a1"
#define ICON_FA_ASSISTIVE_LISTENING_SYSTEMS u8"\uf2a2"
#define ICON_FA_AMERICAN_SIGN_LANGUAGE_INTERPRETING u8"\uf2a3"
#define ICON_FA_DEAF u8"\uf2a4"
#define ICON_FA_GLIDE u8"\uf2a5"
#define ICON_FA_GLIDE_G u8"\uf2a6"
#define ICON_FA_SIGN_LANGUAGE u8"\uf2a7"
#define ICON_FA_LOW_VISION u8"\uf2a8"
#define ICON_FA_VIADEO u8"\uf2a9"
#define ICON_FA_VIADEO_SQUARE u8"\uf2aa"
#define ICON_FA_SNAPCHAT u8"\uf2ab"
#define ICON_FA_SNAPCHAT_GHOST u8"\uf2ac"
#define ICON_FA_SNAPCHAT_SQUARE u8"\uf2ad"
#define ICON_FA_PIED_PIPER u8"\uf2ae"
#define ICON_FA_FIRST_ORDER u8"\uf2b0"
#define ICON_FA_YOAST u8"\uf2b1"
#define ICON_FA_THEMEISLE u8"\uf2b2"
#define ICON_FA_GOOGLE_PLUS_OFFICIAL u8"\uf2b3"
#define ICON_FA_FONT_AWESOME u8"\uf2b4"
#define ICON_FA_HANDSHAKE_O u8"\uf2b5"
#define ICON_FA_ENVELOPE_OPEN u8"\uf2b6"
#define ICON_FA_ENVELOPE_OPEN_O u8"\uf2b7"
#define ICON_FA_LINODE u8"\uf2b8"
#define ICON_FA_ADDRESS_BOOK u8"\uf2b9"
#define ICON_FA_ADDRESS_BOOK_O u8"\uf2ba"
#define ICON_FA_ADDRESS_CARD u8"\uf2bb"
#define ICON_FA_ADDRESS_CARD_O u8"\uf2bc"
#define ICON_FA_USER_CIRCLE u8"\uf2bd"
#define ICON_FA_USER_CIRCLE_O u8"\uf2be"
#define ICON_FA_USER_O u8"\uf2c0"
#define ICON_FA_ID_BADGE u8"\uf2c1"
#define ICON_FA_ID_CARD u8"\uf2c2"
#define ICON_FA_ID_CARD_O u8"\uf2c3"
#define ICON_FA_QUORA u8"\uf2c4"
#define ICON_FA_FREE_CODE_CAMP u8"\uf2c5"
#define ICON_FA_TELEGRAM u8"\uf2c6"
#define ICON_FA_THERMOMETER_FULL u8"\uf2c7"
#define ICON_FA_THERMOMETER_THREE_QUARTERS u8"\uf2c8"
#define ICON_FA_THERMOMETER_HALF u8"\uf2c9"
#define ICON_FA_THERMOMETER_QUARTER u8"\uf2ca"
#define ICON_FA_THERMOMETER_EMPTY u8"\uf2cb"
#define ICON_FA_SHOWER u8"\uf2cc"
#define ICON_FA_BATH u8"\uf2cd"
#define ICON_FA_PODCAST u8"\uf2ce"
#define ICON_FA_WINDOW_MAXIMIZE u8"\uf2d0"
#define ICON_FA_WINDOW_MINIMIZE u8"\uf2d1"
#define ICON_FA_WINDOW_RESTORE u8"\uf2d2"
#define ICON_FA_WINDOW_CLOSE u8"\uf2d3"
#define ICON_FA_WINDOW_CLOSE_O u8"\uf2d4"
#define ICON_FA_BANDCAMP u8"\uf2d5"
#define ICON_FA_GRAV u8"\uf2d6"
#define ICON_FA_ETSY u8"\uf2d7"
#define ICON_FA_IMDB u8"\uf2d8"
#define ICON_FA_RAVELRY u8"\uf2d9"
#define ICON_FA_EERCAST u8"\uf2da"
#define ICON_FA_MICROCHIP u8"\uf2db"
#define ICON_FA_SNOWFLAKE_O u8"\uf2dc"
#define ICON_FA_SUPERPOWERS u8"\uf2dd"
#define ICON_FA_WPEXPLORER u8"\uf2de"
#define ICON_FA_MEETUP u8"\uf2e0"

File diff suppressed because it is too large Load diff

View file

@ -19,6 +19,7 @@
#include "Core/Config/MainSettings.h" #include "Core/Config/MainSettings.h"
#include "Core/ConfigManager.h" #include "Core/ConfigManager.h"
#include "Core/Slippi/SlippiPlayback.h" #include "Core/Slippi/SlippiPlayback.h"
#include "Core/System.h"
#ifdef IS_PLAYBACK #ifdef IS_PLAYBACK
#ifndef IMGUI_DEFINE_MATH_OPERATORS #ifndef IMGUI_DEFINE_MATH_OPERATORS
@ -29,7 +30,7 @@
#include "Common/Logging/Log.h" #include "Common/Logging/Log.h"
#include "Core/Core.h" #include "Core/Core.h"
#include "Core/Host.h" #include "Core/Host.h"
#include "VideoCommon/IconsFontAwesome4.h" #include "VideoCommon/IconsMaterialDesign.h"
extern std::unique_ptr<SlippiPlaybackStatus> g_playbackStatus; extern std::unique_ptr<SlippiPlaybackStatus> g_playbackStatus;
#endif #endif
@ -212,11 +213,10 @@ bool ButtonCustom(const char* label, const ImVec2& size_arg,
ImVec2 pos = window->DC.CursorPos; ImVec2 pos = window->DC.CursorPos;
if ((flags & ImGuiButtonFlags_AlignTextBaseLine) && if ((flags & ImGuiButtonFlags_AlignTextBaseLine) &&
style.FramePadding.y < style.FramePadding.y <
window->DC window->DC.CurrLineTextBaseOffset) // Try to vertically align buttons that are
.CurrentLineTextBaseOffset) // Try to vertically align buttons that are smaller/have // smaller/have no padding so that text baseline
// no padding so that text baseline matches (bit hacky, // matches (bit hacky, since it shouldn't be a flag)
// since it shouldn't be a flag) pos.y += window->DC.CurrLineTextBaseOffset - style.FramePadding.y;
pos.y += window->DC.CurrentLineTextBaseOffset - style.FramePadding.y;
ImVec2 size = ImGui::CalcItemSize(size_arg, label_size.x + style.FramePadding.x * 2.0f, ImVec2 size = ImGui::CalcItemSize(size_arg, label_size.x + style.FramePadding.x * 2.0f,
label_size.y + style.FramePadding.y * 2.0f); label_size.y + style.FramePadding.y * 2.0f);
@ -225,7 +225,7 @@ bool ButtonCustom(const char* label, const ImVec2& size_arg,
if (!ImGui::ItemAdd(bb, id)) if (!ImGui::ItemAdd(bb, id))
return false; return false;
if (window->DC.ItemFlags & ImGuiItemFlags_ButtonRepeat) if (g.CurrentItemFlags & ImGuiItemFlags_ButtonRepeat)
flags |= ImGuiButtonFlags_Repeat; flags |= ImGuiButtonFlags_Repeat;
bool hovered, held; bool hovered, held;
bool pressed = ImGui::ButtonBehavior(bb, id, &hovered, &held, flags); bool pressed = ImGui::ButtonBehavior(bb, id, &hovered, &held, flags);
@ -252,7 +252,7 @@ bool ButtonCustom(const char* label, const ImVec2& size_arg,
// ImGuiWindowFlags_Popup)) // ImGuiWindowFlags_Popup))
// CloseCurrentPopup(); // CloseCurrentPopup();
IMGUI_TEST_ENGINE_ITEM_INFO(id, label, window->DC.LastItemStatusFlags); IMGUI_TEST_ENGINE_ITEM_INFO(id, label, g.LastItemData.StatusFlags);
return pressed; return pressed;
} }
@ -356,10 +356,10 @@ bool SeekBarBehavior(const ImRect& bb, ImGuiID id, int* v, int v_min, int v_max,
else else
isHeld = hovered && isDown; isHeld = hovered && isDown;
float new_grab_t = ImGui::ScaleRatioFromValueT<int, float>(ImGuiDataType_S32, new_value, v_min, float new_grab_t = ImGui::ScaleRatioFromValueT<int, int, float>(
v_max, power, linear_zero_pos); ImGuiDataType_S32, new_value, v_min, v_max, false, linear_zero_pos, 0.0f);
float curr_grab_t = ImGui::ScaleRatioFromValueT<int, float>(ImGuiDataType_S32, *v, v_min, v_max, float curr_grab_t = ImGui::ScaleRatioFromValueT<int, int, float>(
power, linear_zero_pos); ImGuiDataType_S32, *v, v_min, v_max, false, linear_zero_pos, 0.0f);
if (axis == ImGuiAxis_Y) if (axis == ImGuiAxis_Y)
{ {
@ -511,8 +511,8 @@ bool VolumeBarBehavior(const ImRect& bb, ImGuiID id, int* v, int v_min, int v_ma
isHeld = isHeld ? isHeld && isDown : hovered && isDown; isHeld = isHeld ? isHeld && isDown : hovered && isDown;
float grab_t = ImGui::ScaleRatioFromValueT<int, float>(ImGuiDataType_S32, *v, v_min, v_max, power, float grab_t = ImGui::ScaleRatioFromValueT<int, int, float>(ImGuiDataType_S32, *v, v_min, v_max,
linear_zero_pos); power, linear_zero_pos, 0.0f);
if (axis == ImGuiAxis_Y) if (axis == ImGuiAxis_Y)
{ {
grab_t = 1.0f - grab_t; grab_t = 1.0f - grab_t;
@ -559,6 +559,7 @@ bool SeekBar(const char* label, ImVec4 color, int* v, int v_min, int v_max, floa
char value_buf[64]; char value_buf[64];
const char* value_buf_end = const char* value_buf_end =
value_buf + ImFormatString(value_buf, IM_ARRAYSIZE(value_buf), format, *v); value_buf + ImFormatString(value_buf, IM_ARRAYSIZE(value_buf), format, *v);
// SLIPPI TODO: rewrite with https://github.com/ocornut/imgui/blob/master/imgui_widgets.cpp#L2987
const bool value_changed = const bool value_changed =
SeekBarBehavior(frame_bb, id, v, v_min, v_max, power, ImGuiSliderFlags_None, color, SeekBarBehavior(frame_bb, id, v, v_min, v_max, power, ImGuiSliderFlags_None, color,
ImGui::CalcTextSize(value_buf, NULL, true), value_buf_end, value_buf); ImGui::CalcTextSize(value_buf, NULL, true), value_buf_end, value_buf);
@ -641,7 +642,7 @@ void DrawSlippiPlaybackControls()
// INFO_LOG_FMT(SLIPPI, "playing"); // INFO_LOG_FMT(SLIPPI, "playing");
//} //}
// ImGui::SameLine(0.0f, 5.0f); // ImGui::SameLine(0.0f, 5.0f);
if (ButtonCustom(ICON_FA_FAST_BACKWARD, ImVec2(BUTTON_WIDTH, BUTTON_WIDTH))) if (ButtonCustom(ICON_MD_FAST_REWIND, ImVec2(BUTTON_WIDTH, BUTTON_WIDTH)))
{ {
if (g_playbackStatus->targetFrameNum == INT_MAX) if (g_playbackStatus->targetFrameNum == INT_MAX)
{ {
@ -661,7 +662,7 @@ void DrawSlippiPlaybackControls()
// Step back // Step back
ImGui::SetCursorPos(ImVec2(BUTTON_WIDTH, height - scaled_height * 0.0265f)); ImGui::SetCursorPos(ImVec2(BUTTON_WIDTH, height - scaled_height * 0.0265f));
if (ButtonCustom(ICON_FA_STEP_BACKWARD, ImVec2(BUTTON_WIDTH, BUTTON_WIDTH))) if (ButtonCustom(ICON_MD_FIRST_PAGE, ImVec2(BUTTON_WIDTH, BUTTON_WIDTH)))
{ {
if (g_playbackStatus->targetFrameNum == INT_MAX) if (g_playbackStatus->targetFrameNum == INT_MAX)
{ {
@ -681,7 +682,7 @@ void DrawSlippiPlaybackControls()
// Step forward // Step forward
ImGui::SetCursorPos(ImVec2(BUTTON_WIDTH * 2, height - scaled_height * 0.0265f)); ImGui::SetCursorPos(ImVec2(BUTTON_WIDTH * 2, height - scaled_height * 0.0265f));
if (ButtonCustom(ICON_FA_STEP_FORWARD, ImVec2(BUTTON_WIDTH, BUTTON_WIDTH))) if (ButtonCustom(ICON_MD_LAST_PAGE, ImVec2(BUTTON_WIDTH, BUTTON_WIDTH)))
{ {
if (g_playbackStatus->targetFrameNum == INT_MAX) if (g_playbackStatus->targetFrameNum == INT_MAX)
{ {
@ -701,7 +702,7 @@ void DrawSlippiPlaybackControls()
// Jump forward // Jump forward
ImGui::SetCursorPos(ImVec2(BUTTON_WIDTH * 3, height - scaled_height * 0.0265f)); ImGui::SetCursorPos(ImVec2(BUTTON_WIDTH * 3, height - scaled_height * 0.0265f));
if (ButtonCustom(ICON_FA_FAST_FORWARD, ImVec2(BUTTON_WIDTH, BUTTON_WIDTH))) if (ButtonCustom(ICON_MD_FAST_FORWARD, ImVec2(BUTTON_WIDTH, BUTTON_WIDTH)))
{ {
if (g_playbackStatus->targetFrameNum == INT_MAX) if (g_playbackStatus->targetFrameNum == INT_MAX)
{ {
@ -722,32 +723,34 @@ void DrawSlippiPlaybackControls()
// Volume // Volume
static bool isIconHovered = false; static bool isIconHovered = false;
static bool isVolumeVisible = false; static bool isVolumeVisible = false;
int* volume = &SConfig::GetInstance().m_Volume; int volume = Config::Get(Config::MAIN_AUDIO_VOLUME);
static int prev; static int prev;
ImGui::SetCursorPos(ImVec2(BUTTON_WIDTH * 4, height - scaled_height * 0.0265f)); ImGui::SetCursorPos(ImVec2(BUTTON_WIDTH * 4, height - scaled_height * 0.0265f));
if (ButtonCustom(*volume == 0 ? ICON_FA_VOLUME_OFF : ICON_FA_VOLUME_UP, if (ButtonCustom(volume == 0 ? ICON_MD_VOLUME_OFF : ICON_MD_VOLUME_UP,
ImVec2(BUTTON_WIDTH, BUTTON_WIDTH))) ImVec2(BUTTON_WIDTH, BUTTON_WIDTH)))
{ {
if (*volume == 0) if (volume == 0)
{ {
*volume = prev == 0 ? 30 : prev; // todo: find good default value volume = prev == 0 ? 30 : prev; // todo: find good default value
} }
else else
{ {
prev = *volume; prev = volume;
*volume = 0; volume = 0;
} }
AudioCommon::UpdateSoundStream(); Config::SetBaseOrCurrent(Config::MAIN_AUDIO_VOLUME, volume);
AudioCommon::UpdateSoundStream(Core::System::GetInstance());
} }
if (VolumeBar("SlippiVolume", ImVec4(1.0f, 0.0f, 0.0f, 1.0f), volume, 0, 100, 1.0)) if (VolumeBar("SlippiVolume", ImVec4(1.0f, 0.0f, 0.0f, 1.0f), &volume, 0, 100, 1.0))
{ {
AudioCommon::UpdateSoundStream(); Config::SetBaseOrCurrent(Config::MAIN_AUDIO_VOLUME, volume);
AudioCommon::UpdateSoundStream(Core::System::GetInstance());
} }
// Help // Help
ImGui::SetCursorPos(ImVec2(width - BUTTON_WIDTH * 3, height - scaled_height * 0.0265f)); ImGui::SetCursorPos(ImVec2(width - BUTTON_WIDTH * 3, height - scaled_height * 0.0265f));
if (ButtonCustom(ICON_FA_QUESTION_CIRCLE, ImVec2(BUTTON_WIDTH, BUTTON_WIDTH))) if (ButtonCustom(ICON_MD_HELP, ImVec2(BUTTON_WIDTH, BUTTON_WIDTH)))
{ {
show_help = !show_help; show_help = !show_help;
show_settings = false; show_settings = false;
@ -794,7 +797,7 @@ void DrawSlippiPlaybackControls()
// Settings // Settings
ImGui::SetCursorPos(ImVec2(width - BUTTON_WIDTH * 2, height - scaled_height * 0.0265f)); ImGui::SetCursorPos(ImVec2(width - BUTTON_WIDTH * 2, height - scaled_height * 0.0265f));
if (ButtonCustom(ICON_FA_COG, ImVec2(BUTTON_WIDTH, BUTTON_WIDTH))) if (ButtonCustom(ICON_MD_SETTINGS, ImVec2(BUTTON_WIDTH, BUTTON_WIDTH)))
{ {
show_settings = !show_settings; show_settings = !show_settings;
show_help = false; show_help = false;
@ -829,7 +832,7 @@ void DrawSlippiPlaybackControls()
ImGui::ColorConvertFloat4ToU32(ImVec4(0.0f, 0.0f, 0.0f, 0.0f)), ImGui::ColorConvertFloat4ToU32(ImVec4(0.0f, 0.0f, 0.0f, 0.0f)),
ImGui::ColorConvertFloat4ToU32(ImVec4(255.0f, 255.0f, 255.0f, 0.3f * style.Alpha)))) ImGui::ColorConvertFloat4ToU32(ImVec4(255.0f, 255.0f, 255.0f, 0.3f * style.Alpha))))
{ {
SConfig::GetInstance().m_EmulationSpeed = 0.25f; Config::SetCurrent(Config::MAIN_EMULATION_SPEED, 0.25f);
} }
ImGui::SetCursorPos( ImGui::SetCursorPos(
@ -839,7 +842,7 @@ void DrawSlippiPlaybackControls()
ImGui::ColorConvertFloat4ToU32(ImVec4(0.0f, 0.0f, 0.0f, 0.0f)), ImGui::ColorConvertFloat4ToU32(ImVec4(0.0f, 0.0f, 0.0f, 0.0f)),
ImGui::ColorConvertFloat4ToU32(ImVec4(255.0f, 255.0f, 255.0f, 0.3f * style.Alpha)))) ImGui::ColorConvertFloat4ToU32(ImVec4(255.0f, 255.0f, 255.0f, 0.3f * style.Alpha))))
{ {
SConfig::GetInstance().m_EmulationSpeed = 0.5f; Config::SetCurrent(Config::MAIN_EMULATION_SPEED, 0.5f);
} }
ImGui::SetCursorPos( ImGui::SetCursorPos(
@ -849,7 +852,7 @@ void DrawSlippiPlaybackControls()
ImGui::ColorConvertFloat4ToU32(ImVec4(0.0f, 0.0f, 0.0f, 0.0f)), ImGui::ColorConvertFloat4ToU32(ImVec4(0.0f, 0.0f, 0.0f, 0.0f)),
ImGui::ColorConvertFloat4ToU32(ImVec4(255.0f, 255.0f, 255.0f, 0.3f * style.Alpha)))) ImGui::ColorConvertFloat4ToU32(ImVec4(255.0f, 255.0f, 255.0f, 0.3f * style.Alpha))))
{ {
SConfig::GetInstance().m_EmulationSpeed = 1.0f; Config::SetCurrent(Config::MAIN_EMULATION_SPEED, 1.0f);
} }
} }
if (ImGui::IsItemHovered() && !show_settings) if (ImGui::IsItemHovered() && !show_settings)
@ -864,7 +867,7 @@ void DrawSlippiPlaybackControls()
// Fullscreen // Fullscreen
ImGui::SetCursorPos(ImVec2(width - BUTTON_WIDTH, height - scaled_height * 0.0265f)); ImGui::SetCursorPos(ImVec2(width - BUTTON_WIDTH, height - scaled_height * 0.0265f));
if (ButtonCustom(ICON_FA_EXPAND, ImVec2(BUTTON_WIDTH, BUTTON_WIDTH))) if (ButtonCustom(ICON_MD_OPEN_IN_FULL, ImVec2(BUTTON_WIDTH, BUTTON_WIDTH)))
{ {
Host_Fullscreen(); Host_Fullscreen();
} }

View file

@ -12,7 +12,7 @@
// --------------------------------------------------------------------------------------------- // ---------------------------------------------------------------------------------------------
#include "VideoCommon/RenderBase.h" #include "VideoCommon/RenderBase.h"
#include "VideoCommon/IconsFontAwesome4.h" #include "VideoCommon/IconsMaterialDesign.h"
#include <algorithm> #include <algorithm>
#include <cmath> #include <cmath>
@ -34,8 +34,8 @@
#include "VideoCommon/VideoConfig.h" #include "VideoCommon/VideoConfig.h"
#ifdef IS_PLAYBACK #ifdef IS_PLAYBACK
#include "Core/Slippi/SlippiReplayComm.h"
#include "Core/Slippi/SlippiPlayback.h" #include "Core/Slippi/SlippiPlayback.h"
#include "Core/Slippi/SlippiReplayComm.h"
extern std::unique_ptr<SlippiPlaybackStatus> g_playbackStatus; extern std::unique_ptr<SlippiPlaybackStatus> g_playbackStatus;
extern std::unique_ptr<SlippiReplayComm> g_replayComm; extern std::unique_ptr<SlippiReplayComm> g_replayComm;