# pop * candy 2 for StepMania 4
##############################################################
# original theme created by _LOLO_ ( http://virtuallolo.gozaru.jp/ )
##############################################################################
# character designs [ScreenSelectDifficulty], [ScreenCredits] by Hirose Madoka
# http://image.freespace.jp/twin_tail/2nd/
##############################################################################
# header characters designed by fether
##############################################################################
# theme Music by
# taitai studio ( http://www.taitaistudio.com/ )
# SENTIVE　- Official site - ( http://sentive.net/ )
##############################################################################
[Common]
InitialScreen="ScreenCompany"
NoScoreName="POPC"
AutoSetStyle=false
StepsTypesToHide="lights-cabinet"

[GameState]
AllowLateJoin=false
################################################################################
## managers, singletons, prefs, etc. ##
[SongManager]
NumSongGroupColors=23
SongGroupColor1=color("1.0,0.6,0.6,1")
SongGroupColor2=color("1.0,0.7,0.6,1")
SongGroupColor3=color("1.0,0.8,0.6,1")
SongGroupColor4=color("1.0,0.9,0.6,1")
SongGroupColor5=color("1.0,1.0,0.6,1")
SongGroupColor6=color("0.9,1.0,0.6,1")
SongGroupColor7=color("0.8,1.0,0.6,1")
SongGroupColor8=color("0.7,1.0,0.6,1")
SongGroupColor9=color("0.6,1.0,0.6,1")
SongGroupColor10=color("0.6,1.0,0.7,1")
SongGroupColor11=color("0.6,1.0,0.8,1")
SongGroupColor12=color("0.6,1.0,0.9,1")
SongGroupColor13=color("0.6,0.9,1.0,1")
SongGroupColor14=color("0.6,0.8,1.0,1")
SongGroupColor15=color("0.6,0.7,1.0,1")
SongGroupColor16=color("0.6,0.6,1.0,1")
SongGroupColor17=color("0.7,0.6,1.0,1")
SongGroupColor18=color("0.8,0.6,1.0,1")
SongGroupColor19=color("0.9,0.6,1.0,1")
SongGroupColor20=color("1.0,0.6,1.0,1")
SongGroupColor21=color("1.0,0.6,0.9,1")
SongGroupColor22=color("1.0,0.6,0.8,1")
SongGroupColor23=color("1.0,0.6,0.7,1")
ExtraColor=color("1.0,0.0,0.0,1.0")

[BitmapText]
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
################################################################################
## overlay screens ##
[ScreenSystemLayer]
CreditsInitCommand=shadowlength,0
CreditsP1X=SCREEN_CENTER_X-200
CreditsP1Y=SCREEN_BOTTOM-4
CreditsP2X=SCREEN_CENTER_X+200
CreditsP2Y=SCREEN_BOTTOM-4
CreditsJoinOnly=false

################################################################################
## bases ##
[Screen]
StyleIcon=false
PrevScreen=""

[ScreenWithMenuElements]
ShowHeader=true
HeaderX=SCREEN_CENTER_X
HeaderY=SCREEN_TOP+22
HeaderOnCommand=draworder,100;addy,-44;linear,0.1;addy,44;
HeaderOffCommand=linear,0.1;addy,-44;

ShowFooter=true
FooterX=SCREEN_CENTER_X
FooterY=SCREEN_BOTTOM-16
FooterOnCommand=draworder,97;addy,64;linear,0.1;addy,-64;
FooterOffCommand=linear,0.1;addy,64;

TimerX=SCREEN_CENTER_X-232
TimerY=SCREEN_TOP+22
TimerOnCommand=draworder,101;addy,-44;linear,0.1;addy,44;
TimerOffCommand=linear,0.1;addy,-44;

StyleIconX=SCREEN_CENTER_X-96
StyleIconY=SCREEN_TOP+26
StyleIconOnCommand=draworder,97;addx,640;spring,0.5;addx,-640
StyleIconOffCommand=bouncebegin,0.5;addx,640;

MemoryCardDisplayP1X=460
MemoryCardDisplayP1Y=20
MemoryCardDisplayP1OnCommand=draworder,97;addx,640;spring,0.5;addx,-640
MemoryCardDisplayP1OffCommand=bouncebegin,0.5;addx,640;

MemoryCardDisplayP2X=480
MemoryCardDisplayP2Y=20
MemoryCardDisplayP2OnCommand=draworder,97;addx,640;spring,0.5;addx,-640
MemoryCardDisplayP2OffCommand=bouncebegin,0.5;addx,640;

ShowHelp=true
HelpX=SCREEN_CENTER_X
HelpY=SCREEN_BOTTOM-24
HelpOnCommand=zoom,0.5;draworder,100;shadowlength,0;diffuseblink
HelpOffCommand=
HelpText=Screen.String("HelpTextGeneric")

ShowCoinsAndCredits=true

[MenuTimer]
FrameOnCommand=visible,false
Text1OnCommand=stopeffect;stoptweening;shadowlength,0;zoomx,1;x,-16;y,2
Text1FormatFunction=function(fSeconds) fSeconds=math.min( 99, math.ceil(fSeconds) ); local digit = math.floor(fSeconds/10); return ""..digit end
Text2OnCommand=stopeffect;stoptweening;shadowlength,0;zoomx,1;x,16;y,2
Text2FormatFunction=function(fSeconds) fSeconds=math.min( 99, math.ceil(fSeconds) ); local digit = math.mod(fSeconds,10); return ""..digit end

[HelpDisplay]
TipShowTime=5
TipOnCommand=shadowlength,0;

[ScreenAttract]
Fallback="ScreenWithMenuElementsBlank"
StartScreen="ScreenTitleMenu"
ForceTimer=true
CancelTransitionsOut=true
ShowHeader=false
ShowFooter=false

[ScreenWithMenuElementsBlank]
ShowHeader=false
ShowFooter=false
TimerStealth=true
TimerOnCommand=visible,false
ShowCoinsAndCredits=false

[ScreenSelectMaster]
Fallback="ScreenWithMenuElements"
ShowScroller=false
ShowCursor=false
SharedSelection=true

CursorP1OffsetXFromIcon=

# t
UseTwoLists=false
OptionOrderBUp=
OptionOrderBDown=
OptionOrderBLeft=
OptionOrderBRight=
OptionOrderBAuto=

# options bases
[ScreenOptions]
NumRowsShown=12

PageOnCommand=zoomto,SCREEN_WIDTH,SCREEN_HEIGHT;
ContainerOnCommand=draworder,-1;x,-SCREEN_WIDTH;decelerate,0.5;addx,SCREEN_WIDTH;
ContainerOffCommand=accelerate,0.5;addx,SCREEN_WIDTH;

OptionRowNormalMetricsGroup="OptionRow"
OptionRowExitMetricsGroup="OptionRowExit"

SeparateExitRowY=SCREEN_CENTER_Y+192

[OptionRow]
ShowModIcons=false
ShowUnderlines=true
ShowBpmInSpeedTitle=false

FrameX=SCREEN_CENTER_X-222
FrameY=0
FrameOnCommand=

ItemsStartX=SCREEN_CENTER_X-190
ItemsEndX=SCREEN_CENTER_X+310
ItemsGapX=14
ItemsMinBaseZoom=0.5
ItemOnCommand=shadowlength,0;zoom,0.5

ColorSelected=color("1,0.8,1,1")
ColorNotSelected=color("0.5,0.4,0.5.1")

[OptionRowExit]
ItemOnCommand=shadowlength,0;zoom,0.5;uppercase,true
ColorSelected=color("1,1,1,1")
ColorNotSelected=color("0.5,0.5,0.5,1")

[ScreenOptionsSimple]
Fallback="ScreenOptionsMaster"
ShowUnderlines=false
NumRowsShown=12

RowPositionTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) \
	self:y((SCREEN_CENTER_Y-168)+(32*offsetFromCenter)) \
end

CursorOnCommand=visible,false

OptionRowNormalMetricsGroup="OptionRowSimple"
OptionRowExitMetricsGroup="OptionRowSimpleExit"

ExplanationTogetherOnCommand=visible,false

[OptionRowSimple]
Fallback="OptionRow"

FrameX=SCREEN_CENTER_X-222

TitleX=SCREEN_CENTER_X-200
TitleY=-2
TitleOnCommand=shadowlength,0;halign,0;zoom,0.5

[OptionRowSimpleExit]
Fallback="OptionRowExit"
FrameOnCommand=visible,false
ColorSelected=color("1,0.525,0.25,1")

ItemOnCommand=zoom,0.5;shadowlength,0;uppercase,true

[ScreenOptionsService]
Class="ScreenOptionsMaster"
Fallback="ScreenOptionsSimple"
OptionRowNormalMetricsGroup="OptionRowSimple"
OptionRowExitMetricsGroup="OptionRowSimpleExit"

[ScreenOptionsServiceChild]
StopMusicOnBack=false
NumRowsShown=8
ExplanationTogetherY=SCREEN_CENTER_Y+152
ExplanationTogetherOnCommand=shadowlength,0;zoom,0.5;wrapwidthpixels,(SCREEN_WIDTH*0.95)*1.5;cropright,1;linear,0.5;cropright,0

OptionRowNormalMetricsGroup="OptionRowServiceChild"
OptionRowExitMetricsGroup="OptionRowServiceChildExit"

[OptionRowServiceChild]
Fallback="OptionRow"
ItemsStartX=SCREEN_CENTER_X-184
ItemsEndX=SCREEN_CENTER_X+310
ItemsGapX=14
ItemsMinBaseZoom=0.5

FrameX=SCREEN_CENTER_X-222

TitleX=SCREEN_CENTER_X-208
TitleY=1
TitleOnCommand=halign,1;zoom,0.5;shadowlength,0;wrapwidthpixels,160

ColorSelected=color("1,0.8,1,1")
ColorNotSelected=color("0.5,0.4,0.5.1")

[OptionRowServiceChildExit]
Fallback="OptionRow"
ItemOnCommand=uppercase,true;shadowlength,0;zoom,0.5
TitleOnCommand=visible,false
FrameOnCommand=visible,false

[ScreenOptionsEdit]
Fallback="ScreenOptionsSimple"

[PlayerOptions]
Fallback="ScreenOptions"
NumRowsShown=9
OptionRowNormalMetricsGroup="OptionRowPlayer"

[OptionRowPlayer]
Fallback="OptionRow"
ItemsStartX=SCREEN_CENTER_X-184
ItemsEndX=SCREEN_CENTER_X+310
ItemsGapX=14
ItemsMinBaseZoom=0.5
ItemOnCommand=shadowlength,0;zoom,0.5

TitleX=WideScale(SCREEN_CENTER_X-208,SCREEN_CENTER_X-216)
TitleY=1
TitleOnCommand=halign,1;zoom,0.5;shadowlength,0;wrapwidthpixels,160

ColorSelected=color("1,0.8,1,1")
ColorNotSelected=color("0.5,0.4,0.5.1")

[OptionsCursorP1]
Fallback="OptionsCursor"
LeftX=-4
MiddleX=-4
RightX=-4
LeftY=-4
MiddleY=-4
RightY=-4

[OptionsCursorP2]
Fallback="OptionsCursor"
LeftX=2
MiddleX=2
RightX=2
LeftY=2
MiddleY=2
RightY=2

[OptionsUnderline]
LeftOnCommand=halign,1;SetTextureFiltering,false
MiddleOnCommand=SetTextureFiltering,false
RightOnCommand=halign,0;SetTextureFiltering,false

[OptionsUnderlineP1]
Fallback="OptionsUnderline"
LeftX=0
MiddleX=0
RightX=0
LeftY=-10
MiddleY=-10
RightY=-10

[OptionsUnderlineP2]
Fallback="OptionsUnderline"
LeftX=0
MiddleX=0
RightX=0
LeftY=10
MiddleY=10
RightY=10

################################################################################
## concretes begin ##
## attract loop
[ScreenCompany]
Class="ScreenAttract"
Fallback="ScreenAttract"

ShowCoinsAndCredits=false
MemoryCardIcons=false
NextScreen="ScreenLogo"
PrevScreen="ScreenDemonstration"
TimerSeconds=16

[ScreenLogo]
Class="ScreenAttract"
Fallback="ScreenAttract"
NextScreen=Branch.AfterScreenLogo()
PrevScreen="ScreenCompany"
TimerSeconds=28

[ScreenHowToPlay]
Class="ScreenHowToPlay"
Fallback="ScreenAttract"
TimerSeconds=25
NextScreen="ScreenDemonstration"
PrevScreen="ScreenLogo"

ResetGameState=false
NumW2s=4
NumMisses=6

UsePlayer=true
LifeMeterBarX=SCREEN_CENTER_X+160
LifeMeterBarY=SCREEN_TOP+40
LifeMeterBarOnCommand=addy,-60;sleep,2.4;linear,0.2;addy,60

PlayerX=SCREEN_CENTER_X+160
PlayerY=SCREEN_CENTER_Y+20
PlayerOnCommand=draworder,10

[ScreenDemonstration]
Class="ScreenDemonstration"
Fallback="ScreenGameplay"
NextScreen="ScreenRanking"
PrevScreen="ScreenHowToPlay"
StartScreen="ScreenTitleMenu"
SecondsToShow=30
PlayMusic=false
MinSecondsToStep=0
MinSecondsToMusic=0
DifficultiesToShow="easy,medium,hard,challenge"
AllowStyleTypes="TwoPlayersTwoSides"
LightsMode="LightsMode_Demonstration"
ShowCourseModifiersProbability=0
AllowAdvancedModifiers=false

[ScreenRanking]
# old ddr-style crappy ranking thingy
Class="ScreenRanking"
Fallback="ScreenAttract"
NextScreen="ScreenLegal"
PrevScreen="ScreenDemonstration"
TimerSeconds=-1
#####
RankingType="RankingType_Category"
#####
SecondsPerPage=5
#CoursesToShow=Courses/popcandy2_course/pc2_nonstop_klonoa.crs,Courses/popcandy2_course/pc2_nonstop_sentive.crs,Courses/popcandy2_course/pc2_nonstop_teen.crs,Courses/popcandy2_course/pc2_nonstop_fether.crs,Courses/popcandy2_course/pc2_nonstop_ar.crs,Courses/popcandy2_course/pc2_nonstop_kagerow.crs,Courses/popcandy2_course/pc2_nonstop_itgrespect.crs,Courses/popcandy2_course/pc2_oni_flying.crs,Courses/popcandy2_course/pc2_oni_kemono.crs,Courses/popcandy2_course/pc2_oni_pctheboss.crs
PageFadeSeconds=1.0

StepsTypesToHide="dance-couple,dance-solo,pump-halfdouble,lights-cabinet"
#ShowCategories=1
#ShowAllStepsScores=0
#ShowAllCourseScores=0
#DifficultiesToShow="easy,medium,hard,challenge"
SongScoreSecondsPerRow=0.4
#SongScoreRowsToShow=6
#PercentDecimalPlaces=2
#PercentTotalSize=4

RowSpacingX=0
RowSpacingY=60
ColSpacingX=0
ColSpacingY=0

StepsTypeColor1=color("0.6,0.6,1,1")
StepsTypeColor2=color("1,0.3,0.3,1")
StepsTypeColor3=color("0.3,1,0.3,1")
StepsTypeColor4=color("1.0,1,1.0,1")
StepsTypeColor5=color("1.0,1,1.0,1")

BannerX=SCREEN_CENTER_X*0.4125
BannerY=SCREEN_CENTER_Y+156
BannerWidth=220
BannerHeight=64
BannerOnCommand=addx,-800;sleep,0.0;bounceend,1;addx,800
BannerOffCommand=sleep,0.0;linear,0.5;diffusealpha,0

CategoryOnCommand=x,SCREEN_WIDTH*0.807813;y,SCREEN_TOP+48;bob;effectmagnitude,0,5,0;zoom,0;bounceend,0.5;zoom,1;
CategorySwitchPageCommand=bouncebegin,0.5;zoom,0;bounceend,0.5;zoom,1;
CategoryOffCommand=bouncebegin,0.5;zoom,0;
##
CourseTitleOnCommand=x,SCREEN_WIDTH*0.807813;y,SCREEN_TOP+48;bob;effectmagnitude,0,5,0;zoom,0;bounceend,0.5;zoom,1;
CourseTitleSwitchPageCommand=bouncebegin,0.5;zoom,0;bounceend,0.5;zoom,1;
CourseTitleOffCommand=bouncebegin,0.5;zoom,0;
##
StepsTypeOnCommand=x,SCREEN_WIDTH*0.8125;y,SCREEN_TOP+76;bob;effectmagnitude,0,5,0;zoom,0;bounceend,0.5;zoom,1;
StepsTypeSwitchPageCommand=bouncebegin,0.5;zoom,0;bounceend,0.5;zoom,1;
StepsTypeOffCommand=bouncebegin,0.5;zoom,0;

PageTypeX=520
PageTypeY=76
PageTypeOnCommand=bob;effectmagnitude,0,5,0;zoom,0;bounceend,0.5;zoom,1;
PageTypeOffCommand=bouncebegin,0.5;zoom,0;

BulletStartX=SCREEN_CENTER_X
BulletStartY=SCREEN_CENTER_Y/2
Bullet1OnCommand=rotationz,25;addx,SCREEN_WIDTH;addy,SCREEN_HEIGHT*0.8333;sleep,0.2;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;
Bullet2OnCommand=rotationz,25;addx,SCREEN_WIDTH;addy,SCREEN_HEIGHT*0.8333;sleep,0.3;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;
Bullet3OnCommand=rotationz,25;addx,SCREEN_WIDTH;addy,SCREEN_HEIGHT*0.8333;sleep,0.4;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;
Bullet4OnCommand=rotationz,25;addx,SCREEN_WIDTH;addy,SCREEN_HEIGHT*0.8333;sleep,0.5;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;
Bullet5OnCommand=rotationz,25;addx,SCREEN_WIDTH;addy,SCREEN_HEIGHT*0.8333;sleep,0.6;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;
##
Bullet1SwitchPageCommand=sleep,0.2;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;sleep,0;x,SCREEN_CENTER_X;y,THEME:GetMetric("ScreenRanking","BulletStartY")+THEME:GetMetric("ScreenRanking","RowSpacingY")*0;addx,SCREEN_WIDTH;addy,SCREEN_HEIGHT*0.8333;sleep,0.2;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;
Bullet2SwitchPageCommand=sleep,0.3;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;sleep,0;x,SCREEN_CENTER_X;y,THEME:GetMetric("ScreenRanking","BulletStartY")+THEME:GetMetric("ScreenRanking","RowSpacingY")*1;addx,SCREEN_WIDTH;addy,SCREEN_HEIGHT*0.8333;sleep,0.2;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;
Bullet3SwitchPageCommand=sleep,0.4;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;sleep,0;x,SCREEN_CENTER_X;y,THEME:GetMetric("ScreenRanking","BulletStartY")+THEME:GetMetric("ScreenRanking","RowSpacingY")*2;addx,SCREEN_WIDTH;addy,SCREEN_HEIGHT*0.8333;sleep,0.2;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;
Bullet4SwitchPageCommand=sleep,0.5;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;sleep,0;x,SCREEN_CENTER_X;y,THEME:GetMetric("ScreenRanking","BulletStartY")+THEME:GetMetric("ScreenRanking","RowSpacingY")*3;addx,SCREEN_WIDTH;addy,SCREEN_HEIGHT*0.8333;sleep,0.2;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;
Bullet5SwitchPageCommand=sleep,0.6;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;sleep,0;x,SCREEN_CENTER_X;y,THEME:GetMetric("ScreenRanking","BulletStartY")+THEME:GetMetric("ScreenRanking","RowSpacingY")*4;addx,SCREEN_WIDTH;addy,SCREEN_HEIGHT*0.8333;sleep,0.2;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;
##
Bullet1OffCommand=sleep,0.2;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;
Bullet2OffCommand=sleep,0.3;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;
Bullet3OffCommand=sleep,0.4;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;
Bullet4OffCommand=sleep,0.5;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;
Bullet5OffCommand=sleep,0.6;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;

