[## Read This! ##]
Places are now in blocks so yeah. check it
[Global]
FallbackTheme=default
[##                                      ##]
[## Global Screens - Ordered by Alphabet ##]
[##                                      ##]
[ScreenSystemLayer]
Fallback="Screen"
Class="ScreenSystemLayer"
CreditsJoinOnly=false

CreditsP1X=SCREEN_LEFT+1
CreditsP1Y=SCREEN_BOTTOM-3
CreditsP2X=SCREEN_RIGHT-1
CreditsP2Y=SCREEN_BOTTOM-3

CreditsInitCommand=shadowlength,0;vertalign,bottom;diffusebottomedge,0.8,0.8,0.8,1;

CreditsP1InitCommand=horizalign,left
CreditsP2InitCommand=horizalign,right
[ScreenSelectMaster]
PerChoiceIconElement=false
PerChoiceScrollElement=false
[ScreenWithMenuElements]
HeaderX=SCREEN_CENTER_X
HeaderY=SCREEN_TOP
HeaderOnCommand=
HeaderOffCommand=

FooterX=SCREEN_CENTER_X
FooterY=SCREEN_BOTTOM+(154/2);
FooterOnCommand=vertalign,bottom;
FooterOffCommand=

HelpX=SCREEN_CENTER_X
HelpY=SCREEN_BOTTOM-24
HelpOnCommand=shadowlength,0;zoom,0.75
HelpOffCommand=

// For Elements that use this
FooterHeight=154
[##                                   ##]
[## Single Screens - Ordered by paths ##]
[##                                   ##]
[ScreenTitleMenuBase]
# This is for ScreenTitleMenu, it keeps things from falling back wrong :)
# Note that we don't use the "name" parameter to Choices here.  Name1 is
# the displayed text, which might be translated or otherwise changed.  The "name,foo"
# parameter to ModeChoices is an asset name, which is used in filenames.
Class="ScreenTitleMenu"
Fallback="ScreenSelectMasterBlank"
PrevScreen="ScreenCompany"
LightsMode="LightsMode_Joining"
ScreenOnCommand=lockinput,0
CoinModeChangeScreen=ScreenTitleBranch()
SharedSelection=true
AllowDisabledPlayerInput=true
OverrideSleepAfterTweenOffSeconds=true
SleepAfterTweenOffSeconds=0
ChoiceNames="1,2,3,4,5,6,7,8"
//,8
DefaultChoice="1"
NumChoicesOnPage1=100
WrapCursor=true
AllowRepeatingInput=true
Choice1="ApplyDefaultOptions;screen,ScreenProfileLoad;text,Game Start"
Choice2="screen,ScreenNetworkOptions;text,Play Online"
Choice3="screen,ScreenSelectGame;text,Select Game"
Choice4="screen,ScreenOptionsService;text,Options"
Choice5="screen,ScreenEditMenu;text,Edit/Sync Songs"
Choice6="screen,ScreenOptionsManageCourses;text,Edit Courses"
Choice7="screen,ScreenJukeboxMenu;text,Jukebox"
Choice8="screen,ScreenExit;text,Exit"
Choice9="screen,ScreenTest;text,Sandbox"
ShowIcon=false
ShowScroller=true
PerChoiceScrollElement=false
ScrollerTransform=function(self,offset,itemIndex,numItems) self:y(22*offset) end
ScrollerSecondsPerItem=0
ScrollerNumItemsToDraw=20
ScrollerX=SCREEN_CENTER_X
ScrollerY=SCREEN_CENTER_Y+40
ScrollerOnCommand=
ScrollerOffCommand=
TimerSeconds=-1
StyleIcon=false
HelpX=SCREEN_CENTER_X
HelpY=SCREEN_BOTTOM-20
HelpOnCommand=zoom,0.5
HelpOffCommand=
IdleCommentSeconds=12
IdleTimeoutSeconds=30
IdleTimeoutScreen=THEME:GetMetric("Common","FirstAttractScreen")
PrevScreen="ScreenCompany"
[Dumped]-[ScreenTitleMenu]
Fallback="ScreenTitleMenuBase"
#~ # True to Otaku standard, this should be centered in the footer!
#~ ScrollerX=SCREEN_CENTER_X
#~ ScrollerY=SCREEN_BOTTOM-(THEME:GetMetric("ScreenWithMenuElements","FooterHeight") / 2 )
#~ ScrollerOnCommand=pulse;effectmagnitude,1.25,1,1;effectclock,'beat';effectoffset,0.2;effecttiming,0.6,0.2,0.2,0;
#~ # This should be pointing to a submenu, so lets fix this
#~ ChoiceNames="Main"
#~ ChoiceMain="ApplyDefaultOptions;screen,ScreenTitleSubmenu;text,Main"
#~ ChoiceSecret="ApplyDefaultOptions;screen,ScreenAppearanceOptions;text,Secret"
#~ # Hack for Secret
#~ ScrollerTransform=function(self,offset,itemIndex,numItems) end
[ScreenTitleMenu]
Fallback="ScreenTitleMenuBase"
# Put it in the left 
ScrollerX=SCREEN_CENTER_X
ScrollerY=SCREEN_CENTER_Y+60
ScrollerOnCommand=
ScrollerOffCommand=
# Feature: I don't like using horizalign,* in my scrollers goddamnit
ScrollerHorizAlign=center
[Backup][ScreenSelectStyle]
# New Feature: Add Game Specific Modes to prevent bad things
ChoiceNames=GetGameSpecificStyles()
# Reference from script:
#        dance = "DanceSingle,DanceVersus,DanceCouple,DanceDouble,DanceSolo",
#        pump = "PumpSingle,PumpHalf,PumpDouble,PumpVersus",
#       beat = "BeatSingle5,BeatSingle7,BeatDouble10,BeatDouble14"
# dance :
ChoiceDanceSingle="Style,single;name,single;screen,ScreenSelectDifficulty"
ChoiceDanceVersus="Style,versus;name,versus;screen,ScreenSelectDifficulty"
ChoiceDanceCouple="Style,couple;name,couple;screen,ScreenSelectDifficulty"
ChoiceDanceDouble="Style,double;name,double;screen,ScreenSelectDifficulty"
ChoiceDanceSolo="Style,solo;name,solo;screen,ScreenSelectDifficulty"
# pump :
ChoicePumpSingle="Style,single;name,single;screen,ScreenSelectDifficulty"
ChoicePumpHalf="Style,halfdouble;name,couple;screen,ScreenSelectDifficulty"
ChoicePumpDouble="Style,double;name,double;screen,ScreenSelectDifficulty"
ChoicePumpVersus="Style,versus;name,versus;screen,ScreenSelectDifficulty"
# beat :
ChoiceBeatSingle5="Style,single5;name,single;screen,ScreenSelectDifficulty"
ChoiceBeatSingle7="Style,single7;name,single;screen,ScreenSelectDifficulty"
ChoiceBeatDouble10="Style,double5;name,single;screen,ScreenSelectDifficulty"
ChoiceBeatDouble14="Style,double7;name,single;screen,ScreenSelectDifficulty"
[ScreenSelectStyle]
Class="ScreenSelectMaster"
Fallback="ScreenSelectMaster"

# New Feature: Add Game Specific Modes to prevent bad things
# Which doesnt like me
#~ ChoiceNames=GetGameSpecificStyles()
ChoiceNames="DanceSingle,DanceVersus,DanceCouple,DanceDouble,DanceSolo"
# Reference from script:
#        dance = "DanceSingle,DanceVersus,DanceCouple,DanceDouble,DanceSolo",
#        pump = "PumpSingle,PumpHalf,PumpDouble,PumpVersus",
#       beat = "BeatSingle5,BeatSingle7,BeatDouble10,BeatDouble14"
# dance :
ChoiceDanceSingle="Style,single;name,DanceSingle;screen,ScreenSelectDifficulty"
ChoiceDanceVersus="Style,versus;name,DanceVersus;screen,ScreenSelectDifficulty"
ChoiceDanceCouple="Style,couple;name,DanceCouple;screen,ScreenSelectDifficulty"
ChoiceDanceDouble="Style,double;name,DanceDouble;screen,ScreenSelectDifficulty"
ChoiceDanceSolo="Style,solo;name,DanceSolo;screen,ScreenSelectDifficulty"
# pump :
ChoicePumpSingle="Style,single;name,PumpSingle;screen,ScreenSelectDifficulty"
ChoicePumpHalf="Style,halfdouble;name,PumpHalf;screen,ScreenSelectDifficulty"
ChoicePumpDouble="Style,double;name,PumpDouble;screen,ScreenSelectDifficulty"
ChoicePumpVersus="Style,versus;name,PumpVersus;screen,ScreenSelectDifficulty"
# beat :
ChoiceBeatSingle5="Style,single5;name,BeatSingle5;screen,ScreenSelectDifficulty"
ChoiceBeatSingle7="Style,single7;name,BeatSingle;screen,ScreenSelectDifficulty"
ChoiceBeatDouble10="Style,double5;name,BeatDouble10;screen,ScreenSelectDifficulty"
ChoiceBeatDouble14="Style,double7;name,BeatDouble14;screen,ScreenSelectDifficulty"
# Default
DefaultChoice="1"
# The Maximum is 5 choices
NumChoicesOnPage1=6
# Yes Icon, Yes Scroller, No Cursor, Yes Shared. Cursors are broken in SM4
# and I'd rather make them in the LUA itself
ShowIcon=true
ShowScroller=true
ShowCursor=false
SharedSelection=true
# Make Sure of this anyways..
ScrollerX=SCREEN_LEFT
ScrollerY=SCREEN_TOP
# Huge Port of ScreenSelectStyle 
IconOnCommand=addx,-SCREEN_WIDTH;sleep,0.00;decelerate,0.3;addx,SCREEN_WIDTH;
IconOffCommand=bouncebegin,0.5;zoomy,0
IconGainFocusCommand=
IconLoseFocusCommand=
IconSwitchToPage1Command=visible,true
IconSwitchToPage2Command=visible,false
IconOffFocusedCommand=
IconOffUnfocusedCommand=
IconCommonY=SCREEN_BOTTOM-101
# Cluster for Dance :(!
IconChoiceDanceSingleX=SCREEN_CENTER_X-(120*2)
IconChoiceDanceSingleY=SCREEN_BOTTOM-101
IconChoiceDanceSingleOnCommand=addx,-SCREEN_WIDTH;sleep,0.00;decelerate,0.3;addx,SCREEN_WIDTH;
IconChoiceDanceSingleGainFocusCommand=
IconChoiceDanceSingleLoseFocusCommand=
IconChoiceDanceSingleOffFocusedCommand=
IconChoiceDanceSingleOffUnfocusedCommand=
IconChoiceDanceSingleOffCommand=bouncebegin,0.5;zoomy,0

IconChoiceDanceVersusX=SCREEN_CENTER_X-(120*1)
IconChoiceDanceVersusY=SCREEN_BOTTOM-101
IconChoiceDanceVersusOnCommand=addx,-SCREEN_WIDTH;sleep,0.00;decelerate,0.3;addx,SCREEN_WIDTH;
IconChoiceDanceVersusGainFocusCommand=
IconChoiceDanceVersusLoseFocusCommand=
IconChoiceDanceVersusOffFocusedCommand=
IconChoiceDanceVersusOffUnfocusedCommand=
IconChoiceDanceVersusOffCommand=bouncebegin,0.5;zoomy,0

IconChoiceDanceCoupleX=SCREEN_CENTER_X
IconChoiceDanceCoupleY=SCREEN_BOTTOM-101
IconChoiceDanceCoupleOnCommand=addx,-SCREEN_WIDTH;sleep,0.00;decelerate,0.3;addx,SCREEN_WIDTH;
IconChoiceDanceCoupleGainFocusCommand=
IconChoiceDanceCoupleLoseFocusCommand=
IconChoiceDanceCoupleOffFocusedCommand=
IconChoiceDanceCoupleOffUnfocusedCommand=
IconChoiceDanceCoupleOffCommand=bouncebegin,0.5;zoomy,0

IconChoiceDanceDoubleX=SCREEN_CENTER_X+(120*1)
IconChoiceDanceDoubleY=SCREEN_BOTTOM-101
IconChoiceDanceDoubleOnCommand=addx,-SCREEN_WIDTH;sleep,0.00;decelerate,0.3;addx,SCREEN_WIDTH;
IconChoiceDanceDoubleGainFocusCommand=
IconChoiceDanceDoubleLoseFocusCommand=
IconChoiceDanceDoubleOffFocusedCommand=
IconChoiceDanceDoubleOffUnfocusedCommand=
IconChoiceDanceDoubleOffCommand=bouncebegin,0.5;zoomy,0

IconChoiceDanceSoloX=SCREEN_CENTER_X+(120*2)
IconChoiceDanceSoloY=SCREEN_BOTTOM-101
IconChoiceDanceSoloOnCommand=addx,-SCREEN_WIDTH;sleep,0.00;decelerate,0.3;addx,SCREEN_WIDTH;
IconChoiceDanceSoloGainFocusCommand=
IconChoiceDanceSoloLoseFocusCommand=
IconChoiceDanceSoloOffFocusedCommand=
IconChoiceDanceSoloOffUnfocusedCommand=
IconChoiceDanceSoloOffCommand=bouncebegin,0.5;zoomy,0

# Cluster for Pump :(!
IconChoicePumpSingleX=SCREEN_CENTER_X-270
IconChoicePumpSingleY=SCREEN_BOTTOM-101
IconChoicePumpSingleOnCommand=addx,-SCREEN_WIDTH;sleep,0.00;decelerate,0.3;addx,SCREEN_WIDTH;
IconChoicePumpSingleGainFocusCommand=
IconChoicePumpSingleLoseFocusCommand=
IconChoicePumpSingleOffFocusedCommand=
IconChoicePumpSingleOffUnfocusedCommand=
IconChoicePumpSingleOffCommand=bouncebegin,0.5;zoomy,0

IconChoicePumpHalfX=SCREEN_CENTER_X-190
IconChoicePumpHalfY=SCREEN_BOTTOM-101
IconChoicePumpHalfOnCommand=addx,-SCREEN_WIDTH;sleep,0.00;decelerate,0.3;addx,SCREEN_WIDTH;
IconChoicePumpHalfGainFocusCommand=
IconChoicePumpHalfLoseFocusCommand=
IconChoicePumpHalfOffFocusedCommand=
IconChoicePumpHalfOffUnfocusedCommand=
IconChoicePumpHalfOffCommand=bouncebegin,0.5;zoomy,0

IconChoicePumpDoubleX=SCREEN_CENTER_X-110
IconChoicePumpDoubleY=SCREEN_BOTTOM-101
IconChoicePumpDoubleOnCommand=addx,-SCREEN_WIDTH;sleep,0.00;decelerate,0.3;addx,SCREEN_WIDTH;
IconChoicePumpDoubleGainFocusCommand=
IconChoicePumpDoubleLoseFocusCommand=
IconChoicePumpDoubleOffFocusedCommand=
IconChoicePumpDoubleOffUnfocusedCommand=
IconChoicePumpDoubleOffCommand=bouncebegin,0.5;zoomy,0

IconChoicePumpVersusX=SCREEN_CENTER_X-30
IconChoicePumpVersusY=SCREEN_BOTTOM-101
IconChoicePumpVersusOnCommand=addx,-SCREEN_WIDTH;sleep,0.00;decelerate,0.3;addx,SCREEN_WIDTH;
IconChoicePumpVersusGainFocusCommand=
IconChoicePumpVersusLoseFocusCommand=
IconChoicePumpVersusOffFocusedCommand=
IconChoicePumpVersusOffUnfocusedCommand=
IconChoicePumpVersusOffCommand=bouncebegin,0.5;zoomy,0

IconChoicePumpCoupleX=SCREEN_CENTER_X+50
IconChoicePumpCoupleY=SCREEN_BOTTOM-101
IconChoicePumpCoupleOnCommand=addx,-SCREEN_WIDTH;sleep,0.00;decelerate,0.3;addx,SCREEN_WIDTH;
IconChoicePumpCoupleGainFocusCommand=
IconChoicePumpCoupleLoseFocusCommand=
IconChoicePumpCoupleOffFocusedCommand=
IconChoicePumpCoupleOffUnfocusedCommand=
IconChoicePumpCoupleOffCommand=bouncebegin,0.5;zoomy,0

# Cluster for Beat :(!
IconChoiceBeatSingle5X=SCREEN_CENTER_X-270
IconChoiceBeatSingle5Y=SCREEN_BOTTOM-101
IconChoiceBeatSingle5OnCommand=addx,-SCREEN_WIDTH;sleep,0.00;decelerate,0.3;addx,SCREEN_WIDTH;
IconChoiceBeatSingle5GainFocusCommand=
IconChoiceBeatSingle5LoseFocusCommand=
IconChoiceBeatSingle5OffFocusedCommand=
IconChoiceBeatSingle5OffUnfocusedCommand=
IconChoiceBeatSingle5OffCommand=bouncebegin,0.5;zoomy,0

IconChoiceBeatSingle7X=SCREEN_CENTER_X-190
IconChoiceBeatSingle7Y=SCREEN_BOTTOM-101
IconChoiceBeatSingle7OnCommand=addx,-SCREEN_WIDTH;sleep,0.00;decelerate,0.3;addx,SCREEN_WIDTH;
IconChoiceBeatSingle7GainFocusCommand=
IconChoiceBeatSingle7LoseFocusCommand=
IconChoiceBeatSingle7OffFocusedCommand=
IconChoiceBeatSingle7OffUnfocusedCommand=
IconChoiceBeatSingle7OffCommand=bouncebegin,0.5;zoomy,0

IconChoiceBeatDouble5X=SCREEN_CENTER_X-110
IconChoiceBeatDouble5Y=SCREEN_BOTTOM-101
IconChoiceBeatDouble5OnCommand=addx,-SCREEN_WIDTH;sleep,0.00;decelerate,0.3;addx,SCREEN_WIDTH;
IconChoiceBeatDouble5GainFocusCommand=
IconChoiceBeatDouble5LoseFocusCommand=
IconChoiceBeatDouble5OffFocusedCommand=
IconChoiceBeatDouble5OffUnfocusedCommand=
IconChoiceBeatDouble5OffCommand=bouncebegin,0.5;zoomy,0

IconChoiceBeatDouble7X=SCREEN_CENTER_X-30
IconChoiceBeatDouble7Y=SCREEN_BOTTOM-101
IconChoiceBeatDouble7OnCommand=addx,-SCREEN_WIDTH;sleep,0.00;decelerate,0.3;addx,SCREEN_WIDTH;
IconChoiceBeatDouble7GainFocusCommand=
IconChoiceBeatDouble7LoseFocusCommand=
IconChoiceBeatDouble7OffFocusedCommand=
IconChoiceBeatDouble7OffUnfocusedCommand=
IconChoiceBeatDouble7OffCommand=bouncebegin,0.5;zoomy,0
[## Singletons ##]
[## Singletons ##]
[## Singletons ##]
[MenuTimer]
WarningStart=6
WarningBeepStart=6
MaxStallSeconds=0
Text1OnCommand=stoptweening;ShadowLength,0;x,2;horizalign,right;
Text1FormatFunction=function(fSeconds) fSeconds=math.floor(fSeconds); return string.format("%02.0f",fSeconds) end -- I'm dumb. I don't even have the alphabet
Text2OnCommand=stoptweening;ShadowLength,0;zoom,0.7;x,3;y,4;horizalign,left;
Text2FormatFunction=function(fSeconds) local remainder=fSeconds-math.floor(fSeconds); local digit=math.floor(remainder*100); return "." .. string.format("%02.0f",digit); end
WarningCommand6=%function(self,parent) parent:stoptweening(); parent:zoom(1.4); parent:bounceend(0.2); parent:zoom(1); self:diffuseshift(); self:effectperiod(0.1666); self:effectcolor1(1,0,0,1); self:effectcolor2(1,0,0,0); end
WarningCommand5=%function(self,parent) parent:stoptweening(); parent:zoom(1.4); parent:bounceend(0.2); parent:zoom(1); end
WarningCommand4=%function(self,parent) parent:stoptweening(); parent:zoom(1.4); parent:bounceend(0.2); parent:zoom(1); end
WarningCommand3=%function(self,parent) parent:stoptweening(); parent:zoom(1.4); parent:bounceend(0.2); parent:zoom(1); end
WarningCommand2=%function(self,parent) parent:stoptweening(); parent:zoom(1.4); parent:bounceend(0.2); parent:zoom(1); end
WarningCommand1=%function(self,parent) parent:stoptweening(); parent:zoom(1.4); parent:bounceend(0.2); parent:zoom(1); end
WarningCommand0=%function(self,parent) parent:stoptweening(); parent:zoom(1.0); parent:stopeffect(); end