-
Notifications
You must be signed in to change notification settings - Fork 447
/
metrics.ini
4541 lines (4156 loc) · 131 KB
/
metrics.ini
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
# This probably is hard to understand from the way it was made in the first
# place, so instead just pay attention to each group, which has tons of notes.
# 01 # Global
# 02 # Managers
# 03 # Singletons
# 04 # Global Screen
# 05 # Base Screens
# 06 # Derivative Screens
# 07 # Etc
# 01 #
[Global]
# This basically means that all other themes get information from this theme.
IsBaseTheme=1
[Common]
# How big the design of the theme is. for example, if a theme was designed for
# 1080p, it would be shrunken for 640x480, as well as that, if it was designed
# for 480p, it would be enlarged for bigger screens!
ScreenWidth=1
ScreenHeight=480
# Allows you to pick all available game modes for your gametype: for example,
# inserting enough coins for 1p would let you choose between solo, single
# and double before each game
AutoSetStyle=false
DefaultModifiers="1x"
# Difficulties to show. Useful for custom games where you want to hide these.
DifficultiesToShow="beginner,easy,medium,hard,challenge"
# Same as above, but for courses.
CourseDifficultiesToShow="easy,medium,hard"
# Things to hide.
# StepsType_lights_cabinet will only be shown in lights mode. And we want it to
# be shown in lights mode! So don't hide it here.
StepsTypesToHide=""
# Score placeholder for ScreenHighScores
NoScoreName="STEP"
# The number of entries before "Various" is shown on the BPMDisplay, etc.
MaxCourseEntriesBeforeShowVarious=10
# The screen that appears when pressing the operator button.
OperatorMenuScreen="ScreenOptionsService"
# The first screen in the attract cycle.
FirstAttractScreen="ScreenDemonstration"
# First screen that pops up when you start the game. ScreenInit in particular
# shows the theme information before going to the title screen.
InitialScreen="ScreenInit"
# Music selection screen used after downloading files.
SelectMusicScreen="ScreenSelectMusic"
# Screens that show over everything else.
# Only mess with this if you know what you're doing.
OverlayScreens="ScreenSystemLayer,ScreenSyncOverlay,ScreenStatsOverlay,ScreenDebugOverlay,ScreenInstallOverlay"
# Used in PlayerStageStats for formatting scores.
PercentScoreDecimalPlaces=2
ModStringFunction=get_notefield_mods_with_player_options
ClearNoteFieldModsFunction=clear_notefield_mods
# 02 #
[LightsManager]
# Mostly useless since it doesn't work, as well as that barely anyone has
# lights to play around with.
GameButtonsToShow=""
# these metrics don't exist yet, but are planned:
LightEffectRiseSeconds=0.075
LightEffectFallOffSeconds=0.35
LightEffectPulseTime=0.100
[ProfileManager]
# I wouldn't change these either.
FixedProfiles=false
NumFixedProfiles=1
[SongManager]
# SSC: Determine what the ES/OMES Modifiers are
ExtraStagePlayerModifiers="default,2x,reverse"
ExtraStageStageModifiers="failimmediatecontinue,norecover"
OMESPlayerModifiers="default,2x,reverse"
OMESStageModifiers="failimmediate,suddendeath"
# How many different colors you can have in the MusicWheel
NumSongGroupColors=1
NumCourseGroupColors=1
# Legacy metric: how difficult a song has to be for it to glow.
ExtraColorMeter=GetExtraColorThreshold()
ExtraColor=color("#ff0000") -- red
# The maximum difficulty the second extra stage can be.
ExtraStage2DifficultyMax=8
# Allow special colors for unlocks and 'preffered' sort
UseUnlockColor=false
UsePreferredSortColor=false
# Unlocks go at the end so they're easy to find.
MoveUnlocksToBottomOfPreferredSort=false
# Lots of themes want more than one group color, so let them have this.
SongGroupColor1=color("#00aeef") -- blue
SongGroupColor2=color("#00aeef") -- blue
SongGroupColor3=color("#00aeef") -- blue
SongGroupColor4=color("#00aeef") -- blue
SongGroupColor5=color("#00aeef") -- blue
SongGroupColor6=color("#00aeef") -- blue
SongGroupColor7=color("#00aeef") -- blue
SongGroupColor8=color("#00aeef") -- blue
SongGroupColor9=color("#00aeef") -- blue
SongGroupColor10=color("#00aeef") -- blue
SongGroupColor11=color("#00aeef") -- blue
SongGroupColor12=color("#00aeef") -- blue
SongGroupColor13=color("#00aeef") -- blue
SongGroupColor14=color("#00aeef") -- blue
SongGroupColor15=color("#00aeef") -- blue
SongGroupColor16=color("#00aeef") -- blue
SongGroupColor17=color("#00aeef") -- blue
SongGroupColor18=color("#00aeef") -- blue
SongGroupColor19=color("#00aeef") -- blue
SongGroupColor20=color("#00aeef") -- blue
SongGroupColor21=color("#00aeef") -- blue
SongGroupColor22=color("#00aeef") -- blue
SongGroupColor23=color("#00aeef") -- blue
SongGroupColor24=color("#00aeef") -- blue
SongGroupColor25=color("#00aeef") -- blue
# Lots of themes want more than one course color, too
CourseGroupColor1=color("1,1,1,1") -- white
CourseGroupColor2=color("1,1,1,1") -- white
CourseGroupColor3=color("1,1,1,1") -- white
CourseGroupColor4=color("1,1,1,1") -- white
CourseGroupColor5=color("1,1,1,1") -- white
CourseGroupColor6=color("1,1,1,1") -- white
CourseGroupColor7=color("1,1,1,1") -- white
CourseGroupColor8=color("1,1,1,1") -- white
CourseGroupColor9=color("1,1,1,1") -- white
CourseGroupColor10=color("1,1,1,1") -- white
NumProfileSongGroupColors=2
ProfileSongGroupColor1=PlayerColor(PLAYER_1)
ProfileSongGroupColor2=PlayerColor(PLAYER_2)
UnlockColor=color("1,0.5,0,1")
[UnlockManager]
# Unlock harder/different steps based on passing easier steps.
AutoLockChallengeSteps=false
AutoLockEditSteps=false
# determine if songs loaded via AdditionalSongs should be locked.
SongsNotAdditional=true
UnlockNames=""
# useful commands:
# require,(UnlockRequirement),(value);
# where (UnlockRequirement) is one of the UnlockRequirement enum values.
# song,(Song Name);
# sets a Song to be unlocked
# course,(Course Name);
# sets a Course to be unlocked
# roulette;
# Song shows up in roulette (useful with Song only)
# mod,(modifier);
# sets a modifier to be unlocked.
# code,(code);
# assigns a code to the unlock
# examples:
# 1) The song "Pledge" requires 500 AP.
# Unlock1Command=song,"Pledge";require,"UnlockRequirement_ArcadePoints",500
# 2) The song "ABC" can be unlocked via roulette; pick an arbitrary code
# to use to store the unlock.
# Unlock2Command=song,"ABC";code,"59183751";roulette
# 03 #
[Background]
# Background stuff. again, its usually a better idea to leave this alone
# unless you truly need to change it, in which case you'd know what it does.
ShowDancingCharacters=true
UseStaticBackground=true
# clamps the output of the background
ClampOutputPercent=0.0
#
LeftEdge=SCREEN_LEFT
RightEdge=SCREEN_RIGHT
TopEdge=SCREEN_TOP
BottomEdge=SCREEN_BOTTOM
RandomBGStartBeat=-1000
RandomBGChangeMeasures=4
RandomBGChangesWhenBPMChangesAtMeasureStart=true
RandomBGEndsAtLastBeat=true
[Banner]
# Scroll stuff when you roll over it, DDR Extreme style.
ScrollRandom=false
ScrollRoulette=false
ScrollMode=false
ScrollSortOrder=false
# Control how fast the banner scrolls. Higher numbers mean slower.
ScrollSpeedDivisor=2
[BeginnerHelper]
HelperX=0
HelperY=SCREEN_CENTER_Y-80
# All X,Y coordinates are relative to the HelperX,Y
Player1X=-(SCREEN_CENTER_X/2)
PlayerP1OnCommand=halign,0;rotationx,40;zoom,20
Player2X=(SCREEN_CENTER_X/2)
PlayerP2OnCommand=halign,1;rotationx,40;zoom,20
ShowDancePad=false
# "Pad should always be 3 units bigger in zoom than the dancer."
DancePadOnCommand=halign,0;rotationx,36;zoom,23
[BitmapText]
# The colors in the 'roulette' text. you can have a lot!
NumRainbowColors=7
RainbowColor1=color("1.0,0.0,0.4,1") -- red
RainbowColor2=color("0.8,0.2,0.6,1") -- pink
RainbowColor3=color("0.4,0.3,0.5,1") -- purple
RainbowColor4=color("0.2,0.6,1.0,1") -- sky blue
RainbowColor5=color("0.2,0.8,0.8,1") -- sea green
RainbowColor6=color("0.2,0.8,0.4,1") -- green
RainbowColor7=color("1.0,0.8,0.2,1") -- orange
[BPMDisplay]
# Various commands for the BPMDisplay, ranging from no bpm, a non changing bpm,
# a bpm that changes, one that is 'random' ( boss songs ) and when a song is
# an es/omes!
SetNoBpmCommand=diffusetopedge,color("#777777");diffusebottomedge,color("#666666")
SetNormalCommand=diffusetopedge,color("#fbfb57");diffusebottomedge,color("#fb9c57")
SetChangeCommand=diffusetopedge,color("#fb9c57");diffusebottomedge,color("#fb5757")
SetRandomCommand=diffusetopedge,color("#fb9c57");diffusebottomedge,color("#fb5757")
SetExtraCommand=diffusetopedge,color("#fb5757");diffusebottomedge,color("#9c4242")
# Determines if it shows both bpms ( 000-100 ) or cycles between the min and max.
Cycle=true
# Text when there is no BPM
NoBpmText="000"
# How fast it cycles, smaller is faster
RandomCycleSpeed=0.1
CourseCycleSpeed=0.2
# Seperator between both bpms ( 100-200 ).
Separator="-"
# ??? when it cycles.
ShowQMarksInRandomCycle=true
QuestionMarksText="???"
RandomText="!!!"
# xxx: localize me -aj
VariousText="000"
FormatString="%03.0f"
[CodeDetector]
# Codes on the MusicWheel that change stuff!
# For Future Reference:
# @ = Holding
# - = In Conjuction With / Then
# ~ = Released
# + = At The Same Time
PrevSteps1=GetCodeForGame("PrevSteps1")
PrevSteps2=GetCodeForGame("PrevSteps2")
NextSteps1=GetCodeForGame("NextSteps1")
NextSteps2=GetCodeForGame("NextSteps2")
NextSort1=GetCodeForGame("NextSort1")
NextSort2=GetCodeForGame("NextSort2")
NextSort3=GetCodeForGame("NextSort3")
NextSort4=GetCodeForGame("NextSort4")
ModeMenu1=GetCodeForGame("ModeMenu1")
ModeMenu2=GetCodeForGame("ModeMenu2")
Mirror=GetCodeForGame("Mirror")
Left=GetCodeForGame("Left")
Right=GetCodeForGame("Right")
Shuffle=GetCodeForGame("Shuffle")
SuperShuffle=GetCodeForGame("SuperShuffle")
NextTransform=GetCodeForGame("NextTransform")
NextScrollSpeed=GetCodeForGame("NextScrollSpeed")
PreviousScrollSpeed=GetCodeForGame("PreviousScrollSpeed")
NextAccel=GetCodeForGame("NextAccel")
NextEffect=GetCodeForGame("NextEffect")
NextAppearance=GetCodeForGame("NextAppearance")
NextTurn=GetCodeForGame("NextTurn")
Reverse=GetCodeForGame("Reverse")
HoldNotes=GetCodeForGame("HoldNotes")
Mines=GetCodeForGame("Mines")
Dark=GetCodeForGame("Dark")
CancelAll=GetCodeForGame("CancelAll")
NextGroup=GetCodeForGame("NextGroup")
PrevGroup=GetCodeForGame("PrevGroup")
CloseCurrentFolder=GetCodeForGame("CloseCurrentFolder")
Hidden=GetCodeForGame("Hidden")
RandomVanish=GetCodeForGame("RandomVanish")
SaveScreenshot1=GetCodeForGame("SaveScreenshot1")
SaveScreenshot2=GetCodeForGame("SaveScreenshot2")
# on the player options menu.
CancelAllPlayerOptions=GetCodeForGame("CancelAllPlayerOptions")
# unused codes:
Backwards=""
# deprecated codes:
NextTheme=""
NextTheme2=""
NextAnnouncer=""
NextAnnouncer2=""
BackInEventMode=""
# NextTheme="Left,Left,Left,Right,Right,Right,Left,Right"
# NextTheme2="MenuLeft,MenuLeft,MenuLeft,MenuRight,MenuRight,MenuRight,MenuLeft,MenuRight"
# NextAnnouncer="Left,Left,Right,Right,Left,Left,Right,Right"
# NextAnnouncer2="MenuLeft,MenuLeft,MenuRight,MenuRight,MenuLeft,MenuLeft,MenuRight,MenuRight"
[CodeDetectorOnline]
Fallback="CodeDetector"
PrevSteps1="MenuUp,MenuUp"
PrevSteps2=""
NextSteps1="MenuDown,MenuDown"
NextSteps2=""
NextSort3=""
NextSort4=""
ModeMenu1=""
Mirror=""
Left=""
Right=""
Shuffle=""
SuperShuffle=""
NextScrollSpeed=""
PreviousScrollSpeed=""
NextAccel=""
NextEffect=""
NextAppearance=""
Reverse=""
HoldNotes=""
CancelAll=""
[CombinedLifeMeterTug]
# We don't use it.
MeterWidth=0.0
#-----#
SeparatorOnCommand=
SeparatorOffCommand=
#-----#
FrameOnCommand=
FrameOffCommand=
[Combo]
# System Direction
ShowComboAt=HitCombo()
ShowMissesAt=MissCombo()
# Shrink and Grow the combo, DDR Style
NumberMinZoom=0.8
NumberMaxZoom=1
NumberMaxZoomAt=100
#
LabelMinZoom=0.75*0.75
LabelMaxZoom=0.75*0.75
# Things the combo does when you bang on it, and what the text does
PulseCommand=%function(self,param) self:stoptweening(); self:zoom(1.125*param.Zoom); self:linear(0.05); self:zoom(param.Zoom); end
PulseLabelCommand=%function(self,param) self:stoptweening(); self:zoom(param.LabelZoom); self:linear(0.05); self:zoom(param.LabelZoom); end
NumberOnCommand=y,240-216-1.5;shadowlength,1;halign,1;valign,1;skewx,-0.125;
LabelOnCommand=x,6;y,22.5;shadowlength,1;zoom,0.75;diffusebottomedge,color("0.75,0.75,0.75,1");halign,0;valign,1
[HoldJudgment]
# System Direction
HoldJudgmentMissedHoldCommand=
HoldJudgmentLetGoCommand=finishtweening;visible,true;shadowlength,0;diffusealpha,1;zoom,1;y,-10;linear,0.8;y,10;sleep,0.5;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0
HoldJudgmentHeldCommand=finishtweening;visible,true;shadowlength,0;diffusealpha,1;zoom,1.25;linear,0.3;zoomx,1;zoomy,1;sleep,0.5;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0
[HelpDisplay]
# The help display on the menus, and what it does.
# How fast it changes between texts (seconds)
TipShowTime=4
# How long each switch takes (seconds)
TipSwitchTime=2
# The Command when its made
TipOnCommand=shadowlength,0;diffuseblink
[Judgment]
# New #
JudgmentOnCommand=
# Things the judgment does when you bang on it.
JudgmentW1Command=shadowlength,0;diffusealpha,1;zoom,1.3;linear,0.05;zoom,1;sleep,0.8;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0;glowblink;effectperiod,0.05;effectcolor1,color("1,1,1,0");effectcolor2,color("1,1,1,0.25")
JudgmentW2Command=shadowlength,0;diffusealpha,1;zoom,1.3;linear,0.05;zoom,1;sleep,0.8;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0
JudgmentW3Command=shadowlength,0;diffusealpha,1;zoom,1.2;linear,0.05;zoom,1;sleep,0.8;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0;
JudgmentW4Command=shadowlength,0;diffusealpha,1;zoom,1.1;linear,0.05;zoom,1;sleep,0.8;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0;
JudgmentW5Command=shadowlength,0;diffusealpha,1;zoom,1.0;vibrate;effectmagnitude,4,8,8;sleep,0.8;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0
JudgmentMissCommand=shadowlength,0;diffusealpha,1;zoom,1;y,-20;linear,0.8;y,20;sleep,0.8;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0
[Protiming]
# Protiming isn't implemented yet.
ProtimingOnCommand=y,24
ProtimingW1Command=
ProtimingW2Command=
ProtimingW3Command=
ProtimingW4Command=
ProtimingW5Command=
ProtimingMissCommand=
[Course]
# The course colors change depending on what course sort order is being used.
# SortPreferredColor is used with preferred course sort.
# [Song sort] number of songs in course
# 1-3 songs: SortLevel5Color
# 4-6 songs: SortLevel4Color
# 7+ songs : SortLevel2Color
# [Meter sort]
# if all songs are fixed, return SortLevel1Color.
# meter 1-4: SortLevel5Color
# meter 5-6: SortLevel4Color
# meter 7-9: SortLevel3Color
# meter 10+: SortLevel2Color
# [Meter sum sort] is about the same, except the values are
# 1-19, 20-29, 30-39, and 40+.
# [Rank sort]
# Ranking 1: SortLevel5Color
# Ranking 2: SortLevel3Color
# Ranking 3: SortLevel1Color
# Others : SortLevel4Color
SortPreferredColor=color("1,1,1,1") -- Preferred is both for when courses are in preferred sort, or are autogen
SortLevel1Color=color("1,0,0,1")
SortLevel2Color=color("1,1,0,1")
SortLevel3Color=color("1,0.5,0,1")
SortLevel4Color=color("1,1,0,1")
SortLevel5Color=color("0,1,0,1")
[CustomDifficulty]
# Custom system that lets you rename certain classes of difficulties to
# something else. Mostly for custom games and game emulation, PIU for example.
#Names="PumpHard,PumpFreestyle,PumpNightmare"
Names="PumpHard,PumpFreestyle,PumpNightmare,PumpHalfDoubleMedium"
# Dance Couple Beginner
DanceCoupleBeginnerStepsType="StepsType_Dance_Couple"
DanceCoupleBeginnerDifficulty="Difficulty_Beginner"
DanceCoupleBeginnerCourseType=nil
DanceCoupleBeginnerString="Beginner"
# Dance Couple Easy
DanceCoupleEasyStepsType="StepsType_Dance_Couple"
DanceCoupleEasyDifficulty="Difficulty_Easy"
DanceCoupleEasyCourseType=nil
DanceCoupleEasyString="Easy"
# Dance Couple Medium
DanceCoupleMediumStepsType="StepsType_Dance_Couple"
DanceCoupleMediumDifficulty="Difficulty_Medium"
DanceCoupleMediumCourseType=nil
DanceCoupleMediumString="Medium"
# Dance Couple Hard
DanceCoupleHardStepsType="StepsType_Dance_Couple"
DanceCoupleHardDifficulty="Difficulty_Hard"
DanceCoupleHardCourseType=nil
DanceCoupleHardString="Hard"
# Dance Couple Expert
DanceCoupleExpertStepsType="StepsType_Dance_Couple"
DanceCoupleExpertDifficulty="Difficulty_Expert"
DanceCoupleExpertCourseType=nil
DanceCoupleExpertString="Expert"
# Pump Single Hard (Crazy)
PumpHardStepsType="StepsType_Pump_Single"
PumpHardDifficulty="Difficulty_Hard"
PumpHardCourseType=nil
PumpHardString="Crazy"
# Pump Double Medium (Freestyle)
PumpFreestyleStepsType="StepsType_Pump_Double"
PumpFreestyleDifficulty="Difficulty_Medium"
PumpFreestyleCourseType=nil
PumpFreestyleString="Freestyle"
# Pump Double Hard (Nightmare)
PumpNightmareStepsType="StepsType_Pump_Double"
PumpNightmareDifficulty="Difficulty_Hard"
PumpNightmareCourseType=nil
PumpNightmareString="Nightmare"
# Pump Half-Double Medium
PumpHalfDoubleMediumStepsType="StepsType_Pump_Halfdouble"
PumpHalfDoubleMediumDifficulty="Difficulty_Medium"
PumpHalfDoubleMediumCourseType=nil
PumpHalfDoubleMediumString="HalfDouble"
#
# Difficulty_Beginner-StepsType_Pump_Single=Easy
# Difficulty_Easy-StepsType_Pump_Single=Normal
# Difficulty_Medium-StepsType_Pump_Single=Hard
# Difficulty_Hard-StepsType_Pump_Single=Crazy
# Difficulty_Medium-StepsType_Pump_Halfdouble=Half-Double
# Difficulty_Medium-StepsType_Pump_Double=Freestyle
# Difficulty_Hard-StepsType_Pump_Double=Nightmare
# Difficulty_Edit-StepsType_Pump_Single=Edit
# Difficulty_Edit-StepsType_Pump_Halfdouble=Edit
# Difficulty_Edit-StepsType_Pump_Double=Edit
# Course=Progressive
[DifficultyList]
# A list that shows difficulties in a song.
CapitalizeDifficultyNames=false
# How far away and how many items there are
ItemsSpacingY=40
NumShownItems=5
#
MoveCommand=decelerate,0.3
[FadingBanner]
# The banner on MusicWheel.
BannerOnCommand=
# When it loads
BannerFadeFromCachedCommand=diffusealpha,1;stoptweening;linear,0.25;diffusealpha,0
# When it loads into clarity
BannerFadeOffCommand=diffusealpha,1;stoptweening;linear,0.25;diffusealpha,0
# ResetFade is played in BeforeChange. It happens after the FadeFromCached/FadeOff command.
BannerResetFadeCommand=diffusealpha,1
BannerRouletteCommand=
BannerRandomCommand=
[Gameplay]
# System Direction
ComboIsPerRow=ComboPerRow()
MissComboIsPerRow=true
MinScoreToContinueCombo=ComboContinue()
MinScoreToMaintainCombo=ComboMaintain()
MaxScoreToIncrementMissCombo='TapNoteScore_Miss'
MineHitIncrementsMissCombo=false
AvoidMineIncrementsCombo=false
UseInternalScoring=true
# When you hit it, you know.
ToastyTriggersAt=250
ToastyMinTNS='TapNoteScore_W2'
[GameState]
# Default song and sort. these don't really matter
DefaultSong=""
DefaultSort="Group"
# How good of a grade you have to get to get an ES/OMES. Locked to an 'AA'
GradeTierForExtra1="Grade_Tier03"
GradeTierForExtra2="Grade_Tier03"
# and how difficult that song you go thas to be
MinDifficultyForExtra="Difficulty_Hard"
# System Direction
AreStagePlayerModsForced=AreStagePlayerModsForced
AreStageSongModsForced=AreStageSongModsForced
# Let players join while you play if they put in some coins
AllowLateJoin=true
# Various feats that you can earn
ProfileRecordFeats=true
CategoryRecordFeats=true
# Disallow bad names
UseNameBlacklist=false
# Alow OMES
AllowExtra2=true
# Don't let the player change difficulties on an ES/OMES
LockExtraStageSelection=true
# Normally, in event mode, the premium value is ignored. Set this metric to
# true to re-gain that behavior.
DisablePremiumInEventMode=false
# Let edit steps be allowed for earning extra stages.
EditAllowedForExtra=false
CustomResetFunction=GameStateResetCustom
[GrooveRadar]
# Polar graph that shows difficulty stuff in depth
# how thick the line is
EdgeWidth=2
# How visible the middle is
CenterAlpha=0.25
# what to do with each player's part of the graph
RadarValueMapP1OnCommand=diffuse,PlayerColor(PLAYER_1)
RadarValueMapP2OnCommand=diffuse,PlayerColor(PLAYER_2)
[HighScore]
# Default highscore name for no entries ( like how street fighter has ' CAP ' )
EmptyName="SSC!"
[Inventory]
# Defines the probability of using items (1/ItemUseRateSeconds).
ItemUseRateSeconds=0.0
[LifeMeterBar]
# The default life bar you see in gameplay
# Percentage in which the game starts yelling at you to stop sucking
DangerThreshold=0.2
# And how much it starts up at.
InitialValue=0.5
# And how much it takes to get ravin'
HotValue=1.0
# And how much there is to fill up ( only for debug )
LifeMultiplier=1.0
# How good you gotta hit it to keep it alive. ( W3 is 'Great' );
MinStayAlive="TapNoteScore_W3"
# If the life difficulty should be changed on extra stages
ForceLifeDifficultyOnExtraStage=true
# And what it should be changed to. Has no effect if the above is false.
ExtraStageLifeDifficulty=1.0
# How much it changes
LifePercentChangeW1=0.008
LifePercentChangeW2=0.008
LifePercentChangeW3=0.004
LifePercentChangeW4=0.000
LifePercentChangeW5=-0.040
LifePercentChangeMiss=-0.080
LifePercentChangeHitMine=-0.160
LifePercentChangeHeld=IsGame("pump") and 0.000 or 0.008
LifePercentChangeLetGo=IsGame("pump") and 0.000 or -0.080
LifePercentChangeMissedHold=0.000
LifePercentChangeCheckpointMiss=-0.080
LifePercentChangeCheckpointHit=0.008
# And various positionings
UnderX=0
UnderY=0
DangerX=0
DangerY=0
StreamX=0
StreamY=0
OverX=0
OverY=0
[LifeMeterBattery]
# The bar that shows up in Oni mode.
# any score below this one will cause you to lose a life.
MinScoreToKeepLife='TapNoteScore_W3'
# Defines the maximum number of lives in the meter. (0 means no limit)
MaxLives=0
# how many lives you'll lose upon doing so.
SubtractLives=1
# how many lives you'll lose hitting a mine
MinesSubtractLives=1
# how many lives a successful hold will net you.
HeldAddLives=0
# how many lives an unsuccessful hold will cost you.
LetGoSubtractLives=1
# this function returns how many lives to add when a song ends in course mode.
CourseSongRewardLives=function(life_meter, pn) if GAMESTATE:GetCurrentSteps(pn):GetMeter() >= 8 then return 2 end return 1 end
# How many lives trigger the "Danger" state.
DangerThreshold=1
# How long it flashes when you lose a life.
BatteryBlinkTime=1.2
# Where the batteries are
BatteryP1X=-92
BatteryP1Y=2
BatteryP2X=92
BatteryP2Y=2
# Where your life count is
NumLivesFormat="x%d"
NumLivesP1X=-92
NumLivesP1Y=0
NumLivesP1GainLifeCommand=
NumLivesP1LoseLifeCommand=zoom,1.5;linear,0.15;zoom,1
NumLivesP2X=92
NumLivesP2Y=0
NumLivesP2GainLifeCommand=
NumLivesP2LoseLifeCommand=zoom,1.5;linear,0.15;zoom,1
[LifeMeterBattery Percent]
# The percentage on the bar. I wouldn't even bother changing this, because I
# havent and I *made* this theme :\
Format=FormatPercentScore
PercentUseRemainder=false
ApplyScoreDisplayOptions=true
DancePointsDigits=5
#
Format=FormatPercentScore
#
RemainderFormat=
#
PercentFormat="%2d"
PercentP1X=0
PercentP1Y=0
PercentP1OnCommand=zoom,0.7;shadowlength,0;diffuse,PlayerColor(PLAYER_1)
PercentP1OffCommand=
PercentP2X=0
PercentP2Y=0
PercentP2OnCommand=zoom,0.7;shadowlength,0;diffuse,PlayerColor(PLAYER_2)
PercentP2OffCommand=
#
DancePointsP1X=0
DancePointsP1Y=0
DancePointsP1OnCommand=zoom,0.7;shadowlength,0;diffuse,PlayerColor(PLAYER_1)
DancePointsP1OffCommand=
DancePointsP2X=0
DancePointsP2Y=0
DancePointsP2OnCommand=zoom,0.7;shadowlength,0;diffuse,PlayerColor(PLAYER_2)
DancePointsP2OffCommand=
[LifeMeterTime]
# The Lifemeter that shows up when you're playing survival.
# When it starts telling you to stop sucking.
DangerThreshold=0.3
# How good it's filled up when you start
InitialValue=0.5
MeterWidth=0.0
MeterHeight=0.0
# How little there is to fill?
MinLifeTime=15
[LyricDisplay]
LyricFrontChangedCommand=LyricCommand,"Front"
LyricBackChangedCommand=LyricCommand,"Back"
InLength=0
OutLength=0
[NotesWriterSM]
DescriptionUsesCreditField=false
[OptionRow]
ShowModIcons=false
ShowUnderlines=true
ShowBpmInSpeedTitle=false
ModIconP1X=SCREEN_CENTER_X-280
ModIconP2X=SCREEN_CENTER_X+280
ModIconOnCommand=x,-30
FrameX=SCREEN_CENTER_X-222
FrameY=0
FrameOnCommand=
TitleX=SCREEN_CENTER_X-222
TitleY=0
TitleOnCommand=shadowlength,0;uppercase,true;wrapwidthpixels,SCREEN_WIDTH*0.2;zoom,0.6
TitleGainFocusCommand=diffuse,color("1,1,1,1");strokecolor,color("0,0,0,1")
TitleLoseFocusCommand=diffuse,color("0.5,0.5,0.5,1");strokecolor,color("0,0,0,1")
ItemsStartX=SCREEN_CENTER_X-140
ItemsEndX=SCREEN_CENTER_X+280
ItemsGapX=14
ItemsMinBaseZoom=0.65
ItemsLongRowP1X=SCREEN_CENTER_X-60
ItemsLongRowP2X=SCREEN_CENTER_X+100
ItemsLongRowSharedX=SCREEN_CENTER_X
ItemOnCommand=shadowlength,0;zoom,0.5
ItemGainFocusCommand=
ItemLoseFocusCommand=
TweenSeconds=0.2
ModIconMetricsGroup="ModIcon"
ColorSelected=color("1,1,1,1")
ColorNotSelected=color("0.5,0.5,0.5,1")
ColorDisabled=color("0.25,0.25,0.25,1")
[OptionRowService]
Fallback="OptionRow"
# Service Titles are all that are shown.
ShowUnderlines=false
ShowCursors=false
#
TitleX=SCREEN_CENTER_X
TitleY=
TitleOnCommand=shadowlength,0;uppercase,true;maxwidth,600;zoom,0.75
TitleGainFocusCommand=diffuse,color("1,1,1,1");strokecolor,color("0,0,0,1")
TitleLoseFocusCommand=diffuse,color("0.5,0.5,0.5,1");strokecolor,color("0,0,0,1")
[OptionRowExit]
Fallback="OptionRow"
FrameOnCommand=visible,false
TitleOnCommand=visible,false
[OptionsCursor]
LeftX=
LeftY=
LeftOnCommand=halign,1;
MiddleX=
MiddleY=
MiddleOnCommand=
RightX=
RightY=
RightOnCommand=halign,0;
CanGoLeftX=
CanGoLeftY=
CanGoLeftOnCommand=halign,1;
CanGoRightX=
CanGoRightY=
CanGoRightOnCommand=halign,0;
[OptionsCursorP1]
Fallback="OptionsCursor"
LeftX=-2
MiddleX=-2
RightX=-2
LeftY=-2
MiddleY=-2
RightY=-2
[OptionsCursorP2]
Fallback="OptionsCursor"
LeftX=2
MiddleX=2
RightX=2
LeftY=2
MiddleY=2
RightY=2
[OptionsUnderline]
Fallback="OptionsCursor"
[OptionsUnderlineP1]
Fallback="OptionsUnderline"
LeftX=-4
MiddleX=-4
RightX=-4
LeftY=10
MiddleY=10
RightY=10
[OptionsUnderlineP2]
Fallback="OptionsUnderline"
LeftX=4
MiddleX=4
RightX=4
LeftY=12
MiddleY=12
RightY=12
[MenuTimer]
WarningStart=10
WarningBeepStart=10
# I don't like it
# -- Midiman
# MaxStallSeconds=7.5
MaxStallSeconds=0
#
HurryUpTransition=5.5
Text1OnCommand=stopeffect;stoptweening;shadowlength,0;
Text1FormatFunction=function(fSeconds) fSeconds=math.min( 99, math.ceil(fSeconds) ); local digit = math.floor(fSeconds); return ""..digit end
Text2OnCommand=stopeffect;stoptweening;shadowlength,0;visible,false
Text2FormatFunction=function(fSeconds) fSeconds=math.min( 99, math.ceil(fSeconds) ); local digit = math.mod(fSeconds,10); return ""..digit end
#
FrameX=0
FrameY=0
FrameOnCommand=
#
Warning10Command=
Warning9Command=
Warning8Command=
Warning7Command=
Warning6Command=
Warning5Command=
Warning4Command=
Warning3Command=
Warning2Command=
Warning1Command=
Warning0Command=
[MenuTimerNoSound]
Fallback="MenuTimer"
#
WarningBeepStart=0
[MusicList]
SpacingX=0
SpacingY=0
StartY=0
StartX=0
#
CropWidth=0
NumRows=0
NumColumns=0
[MusicWheel]
FadeSeconds=1
SwitchSeconds=0.10
RandomPicksLockedSongs=true
UseSectionsWithPreferredGroup=false
OnlyShowActiveSection=false
HideActiveSectionTitle=true
RemindWheelPositions=false
#
RouletteSwitchSeconds=0.05
RouletteSlowDownSwitches=5
LockedInitialVelocity=15
ScrollBarHeight=300
ScrollBarOnCommand=visible,false
#
ItemTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) self:x( (1-math.cos(offsetFromCenter/math.pi))*44 ); self:y( offsetFromCenter*38 ); end
NumWheelItems=11
MusicWheelSortOnCommand=
MusicWheelSortOffCommand=
MusicWheelItemSortOnCommand=
MusicWheelItemSortOffCommand=
HighlightOnCommand=
HighlightOffCommand=
HighlightSortOnCommand=
HighlightSortOffCommand=
WheelItemLockedColor=color("0,0,0,0.5")
#
NumSectionColors=1
SectionColor1=color("1,1,1,1")
#
SongRealExtraColor=color("1,0,0,1")
SortMenuColor=color("1,1,1,1")
#
RouletteColor=color("1,0,0,1")
RandomColor=color("1,0,0,1")
PortalColor=color("1,0,0,1")
EmptyColor=color("1,0,0,1")
SortOrders={ "SortOrder_Preferred", "SortOrder_Group", "SortOrder_Title", "SortOrder_BPM", "SortOrder_Artist", "SortOrder_Genre" }
# SortOrders={ "SortOrder_Preferred", "SortOrder_Group", "SortOrder_Title", "SortOrder_BPM", "SortOrder_Popularity", "SortOrder_Artist", "SortOrder_Genre" }
ShowRoulette=true
ShowRandom=false
ShowPortal=false
ShowSectionsInBPMSort=true
SortBPMDivision=20
ShowSectionsInLengthSort=true
SortLengthDivision=5
MostPlayedSongsToShow=30
RecentSongsToShow=30
UseEasyMarkerFlag=false
ModeMenuChoiceNames="Preferred,Group,Title,Bpm,Popularity,TopGrades,Artist,EasyMeter,MediumMeter,HardMeter,ChallengeMeter,DoubleEasyMeter,DoubleMediumMeter,DoubleHardMeter,DoubleChallengeMeter,Genre,Length,Recent"
# ModeMenuChoiceNames="Preferred,Group,Title,Bpm,Popularity,TopGrades,Artist,EasyMeter,MediumMeter,HardMeter,ChallengeMeter,DoubleEasyMeter,DoubleMediumMeter,DoubleHardMeter,DoubleChallengeMeter,Genre,Length,Recent,NormalMode,BattleMode"
ChoicePreferred="sort,Preferred"
ChoiceGroup="sort,Group"
ChoiceTitle="sort,Title"
ChoiceBpm="sort,BPM"
ChoicePopularity="sort,Popularity"
ChoiceTopGrades="sort,TopGrades"
ChoiceArtist="sort,Artist"
ChoiceGenre="sort,Genre"
ChoiceEasyMeter="sort,EasyMeter"
ChoiceMediumMeter="sort,MediumMeter"
ChoiceHardMeter="sort,HardMeter"
ChoiceChallengeMeter="sort,ChallengeMeter"
ChoiceDoubleEasyMeter="sort,DoubleEasyMeter"
ChoiceDoubleMediumMeter="sort,DoubleMediumMeter"
ChoiceDoubleHardMeter="sort,DoubleHardMeter"
ChoiceDoubleChallengeMeter="sort,DoubleChallengeMeter"
ChoiceLength="sort,Length"
ChoiceRecent="sort,Recent"
ChoiceNormalMode="playmode,regular"
ChoiceBattleMode="playmode,battle"
CustomWheelItemNames=""
[CourseWheel]
Fallback="MusicWheel"
#
ModeMenuChoiceNames="AllCourses,Nonstop,Oni,Endless,Survival"
# xxx: force nonstop on all courses? sounds lame but meh
ChoiceAllCourses="sort,AllCourses;playmode,nonstop;mod,bar"
ChoiceNonstop="sort,Nonstop;playmode,nonstop;mod,bar"
ChoiceOni="sort,Oni;playmode,oni;mod,battery"
ChoiceEndless="sort,Endless;playmode,endless;mod,bar"
ChoiceSurvival="sort,Oni;playmode,oni;mod,lifetime"
[OnlineMusicWheel]
Fallback="MusicWheel"
# roulette + online causes a sorting issue that should be hammered out first. -aj
ShowRoulette=false
ShowRandom=false
ShowPortal=false
[MusicWheelItem]
WheelNotifyIconX=106
WheelNotifyIconY=0
WheelNotifyIconOnCommand=visible,false
#
SongNameX=0
SongNameY=0
SongNameOnCommand=
#
CourseX=0
CourseY=0
CourseOnCommand=
#
SectionExpandedX=0
SectionExpandedY=0
SectionExpandedOnCommand=
#
SectionCollapsedX=0
SectionCollapsedY=0
SectionCollapsedOnCommand=
SectionCountX=0
SectionCountY=0
SectionCountOnCommand=
#
RouletteX=0
RouletteY=0
RouletteOnCommand=
#
RandomX=0
RandomY=0
RandomOnCommand=
#
PortalX=0
PortalY=0
PortalOnCommand=
#
SortX=0
SortY=0
SortOnCommand=