DifficultyStartX=SCREEN_CENTER_X-150
DifficultyStartY=SCREEN_CENTER_Y-144
DifficultySpacingX=110
DifficultySpacingY=0
DifficultyOnCommand=addx,SCREEN_WIDTH;sleep,0.1;bounceend,1;addx,-SCREEN_WIDTH
DifficultyOffCommand=sleep,0.1;linear,0.5;diffusealpha,0

NameStartX=SCREEN_CENTER_X-144
NameStartY=SCREEN_CENTER_Y-188
Name1OnCommand=shadowlength,0;rotationz,25;addx,SCREEN_WIDTH;addy,SCREEN_HEIGHT*0.8333;sleep,0.2;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;
Name2OnCommand=shadowlength,0;rotationz,25;addx,SCREEN_WIDTH;addy,SCREEN_HEIGHT*0.8333;sleep,0.3;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;
Name3OnCommand=shadowlength,0;rotationz,25;addx,SCREEN_WIDTH;addy,SCREEN_HEIGHT*0.8333;sleep,0.4;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;
Name4OnCommand=shadowlength,0;rotationz,25;addx,SCREEN_WIDTH;addy,SCREEN_HEIGHT*0.8333;sleep,0.5;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;
Name5OnCommand=shadowlength,0;rotationz,25;addx,SCREEN_WIDTH;addy,SCREEN_HEIGHT*0.8333;sleep,0.6;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;
#@
Name1SwitchPageCommand=sleep,0.2;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;sleep,0;x,THEME:GetMetric("ScreenRanking","NameStartX");y,THEME:GetMetric("ScreenRanking","NameStartY")+THEME:GetMetric("ScreenRanking","RowSpacingY")*0;addx,SCREEN_WIDTH;addy,SCREEN_HEIGHT*0.8333;sleep,0.2;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;
Name2SwitchPageCommand=sleep,0.3;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;sleep,0;x,THEME:GetMetric("ScreenRanking","NameStartX");y,THEME:GetMetric("ScreenRanking","NameStartY")+THEME:GetMetric("ScreenRanking","RowSpacingY")*1;addx,SCREEN_WIDTH;addy,SCREEN_HEIGHT*0.8333;sleep,0.2;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;
Name3SwitchPageCommand=sleep,0.4;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;sleep,0;x,THEME:GetMetric("ScreenRanking","NameStartX");y,THEME:GetMetric("ScreenRanking","NameStartY")+THEME:GetMetric("ScreenRanking","RowSpacingY")*2;addx,SCREEN_WIDTH;addy,SCREEN_HEIGHT*0.8333;sleep,0.2;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;
Name4SwitchPageCommand=sleep,0.5;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;sleep,0;x,THEME:GetMetric("ScreenRanking","NameStartX");y,THEME:GetMetric("ScreenRanking","NameStartY")+THEME:GetMetric("ScreenRanking","RowSpacingY")*3;addx,SCREEN_WIDTH;addy,SCREEN_HEIGHT*0.8333;sleep,0.2;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;
Name5SwitchPageCommand=sleep,0.6;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;sleep,0;x,THEME:GetMetric("ScreenRanking","NameStartX");y,THEME:GetMetric("ScreenRanking","NameStartY")+THEME:GetMetric("ScreenRanking","RowSpacingY")*4;addx,SCREEN_WIDTH;addy,SCREEN_HEIGHT*0.8333;sleep,0.2;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;
##
Name1OffCommand=sleep,0.2;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;
Name2OffCommand=sleep,0.3;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;
Name3OffCommand=sleep,0.4;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;
Name4OffCommand=sleep,0.5;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;
Name5OffCommand=sleep,0.6;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;

ScoreStartX=SCREEN_CENTER_X+208
ScoreStartY=SCREEN_CENTER_Y-22
Score1OnCommand=shadowlength,0;rotationz,25;halign,1;addx,SCREEN_WIDTH;addy,SCREEN_CENTER_Y+160;sleep,0.2;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;
Score2OnCommand=shadowlength,0;rotationz,25;halign,1;addx,SCREEN_WIDTH;addy,SCREEN_CENTER_Y+160;sleep,0.3;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;
Score3OnCommand=shadowlength,0;rotationz,25;halign,1;addx,SCREEN_WIDTH;addy,SCREEN_CENTER_Y+160;sleep,0.4;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;
Score4OnCommand=shadowlength,0;rotationz,25;halign,1;addx,SCREEN_WIDTH;addy,SCREEN_CENTER_Y+160;sleep,0.5;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;
Score5OnCommand=shadowlength,0;rotationz,25;halign,1;addx,SCREEN_WIDTH;addy,SCREEN_CENTER_Y+160;sleep,0.6;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;
##
Score1SwitchPageCommand=sleep,0.2;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_CENTER_Y+160;sleep,0;x,THEME:GetMetric("ScreenRanking","ScoreStartX");y,THEME:GetMetric("ScreenRanking","ScoreStartY")+THEME:GetMetric("ScreenRanking","RowSpacingY")*0;addx,SCREEN_WIDTH;addy,SCREEN_HEIGHT*0.8333;sleep,0.2;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;
Score2SwitchPageCommand=sleep,0.3;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_CENTER_Y+160;sleep,0;x,THEME:GetMetric("ScreenRanking","ScoreStartX");y,THEME:GetMetric("ScreenRanking","ScoreStartY")+THEME:GetMetric("ScreenRanking","RowSpacingY")*1;addx,SCREEN_WIDTH;addy,SCREEN_HEIGHT*0.8333;sleep,0.2;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;
Score3SwitchPageCommand=sleep,0.4;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_CENTER_Y+160;sleep,0;x,THEME:GetMetric("ScreenRanking","ScoreStartX");y,THEME:GetMetric("ScreenRanking","ScoreStartY")+THEME:GetMetric("ScreenRanking","RowSpacingY")*2;addx,SCREEN_WIDTH;addy,SCREEN_HEIGHT*0.8333;sleep,0.2;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;
Score4SwitchPageCommand=sleep,0.5;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_CENTER_Y+160;sleep,0;x,THEME:GetMetric("ScreenRanking","ScoreStartX");y,THEME:GetMetric("ScreenRanking","ScoreStartY")+THEME:GetMetric("ScreenRanking","RowSpacingY")*3;addx,SCREEN_WIDTH;addy,SCREEN_HEIGHT*0.8333;sleep,0.2;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;
Score5SwitchPageCommand=sleep,0.6;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_CENTER_Y+160;sleep,0;x,THEME:GetMetric("ScreenRanking","ScoreStartX");y,THEME:GetMetric("ScreenRanking","ScoreStartY")+THEME:GetMetric("ScreenRanking","RowSpacingY")*4;addx,SCREEN_WIDTH;addy,SCREEN_HEIGHT*0.8333;sleep,0.2;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;
##
Score1OffCommand=sleep,0.2;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;
Score2OffCommand=sleep,0.3;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;
Score3OffCommand=sleep,0.4;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;
Score4OffCommand=sleep,0.5;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;
Score5OffCommand=sleep,0.6;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;

PointsStartX=SCREEN_CENTER_X+60
PointsStartY=SCREEN_CENTER_Y-25
Points1OnCommand=shadowlength,0;rotationz,25;addx,SCREEN_WIDTH;addy,SCREEN_HEIGHT*0.8333;sleep,0.2;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;
Points2OnCommand=shadowlength,0;rotationz,25;addx,SCREEN_WIDTH;addy,SCREEN_HEIGHT*0.8333;sleep,0.3;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;
Points3OnCommand=shadowlength,0;rotationz,25;addx,SCREEN_WIDTH;addy,SCREEN_HEIGHT*0.8333;sleep,0.4;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;
Points4OnCommand=shadowlength,0;rotationz,25;addx,SCREEN_WIDTH;addy,SCREEN_HEIGHT*0.8333;sleep,0.5;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;
Points5OnCommand=shadowlength,0;rotationz,25;addx,SCREEN_WIDTH;addy,SCREEN_HEIGHT*0.8333;sleep,0.6;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;
# todo: switchpage commands
Points1SwitchPageCommand=sleep,0.2;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;sleep,0;x,THEME:GetMetric("ScreenRanking","PointsStartX");y,THEME:GetMetric("ScreenRanking","PointsStartY")+THEME:GetMetric("ScreenRanking","RowSpacingY")*0;addx,SCREEN_WIDTH;addy,SCREEN_HEIGHT*0.8333;sleep,0.2;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;
Points2SwitchPageCommand=sleep,0.3;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;sleep,0;x,THEME:GetMetric("ScreenRanking","PointsStartX");y,THEME:GetMetric("ScreenRanking","PointsStartY")+THEME:GetMetric("ScreenRanking","RowSpacingY")*1;addx,SCREEN_WIDTH;addy,SCREEN_HEIGHT*0.8333;sleep,0.2;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;
Points3SwitchPageCommand=sleep,0.4;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;sleep,0;x,THEME:GetMetric("ScreenRanking","PointsStartX");y,THEME:GetMetric("ScreenRanking","PointsStartY")+THEME:GetMetric("ScreenRanking","RowSpacingY")*2;addx,SCREEN_WIDTH;addy,SCREEN_HEIGHT*0.8333;sleep,0.2;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;
Points4SwitchPageCommand=sleep,0.5;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;sleep,0;x,THEME:GetMetric("ScreenRanking","PointsStartX");y,THEME:GetMetric("ScreenRanking","PointsStartY")+THEME:GetMetric("ScreenRanking","RowSpacingY")*3;addx,SCREEN_WIDTH;addy,SCREEN_HEIGHT*0.8333;sleep,0.2;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;
Points5SwitchPageCommand=sleep,0.6;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;sleep,0;x,THEME:GetMetric("ScreenRanking","PointsStartX");y,THEME:GetMetric("ScreenRanking","PointsStartY")+THEME:GetMetric("ScreenRanking","RowSpacingY")*4;addx,SCREEN_WIDTH;addy,SCREEN_HEIGHT*0.8333;sleep,0.2;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;
##
Points1OffCommand=sleep,0.2;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;
Points2OffCommand=sleep,0.3;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;
Points3OffCommand=sleep,0.4;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;
Points4OffCommand=sleep,0.5;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;
Points5OffCommand=sleep,0.6;linear,0.5;addx,-SCREEN_WIDTH;addy,-SCREEN_HEIGHT*0.8333;

DifficultyStartX=SCREEN_CENTER_X-102
DifficultyY=SCREEN_TOP+50
Difficulty1OnCommand=zoom,0.7
Difficulty2OnCommand=zoom,0.7
Difficulty3OnCommand=zoom,0.7
Difficulty4OnCommand=zoom,0.7
Difficulty1OffCommand=sleep,0.2;linear,0.5;diffusealpha,0
Difficulty2OffCommand=sleep,0.3;linear,0.5;diffusealpha,0
Difficulty3OffCommand=sleep,0.4;linear,0.5;diffusealpha,0
Difficulty4OffCommand=sleep,0.5;linear,0.5;diffusealpha,0

CourseDifficultyStartX=307
CourseDifficultyY=50
CourseDifficultyEasyOnCommand=zoom,0.7
CourseDifficultyRegularOnCommand=zoom,0.7
CourseDifficultyDifficultOnCommand=zoom,0.7
CourseDifficultyEasyOffCommand=sleep,0.2;linear,0.5;diffusealpha,0
CourseDifficultyRegularOffCommand=sleep,0.3;linear,0.5;diffusealpha,0
CourseDifficultyDifficultOffCommand=sleep,0.4;linear,0.5;diffusealpha,0

SongFrameOffsetX=320
SongFrameOffsetY=200
SongFrameOnCommand=zoom,1
CourseListFrameOnCommand=zoom,1
SongTitleOffsetX=136
SongTitleOffsetY=200
SongTitleOnCommand=horizalign,center;maxwidth,200
CourseListTitleOnCommand=horizalign,center;maxwidth,200
StepsScoreOffsetStartX=218
StepsScoreOffsetY=200
StepsScoreOnCommand=zoom,0.7
CourseListScoreOffsetStartX=307
CourseListScoreOffsetY=200
CourseListScoreOnCommand=zoom,0.7

[ScreenLegal]
Class="ScreenAttract"
Fallback="ScreenAttract"
NextScreen="ScreenCompany"
PrevScreen="ScreenRanking"
TimerSeconds=10

## playable crap
[ScreenTitleMenu]
PrevScreen="ScreenCompany"
ShowHeader=false
ShowFooter=false
#
HelpY=SCREEN_BOTTOM-40
HelpText=Screen.String("HelpTextHome")

ChoiceNames="1,4,5,6,7"
Choice1="applydefaultoptions;text,Game Start;screen,"..Branch.GameStartScreen()
Choice4="screen,ScreenOptionsService;text,Options"
Choice5="screen,ScreenOptionsEdit;text,Edit/Share"
Choice6="screen,ScreenJukeboxMenu;text,Jukebox"
Choice7="screen,ScreenExit;text,Exit"
ChoiceSetup="screen,ScreenQuickSetupOverview;text,Setup"
##
Choice2="screen,ScreenNetworkOptions;text,Play Online"
Choice3="screen,ScreenSelectGame;text,Select Game"

ScrollerNumItemsToDraw=20
ScrollerX=SCREEN_CENTER_X-304
ScrollerY=SCREEN_CENTER_Y+150
ScrollerOnCommand=vertalign,top
ScrollerTransform=function(self,offset,itemIndex,numItems) self:y(16*(itemIndex-(numItems-1)/2)); end

ChoicesShadowLength=1
ColorNotSelected=1,1,1,1
ColorSelected=0.5,1,0.5,1

CollectionStatsX=SCREEN_CENTER_X-300
CollectionStatsY=SCREEN_TOP+20
CollectionStatsOnCommand=halign,0;diffuse,color("0.6,0.6,0.6,1");zoom,0.5;shadowlength,2

VersionInfoX=SCREEN_CENTER_X+300
VersionInfoY=SCREEN_TOP+20
VersionInfoOnCommand=halign,1;diffuse,color("0.6,0.6,0.6,1");zoom,0.5;shadowlength,2

################################################################################
## pre-selmusic begins ##
[ScreenProfileLoad]
NextScreen="ScreenSelectDifficulty"
PrepareScreens="ScreenCaution"

[ScreenCaution]
Fallback="ScreenSplash"
PrepareScreen=Branch.SelectStyle()
NextScreen=Branch.SelectStyle()
PrevScreen="ScreenTitleMenu"
TimerSeconds=5
ForceTimer=true
AllowStartToSkip=true

[ScreenSelectStyle]
# ScreenSelectStyle, as a class, does not exist since it can be reimplemented
# as a ScreenSelectMaster. Unlike in 3.9, ScreenSelectMasters in SM4 are much
# simpler to work with.
Fallback="ScreenSelectMaster"
Class="ScreenSelectMaster"
PrevScreen="ScreenTitleMenu"
# hack:
UpdateOnMessage="PlayerJoined"

TimerSeconds=40
WaitForChildrenBeforeTweeningOut=true

ShowExplanation=true
ExplanationX=SCREEN_CENTER_X
ExplanationY=SCREEN_TOP+72
ExplanationOnCommand=addy,-120;linear,0.2;addy,120;draworder,50
ExplanationOffCommand=linear,0.2;addy,-120

ChoiceNames="1,2,3,4,5"
DefaultChoice="1"
# todo: support more gametypes
Choice1="style,single;name,Single;screen,ScreenProfileLoad"
Choice2="style,solo;name,Solo;screen,ScreenProfileLoad"
Choice3="style,versus;name,Versus;screen,ScreenProfileLoad"
Choice4="style,couple;name,Couple;screen,ScreenProfileLoad"
Choice5="style,double;name,Double;screen,ScreenProfileLoad"
NumChoicesOnPage1=5

ShowIcon=true
UseIconMetrics=true
PerChoiceIconElement=true

IconChoiceSingleX=SCREEN_CENTER_X-128
IconChoiceSingleY=SCREEN_CENTER_Y+40
IconChoiceSingleOnCommand=addy,-SCREEN_WIDTH;linear,0.3;addy,SCREEN_WIDTH
IconChoiceSingleOffCommand=linear,0.3;addy,-SCREEN_WIDTH;
IconChoiceSingleGainFocusCommand=glowshift;effectperiod,0.5
IconChoiceSingleLoseFocusCommand=stopeffect
IconChoiceSingleEnabledCommand=diffuse,color("1,1,1,1");
IconChoiceSingleDisabledCommand=diffuse,color("0.2,0.2,0.2,1");

IconChoiceSoloX=SCREEN_CENTER_X+128
IconChoiceSoloY=SCREEN_CENTER_Y+40
IconChoiceSoloOnCommand=addy,-SCREEN_WIDTH;linear,0.3;addy,SCREEN_WIDTH
IconChoiceSoloOffCommand=linear,0.3;addy,SCREEN_WIDTH;
IconChoiceSoloGainFocusCommand=glowshift;effectperiod,0.5
IconChoiceSoloLoseFocusCommand=stopeffect
IconChoiceSoloEnabledCommand=diffuse,color("1,1,1,1");
IconChoiceSoloDisabledCommand=diffuse,color("0.2,0.2,0.2,1");

IconChoiceVersusX=SCREEN_CENTER_X-256
IconChoiceVersusY=SCREEN_CENTER_Y-40
IconChoiceVersusOnCommand=addy,SCREEN_WIDTH;linear,0.3;addy,-SCREEN_WIDTH
IconChoiceVersusOffCommand=linear,0.3;addy,-SCREEN_WIDTH;
IconChoiceVersusGainFocusCommand=glowshift;effectperiod,0.5
IconChoiceVersusLoseFocusCommand=stopeffect
IconChoiceVersusEnabledCommand=diffuse,color("1,1,1,1");
IconChoiceVersusDisabledCommand=diffuse,color("0.2,0.2,0.2,1");

IconChoiceCoupleX=SCREEN_CENTER_X
IconChoiceCoupleY=SCREEN_CENTER_Y-40
IconChoiceCoupleOnCommand=addy,SCREEN_WIDTH;linear,0.3;addy,-SCREEN_WIDTH
IconChoiceCoupleOffCommand=linear,0.3;addy,-SCREEN_WIDTH;
IconChoiceCoupleGainFocusCommand=glowshift;effectperiod,0.5
IconChoiceCoupleLoseFocusCommand=stopeffect
IconChoiceCoupleEnabledCommand=diffuse,color("1,1,1,1");
IconChoiceCoupleDisabledCommand=diffuse,color("0.2,0.2,0.2,1");

IconChoiceDoubleX=SCREEN_CENTER_X+256
IconChoiceDoubleY=SCREEN_CENTER_Y-40
IconChoiceDoubleOnCommand=addy,SCREEN_WIDTH;linear,0.3;addy,-SCREEN_WIDTH
IconChoiceDoubleOffCommand=linear,0.3;addy,-SCREEN_WIDTH;
IconChoiceDoubleGainFocusCommand=glowshift;effectperiod,0.5
IconChoiceDoubleLoseFocusCommand=stopeffect
IconChoiceDoubleEnabledCommand=diffuse,color("1,1,1,1");
IconChoiceDoubleDisabledCommand=diffuse,color("0.2,0.2,0.2,1");

StyleIcon=1
MemoryCardIcons=1
PremiumX=SCREEN_CENTER_X+230
PremiumY=SCREEN_CENTER_Y-156
PremiumOnCommand=addx,SCREEN_CENTER_X+80;bounceend,0.5;addx,-(SCREEN_CENTER_X+80);glowshift;effectcolor1,color("1,1,1,0");effectcolor2,color("1,1,1,0.3")
PremiumOffCommand=bouncebegin,0.5;addx,SCREEN_CENTER_X+80

ShowScroller=false

[ScreenSelectDifficulty]
# see above comment about ScreenSelectStyle
Fallback="ScreenSelectMaster"
Class="ScreenSelectMaster"
PrevScreen="ScreenTitleMenu"
TimerSeconds=40
UpdateOnMessage=""
WaitForChildrenBeforeTweeningOut=true

# considering magic dance wasn't themed in the 3.9 version, I'm not going to
# bother including it.
#ChoiceNames="1,2,3,4,5,6,7,8,9"
ChoiceNames="1,2,3,4,5,6,7,8"
#ChoiceNames=IsNetConnected() and "1,2,3,4,5" or "1,2,3,4,5,6,7,8"
DefaultChoice="1"
Choice1="playmode,regular;difficulty,beginner;name,Beginner;screen,ScreenGameInformation"
Choice2="playmode,regular;difficulty,easy;name,Easy;screen,ScreenGameInformation"
Choice3="playmode,regular;difficulty,medium;name,Medium;screen,"..Branch.AfterSelectDifficulty()
Choice4="playmode,regular;difficulty,hard;name,Hard;screen,"..Branch.AfterSelectDifficulty()
Choice5="playmode,regular;difficulty,challenge;name,Challenge;screen,"..Branch.AfterSelectDifficulty()
#Choice6="playmode,nonstop;name,Nonstop;screen,ScreenGameInformation"
Choice6="playmode,nonstop;name,Nonstop;screen,ScreenSelectCourseNonstop"
#Choice7="playmode,oni;name,Oni;screen,ScreenGameInformation"
Choice7="playmode,oni;name,Oni;screen,ScreenSelectCourseOni"
#Choice8="playmode,endless;name,Endless;screen,ScreenSelectCourse"
Choice8="name,Endless;screen,ScreenSelectCourseEndless"

Choice9="playmode,rave;name,Rave;screen,ScreenSelectMusic"
NumChoicesOnPage1=5

#Choice5=playmode,regular;difficulty,challenge;name,HardPlus;mod,clearall,1x,default,battery;

#SharedSelection=true

ShowIcon=true
UseIconMetrics=true

IconChoiceBeginnerX=SCREEN_CENTER_X-224
IconChoiceBeginnerY=SCREEN_CENTER_Y-88
IconChoiceBeginnerOnCommand=draworder,20;rotationz,180;zoom,0;sleep,0.1;bounceend,0.2;rotationz,0;zoom,1;
IconChoiceBeginnerOffCommand=sleep,0.0;bouncebegin,0.2;rotationz,180;zoom,0;
IconChoiceBeginnerOffFocusedCommand=playcommand,"Off"
IconChoiceBeginnerOffUnfocusedCommand=playcommand,"Off"
IconChoiceBeginnerGainFocusCommand=diffuse,color("1,1,1,1")
IconChoiceBeginnerLoseFocusCommand=diffuse,color("0.5,0.5,0.5,1")
IconChoiceBeginnerSwitchToPage1Command=linear,0.3;x,THEME:GetMetric("ScreenSelectDifficulty","IconChoiceBeginnerX")
IconChoiceBeginnerSwitchToPage2Command=linear,0.3;x,-SCREEN_WIDTH+THEME:GetMetric("ScreenSelectDifficulty","IconChoiceBeginnerX")

IconChoiceEasyX=SCREEN_CENTER_X-192
IconChoiceEasyY=SCREEN_CENTER_Y+80
IconChoiceEasyOnCommand=draworder,20;rotationz,180;zoom,0;sleep,0.2;bounceend,0.2;rotationz,0;zoom,1;
IconChoiceEasyOffCommand=sleep,0.1;bouncebegin,0.2;rotationz,180;zoom,0;
IconChoiceEasyOffFocusedCommand=playcommand,"Off"
IconChoiceEasyOffUnfocusedCommand=playcommand,"Off"
IconChoiceEasyGainFocusCommand=diffuse,color("1,1,1,1")
IconChoiceEasyLoseFocusCommand=diffuse,color("0.5,0.5,0.5,1")
IconChoiceEasySwitchToPage1Command=linear,0.3;x,THEME:GetMetric("ScreenSelectDifficulty","IconChoiceEasyX")
IconChoiceEasySwitchToPage2Command=linear,0.3;x,-SCREEN_WIDTH+THEME:GetMetric("ScreenSelectDifficulty","IconChoiceEasyX")

IconChoiceMediumX=SCREEN_CENTER_X+192
IconChoiceMediumY=SCREEN_CENTER_Y-88
IconChoiceMediumOnCommand=draworder,20;rotationz,180;zoom,0;sleep,0.3;bounceend,0.2;rotationz,0;zoom,1;
IconChoiceMediumOffCommand=sleep,0.2;bouncebegin,0.2;rotationz,180;zoom,0;
IconChoiceMediumOffFocusedCommand=playcommand,"Off"
IconChoiceMediumOffUnfocusedCommand=playcommand,"Off"
IconChoiceMediumGainFocusCommand=diffuse,color("1,1,1,1")
IconChoiceMediumLoseFocusCommand=diffuse,color("0.5,0.5,0.5,1")
IconChoiceMediumSwitchToPage1Command=linear,0.3;x,THEME:GetMetric("ScreenSelectDifficulty","IconChoiceMediumX")
IconChoiceMediumSwitchToPage2Command=linear,0.3;x,-SCREEN_WIDTH+THEME:GetMetric("ScreenSelectDifficulty","IconChoiceMediumX")

IconChoiceHardX=SCREEN_CENTER_X+220
IconChoiceHardY=SCREEN_CENTER_Y+120
IconChoiceHardOnCommand=draworder,20;rotationz,180;zoom,0;sleep,0.4;bounceend,0.2;rotationz,0;zoom,1;
IconChoiceHardOffCommand=sleep,0.3;bouncebegin,0.2;rotationz,180;zoom,0;
IconChoiceHardOffFocusedCommand=playcommand,"Off"
IconChoiceHardOffUnfocusedCommand=playcommand,"Off"
IconChoiceHardGainFocusCommand=diffuse,color("1,1,1,1")
IconChoiceHardLoseFocusCommand=diffuse,color("0.5,0.5,0.5,1")
IconChoiceHardSwitchToPage1Command=linear,0.3;x,THEME:GetMetric("ScreenSelectDifficulty","IconChoiceHardX")
IconChoiceHardSwitchToPage2Command=linear,0.3;x,-SCREEN_WIDTH+THEME:GetMetric("ScreenSelectDifficulty","IconChoiceHardX")

IconChoiceChallengeX=SCREEN_CENTER_X
IconChoiceChallengeY=SCREEN_CENTER_Y+160
IconChoiceChallengeOnCommand=draworder,19;rotationz,180;zoom,0;sleep,0.5;bounceend,0.2;rotationz,0;zoom,1;
IconChoiceChallengeOffCommand=sleep,0.3;bouncebegin,0.2;rotationz,180;zoom,0;
IconChoiceChallengeOffFocusedCommand=playcommand,"Off"
IconChoiceChallengeOffUnfocusedCommand=playcommand,"Off"
IconChoiceChallengeGainFocusCommand=diffuse,color("1,1,1,1")
IconChoiceChallengeLoseFocusCommand=diffuse,color("0.5,0.5,0.5,1")
IconChoiceChallengeSwitchToPage1Command=linear,0.3;x,SCREEN_CENTER_X;diffuse,color("1,1,1,1")
IconChoiceChallengeSwitchToPage2Command=linear,0.3;x,-SCREEN_WIDTH+SCREEN_CENTER_X;diffuse,color("0.5,0.5,0.5,1")
## pg2 ##
IconChoiceNonstopX=SCREEN_WIDTH*1.23438
IconChoiceNonstopY=SCREEN_CENTER_Y+80
IconChoiceNonstopOnCommand=draworder,20;hide_if,IsNetConnected();
IconChoiceNonstopOffCommand=sleep,0.1;bouncebegin,0.2;addx,SCREEN_WIDTH;
IconChoiceNonstopOffFocusedCommand=playcommand,"Off"
IconChoiceNonstopOffUnfocusedCommand=playcommand,"Off"
IconChoiceNonstopGainFocusCommand=diffuse,color("1,1,1,1")
IconChoiceNonstopLoseFocusCommand=diffuse,color("0.5,0.5,0.5,1")
IconChoiceNonstopSwitchToPage1Command=linear,0.3;x,THEME:GetMetric("ScreenSelectDifficulty","IconChoiceNonstopX");diffuse,color("0.5,0.5,0.5,1")
IconChoiceNonstopSwitchToPage2Command=linear,0.3;x,THEME:GetMetric("ScreenSelectDifficulty","IconChoiceNonstopX")-SCREEN_WIDTH;diffuse,color("1,1,1,1")

IconChoiceOniX=SCREEN_WIDTH*1.4
IconChoiceOniY=SCREEN_CENTER_Y-104
IconChoiceOniOnCommand=draworder,20;hide_if,IsNetConnected();
IconChoiceOniOffCommand=sleep,0.2;bouncebegin,0.2;addx,SCREEN_WIDTH;
IconChoiceOniOffFocusedCommand=playcommand,"Off"
IconChoiceOniOffUnfocusedCommand=playcommand,"Off"
IconChoiceOniGainFocusCommand=diffuse,color("1,1,1,1")
IconChoiceOniLoseFocusCommand=diffuse,color("0.5,0.5,0.5,1")
IconChoiceOniSwitchToPage1Command=linear,0.3;x,THEME:GetMetric("ScreenSelectDifficulty","IconChoiceOniX")
IconChoiceOniSwitchToPage2Command=linear,0.3;x,THEME:GetMetric("ScreenSelectDifficulty","IconChoiceOniX")-SCREEN_WIDTH

IconChoiceEndlessX=SCREEN_WIDTH*1.5625
IconChoiceEndlessY=SCREEN_CENTER_Y+80
IconChoiceEndlessOnCommand=draworder,20;hide_if,IsNetConnected();
IconChoiceEndlessOffCommand=sleep,0.3;bouncebegin,0.2;addx,SCREEN_WIDTH;
IconChoiceEndlessOffFocusedCommand=playcommand,"Off"
IconChoiceEndlessOffUnfocusedCommand=playcommand,"Off"
IconChoiceEndlessGainFocusCommand=diffuse,color("1,1,1,1")
IconChoiceEndlessLoseFocusCommand=diffuse,color("0.5,0.5,0.5,1")
IconChoiceEndlessSwitchToPage1Command=linear,0.3;x,THEME:GetMetric("ScreenSelectDifficulty","IconChoiceEndlessX")
IconChoiceEndlessSwitchToPage2Command=linear,0.3;x,THEME:GetMetric("ScreenSelectDifficulty","IconChoiceEndlessX")-SCREEN_WIDTH

IconChoiceRaveX=SCREEN_WIDTH*1.74063
IconChoiceRaveY=SCREEN_CENTER_Y-104
IconChoiceRaveOnCommand=draworder,20;hide_if,IsNetConnected();
IconChoiceRaveOffCommand=sleep,0.4;bouncebegin,0.2;addx,SCREEN_WIDTH;
IconChoiceBeginnerOffFocusedCommand=playcommand,"Off"
IconChoiceBeginnerOffUnfocusedCommand=playcommand,"Off"
IconChoiceRaveGainFocusCommand=diffuse,color("1,1,1,1")
IconChoiceRaveLoseFocusCommand=diffuse,color("0.5,0.5,0.5,1")
IconChoiceRaveSwitchToPage1Command=linear,0.3;x,THEME:GetMetric("ScreenSelectDifficulty","IconChoiceRaveX")
IconChoiceRaveSwitchToPage2Command=linear,0.3;x,THEME:GetMetric("ScreenSelectDifficulty","IconChoiceRaveX")-SCREEN_WIDTH
#####
MorePage1X=SCREEN_RIGHT-60
MorePage1Y=SCREEN_CENTER_Y
MorePage1OnCommand=hide_if,IsNetConnected();draworder,20;diffusealpha,0;linear,0.5;diffusealpha,1
MorePage1OffCommand=linear,0.5;diffusealpha,0

MorePage2X=SCREEN_RIGHT+60
MorePage2Y=SCREEN_CENTER_Y
MorePage2OnCommand=hide_if,IsNetConnected();draworder,20;
MorePage2OffCommand=linear,0.5;diffusealpha,0

# cursors don't play nice with icons...
[broked]
ShowCursor=true
SharedSelection=false

CursorP1OffsetXFromIcon=-40
CursorP1OffsetYFromIcon=32
CursorP2OffsetXFromIcon=40
CursorP2OffsetYFromIcon=32

CursorOnCommand=draworder,110;z,256;diffusealpha,0;zoom,4;linear,0.3;diffusealpha,1;zoom,1;glowshift;effectperiod,0.5
CursorChangeCommand=linear,0.25
CursorChooseCommand=sleep,0.2;linear,0.2;addx,10;addy,10
CursorOffCommand=sleep,0.2;linear,0.3;zoom,0

ShadowOnCommand=draworder,108;z,250;diffusealpha,0;zoom,4;linear,0.3;diffusealpha,1;zoom,1
ShadowChangeCommand=linear,0.25
ShadowChooseCommand=sleep,0.2;linear,0.2;diffusealpha,0
ShadowOffCommand=sleep,0.2;linear,0.3;diffusealpha,0

ShadowLengthX=5
ShadowLengthY=5

OKOnCommand=draworder,20;diffusealpha,1
OKChooseCommand=diffusealpha,1;zoom,2;linear,0.2;diffusealpha,1;zoom,1
OKOffCommand=sleep,0.2;linear,0.3;zoom,0

[ScreenSelectDifficulty2]
# network mode
Fallback="ScreenSelectDifficulty"
ChoiceNames="1,2,3,4,5"
################################################################################
[ScreenGameInformation]
NextScreen=Branch.AfterGameInstructions()
################################################################################
## selmusic ##
[ScreenSelectMusic]
NextScreen=Branch.PlayerOptions()
HelpText=Screen.String("HelpTextSelectMusic")

# musicwheel
MusicWheelX=SCREEN_CENTER_X-156
MusicWheelY=SCREEN_CENTER_Y
MusicWheelOnCommand=draworder,1;
MusicWheelOffCommand=

ShowOptionsArea=not GAMESTATE:IsCourseMode()
OptionsAreaP1X=SCREEN_CENTER_X
OptionsAreaP1Y=SCREEN_TOP+52
OptionsAreaP1OnCommand=draworder,10;zoomy,0;linear,0.5;zoomy,1
OptionsAreaP1OffCommand=linear,0.5;zoomy,0
#--#
OptionsAreaP2X=SCREEN_CENTER_X
OptionsAreaP2Y=SCREEN_TOP+68
OptionsAreaP2OnCommand=draworder,10;zoomy,0;linear,0.5;zoomy,1
OptionsAreaP2OffCommand=linear,0.5;zoomy,0

## banner
BannerWidth=256
BannerHeight=80
#--#
BannerX=SCREEN_CENTER_X+160
BannerY=SCREEN_CENTER_Y-86
BannerOnCommand=draworder,1;scaletoclipped,256,80;addx,SCREEN_WIDTH*0.625;linear,0.3;addx,-SCREEN_WIDTH*0.625;
BannerOffCommand=linear,0.2;addx,SCREEN_WIDTH*0.625
## banner frame
ShowBannerFrame=true
BannerFrameX=SCREEN_CENTER_X+156
BannerFrameY=SCREEN_CENTER_Y-78
BannerFrameOnCommand=draworder,2;addx,SCREEN_WIDTH*0.625;linear,0.3;addx,-SCREEN_WIDTH*0.625
BannerFrameOffCommand=linear,0.2;addx,SCREEN_WIDTH*0.625

ShowStageDisplay=not GAMESTATE:IsCourseMode()
StageDisplayX=SCREEN_CENTER_X+184
StageDisplayY=SCREEN_CENTER_Y-156
StageDisplayOnCommand=draworder,2;addx,SCREEN_WIDTH*0.625;linear,0.3;addx,-SCREEN_WIDTH*0.625
StageDisplayOffCommand=linear,0.3;addx,SCREEN_WIDTH*0.625

BPMDisplayX=SCREEN_CENTER_X+240
BPMDisplayY=SCREEN_CENTER_Y-134
BPMDisplayOnCommand=draworder,25;addx,SCREEN_WIDTH*0.625;linear,0.3;addx,-SCREEN_WIDTH*0.625
BPMDisplayOffCommand=linear,0.3;addx,SCREEN_WIDTH*0.625

# sort icon (/Graphics/ScreenSelectMusic SortDisplay.lua)
ShowSortDisplay=not GAMESTATE:IsCourseMode()
SortDisplayX=SCREEN_CENTER_X+96
SortDisplayY=SCREEN_CENTER_Y-37
SortDisplayOnCommand=draworder,5;addx,-SCREEN_WIDTH*0.625;bounceend,0.5;addx,SCREEN_WIDTH*0.625
SortDisplayOffCommand=bouncebegin,0.5;addx,-SCREEN_WIDTH*0.625

# number of stages
ShowNumCourseSongs=GAMESTATE:IsCourseMode()
NumCourseSongsX=SCREEN_CENTER_X+96
NumCourseSongsY=SCREEN_CENTER_Y-37
NumCourseSongsOnCommand=draworder,5;addx,-SCREEN_WIDTH*0.625;bounceend,0.5;addx,SCREEN_WIDTH*0.625
NumCourseSongsOffCommand=bouncebegin,0.5;addx,-SCREEN_WIDTH*0.625

# time (/Graphics/ScreenSelectMusic SongLength.lua)
SongLengthX=SCREEN_CENTER_X+96
SongLengthY=SCREEN_CENTER_Y-24
SongLengthOnCommand=draworder,5;
SongLengthOffCommand=

CDTitleX=SCREEN_CENTER_X+264
CDTitleY=SCREEN_CENTER_Y-32
CDTitleOnCommand=zoom,0.75;draworder,5;addx,SCREEN_WIDTH*0.625;bounceend,0.5;addx,-SCREEN_WIDTH*0.625
CDTitleOffCommand=bouncebegin,0.5;addx,-SCREEN_WIDTH*0.625
CDTitleFrontCommand=bob;effectclock,'bgm';effectperiod,1;effectmagnitude,0,-3,0;
CDTitleBackCommand=visible,false;

# stepsdisplay
#StepsDisplayP1X=SCREEN_CENTER_X*0.3125
#StepsDisplayP1X=SCREEN_CENTER_X-328
StepsDisplayP1X=SCREEN_CENTER_X-212
StepsDisplayP1Y=SCREEN_CENTER_Y-30
StepsDisplayP1OnCommand=draworder,20;addx,-(SCREEN_CENTER_X-20);linear,0.5;addx,(SCREEN_CENTER_X-20);
StepsDisplayP1OffCommand=linear,0.5;addx,-(SCREEN_CENTER_X-20);
#--#
#StepsDisplayP2X=SCREEN_CENTER_X*0.3125
#StepsDisplayP2X=SCREEN_CENTER_X-328
StepsDisplayP2X=SCREEN_CENTER_X-212
StepsDisplayP2Y=SCREEN_CENTER_Y+18
StepsDisplayP2OnCommand=draworder,20;addx,-(SCREEN_CENTER_X-20);linear,0.5;addx,(SCREEN_CENTER_X-20);
StepsDisplayP2OffCommand=linear,0.5;addx,-(SCREEN_CENTER_X-20);

#PaneDisplayP1X=SCREEN_CENTER_X*0.05
PaneDisplayP1X=SCREEN_CENTER_X-320
PaneDisplayP1Y=SCREEN_CENTER_Y-40
PaneDisplayP1OnCommand=draworder,98;addx,-SCREEN_CENTER_X;linear,0.5;addx,SCREEN_CENTER_X
PaneDisplayP1OffCommand=linear,0.5;addx,-SCREEN_CENTER_X
#--#
#PaneDisplayP2X=SCREEN_CENTER_X*0.05
PaneDisplayP2X=SCREEN_CENTER_X-320
PaneDisplayP2Y=SCREEN_CENTER_Y+40
PaneDisplayP2OnCommand=draworder,98;addx,-SCREEN_CENTER_X;linear,0.5;addx,SCREEN_CENTER_X
PaneDisplayP2OffCommand=linear,0.5;addx,SCREEN_CENTER_X

DifficultyFrameP1X=SCREEN_CENTER_X+48
DifficultyFrameP1Y=SCREEN_CENTER_Y+8
DifficultyFrameP1OnCommand=draworder,1;diffusealpha,0;linear,0.5;diffusealpha,1
DifficultyFrameP1OffCommand=linear,0.5;diffusealpha,0
#--#
DifficultyFrameP2X=SCREEN_CENTER_X+266
DifficultyFrameP2Y=SCREEN_CENTER_Y+8
DifficultyFrameP2OnCommand=draworder,1;diffusealpha,0;linear,0.5;diffusealpha,1
DifficultyFrameP2OffCommand=linear,0.5;diffusealpha,0
#====#
DifficultyIconP1X=SCREEN_CENTER_X+36
DifficultyIconP1Y=SCREEN_CENTER_Y+8
DifficultyIconP1OnCommand=draworder,1;zoomy,0;linear,0.5;zoomy,1
DifficultyIconP1OffCommand=linear,0.5;zoomy,0
#--#
DifficultyIconP2X=SCREEN_CENTER_X+276
DifficultyIconP2Y=SCREEN_CENTER_Y+8
DifficultyIconP2OnCommand=draworder,1;zoomy,0;linear,0.5;zoomy,1
DifficultyIconP2OffCommand=linear,0.5;zoomy,0

ScoreFrameP1X=SCREEN_CENTER_X-336
ScoreFrameP1Y=SCREEN_BOTTOM-48
ScoreFrameP1OnCommand=draworder,11;rotationz,-90;linear,0.25;rotationz,0;
ScoreFrameP1OffCommand=sleep,0.25;linear,0.25;rotationz,-90;
#--#
ScoreFrameP2X=SCREEN_CENTER_X+336
ScoreFrameP2Y=SCREEN_BOTTOM-48
ScoreFrameP2OnCommand=draworder,11;rotationz,90;linear,0.25;rotationz,0;
ScoreFrameP2OffCommand=sleep,0.25;linear,0.25;rotationz,-90;
#====#
ScoreP1X=SCREEN_CENTER_X-224
ScoreP1Y=SCREEN_BOTTOM-48
ScoreP1OnCommand=draworder,12;addx,-SCREEN_WIDTH*0.625;bounceend,0.5;addx,SCREEN_WIDTH*0.625;diffuse,PlayerColor(PLAYER_1)
ScoreP1OffCommand=bouncebegin,0.25;addx,-SCREEN_WIDTH*0.625
#--#
ScoreP2X=SCREEN_CENTER_X+234
ScoreP2Y=SCREEN_BOTTOM-48
ScoreP2OnCommand=draworder,12;addx,SCREEN_WIDTH*0.625;bounceend,0.5;addx,-SCREEN_WIDTH*0.625;diffuse,PlayerColor(PLAYER_2)
ScoreP2OffCommand=bouncebegin,0.25;addx,SCREEN_WIDTH*0.625

# groove radar (Graphics/ScreenSelectMusic GrooveRadar.lua)
ShowGrooveRadar=not GAMESTATE:IsCourseMode()
GrooveRadarX=SCREEN_CENTER_X+160
GrooveRadarY=SCREEN_CENTER_Y*1.29167
GrooveRadarOnCommand=draworder,11;zoom,0.75;
GrooveRadarOffCommand=

# difficultylist (Graphics/ScreenSelectMusic StepsDisplayList.lua)
ShowStepsDisplayList=not GAMESTATE:IsCourseMode()
StepsDisplayListX=SCREEN_CENTER_X+160
StepsDisplayListY=SCREEN_CENTER_Y+130
StepsDisplayListOnCommand=draworder,12;zoom,0.5;addy,-SCREEN_HEIGHT;bounceend,0.5;addy,SCREEN_HEIGHT;diffusealpha,1;
StepsDisplayListOffCommand=diffusealpha,1;bouncebegin,0.5;addy,-SCREEN_HEIGHT;diffusealpha,0;

# course contents
ShowCourseContents=GAMESTATE:IsCourseMode()
CourseContentsX=SCREEN_CENTER_X+160
CourseContentsY=SCREEN_CENTER_Y+96
CourseContentsOnCommand=draworder,101;zoomy,0;bounceend,0.3;zoom,1;
CourseContentsOffCommand=zoomy,1;bouncebegin,0.3;zoomy,0
CourseContentsShowCommand=bouncebegin,0.3;zoomy,1
CourseContentsHideCommand=linear,0.3;zoomy,0

# was DifficultyDisplay
ShowAvailableDifficulties=not GAMESTATE:IsCourseMode()
#AvailableDifficultiesX=SCREEN_CENTER_X*1.05
AvailableDifficultiesX=SCREEN_CENTER_X+12
AvailableDifficultiesY=SCREEN_CENTER_Y*0.45
AvailableDifficultiesOnCommand=draworder,5;addy,SCREEN_CENTER_Y*1.6667;linear,0.3;addy,-SCREEN_CENTER_Y*1.6667
AvailableDifficultiesOffCommand=linear,0.3;addy,SCREEN_CENTER_Y*1.6667

# balloon
ShowBalloon=not GAMESTATE:IsCourseMode()
#BalloonX=(SCREEN_CENTER_X-320)-16
BalloonX=SCREEN_LEFT-16
BalloonY=SCREEN_CENTER_Y-68
BalloonOnCommand=draworder,100;rotationz,-90;linear,0.25;rotationz,0;
BalloonOffCommand=linear,0.25;rotationz,-90;
BalloonShowCommand=stoptweening;rotationz,-90;linear,0.25;rotationz,0
BalloonHideCommand=stoptweening;linear,0.25;rotationz,-90;

# explanation (course mode)
ShowExplanation=GAMESTATE:IsCourseMode()
ExplanationX=SCREEN_CENTER_X+336
ExplanationY=SCREEN_CENTER_Y-172
ExplanationOnCommand=draworder,40;rotationz,90;sleep,0.5;bounceend,0.5;rotationz,0
ExplanationOffCommand=bouncebegin,0.5;rotationz,90;

# course has mods
ShowCourseHasMods=GAMESTATE:IsCourseMode()
CourseHasModsX=SCREEN_CENTER_X+250
CourseHasModsY=SCREEN_CENTER_Y-32
CourseHasModsOnCommand=draworder,20
CourseHasModsOffCommand=bounceend,0.2;zoomx,0;

# machine rank is broken because I do not know the equivalent command in sm4 for it
# and there is no real equivalent
ShowMachineRank=false
MachineRankX=SCREEN_CENTER_X*1.15625
MachineRankY=SCREEN_CENTER_Y-152
MachineRankOnCommand=shadowlength,1;zoomy,0;draworder,10;horizalign,center;bounceend,0.5;zoom,1;
MachineRankOffCommand=bouncebegin,0.5;zoomy,0;

# song options text at the end
ShowSongOptions=GAMESTATE:GetPlayMode() ~= 'PlayMode_Oni'
SongOptionsX=SCREEN_CENTER_X
SongOptionsY=SCREEN_CENTER_Y
SongOptionsOnCommand=visible,false;draworder,1000;
SongOptionsOffCommand=
#--
SongOptionsShowCommand=visible,true;settext,THEME:GetString("ScreenSelectMusic","OptionsShow");rotationz,-180;zoom,0;linear,0.25;zoom,1;rotationz,0;sleep,1;linear,0.25;zoom,0;rotationz,180;
SongOptionsEnterCommand=settext,THEME:GetString("ScreenSelectMusic","OptionsEnter");sleep,0.5;hurrytweening,1
SongOptionsHideCommand=linear,0.25;zoom,0;rotationz,180;

[ModIconRowSelectMusic]
NumModIcons=7
SpacingX=80
SpacingY=0

[MusicWheel]
SwitchSeconds=0.05
RouletteSwitchSeconds=0.02
RouletteSlowDownSwitches=5
LockedInitialVelocity=7

# x,468/640
#ScrollBarOnCommand=x,WideScale(SCREEN_CENTER_X*1.45,SCREEN_CENTER_X+84)
# xxx: is this for 4:3, 16:10 or 4:3, 16:9?
# 468.8   | 320*1.465
# 484.8   | 384*1.2625
# 539.087 | 427*1.2625
ScrollBarOnCommand=draworder,1024;x,WideScale(SCREEN_CENTER_X*1.465,SCREEN_CENTER_X*1.2625);
ScrollBarHeight=368

# items
NumWheelItems=20
MostPlayedSongsToShow=50

ItemTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) \
	self:x( offsetFromCenter * -4 ); \
	self:y( offsetFromCenter * 32 ); \
end

HighlightOnCommand=glowshift;effectcolor1,color("#FFFFFF66");effectcolor2,color("#FFFFFFFF");effectclock,'bgm';

# randoms
ShowRoulette=true
ShowRandom=true
ShowPortal=true

NumSectionColors=7
SectionColor1=color("0.8,0.1,0.6,1")	-- pink
SectionColor2=color("0.6,0.4,0.8,1")	-- purple
SectionColor3=color("0.0,0.4,0.8,1")	-- sky blue
SectionColor4=color("0.0,0.6,0.6,1")	-- sea green
SectionColor5=color("0.1,0.7,0.3,1")	-- green
SectionColor6=color("0.8,0.6,0.0,1")	-- orange
SectionColor7=color("1.0,0.3,0.3,1")	-- light red
SongRealExtraColor=color("0.9,0.9,0,1")		-- yellow
SortMenuColor=color("1,1,0,1")

[MusicWheelItem]
WheelNotifyIconX=0
WheelNotifyIconOnCommand=

SongNameX=-30

CourseX=-130
CourseY=-2
CourseOnCommand=shadowlength,0;zoom,0.8;halign,0;maxwidth,292

SectionExpandedX=-30
SectionExpandedY=0
SectionExpandedOnCommand=maxwidth,224;shadowlength,0

SectionCollapsedX=-30
SectionCollapsedY=0
SectionCollapsedOnCommand=maxwidth,224;shadowlength,0
SectionCountX=144
SectionCountY=-6
SectionCountOnCommand=halign,1;zoom,0.8;shadowlength,1

RouletteX=-30
RouletteY=-2
RouletteOnCommand=rainbowscroll,true;uppercase,true;zoom,1.3;shadowlength,0

RandomX=-30
RandomY=-2
RandomOnCommand=rainbowscroll,true;uppercase,true;zoom,1.3;shadowlength,0

PortalX=-30
PortalY=-2
PortalOnCommand=rainbowscroll,true;uppercase,true;zoom,1.3;shadowlength,0

SortX=-130
SortY=0
SortOnCommand=shadowlength,0;halign,0;maxwidth,224;

GradeP1X=86
GradeP2X=118

[TextBanner]
ArtistPrependString=""

TitleX=-120
TitleY=0
TitleOnCommand=shadowlength,1;halign,0
SubtitleX=-120
SubtitleY=0
SubtitleOnCommand=shadowlength,1;halign,0
ArtistX=185
ArtistY=0
ArtistOnCommand=shadowlength,1;halign,1

[TextBannerCourse]
Fallback="TextBanner"
ArtistPrependString="/"
AfterSetCommand=%TextBannerCourseAfterSet
TitleX=-90
TitleY=0
TitleOnCommand=shadowlength,1;halign,0
SubtitleX=-90
SubtitleY=0
SubtitleOnCommand=shadowlength,1;halign,0
ArtistX=-90
ArtistY=0
ArtistOnCommand=shadowlength,1;halign,0

[BPMDisplay]
SetNoBpmCommand=stoptweening;linear,0.2;diffuse,color("0.5,1.0,0.5,1")
SetNormalCommand=stoptweening;linear,0.2;diffuse,color("0.5,1.0,0.5,1")
SetChangeCommand=stoptweening;linear,0.2;diffuse,color("1.0,0.7,0.7,1")
SetRandomCommand=stoptweening;linear,0.2;diffuse,color("1.0,0.7,0.7,1")
SetExtraCommand=stoptweening;linear,0.2;diffuse,color("0.7,0.0,0.0,1")
NoBpmText="..."
RandomCycleSpeed=0.2		--  smaller numbers mean the bpm cycles faster
ShowQMarksInRandomCycle=true

[StepsDisplay]
FrameX=-96
FrameY=8
FrameOnCommand=
FrameSetCommand=

ShowDescription=false

ShowFeet=true
TicksX=12
TicksY=0
FeetPerDifficulty=0
FeetIsDifficultyColor=1

NumTicks=12
MaxTicks=12
GlowIfMeterGreaterThan=10
TicksSetCommand=%function(self,param) self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)) if param.Meter > THEME:GetMetric("StepsDisplay","GlowIfMeterGreaterThan") then self:glowshift() else self:stopeffect() end end
TicksOnCommand=valign,0;zoomy,0;shadowlength,1;sleep,0.297;zoomx,0.8;sleep,0.462;linear,0.165;zoom,0.75

ShowMeter=true
MeterX=-80
MeterY=0
MeterOnCommand=shadowlength,0;valign,0;zoom,0;diffusealpha,0;sleep,0.297;zoom,0.8;sleep,0.47;linear,0.157;diffusealpha,1
MeterOffCommand=linear,0.198;zoomy,0.1;linear,0.033;diffusealpha,0
MeterSetCommand=%function(self,param) if param.CustomDifficulty then self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)); end end

[StepsDisplaySelectMusic]
Fallback="StepsDisplay"

ShowTicks=true
TicksX=12
TicksY=1
TicksOnCommand=vertalign,top;zoomy,0;shadowlength,1;sleep,0.297;zoomx,0.8;sleep,0.462;linear,0.165;zoom,0.75
TicksSetCommand=%function(self,param) self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)) if param.Meter > THEME:GetMetric("StepsDisplay","GlowIfMeterGreaterThan") then self:glowshift() else self:stopeffect() end end

ShowMeter=true
MeterX=-80
MeterY=1
MeterOnCommand=shadowlength,1;vertalign,top;zoom,0;diffusealpha,0;sleep,0.297;zoom,0.8;sleep,0.495;diffusealpha,1
MeterOffCommand=linear,0.198;zoomy,0.1;linear,0.033;diffusealpha,0
MeterSetCommand=%function(self,param) if param.CustomDifficulty then self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)); end end

####
ShowDescription=false

[StepsDisplayP1]
Fallback="StepsDisplaySelectMusic"
[StepsDisplayP2]
Fallback="StepsDisplaySelectMusic"

[StepsDisplaySelectCourse]
Fallback="StepsDisplaySelectMusic"
FrameOnCommand=visible,false

[StepsDisplayCourseP1]
Fallback="StepsDisplaySelectCourse"
[StepsDisplayCourseP2]
Fallback="StepsDisplaySelectCourse"
####
[StepsDisplayList]
# was DifficultyList
ItemsSpacingY=24
NumShownItems=4.85
CapitalizeDifficultyNames=true
MoveCommand=stoptweening;

[StepsDisplayListRow]
Fallback="StepsDisplay"
# was DifficultySummaryRow

ShowTicks=true
NumTicks=12
MaxTicks=12
TicksX=62
TicksY=0
TicksOnCommand=shadowlength,1;
TicksSetCommand=%function(self,param) \
	if param.CustomDifficulty then \
		self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)) \
	end \
	if param.Meter >= 10 then self:glowshift() else self:stopeffect() end \
end

ShowMeter=true
MeterX=-80
MeterY=0
MeterOnCommand=shadowlength,1;halign,0;
MeterOffCommand=
MeterSetCommand=%function(self,param) \
	if param.CustomDifficulty then \
		self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)) \
	end \
end

ShowDescription=true
DescriptionX=-88
DescriptionY=0
DescriptionOnCommand=halign,1;shadowlength,0;uppercase,true;maxwidth,120
DescriptionSetCommand=%function(self,param) \
	if param.CustomDifficulty then \
		self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)); \
	end \
end

[PaneDisplay]
ShiftP1X=0
ShiftP1Y=0
ShiftP2X=0
ShiftP2Y=0

CountFormat="%3.0f"

// number of steps in song. 
NumStepsTextX=60
NumStepsTextY=0
NumStepsTextOnCommand=shadowlength,1;zoom,0.5;halign,1
NumStepsTextOffCommand=
NumStepsTextGainFocusCommand=
NumStepsTextLoseFocusCommand=
NumStepsLabelX=12
NumStepsLabelY=0
NumStepsLabelOnCommand=
NumStepsLabelOffCommand=
NumStepsLabelGainFocusCommand=
NumStepsLabelLoseFocusCommand=
#unused
NumStepsNumLevels=5
NumStepsLevel1=1;stopeffect;diffuse,color("#FFFFFF")
NumStepsLevel2=200;stopeffect;diffuse,color("0.2,1,0.2,1")
NumStepsLevel3=350;stopeffect;diffuse,color("0.9,0.9,0,1")
NumStepsLevel4=550;stopeffect;diffuse,color("1,0,0.2,1")
NumStepsLevel5=9999;stopeffect;diffuse,color("1,0,0.2,1");glowshift;effectclock,'bgm';effectperiod,1

// number of jumps in song. 
JumpsTextX=118
JumpsTextY=0
JumpsTextOnCommand=shadowlength,0;zoom,0.5;halign,1
JumpsTextOffCommand=
JumpsTextGainFocusCommand=
JumpsTextLoseFocusCommand=
JumpsLabelX=70
JumpsLabelY=0
JumpsLabelOnCommand=;
JumpsLabelOffCommand=
JumpsLabelGainFocusCommand=
JumpsLabelLoseFocusCommand=
#unused
JumpsNumLevels=5
JumpsLevel1=1;stopeffect;diffuse,color("#FFFFFF")
JumpsLevel2=25;stopeffect;diffuse,color("0.2,1,0.2,1")
JumpsLevel3=50;stopeffect;diffuse,color("0.9,0.9,0,1")
JumpsLevel4=100;stopeffect;diffuse,color("1,0,0.2,1")
JumpsLevel5=9999;stopeffect;diffuse,color("1,0,0.2,1");glowshift;effectclock,'bgm';effectperiod,1

// number of holds in song. 
HoldsTextX=175
HoldsTextY=0
HoldsTextOnCommand=shadowlength,1;zoom,0.5;halign,1
HoldsTextOffCommand=
HoldsTextGainFocusCommand=
HoldsTextLoseFocusCommand=
HoldsLabelX=128
HoldsLabelY=0
HoldsLabelOnCommand=
HoldsLabelOffCommand=
HoldsLabelGainFocusCommand=
HoldsLabelLoseFocusCommand=
#unused
HoldsNumLevels=5
HoldsLevel1=1;stopeffect;diffuse,color("#FFFFFF")
HoldsLevel2=15;stopeffect;diffuse,color("0.2,1,0.2,1")
HoldsLevel3=30;stopeffect;diffuse,color("0.9,0.9,0,1")
HoldsLevel4=50;stopeffect;diffuse,color("1,0,0.2,1")
HoldsLevel5=9999;stopeffect;diffuse,color("1,0,0.2,1");glowshift;effectclock,'bgm';effectperiod,1

// number of rolls in song. 
RollsTextX=233
RollsTextY=16
#RollsTextOnCommand=shadowlength,1;zoom,0.5;halign,1
RollsTextOnCommand=visible,false
RollsTextOffCommand=
RollsTextGainFocusCommand=
RollsTextLoseFocusCommand=
RollsLabelX=185
RollsLabelY=16
#RollsLabelOnCommand=spin;effectmagnitude,0,0,60
RollsLabelOnCommand=visible,false
RollsLabelOffCommand=
RollsLabelGainFocusCommand=
RollsLabelLoseFocusCommand=
#unused
RollsNumLevels=5
RollsLevel1=1;stopeffect;diffuse,color("#FFFFFF")
RollsLevel2=15;stopeffect;diffuse,color("0.2,1,0.2,1")
RollsLevel3=30;stopeffect;diffuse,color("0.9,0.9,0,1")
RollsLevel4=50;stopeffect;diffuse,color("1,0,0.2,1")
RollsLevel5=9999;stopeffect;diffuse,color("1,0,0.2,1");glowshift;effectclock,'bgm';effectperiod,1

// number of mines in song. 
MinesTextX=233
MinesTextY=0
MinesTextOnCommand=shadowlength,1;zoom,0.5;halign,1
MinesTextOffCommand=
MinesTextGainFocusCommand=
MinesTextLoseFocusCommand=
MinesLabelX=185
MinesLabelY=0
MinesLabelOnCommand=
MinesLabelOffCommand=
MinesLabelGainFocusCommand=
MinesLabelLoseFocusCommand=

// number of hands in song. 
HandsTextX=240
HandsTextY=0
HandsTextOnCommand=visible,false;shadowlength,1;zoom,0.5;halign,1
HandsTextOffCommand=
HandsTextGainFocusCommand=
HandsTextLoseFocusCommand=
HandsLabelX=192
HandsLabelY=0
HandsLabelOnCommand=visible,false;
HandsLabelOffCommand=
HandsLabelGainFocusCommand=
HandsLabelLoseFocusCommand=
#unused
HandsNumLevels=5
HandsLevel1=1;stopeffect;diffuse,color("#FFFFFF")
HandsLevel2=10;stopeffect;diffuse,color("0.2,1,0.2,1")
HandsLevel3=35;stopeffect;diffuse,color("0.9,0.9,0,1")
HandsLevel4=60;stopeffect;diffuse,color("1,0,0.2,1")
HandsLevel5=9999;stopeffect;diffuse,color("1,0,0.2,1");glowshift;effectclock,'bgm';effectperiod,1

# 3.9+
LiftsTextX=
LiftsTextY=
LiftsTextOnCommand=visible,false;
LiftsTextOffCommand=
LiftsLabelX=
LiftsLabelY=
LiftsLabelOnCommand=visible,false
LiftsLabelOffCommand=

// high score in percentage. 
MachineHighScoreTextX=320
MachineHighScoreTextY=0
MachineHighScoreTextOnCommand=shadowlength,1;zoom,0.5;halign,1;
MachineHighScoreTextOffCommand=
MachineHighScoreTextGainFocusCommand=
MachineHighScoreTextLoseFocusCommand=
MachineHighScoreLabelX=258
MachineHighScoreLabelY=0
MachineHighScoreLabelOnCommand=visible,false
MachineHighScoreLabelOffCommand=
MachineHighScoreLabelGainFocusCommand=
MachineHighScoreLabelLoseFocusCommand=
#unused
MachineHighScoreNumLevels=3
MachineHighScoreLevel1=0.01;stopeffect;diffuse,color("#FFFFFF")
MachineHighScoreLevel2=80.01;stopeffect;diffuse,color("0.2,1,0.2,1")
MachineHighScoreLevel3=101;stopeffect;diffuse,color("0,0.9,1,1")

ProfileHighScoreTextX=320
# p1 is 16 but p2 is -16...
ProfileHighScoreTextY=16
ProfileHighScoreTextOnCommand=shadowlength,1;zoom,0.5;halign,1;
ProfileHighScoreTextOffCommand=
ProfileHighScoreTextGainFocusCommand=
ProfileHighScoreTextLoseFocusCommand=
ProfileHighScoreLabelX=258
ProfileHighScoreLabelY=16
ProfileHighScoreLabelOnCommand=visible,false
ProfileHighScoreLabelOffCommand=
ProfileHighScoreLabelGainFocusCommand=
ProfileHighScoreLabelLoseFocusCommand=
#unused
ProfileHighScoreNumLevels=3
ProfileHighScoreLevel1=0.01;stopeffect;diffuse,color("#FFFFFF")
ProfileHighScoreLevel2=80.01;stopeffect;diffuse,color("0.2,1,0.2,1")
ProfileHighScoreLevel3=101;stopeffect;diffuse,color("0,0.9,1,1")

MachineNumPlaysTextX=0
MachineNumPlaysTextY=0
MachineNumPlaysTextOnCommand=
MachineNumPlaysTextOffCommand=
MachineNumPlaysTextGainFocusCommand=
MachineNumPlaysTextLoseFocusCommand=
MachineNumPlaysLabelX=0 
MachineNumPlaysLabelY=0
MachineNumPlaysLabelOnCommand=
MachineNumPlaysLabelOffCommand=
MachineNumPlaysLabelGainFocusCommand=
MachineNumPlaysLabelLoseFocusCommand=
MachineRankTextX=0
MachineRankTextY=0
MachineRankTextOnCommand=
MachineRankTextOffCommand=
MachineRankTextGainFocusCommand=
MachineRankTextLoseFocusCommand=
MachineRankLabelX=0
MachineRankLabelY=0
MachineRankLabelOnCommand=visible,false
MachineRankLabelOffCommand=
MachineRankLabelGainFocusCommand=
MachineRankLabelLoseFocusCommand=
MachineHighNameTextX=0
MachineHighNameTextY=0
MachineHighNameTextOnCommand=visible,false;shadowlength,0;zoom,0.5;halign,1
MachineHighNameTextOffCommand=
MachineHighNameTextGainFocusCommand=
MachineHighNameTextLoseFocusCommand=
MachineHighNameLabelX=-70 
MachineHighNameLabelY=24 
MachineHighNameLabelOnCommand=visible,false
MachineHighNameLabelOffCommand=
MachineHighNameLabelGainFocusCommand=
MachineHighNameLabelLoseFocusCommand=
#unused
MachineHighNameNumLevels=3
MachineHighNameLevel1=0.01;stopeffect;diffuse,color("#FFFFFF")
MachineHighNameLevel2=80.01;stopeffect;diffuse,color("0.2,1,0.2,1")
MachineHighNameLevel3=101;stopeffect;diffuse,color("0,0.9,1,1")
ProfileNumPlaysTextX=0 
ProfileNumPlaysTextY=0
ProfileNumPlaysTextOnCommand=visible,false;
ProfileNumPlaysTextOffCommand=
ProfileNumPlaysTextGainFocusCommand=
ProfileNumPlaysTextLoseFocusCommand=
ProfileNumPlaysLabelX=0 
ProfileNumPlaysLabelY=0
ProfileNumPlaysLabelOnCommand=visible,false;
ProfileNumPlaysLabelOffCommand=
ProfileNumPlaysLabelGainFocusCommand=
ProfileNumPlaysLabelLoseFocusCommand=
ProfileRankTextX=0 
ProfileRankTextY=0
ProfileRankTextOnCommand=visible,false;
ProfileRankTextOffCommand=
ProfileRankTextGainFocusCommand=
ProfileRankTextLoseFocusCommand=
ProfileRankLabelX=0
ProfileRankLabelY=0
ProfileRankLabelOnCommand=visible,false;
ProfileRankLabelOffCommand=
ProfileRankLabelGainFocusCommand=
ProfileRankLabelLoseFocusCommand=

[GrooveRadar]
Label1OffsetX=0
Label1OffsetY=-98
#--#
Label2OffsetX=-120
Label2OffsetY=-20
#--#
Label3OffsetX=-100
Label3OffsetY=66
#--#
Label4OffsetX=100
Label4OffsetY=66
#--#
Label5OffsetX=110
Label5OffsetY=-20

LabelPreDelayOnCommand=addx,-100;zoom,1.0;diffuse,color("1,1,1,0");sleep,0.6
LabelOnDelay=0.2
LabelPostDelayOnCommand=linear,0.1;glow,color("1,1,1,1");accelerate,0.3;addx,100;zoom,1;diffuse,color("1,1,1,1");glow,color("1,1,1,0")

RadarValueMapP1OnCommand=diffusecolor,PlayerColor(PLAYER_1)
RadarValueMapP2OnCommand=diffusecolor,PlayerColor(PLAYER_2)

CenterAlpha=0.5

# courses
[ScreenSelectCourse]
Class="ScreenSelectMusic"
Fallback="ScreenSelectMusic"

ShowExplanation=true
ShowCourseHasMods=true

# stepsdisplay (course difficulties are locked)
StepsDisplayP1X=SCREEN_CENTER_X+100
StepsDisplayP1Y=SCREEN_CENTER_Y-140
StepsDisplayP1OnCommand=draworder,20;addx,-(SCREEN_CENTER_X-20);linear,0.5;addx,(SCREEN_CENTER_X-20);
StepsDisplayP1OffCommand=linear,0.5;addx,-(SCREEN_CENTER_X-20);
#--#
StepsDisplayP2X=SCREEN_CENTER_X+100
StepsDisplayP2Y=SCREEN_CENTER_Y-140
StepsDisplayP2OnCommand=draworder,20;addx,-(SCREEN_CENTER_X-20);linear,0.5;addx,(SCREEN_CENTER_X-20);
StepsDisplayP2OffCommand=linear,0.5;addx,-(SCREEN_CENTER_X-20);

ScreenModsCommand=setupcoursestagemods
Codes="CourseCodeDetector"

#
ShowGrooveRadar=false
ShowStepsDisplayList=false
ShowStageDisplay=false
ShowOptionsArea=false
ShowSortDisplay=false
DifficultyFrameP1OnCommand=visible,false
DifficultyFrameP2OnCommand=visible,false
DifficultyIconP1OnCommand=visible,false
DifficultyIconP2OnCommand=visible,false

[CourseCodeDetector]
Fallback="CodeDetector"
NextSort1=
NextSort2=
NextSort3=
NextSort4=
ModeMenu1=
ModeMenu2=

[CourseEntryDisplay]
# technically this isn't used anymore
BarX=0
BarY=0
BarOnCommand=

NumberX=-114
NumberY=0
NumberOnCommand=shadowlength,0

FootX=98
FootY=-8
FootOnCommand=shadowlength,0

SeparateCourseMeters=0
DifficultyX=120
DifficultyY=-8
DifficultyOnCommand=zoom,0.7;shadowlength,0

ModifiersX=128
ModifiersY=10
ModifiersOnCommand=halign,1;zoom,0.5;shadowlength,0

[ScreenSelectCourseNonstop]
Fallback="ScreenSelectCourse"
DefaultSort="Nonstop"

[ScreenSelectCourseOni]
Fallback="ScreenSelectCourse"
DefaultSort="Oni"
ShowSongOptions=false

[ScreenSelectCourseEndless]
Fallback="ScreenSelectCourse"
DefaultSort="Endless"
################################################################################
[ScreenPlayerOptions]
Fallback="PlayerOptions"
OptionRowNormalMetricsGroup="OptionRowPlayer"

#
[ScreenPlayerOptionsRestricted]
Fallback="ScreenPlayerOptions"
NextScreen="ScreenStageInformation"
LineNames="1,8,16,17"

[ScreenSongOptions]
Fallback="PlayerOptions"
################################################################################
[ScreenStageInformation]
Class="ScreenSplash"
Fallback="ScreenSplash"
NextScreen=Branch.GameplayScreen()
PrevScreen=SelectMusicOrCourse()
PrepareScreen=Branch.GameplayScreen()
ForceTimer=true
TimerSeconds=3
################################################################################
## gameplay & related ##
[ScreenGameplay]
NextScreen=Branch.AfterGameplay()
ShowCoinsAndCredits=true

# frames
LifeFrameX=SCREEN_CENTER_X
LifeFrameY=SCREEN_TOP+36
LifeFrameOnCommand=addy,-100;decelerate,0.8;addy,100
LifeFrameOffCommand=decelerate,0.3;addy,20;accelerate,0.7;addy,-120
#--#
ScoreFrameX=SCREEN_CENTER_X
ScoreFrameY=SCREEN_BOTTOM-32
ScoreFrameOnCommand=draworder,95;addy,100;decelerate,1;addy,-100
ScoreFrameOffCommand=accelerate,0.7;addy,120

# see /Graphics/ScreenGameplay SongPosition/
SongPositionX=SCREEN_CENTER_X
SongPositionY=SCREEN_BOTTOM-19
SongPositionOnCommand=draworder,96;addy,100;decelerate,1;addy,-100
SongPositionOffCommand=decelerate,0.3;addy,-20;accelerate,0.7;addy,120

## player life
LifeP1X=SCREEN_CENTER_X-184
LifeP1Y=SCREEN_TOP+12
LifeP1OnCommand=addy,-100;decelerate,0.8;addy,100
LifeP1OffCommand=decelerate,0.3;addy,20;accelerate,0.7;addy,-120
#--#
LifeP2X=SCREEN_CENTER_X+184
LifeP2Y=SCREEN_TOP+12
LifeP2OnCommand=zoomx,-1;addy,-100;decelerate,0.8;addy,100
LifeP2OffCommand=decelerate,0.3;addy,20;accelerate,0.7;addy,-120

# steps display
StepsDisplayP1X=SCREEN_LEFT-12
StepsDisplayP1Y=
StepsDisplayP1OnCommand=draworder,101
# xxx
StepsDisplayP1OffCommand=linear,1;rotationz,180;
StepsDisplayP1SetNoReverseCommand=y,SCREEN_BOTTOM-58;rotationz,-180;sleep,1;linear,0.5;rotationz,0;
StepsDisplayP1SetReverseCommand=y,SCREEN_TOP+35;rotationz,180;sleep,1;linear,0.5;rotationz,0;

StepsDisplayP2X=SCREEN_RIGHT+12
StepsDisplayP2Y=
StepsDisplayP2OnCommand=draworder,101
# xxx
StepsDisplayP2OffCommand=linear,1;rotationz,-180;
StepsDisplayP2SetNoReverseCommand=y,SCREEN_BOTTOM-58;rotationz,180;sleep,1;linear,0.5;rotationz,0;
StepsDisplayP2SetReverseCommand=y,SCREEN_TOP+35;rotationz,-180;sleep,1;linear,0.5;rotationz,0;

## player score
ScoreP1X=SCREEN_LEFT+106
ScoreP1Y=SCREEN_BOTTOM-25
ScoreP1OnCommand=draworder,97;diffuse,PlayerColor(PLAYER_1);addy,100;decelerate,1;addy,-100
ScoreP1OffCommand=accelerate,0.7;addy,120
#--#
ScoreP2X=SCREEN_RIGHT-106
ScoreP2Y=SCREEN_BOTTOM-25
ScoreP2OnCommand=draworder,97;diffuse,PlayerColor(PLAYER_2);addy,100;decelerate,1;addy,-100
ScoreP2OffCommand=addy,-20;accelerate,0.7;addy,120

## stage
ShowStageDisplay=true
StageDisplayX=SCREEN_CENTER_X
StageDisplayY=SCREEN_TOP+16
StageDisplayOnCommand=draworder,95;addy,-100;decelerate,1;addy,100
StageDisplayOffCommand=decelerate,0.3;addy,20;accelerate,0.7;addy,-120

# player mods
PlayerOptionsP1X=SCREEN_LEFT+12
PlayerOptionsP1Y=SCREEN_BOTTOM-40
PlayerOptionsP1OnCommand=halign,0;draworder,96;zoom,0.75;addy,100;sleep,0.5;linear,1;addy,-100
PlayerOptionsP1OffCommand=accelerate,0.7;addy,120
#--#
PlayerOptionsP2X=SCREEN_RIGHT-12
PlayerOptionsP2Y=SCREEN_BOTTOM-40
PlayerOptionsP2OnCommand=halign,1;draworder,96;zoom,0.75;addy,100;sleep,0.5;linear,1;addy,-100
PlayerOptionsP2OffCommand=accelerate,0.7;addy,120

# song options
SongOptionsX=SCREEN_CENTER_X
SongOptionsY=SCREEN_BOTTOM-10
SongOptionsOnCommand=draworder,100;zoom,0.5;addy,100;decelerate,1;addy,-100
SongOptionsOffCommand=decelerate,0.3;addy,-20;accelerate,0.7;addy,120

# max combo
ShowMaxCombo=true
MaxComboP1X=(GAMESTATE:GetNumPlayersEnabled() > 1) and SCREEN_CENTER_X-52 or SCREEN_CENTER_X
MaxComboP1Y=SCREEN_BOTTOM-30
MaxComboP1OnCommand=zoom,0.275;shadowlength,1;draworder,100;addy,100;decelerate,1;addy,-100;
MaxComboP1OffCommand=accelerate,0.7;addy,120
#--#
MaxComboP2X=(GAMESTATE:GetNumPlayersEnabled() > 1) and SCREEN_CENTER_X+52 or SCREEN_CENTER_X
MaxComboP2Y=SCREEN_BOTTOM-30
MaxComboP2OnCommand=zoom,0.275;shadowlength,1;draworder,100;addy,100;decelerate,1;addy,-100;
MaxComboP2OffCommand=accelerate,0.7;addy,120

# song title
SongTitleX=SCREEN_CENTER_X
SongTitleY=SCREEN_CENTER_Y
SongTitleOnCommand=diffusealpha,1;sleep,5;linear,1;diffusealpha,0;
SongTitleOffCommand=

# course song numbers (blue color is a holdover)
SongNumberP1X=SCREEN_CENTER_X-20
SongNumberP1Y=SCREEN_TOP+16
SongNumberP1OnCommand=diffuse,color("0,0.5,1,1");addy,-100;decelerate,1.2;addy,100;
SongNumberP1OffCommand=decelerate,0.3;addy,20;accelerate,0.7;addy,-120
#--#
SongNumberP2X=SCREEN_CENTER_X+20
SongNumberP2Y=SCREEN_TOP+16
SongNumberP2OnCommand=diffuse,color("0,0.5,1,1");addy,-100;decelerate,1.2;addy,100;
SongNumberP2OffCommand=decelerate,0.3;addy,20;accelerate,0.7;addy,-120

[Player]
# todo: port judgment and combo shit
# these values used to be absolute. now they're relative, depending on what
# happens in [ScreenGameplay] PlayerInitCommand.
# (Y is set to SCREEN_CENTER_Y in _fallback. These values match original p*c2)
ReceptorArrowsYStandard=-144
ReceptorArrowsYReverse=144
# same goes for these, except they're the same in _fallback
#HoldJudgmentYStandard=-90
#HoldJudgmentYReverse=90

DrawDistanceBeforeTargetsPixels=400
DrawDistanceAfterTargetsPixels=-100

[Judgment]
# the original theme says "copied from DDREXTREME vs1", so I'm stealing stolen material lol
W1Command=zoom,1.3;diffuse,color("1,1,1,1");shadowlength,4;diffusealpha,1;zoom,1.3;linear,0.033;zoom,1;sleep,0.495;diffusealpha,0;glowblink;effectperiod,0.132;effectcolor1,color("1,1,1,0");effectcolor2,color("1,1,1,0.4")
W2Command=zoom,1.3;diffuse,color("1,1,1,1");shadowlength,4;diffusealpha,1;zoom,1.3;linear,0.033;zoom,1;sleep,0.495;diffusealpha,0
W3Command=zoom,1.3;diffuse,color("1,1,1,1");shadowlength,4;diffusealpha,1;zoom,1.15;linear,0.033;zoom,1;sleep,0.495;diffusealpha,0
W4Command=zoom,1.1;diffuse,color("1,1,1,1");shadowlength,4;diffusealpha,1;sleep,0.528;diffusealpha,0
W5Command=zoom,1;diffuse,color("1,1,1,1");shadowlength,4;diffusealpha,1;linear,0.066;addx,-10;linear,0.066;addx,10;linear,0.066;addx,-10;linear,0.066;addx,10;linear,0.066;addx,-10;linear,0.066;addx,10;linear,0.066;addx,-10;linear,0.066;addx,10;linear,0;diffusealpha,0
MissCommand=zoom,1;diffuse,color("1,1,1,1");shadowlength,4;linear,0.033;diffusealpha,1;linear,0.495;addy,30;linear,0;diffusealpha,0;

[Protiming]
ProtimingW1Command=shadowlength,4;diffuse,color("1,1,0,1");zoom,2.6;linear,0.05;zoom,1.25;sleep,0.8;linear,0;diffusealpha,0;glowblink;effectperiod,0.05;effectcolor1,color("1,1,1,0");effectcolor2,color("1,1,1,0.8")
ProtimingW2Command=shadowlength,4;diffuse,color("1,.8,0,1");zoom,2.6;linear,0.05;zoom,1.25;sleep,0.8;linear,0;diffusealpha,0
ProtimingW3Command=shadowlength,4;diffuse,color(".6,.9,0,1");zoom,2.4;linear,0.05;zoom,1.25;sleep,0.8;linear,0;diffusealpha,0
ProtimingW4Command=shadowlength,4;diffuse,color("0,1,1,1");zoom,2.2;linear,0.05;zoom,1.25;sleep,0.8;linear,0;diffusealpha,0
ProtimingW5Command=shadowlength,4;diffuse,color("1,.1,1,1");zoom,1.25;vibrate;effectmagnitude,4,8,8;sleep,0.8;linear,0;diffusealpha,0
ProtimingMissCommand=shadowlength,4;diffuse,color("1,.3,0,1");zoom,1.25;y,-20;linear,0.8;y,20;sleep,0.8;linear,0;diffusealpha,0
HitMineCommand=shadowlength,4;diffuse,color("1,.3,0,1");zoom,1.25;y,-20;linear,0.8;y,20;sleep,0.8;linear,0;diffusealpha,0

[HoldJudgment]
HoldJudgmentLetGoCommand=shadowlength,4;diffusealpha,1;zoom,1;y,-10;linear,0.8;y,10;sleep,0.5;linear,0;diffusealpha,0
HoldJudgmentHeldCommand=shadowlength,4;diffusealpha,1;zoom,1.25;linear,0.3;zoomx,1;zoomy,1;sleep,0.5;linear,0;diffusealpha,0

[Combo]
ShowComboAt=4
ShowMissesAt=0

NumberOnCommand=y,20;align,1,1;
LabelOnCommand=x,6;y,20;align,0,1;

NumberMinZoom=0.5
NumberMaxZoom=0.9
NumberMaxZoomAt=300

NumberPulseCommand=%function(self,param) self:stoptweening(); self:zoom(1.2*param.Zoom); self:linear(0.05); self:zoom(param.Zoom); end
LabelPulseCommand=%function(self,param) self:stoptweening(); self:zoom(1.2); self:linear(0.05); self:zoom(0.9); end

FullComboW1Command=diffuse,color("0.2,0.7,0.9,1");glowshift;effectcolor2,color(".6,.85,.95,1");
FullComboW2Command=diffuse,color("0.7,0.7,0.4,1");glowshift;effectcolor2,color("1,1,0.4,1");
FullComboW3Command=diffuse,color("0.5,0.9,0.5,1");glowshift;effectcolor2,color("0.1,1,0.1,1");
FullComboBrokenCommand=stopeffect;diffuse,color("1,1,1,1")

[StepsDisplayGameplay]
Fallback="StepsDisplay"
ShowTicks=false
ShowAutogen=false
ShowStepsType=false
ShowMeter=false

ShowFrame=true
FrameX=0
FrameY=0
FrameOnCommand=animate,false
FrameLoadCommand=%function(self,param) \
	if param.PlayerState then \
		local pn = param.PlayerState:GetPlayerNumber(); \
		self:setstate(LoadStepsDisplayGameplayFrame(self,pn)) \
	end; \
end;

[StepsDisplayGameplayP1]
Fallback="StepsDisplayGameplay"
#FrameSetCommand=%function(self,param) StepsDisplayGameplayFrame(self,param,PLAYER_1); end

[StepsDisplayGameplayP2]
Fallback="StepsDisplayGameplay"

[StreamDisplay]
# todo: make sure this is the same
NumPills=1
TextureCoordScaleX=-0.5
PillTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) \
	self:zoomtowidth(266); \
end

[ScreenGameplayCourse]
Class="ScreenGameplayNormal"
Fallback="ScreenGameplay"
ShowStageDisplay=false

SongTitleX=SCREEN_CENTER_X
SongTitleY=SCREEN_TOP+40
SongTitleOnCommand=zoom,0.5;addy,-100;decelerate,1.2;addy,100
SongTitleOffCommand=decelerate,0.3;addy,20;accelerate,0.7;addy,-120

[LifeMeterBattery Percent]
Format=
PercentP1X=20
PercentP1Y=0
PercentP1OnCommand=zoom,0.6;shadowlength,0;diffuse,color("0.4,1.0,0.8,1")
PercentP1OffCommand=
PercentP2X=20
PercentP2Y=0
PercentP2OnCommand=zoom,0.6;shadowlength,0;diffuse,color("1.0,0.5,0.2,1")
PercentP2OffCommand=

DancePointsP1X=-20
DancePointsP1Y=0
DancePointsP1OnCommand=zoom,0.6;shadowlength,0;diffuse,color("0.4,1.0,0.8,1")
DancePointsP1OffCommand=
DancePointsP2X=+20
DancePointsP2Y=0
DancePointsP2OnCommand=zoom,0.6;shadowlength,0;diffuse,color("0.4,1.0,0.8,1")
DancePointsP2OffCommand=

[ScreenGameplayExtra]
Class="ScreenGameplayNormal"
Fallback="ScreenGameplay"

SurviveTimeX=SCREEN_CENTER_X
SurviveTimeY=
SurviveTimeOnCommand=shadowlength,0
SurviveTimeOffCommand=

LifeFrameX=SCREEN_CENTER_X
LifeFrameY=SCREEN_BOTTOM-36
LifeFrameOnCommand=addy,100;decelerate,0.8;addy,-100
LifeFrameOffCommand=decelerate,0.3;addy,-20;accelerate,0.7;addy,120
#==#
LifeP1X=SCREEN_LEFT+12
LifeP1Y=240
LifeP1OnCommand=rotationz,-90;addx,-100;decelerate,0.8;addx,100
LifeP1OffCommand=decelerate,0.3;addx,20;accelerate,0.7;addx,-120
#--#
LifeP2X=SCREEN_RIGHT-12
LifeP2Y=240
LifeP2OnCommand=rotationz,90;addx,100;decelerate,0.8;addx,-100
LifeP2OffCommand=decelerate,0.3;addx,-20;accelerate,0.7;addx,120
#--#
CombinedLifeX=SCREEN_CENTER_X
CombinedLifeY=SCREEN_CENTER_Y-28
CombinedLifeOnCommand=addy,100;decelerate,1;addy,-100
CombinedLifeOffCommand=decelerate,0.3;addy,-20;accelerate,0.7;addy,120

StageX=SCREEN_CENTER_X
StageY=SCREEN_BOTTOM-15
StageOnCommand=addy,100;decelerate,1;addy,-100
StageOffCommand=decelerate,0.3;addy,-20;accelerate,0.7;addy,120

ScoreFrameX=SCREEN_CENTER_X
ScoreFrameY=SCREEN_TOP+32
ScoreFrameOnCommand=draworder,95;addy,-100;decelerate,1;addy,100
ScoreFrameOffCommand=decelerate,0.3;addy,20;accelerate,0.7;addy,-120
#==#
ScoreP1X=SCREEN_CENTER_X-214
ScoreP1Y=SCREEN_TOP+24
ScoreP1OnCommand=diffuse,PlayerColor(PLAYER_1);draworder,96;addy,-100;decelerate,1;addy,100
ScoreP1OffCommand=decelerate,0.3;addy,20;accelerate,0.7;addy,-120
#--#
ScoreP2X=SCREEN_CENTER_X+214
ScoreP2Y=SCREEN_TOP+24
ScoreP2OnCommand=diffuse,PlayerColor(PLAYER_2);draworder,96;addy,-100;decelerate,1;addy,100
ScoreP2OffCommand=decelerate,0.3;addy,20;accelerate,0.7;addy,-120

PlayerOptionsP1X=SCREEN_LEFT+12
PlayerOptionsP1Y=SCREEN_TOP+36
PlayerOptionsP1OnCommand=halign,0;draworder,96;zoom,0.75;addy,-100;sleep,0.5;linear,1;addy,100
PlayerOptionsP1OffCommand=decelerate,0.3;addy,-20;accelerate,0.7;addy,-120
#--#
PlayerOptionsP2X=SCREEN_RIGHT-12
PlayerOptionsP2Y=SCREEN_TOP+36
PlayerOptionsP2OnCommand=halign,1;draworder,96;zoom,0.75;addy,-100;sleep,0.5;linear,1;addy,100
PlayerOptionsP2OffCommand=decelerate,0.3;addy,-20;accelerate,0.7;addy,-120
#==#
SongOptionsX=SCREEN_CENTER_X
SongOptionsY=SCREEN_TOP+6
SongOptionsOnCommand=draworder,97;zoom,0.5;addy,-100;decelerate,1;addy,100
SongOptionsOffCommand=decelerate,0.3;addy,20;accelerate,0.7;addy,-120

SongTitleX=SCREEN_CENTER_X
SongTitleY=SCREEN_CENTER_Y
SongTitleOnCommand=diffusealpha,1;sleep,5;linear,1;diffusealpha,0;
SongTitleOffCommand=

SongPositionX=SCREEN_CENTER_X
SongPositionY=SCREEN_TOP+19
SongPositionOnCommand=draworder,100;addy,-100;decelerate,1;addy,100
SongPositionOffCommand=decelerate,0.3;addy,20;accelerate,0.7;addy,-120

# max combo
ShowMaxCombo=true
MaxComboP1X=(GAMESTATE:GetNumPlayersEnabled() > 1) and SCREEN_CENTER_X-52 or SCREEN_CENTER_X
MaxComboP1Y=SCREEN_TOP+28
MaxComboP1OnCommand=zoom,0.275;shadowlength,1;draworder,100;addy,100;decelerate,1;addy,-100;
MaxComboP1OffCommand=accelerate,0.7;addy,120
#--#
MaxComboP2X=(GAMESTATE:GetNumPlayersEnabled() > 1) and SCREEN_CENTER_X+52 or SCREEN_CENTER_X
MaxComboP2Y=SCREEN_TOP+28
MaxComboP2OnCommand=zoom,0.275;shadowlength,1;draworder,100;addy,100;decelerate,1;addy,-100;
MaxComboP2OffCommand=accelerate,0.7;addy,120
################################################################################
## eval ##
[ScreenEvaluation]
Summary=false

# judge
ShowSharedJudgmentLineLabels=true

ShowJudgmentLineW1=true
#--#
W1LabelX=SCREEN_CENTER_X
W1LabelY=SCREEN_CENTER_Y-62
W1LabelOnCommand=addy,SCREEN_HEIGHT;sleep,0.1;decelerate,0.2;addy,-SCREEN_HEIGHT
W1LabelOffCommand=sleep,0.7;accelerate,0.2;addy,SCREEN_HEIGHT
#--#
W1NumberP1X=SCREEN_CENTER_X-74
W1NumberP1Y=SCREEN_CENTER_Y-62
W1NumberP1OnCommand=diffuse,PlayerColor(PLAYER_1);shadowlength,0;addx,-SCREEN_CENTER_X;sleep,0.1;decelerate,0.2;addx,SCREEN_CENTER_X
W1NumberP1OffCommand=sleep,0.7;accelerate,0.2;addx,-SCREEN_CENTER_X
#--#
W1NumberP2X=SCREEN_CENTER_X+74
W1NumberP2Y=SCREEN_CENTER_Y-62
W1NumberP2OnCommand=diffuse,PlayerColor(PLAYER_2);shadowlength,0;addx,SCREEN_CENTER_X;sleep,0.1;decelerate,0.2;addx,-SCREEN_CENTER_X
W1NumberP2OffCommand=sleep,0.7;accelerate,0.2;addx,SCREEN_CENTER_X

ShowJudgmentLineW2=true
#--#
W2LabelX=SCREEN_CENTER_X
W2LabelY=SCREEN_CENTER_Y-46
W2LabelOnCommand=addy,SCREEN_HEIGHT;sleep,0.2;decelerate,0.2;addy,-SCREEN_HEIGHT
W2LabelOffCommand=sleep,0.6;accelerate,0.2;addy,SCREEN_HEIGHT
#--#
W2NumberP1X=SCREEN_CENTER_X-74
W2NumberP1Y=SCREEN_CENTER_Y-46
W2NumberP1OnCommand=diffuse,PlayerColor(PLAYER_1);shadowlength,0;addx,-SCREEN_CENTER_X;sleep,0.2;decelerate,0.2;addx,SCREEN_CENTER_X
W2NumberP1OffCommand=sleep,0.6;accelerate,0.2;addx,-SCREEN_CENTER_X
#--#
W2NumberP2X=SCREEN_CENTER_X+74
W2NumberP2Y=SCREEN_CENTER_Y-46
W2NumberP2OnCommand=diffuse,PlayerColor(PLAYER_2);shadowlength,0;addx,SCREEN_CENTER_X;sleep,0.2;decelerate,0.2;addx,-SCREEN_CENTER_X
W2NumberP2OffCommand=sleep,0.6;accelerate,0.2;addx,SCREEN_CENTER_X

ShowJudgmentLineW3=true
#--#
W3LabelX=SCREEN_CENTER_X
W3LabelY=SCREEN_CENTER_Y-30
W3LabelOnCommand=addy,SCREEN_HEIGHT;sleep,0.3;decelerate,0.2;addy,-SCREEN_HEIGHT
W3LabelOffCommand=sleep,0.5;accelerate,0.2;addy,SCREEN_HEIGHT
#--#
W3NumberP1X=SCREEN_CENTER_X-74
W3NumberP1Y=SCREEN_CENTER_Y-30
W3NumberP1OnCommand=diffuse,PlayerColor(PLAYER_1);shadowlength,0;addx,-SCREEN_CENTER_X;sleep,0.3;decelerate,0.2;addx,SCREEN_CENTER_X
W3NumberP1OffCommand=sleep,0.5;accelerate,0.2;addx,-SCREEN_CENTER_X
#--#
W3NumberP2X=SCREEN_CENTER_X+74
W3NumberP2Y=SCREEN_CENTER_Y-30
W3NumberP2OnCommand=diffuse,PlayerColor(PLAYER_2);shadowlength,0;addx,SCREEN_CENTER_X;sleep,0.3;decelerate,0.2;addx,-SCREEN_CENTER_X
W3NumberP2OffCommand=sleep,0.5;accelerate,0.2;addx,SCREEN_CENTER_X

ShowJudgmentLineW4=true
#--#
W4LabelX=SCREEN_CENTER_X
W4LabelY=SCREEN_CENTER_Y-14
W4LabelOnCommand=addy,SCREEN_HEIGHT;sleep,0.4;decelerate,0.2;addy,-SCREEN_HEIGHT
W4LabelOffCommand=sleep,0.4;accelerate,0.2;addy,SCREEN_HEIGHT
#--#
W4NumberP1X=SCREEN_CENTER_X-74
W4NumberP1Y=SCREEN_CENTER_Y-14
W4NumberP1OnCommand=diffuse,PlayerColor(PLAYER_1);shadowlength,0;addx,-SCREEN_CENTER_X;sleep,0.4;decelerate,0.2;addx,SCREEN_CENTER_X
W4NumberP1OffCommand=sleep,0.4;accelerate,0.2;addx,-SCREEN_CENTER_X
#--#
W4NumberP2X=SCREEN_CENTER_X+74
W4NumberP2Y=SCREEN_CENTER_Y-14
W4NumberP2OnCommand=diffuse,PlayerColor(PLAYER_2);shadowlength,0;addx,SCREEN_CENTER_X;sleep,0.4;decelerate,0.2;addx,-SCREEN_CENTER_X
W4NumberP2OffCommand=sleep,0.4;accelerate,0.2;addx,SCREEN_CENTER_X

ShowJudgmentLineW5=true
#--#
W5LabelX=SCREEN_CENTER_X
W5LabelY=SCREEN_CENTER_Y+2
W5LabelOnCommand=addy,SCREEN_HEIGHT;sleep,0.5;decelerate,0.2;addy,-SCREEN_HEIGHT
W5LabelOffCommand=sleep,0.3;accelerate,0.2;addy,SCREEN_HEIGHT
#--#
W5NumberP1X=SCREEN_CENTER_X-74
W5NumberP1Y=SCREEN_CENTER_Y+2
W5NumberP1OnCommand=diffuse,PlayerColor(PLAYER_1);shadowlength,0;addx,-SCREEN_CENTER_X;sleep,0.5;decelerate,0.2;addx,SCREEN_CENTER_X
W5NumberP1OffCommand=sleep,0.3;accelerate,0.2;addx,-SCREEN_CENTER_X
#--#
W5NumberP2X=SCREEN_CENTER_X+74
W5NumberP2Y=SCREEN_CENTER_Y+2
W5NumberP2OnCommand=diffuse,PlayerColor(PLAYER_2);shadowlength,0;addx,SCREEN_CENTER_X;sleep,0.5;decelerate,0.2;addx,-SCREEN_CENTER_X
W5NumberP2OffCommand=sleep,0.3;accelerate,0.2;addx,SCREEN_CENTER_X

ShowJudgmentLineMiss=true
#--#
MissLabelX=SCREEN_CENTER_X
MissLabelY=SCREEN_CENTER_Y+18
MissLabelOnCommand=addy,SCREEN_HEIGHT;sleep,0.6;decelerate,0.2;addy,-SCREEN_HEIGHT
MissLabelOffCommand=sleep,0.2;accelerate,0.2;addy,SCREEN_HEIGHT
#--#
MissNumberP1X=SCREEN_CENTER_X-74
MissNumberP1Y=SCREEN_CENTER_Y+18
MissNumberP1OnCommand=diffuse,PlayerColor(PLAYER_1);shadowlength,0;addx,-SCREEN_CENTER_X;sleep,0.6;decelerate,0.2;addx,SCREEN_CENTER_X
MissNumberP1OffCommand=sleep,0.2;accelerate,0.2;addx,-SCREEN_CENTER_X
#--#
MissNumberP2X=SCREEN_CENTER_X+74
MissNumberP2Y=SCREEN_CENTER_Y+18
MissNumberP2OnCommand=diffuse,PlayerColor(PLAYER_2);shadowlength,0;addx,SCREEN_CENTER_X;sleep,0.6;decelerate,0.2;addx,-SCREEN_CENTER_X
MissNumberP2OffCommand=sleep,0.2;accelerate,0.2;addx,SCREEN_CENTER_X

ShowJudgmentLineHeld=true
#--#
HeldLabelX=SCREEN_CENTER_X
HeldLabelY=SCREEN_CENTER_Y+34
HeldLabelOnCommand=addy,SCREEN_HEIGHT;sleep,0.7;decelerate,0.2;addy,-SCREEN_HEIGHT
HeldLabelOffCommand=sleep,0.1;accelerate,0.2;addy,SCREEN_HEIGHT
#--#
HeldNumberP1X=SCREEN_CENTER_X-74
HeldNumberP1Y=SCREEN_CENTER_Y+34
HeldNumberP1OnCommand=diffuse,PlayerColor(PLAYER_1);shadowlength,0;addx,-SCREEN_CENTER_X;sleep,0.7;decelerate,0.2;addx,SCREEN_CENTER_X
HeldNumberP1OffCommand=sleep,0.1;accelerate,0.2;addx,-SCREEN_CENTER_X
#--#
HeldNumberP2X=SCREEN_CENTER_X+74
HeldNumberP2Y=SCREEN_CENTER_Y+34
HeldNumberP2OnCommand=diffuse,PlayerColor(PLAYER_2);shadowlength,0;addx,SCREEN_CENTER_X;sleep,0.7;decelerate,0.2;addx,-SCREEN_CENTER_X
HeldNumberP2OffCommand=sleep,0.1;accelerate,0.2;addx,SCREEN_CENTER_X

# max combo is placed within the bonus frame
ShowJudgmentLineMaxCombo=true
MaxComboMaxDigits=4
#--#
MaxComboLabelX=
MaxComboLabelY=
MaxComboLabelOnCommand=visible,false
MaxComboLabelOffCommand=
#--#
MaxComboNumberP1X=SCREEN_CENTER_X-165
MaxComboNumberP1Y=SCREEN_CENTER_Y+14
MaxComboNumberP1OnCommand=draworder,13;shadowlength,0;zoom,1.2;diffusealpha,0;linear,0.4;diffuse,1,1,0,1
MaxComboNumberP1OffCommand=linear,0.4;diffusealpha,0
#--#
MaxComboNumberP2X=SCREEN_CENTER_X+276
MaxComboNumberP2Y=SCREEN_CENTER_Y+14
MaxComboNumberP2OnCommand=draworder,13;shadowlength,0;zoom,1.2;diffusealpha,0;linear,0.4;diffuse,1,1,0,1
MaxComboNumberP2OffCommand=linear,0.4;diffusealpha,0

# banner
BannerWidth=256
BannerHeight=80
#--#
LargeBannerX=SCREEN_CENTER_X
LargeBannerY=SCREEN_CENTER_Y-114
LargeBannerOnCommand=draworder,12;addy,SCREEN_HEIGHT;sleep,0.0;decelerate,0.2;addy,-SCREEN_HEIGHT
LargeBannerOffCommand=sleep,0.8;accelerate,0.2;addy,SCREEN_HEIGHT
#--#
LargeBannerFrameX=SCREEN_CENTER_X
LargeBannerFrameY=SCREEN_CENTER_Y-114
LargeBannerFrameOnCommand=draworder,12;addy,SCREEN_HEIGHT;sleep,0.0;decelerate,0.2;addy,-SCREEN_HEIGHT
LargeBannerFrameOffCommand=sleep,0.8;accelerate,0.2;addy,SCREEN_HEIGHT

# scores
ShowScoreArea=true
#--#
ScoreLabelX=SCREEN_CENTER_X
ScoreLabelY=SCREEN_CENTER_Y+140
ScoreLabelOnCommand=addy,SCREEN_HEIGHT;sleep,0.0;decelerate,0.2;addy,-SCREEN_HEIGHT
ScoreLabelOffCommand=sleep,0.8;accelerate,0.2;addy,SCREEN_HEIGHT
#--#
ScoreNumberP1X=SCREEN_CENTER_X-120
ScoreNumberP1Y=SCREEN_CENTER_Y+140
ScoreNumberP1OnCommand=shadowlength,0;diffuse,PlayerColor(PLAYER_1);zoom,0.8;addx,-SCREEN_CENTER_X;sleep,0.8;decelerate,0.2;addx,SCREEN_CENTER_X
ScoreNumberP1OffCommand=sleep,0.0;accelerate,0.2;addx,-SCREEN_CENTER_X
#--#
ScoreNumberP2X=SCREEN_CENTER_X+120
ScoreNumberP2Y=SCREEN_CENTER_Y+140
ScoreNumberP2OnCommand=shadowlength,0;diffuse,PlayerColor(PLAYER_2);zoom,0.8;addx,SCREEN_CENTER_X;sleep,0.8;decelerate,0.2;addx,-SCREEN_CENTER_X
ScoreNumberP2OffCommand=sleep,0.0;accelerate,0.2;addx,SCREEN_CENTER_X

# grades
GradeFrameP1X=SCREEN_CENTER_X-220
GradeFrameP1Y=SCREEN_CENTER_Y-108
GradeFrameP1OnCommand=draworder,10;addx,-SCREEN_CENTER_X;sleep,0.0;decelerate,0.2;addx,SCREEN_CENTER_X
GradeFrameP1OffCommand=sleep,0.8;accelerate,0.2;addx,-SCREEN_CENTER_X
#--#
GradeFrameP2X=SCREEN_CENTER_X+220
GradeFrameP2Y=SCREEN_CENTER_Y-108
GradeFrameP2OnCommand=draworder,10;addx,SCREEN_CENTER_X;sleep,0.0;decelerate,0.2;addx,-SCREEN_CENTER_X
GradeFrameP2OffCommand=sleep,0.8;accelerate,0.2;addx,SCREEN_CENTER_X
#====#
GradeP1X=SCREEN_CENTER_X-220
GradeP1Y=SCREEN_CENTER_Y-108
GradeP1OnCommand=draworder,11;glowshift;effectperiod,2;addx,-SCREEN_CENTER_X;sleep,0.0;decelerate,0.2;addx,SCREEN_CENTER_X
GradeP1OffCommand=sleep,0.8;accelerate,0.2;addx,-SCREEN_CENTER_X
#--#
GradeP2X=SCREEN_CENTER_X+220
GradeP2Y=SCREEN_CENTER_Y-108
GradeP2OnCommand=draworder,11;glowshift;effectperiod,2;addx,SCREEN_CENTER_X;sleep,0.0;decelerate,0.2;addx,-SCREEN_CENTER_X
GradeP2OffCommand=sleep,0.8;accelerate,0.2;addx,SCREEN_CENTER_X

# player options
PlayerOptionsP1X=SCREEN_CENTER_X-320
PlayerOptionsP1Y=SCREEN_CENTER_Y+124
PlayerOptionsP1OnCommand=draworder,3;halign,0;vertalign,bottom;zoom,0.5;shadowlength,2;addy,SCREEN_HEIGHT;sleep,0.0;decelerate,0.2;addy,-SCREEN_HEIGHT
PlayerOptionsP1OffCommand=sleep,0.8;accelerate,0.2;addy,SCREEN_HEIGHT
#--#
PlayerOptionsP2X=SCREEN_CENTER_X+320
PlayerOptionsP2Y=SCREEN_CENTER_Y+124
PlayerOptionsP2OnCommand=draworder,3;halign,1;vertalign,bottom;zoom,0.5;shadowlength,2;addy,SCREEN_HEIGHT;sleep,0.0;decelerate,0.2;addy,-SCREEN_HEIGHT
PlayerOptionsP2OffCommand=sleep,0.8;accelerate,0.2;addy,SCREEN_HEIGHT

# stage
ShowStageDisplay=not GAMESTATE:IsCourseMode()
StageDisplayX=SCREEN_CENTER_X
StageDisplayY=SCREEN_CENTER_Y-180
StageDisplayOnCommand=diffusealpha,0;linear,0.5;diffusealpha,1
StageDisplayOffCommand=diffusealpha,1;linear,0.5;diffusealpha,0

# bonus frame
BonusFrameP1X=SCREEN_CENTER_X-220
BonusFrameP1Y=SCREEN_CENTER_Y+26
BonusFrameP1OnCommand=draworder,1;diffusealpha,0;linear,0.4;diffusealpha,1;
BonusFrameP1OffCommand=linear,0.4;diffusealpha,0
#--#
BonusFrameP2X=SCREEN_CENTER_X+220
BonusFrameP2Y=SCREEN_CENTER_Y+26
BonusFrameP2OnCommand=draworder,1;diffusealpha,0;linear,0.4;diffusealpha,1;
BonusFrameP2OffCommand=linear,0.4;diffusealpha,0

# bonus bars (fffff)
BarPossible1P1X=SCREEN_CENTER_X-260
BarPossible1P1Y=SCREEN_CENTER_Y-40
BarPossible1P1OnCommand=draworder,2;halign,0;rotationz,0;zoomx,0;sleep,0.2;linear,0.5;zoomx,1
BarPossible1P1OffCommand=linear,0.4;diffusealpha,0
#--#
BarPossible1P2X=SCREEN_CENTER_X+180
BarPossible1P2Y=SCREEN_CENTER_Y-40
BarPossible1P2OnCommand=draworder,2;halign,0;rotationz,0;zoomx,0;sleep,0.2;linear,0.5;zoomx,1
BarPossible1P2OffCommand=linear,0.4;diffusealpha,0
#====#
BarActual1P1X=SCREEN_CENTER_X-260
BarActual1P1Y=SCREEN_CENTER_Y-40
BarActual1P1OnCommand=draworder,2;halign,0;rotationz,0;zoomx,0;sleep,0.7;linear,0.5;zoomx,1
BarActual1P1OffCommand=linear,0.4;diffusealpha,0
#--#
BarActual1P2X=SCREEN_CENTER_X+180
BarActual1P2Y=SCREEN_CENTER_Y-40
BarActual1P2OnCommand=draworder,2;halign,0;rotationz,0;zoomx,0;sleep,0.7;linear,0.5;zoomx,1
BarActual1P2OffCommand=linear,0.4;diffusealpha,0

BarPossible2P1X=SCREEN_CENTER_X-260
BarPossible2P1Y=SCREEN_CENTER_Y-32
BarPossible2P1OnCommand=draworder,2;halign,0;rotationz,0;zoomx,0;sleep,0.3;linear,0.5;zoomx,1
BarPossible2P1OffCommand=linear,0.4;diffusealpha,0
#--#
BarPossible2P2X=SCREEN_CENTER_X+180
BarPossible2P2Y=SCREEN_CENTER_Y-32
BarPossible2P2OnCommand=draworder,2;halign,0;rotationz,0;zoomx,0;sleep,0.3;linear,0.5;zoomx,1
BarPossible2P2OffCommand=linear,0.4;diffusealpha,0
#====#
BarActual2P1X=SCREEN_CENTER_X-260
BarActual2P1Y=SCREEN_CENTER_Y-32
BarActual2P1OnCommand=draworder,2;halign,0;rotationz,0;zoomx,0;sleep,0.8;linear,0.5;zoomx,1
BarActual2P1OffCommand=linear,0.4;diffusealpha,0
#--#
BarActual2P2X=SCREEN_CENTER_X+180
BarActual2P2Y=SCREEN_CENTER_Y-32
BarActual2P2OnCommand=draworder,2;halign,0;rotationz,0;zoomx,0;sleep,0.8;linear,0.5;zoomx,1
BarActual2P2OffCommand=linear,0.4;diffusealpha,0

BarPossible3P1X=SCREEN_CENTER_X-260
BarPossible3P1Y=SCREEN_CENTER_Y-24
BarPossible3P1OnCommand=draworder,2;halign,0;rotationz,0;zoomx,0;sleep,0.4;linear,0.5;zoomx,1
BarPossible3P1OffCommand=linear,0.4;diffusealpha,0
#--#
BarPossible3P2X=SCREEN_CENTER_X+180
BarPossible3P2Y=SCREEN_CENTER_Y-24
BarPossible3P2OnCommand=draworder,2;halign,0;rotationz,0;zoomx,0;sleep,0.4;linear,0.5;zoomx,1
BarPossible3P2OffCommand=linear,0.4;diffusealpha,0
#====#
BarActual3P1X=SCREEN_CENTER_X-260
BarActual3P1Y=SCREEN_CENTER_Y-24
BarActual3P1OnCommand=draworder,2;halign,0;rotationz,0;zoomx,0;sleep,0.9;linear,0.5;zoomx,1
BarActual3P1OffCommand=linear,0.4;diffusealpha,0
#--#
BarActual3P2X=SCREEN_CENTER_X+180
BarActual3P2Y=SCREEN_CENTER_Y-24
BarActual3P2OnCommand=draworder,2;halign,0;rotationz,0;zoomx,0;sleep,0.9;linear,0.5;zoomx,1
BarActual3P2OffCommand=linear,0.4;diffusealpha,0

BarPossible4P1X=SCREEN_CENTER_X-260
BarPossible4P1Y=SCREEN_CENTER_Y-16
BarPossible4P1OnCommand=draworder,2;halign,0;rotationz,0;zoomx,0;sleep,1.0;linear,0.5;zoomx,1
BarPossible4P1OffCommand=linear,0.4;diffusealpha,0
#--#
BarPossible4P2X=SCREEN_CENTER_X+180
BarPossible4P2Y=SCREEN_CENTER_Y-16
BarPossible4P2OnCommand=draworder,2;halign,0;rotationz,0;zoomx,0;sleep,1.0;linear,0.5;zoomx,1
BarPossible4P2OffCommand=linear,0.4;diffusealpha,0
#====#
BarActual4P1X=SCREEN_CENTER_X-260
BarActual4P1Y=SCREEN_CENTER_Y-16
BarActual4P1OnCommand=draworder,2;halign,0;rotationz,0;zoomx,0;sleep,1.0;linear,0.5;zoomx,1
BarActual4P1OffCommand=linear,0.4;diffusealpha,0
#--#
BarActual4P2X=SCREEN_CENTER_X+180
BarActual4P2Y=SCREEN_CENTER_Y-16
BarActual4P2OnCommand=draworder,2;halign,0;rotationz,0;zoomx,0;sleep,1.0;linear,0.5;zoomx,1
BarActual4P2OffCommand=linear,0.4;diffusealpha,0

BarPossible5P1X=SCREEN_CENTER_X-260
BarPossible5P1Y=SCREEN_CENTER_Y-8
BarPossible5P1OnCommand=draworder,2;halign,0;rotationz,0;zoomx,0;sleep,0.6;linear,0.5;zoomx,1
BarPossible5P1OffCommand=linear,0.4;diffusealpha,0
#--#
BarPossible5P2X=SCREEN_CENTER_X+180
BarPossible5P2Y=SCREEN_CENTER_Y-8
BarPossible5P2OnCommand=draworder,2;halign,0;rotationz,0;zoomx,0;sleep,0.6;linear,0.5;zoomx,1
BarPossible5P2OffCommand=linear,0.4;diffusealpha,0
#====#
BarActual5P1X=SCREEN_CENTER_X-260
BarActual5P1Y=SCREEN_CENTER_Y-8
BarActual5P1OnCommand=draworder,2;halign,0;rotationz,0;zoomx,0;sleep,1.1;linear,0.5;zoomx,1
BarActual5P1OffCommand=linear,0.4;diffusealpha,0
#--#
BarActual5P2X=SCREEN_CENTER_X+180
BarActual5P2Y=SCREEN_CENTER_Y-8
BarActual5P2OnCommand=draworder,2;halign,0;rotationz,0;zoomx,0;sleep,1.1;linear,0.5;zoomx,1
BarActual5P2OffCommand=linear,0.4;diffusealpha,0
BarActualMaxCommand=glowshift;effectperiod,0.5

# graph display
GraphDisplayP1X=SCREEN_CENTER_X-220
GraphDisplayP1Y=SCREEN_CENTER_Y+62
GraphDisplayP1OnCommand=diffusealpha,0;linear,0.4;diffusealpha,1
GraphDisplayP1OffCommand=linear,0.4;diffusealpha,0;addx,-SCREEN_CENTER_X;
#--#
GraphDisplayP2X=SCREEN_CENTER_X+220
GraphDisplayP2Y=SCREEN_CENTER_Y+62
GraphDisplayP2OnCommand=diffusealpha,0;linear,0.4;diffusealpha,1
GraphDisplayP2OffCommand=linear,0.4;diffusealpha,0;addx,SCREEN_CENTER_X;

# combo graph
ComboGraphP1X=SCREEN_CENTER_X-220
ComboGraphP1Y=SCREEN_CENTER_Y+106
ComboGraphP1OnCommand=diffusealpha,0;linear,0.4;diffusealpha,1
ComboGraphP1OffCommand=linear,0.4;diffusealpha,0
#--#
ComboGraphP2X=SCREEN_CENTER_X+220
ComboGraphP2Y=SCREEN_CENTER_Y+106
ComboGraphP2OnCommand=diffusealpha,0;linear,0.4;diffusealpha,1
ComboGraphP2OffCommand=linear,0.4;diffusealpha,0

DifficultyIconP1X=SCREEN_CENTER_X-106
DifficultyIconP1Y=SCREEN_CENTER_Y-140
DifficultyIconP1OnCommand=draworder,90;addy,SCREEN_HEIGHT;sleep,0.0;decelerate,0.2;addy,-SCREEN_HEIGHT
DifficultyIconP1OffCommand=sleep,0.8;accelerate,0.2;addy,SCREEN_HEIGHT
#--#
DifficultyIconP2X=SCREEN_CENTER_X+106
DifficultyIconP2Y=SCREEN_CENTER_Y-140
DifficultyIconP2OnCommand=draworder,90;addy,SCREEN_HEIGHT;sleep,0.0;decelerate,0.2;addy,-SCREEN_HEIGHT
DifficultyIconP2OffCommand=sleep,0.8;accelerate,0.2;addy,SCREEN_HEIGHT

# survived (courses only)
SurvivedFrameP1X=SCREEN_CENTER_X-224
SurvivedFrameP1Y=SCREEN_CENTER_Y
SurvivedFrameP1OnCommand=diffusealpha,0;linear,0.7;diffusealpha,1
SurvivedFrameP1OffCommand=linear,0.7;diffusealpha,0
#====#
SurvivedNumberP1X=SCREEN_CENTER_X-224
SurvivedNumberP1Y=SCREEN_CENTER_Y-16
SurvivedNumberP1OnCommand=diffusealpha,0;linear,0.7;diffusealpha,1
SurvivedNumberP1OffCommand=linear,0.7;diffusealpha,0
#--#
SurvivedFrameP2X=SCREEN_CENTER_X+224
SurvivedFrameP2Y=SCREEN_CENTER_Y
SurvivedFrameP2OnCommand=diffusealpha,0;linear,0.7;diffusealpha,1
SurvivedFrameP2OffCommand=linear,0.7;diffusealpha,0
#====#
SurvivedNumberP2X=SCREEN_CENTER_X+224
SurvivedNumberP2Y=SCREEN_CENTER_Y-16
SurvivedNumberP2OnCommand=diffusealpha,0;linear,0.7;diffusealpha,1
SurvivedNumberP2OffCommand=linear,0.7;diffusealpha,0

# time area (oni only)
TimeLabelX=SCREEN_CENTER_X
TimeLabelY=SCREEN_CENTER_Y+140
TimeLabelOnCommand=addy,SCREEN_HEIGHT;sleep,0.8;decelerate,0.3;addy,-SCREEN_HEIGHT
TimeLabelOffCommand=sleep,0.0;accelerate,0.3;addy,SCREEN_HEIGHT
#==#
TimeNumberP1X=SCREEN_CENTER_X-120
TimeNumberP1Y=SCREEN_CENTER_Y+140
TimeNumberP1OnCommand=diffuse,PlayerColor(PLAYER_1);addx,-SCREEN_CENTER_X;sleep,0.8;decelerate,0.3;addx,SCREEN_CENTER_X
TimeNumberP1OffCommand=sleep,0.0;accelerate,0.3;addx,-SCREEN_CENTER_X
#--#
TimeNumberP2X=SCREEN_CENTER_X+120
TimeNumberP2Y=SCREEN_CENTER_Y+140
TimeNumberP2OnCommand=diffuse,PlayerColor(PLAYER_2);addx,SCREEN_CENTER_X;sleep,0.8;decelerate,0.3;addx,-SCREEN_CENTER_X
TimeNumberP2OffCommand=sleep,0.0;accelerate,0.3;addx,SCREEN_CENTER_X

# try extra stage
ShowTryExtraStage=false
TryExtraStageX=SCREEN_CENTER_X
TryExtraStageY=SCREEN_CENTER_Y-168
TryExtraStageOnCommand=addy,-(SCREEN_CENTER_Y/2);linear,0.2;addy,(SCREEN_CENTER_Y/2);glowshift
TryExtraStageOffCommand=linear,0.2;addy,-(SCREEN_CENTER_Y/2)

# unused
ShowModIconRows=false

[RollingNumbers]
Commify=false

[GraphDisplay]
BodyWidth=192
BodyHeight=60

[GraphDisplayP1]
Fallback="GraphDisplay"
[GraphDisplayP2]
Fallback="GraphDisplay"

[ComboGraph]
BodyWidth=192

[ComboGraphP1]
Fallback="ComboGraph"
[ComboGraphP2]
Fallback="ComboGraph"

[ScreenEvaluationStage]
Fallback="ScreenEvaluation"
NextScreen="ScreenProfileSave"
# config
ShowGradeArea=true
ShowBonusArea=true
ShowGraphDisplay=true
ShowComboGraph=true

ShowTryExtraStage=GAMESTATE:HasEarnedExtraStage()

# unused
ShowDetailArea=false
ShowModIconRows=false

[ScreenEvaluationNonstop]
Fallback="ScreenEvaluation"
NextScreen="ScreenProfileSave"
# config
ShowSurvivedArea=true
# unused
ShowBonusArea=false
ShowJudgmentLineMaxCombo=false

[ScreenEvaluationOni]
Fallback="ScreenEvaluation"
NextScreen="ScreenProfileSave"
# config
ShowSurvivedArea=true
ShowTimeArea=true
# unused
ShowBonusArea=false
ShowJudgmentLineMaxCombo=false
ShowScoreArea=false

[ScreenEvaluationEndless]
Fallback="ScreenEvaluation"
NextScreen="ScreenProfileSave"
# unused

[ScreenEvaluationSummary]
Fallback="ScreenEvaluation"
Summary=true
# todo: nextscreen shit

SmallBanner1X=SCREEN_CENTER_X-60
SmallBanner1Y=SCREEN_CENTER_Y-160
SmallBanner1OnCommand=zoom,0.5;addy,SCREEN_HEIGHT;sleep,0.0;decelerate,0.3;addy,-SCREEN_HEIGHT
SmallBanner1OffCommand=sleep,0.8;accelerate,0.3;addy,SCREEN_HEIGHT
#--#
SmallBanner2X=SCREEN_CENTER_X-30
SmallBanner2Y=SCREEN_CENTER_Y-150
SmallBanner2OnCommand=zoom,0.5;addy,SCREEN_HEIGHT;sleep,0.0;decelerate,0.3;addy,-SCREEN_HEIGHT
SmallBanner2OffCommand=sleep,0.8;accelerate,0.3;addy,SCREEN_HEIGHT
#--#
SmallBanner3X=SCREEN_CENTER_X
SmallBanner3Y=SCREEN_CENTER_Y-140
SmallBanner3OnCommand=zoom,0.5;addy,SCREEN_HEIGHT;sleep,0.0;decelerate,0.3;addy,-SCREEN_HEIGHT
SmallBanner3OffCommand=sleep,0.8;accelerate,0.3;addy,SCREEN_HEIGHT
#--#
SmallBanner4X=SCREEN_CENTER_X+30
SmallBanner4Y=SCREEN_CENTER_Y-130
SmallBanner4OnCommand=zoom,0.5;addy,SCREEN_HEIGHT;sleep,0.0;decelerate,0.3;addy,-SCREEN_HEIGHT
SmallBanner4OffCommand=sleep,0.8;accelerate,0.3;addy,SCREEN_HEIGHT
#--#
SmallBanner5X=SCREEN_CENTER_X+60
SmallBanner5Y=SCREEN_CENTER_Y-120
SmallBanner5OnCommand=zoom,0.5;addy,SCREEN_HEIGHT;sleep,0.0;decelerate,0.3;addy,-SCREEN_HEIGHT
SmallBanner5OffCommand=sleep,0.8;accelerate,0.3;addy,SCREEN_HEIGHT

CategoryRecordP1X=SCREEN_CENTER_X-186
CategoryRecordP1Y=SCREEN_CENTER_Y+158
CategoryRecordP1OnCommand=diffusealpha,0;linear,0.7;diffusealpha,1;glowshift
CategoryRecordP1OffCommand=linear,0.7;diffusealpha,0
#--#
CategoryRecordP2X=SCREEN_CENTER_X+186
CategoryRecordP2Y=SCREEN_CENTER_Y+158
CategoryRecordP2OnCommand=diffusealpha,0;linear,0.7;diffusealpha,1;glowshift
CategoryRecordP2OffCommand=linear,0.7;diffusealpha,0

# no i don't use it
DifficultyIconP1OnCommand=visible,false
DifficultyIconP2OnCommand=visible,false

################################################################################
[ScreenProfileSave]
NextScreen=Branch.AfterProfileSave()
ShowFooter=false

[ScreenNameEntry]
NextScreen=GAMESTATE:IsCourseMode() and "ScreenCredits" or SelectEndingScreen()

[Screenpopcandycredits]
Class="ScreenAttract"
Fallback="ScreenAttract"
NextScreen="ScreenCredits"
TimerSeconds=70

[ScreenCredits]
Class="ScreenAttract"
Fallback="ScreenAttract"
NextScreen="ScreenRanking"
TimerSeconds=20

[ScreenMusicScroll]
Class="ScreenAttract"
Fallback="ScreenAttract"
NextScreen="ScreenRanking"
#TimerSeconds=20
ScrollDelay=0.2
ScrollSpeed=2.0
TextZoom=0.8
################################################################################
## options ##
[ScreenOptionsTheme]
Fallback="ScreenOptionsServiceChild"
LineNames="Use3DModels"
LineUse3DModels="lua,OptionRow3DModels()"

################################################################################
## edit mode ##
[ScreenEditMenu]
ExplanationX=SCREEN_CENTER_X
ExplanationY=SCREEN_CENTER_Y+170
ExplanationOnCommand=wrapwidthpixels,900;zoom,0.7

[EditMenu]
TextBannerType="TextBannerEdit"

Arrows1X=SCREEN_CENTER_X-130
Arrows2X=SCREEN_CENTER_X+270
ArrowsEnabledCommand=diffuse,color("1,1,1,1");shadowlengthy,1;shadowcolor,color("#002740");
ArrowsDisabledCommand=diffuse,color("0.45,0.45,0.45,1");shadowlengthy,1;shadowcolor,color("#002740");
#--#
SongBannerX=SCREEN_CENTER_X+170
SongBannerY=SCREEN_CENTER_Y-90
SongBannerWidth=128
SongBannerHeight=40
#--#
SongTextBannerX=SCREEN_CENTER_X-96
SongTextBannerY=SCREEN_CENTER_Y-90
#
GroupBannerX=SCREEN_CENTER_X+170
GroupBannerY=SCREEN_CENTER_Y-140
GroupBannerWidth=128
GroupBannerHeight=40
#--#
StepsDisplayX=SCREEN_CENTER_X+150
StepsDisplayY=SCREEN_CENTER_Y-20
StepsDisplaySourceX=SCREEN_CENTER_X+170
StepsDisplaySourceY=SCREEN_CENTER_Y+80

RowLabelsX=SCREEN_CENTER_X-250
RowLabelOnCommand=shadowlength,1;zoom,0.75
RowValue1X=SCREEN_CENTER_X
RowValue2X=SCREEN_CENTER_X+60
RowValue3X=SCREEN_CENTER_X+60
RowValue4X=SCREEN_CENTER_X-32
RowValue5X=SCREEN_CENTER_X+60
RowValue6X=SCREEN_CENTER_X-32
RowValue7X=SCREEN_CENTER_X+60
RowValueOnCommand=shadowlength,1;zoom,0.75;maxwidth,SCREEN_CENTER_X*0.65
#--#
Row1Y=SCREEN_CENTER_Y-160
Row2Y=SCREEN_CENTER_Y-110
Row3Y=SCREEN_CENTER_Y-60
Row4Y=SCREEN_CENTER_Y-20
Row5Y=SCREEN_CENTER_Y+20
Row6Y=SCREEN_CENTER_Y+60
Row7Y=SCREEN_CENTER_Y+100

[TextBannerEdit]
Fallback="TextBanner"
AfterSetCommand=%TextBannerEditAfterSet

[StepsDisplayEdit]
Fallback="StepsDisplay"
ShowTicks=true

TicksX=-22
TicksOnCommand=

DescriptionX=
DescriptionOnCommand=halign,1

ShowMeter=false
################################################################################
## the other things ##
[ScreenJukeboxMenu]
Class="ScreenOptionsMaster"
Fallback="ScreenPlayerOptions"
NextScreen="ScreenJukebox"
PrevScreen="ScreenTitleMenu"
TimerSeconds=-1
ShowStyleIcon=false

InputMode="together"
ForceAllPlayers=true

LineNames="1,2,3,4"
Line1="list,Styles"
Line2="list,Groups"
Line3="list,Difficulties"
Line4="lua,OptionsRandomJukebox()"

[ScreenJukebox]
Class="ScreenJukebox"
Fallback="ScreenGameplay"
NextScreen="ScreenJukebox"
StartScreen="ScreenTitleMenu"
LightsMode="LightsMode_Demonstration"
ShowCourseModifiersProbability=0
AllowAdvancedModifiers=true
################################################################################
## arcade mode screens, etc.
[ScreenNameEntry]
Class="ScreenNameEntry"
Fallback="ScreenWithMenuElementsBlank"
NextScreen="ScreenProfileSave"

TimerX=SCREEN_CENTER_X+0
TimerY=SCREEN_CENTER_Y-210
CategoryY=SCREEN_CENTER_Y+190
CategoryZoom=0.7
CharsZoomSmall=1.0
CharsZoomLarge=1.5
CharsSpacingY=40
ScrollingCharsCommand=diffuse,0.6,0.8,0.8,1
SelectedCharsCommand=diffuse,0.8,1,1,1
ReceptorArrowsY=SCREEN_CENTER_Y-140
NumCharsToDrawBehind=2
NumCharsToDrawTotal=10
FakeBeatsPerSec=2.5
ForceTimer=true
TimerSeconds=24
TimerStealth=false
ShowStyleIcon=false
MaxRankingNameLength=4
PlayerP1OnePlayerOneSideX=SCREEN_CENTER_X-160
PlayerP2OnePlayerOneSideX=SCREEN_CENTER_X+160
PlayerP1TwoPlayersTwoSidesX=SCREEN_CENTER_X-160
PlayerP2TwoPlayersTwoSidesX=SCREEN_CENTER_X+160
PlayerP1OnePlayerTwoSidesX=SCREEN_CENTER_X
PlayerP2OnePlayerTwoSidesX=SCREEN_CENTER_X

[ScreenGameOver]
NextScreen="ScreenTitleMenu"
TimerSeconds=5
################################################################################
[ScreenReloadSongs]
ShowCoinsAndCredits=false
################################################################################
[ScreenStage]
Fallback="ScreenStageInformation"
################################################################################
[ScreenR]
Class="ScreenSplash"
Fallback="ScreenWithMenuElements"
NextScreen="ScreenR"
PrevScreen="ScreenTitleMenu"
AllowStartToSkip=false
PrepareScreen="ScreenTitleMenu"