diff --git a/Docs/Changelog_sm-ssc.txt b/Docs/Changelog_sm-ssc.txt index 8916f99138..9b7c9fd1a0 100644 --- a/Docs/Changelog_sm-ssc.txt +++ b/Docs/Changelog_sm-ssc.txt @@ -15,6 +15,12 @@ sm-ssc $NEXTVERSION | 2011???? It depends on who you ask. It could be v1.2.5, it could be v1.3.0, it could even be StepMania 5. +20110402 +-------- +* Fix a crash (issue 247) when exiting Practice mode from dance-solo, + dance-threepanel, and popn-nine (all of which can only have one player). + If you find any other modes this crashes on, let us know. [AJ] + 20110329 -------- * [ScreenEdit] Changed sample playback button to L. [AJ] diff --git a/Themes/_fallback/metrics.ini b/Themes/_fallback/metrics.ini index 72a53b7a53..524bda0550 100644 --- a/Themes/_fallback/metrics.ini +++ b/Themes/_fallback/metrics.ini @@ -64,6 +64,7 @@ OverlayScreens="ScreenSystemLayer,ScreenSyncOverlay,ScreenStatsOverlay,ScreenDeb PercentScoreDecimalPlaces=2 # 02 # + [LightsManager] # Mostly useless since it doesn't work, as well as that barely anyone has # lights to play around with. @@ -128,6 +129,7 @@ AutoLockChallengeSteps=false UnlockNames="" # 03 # + [ArrowEffects] # Complicated stuff you probably shouldn't ever mess with or else you'll # destroy mods completely! @@ -233,6 +235,11 @@ FormatString="%03.0f" [CodeDetector] # Codes on the MusicWheel that change stuff! +# For Future Reference: +# @ = Holding +# - = In Conjuction With / Then +# ~ = Released +# + = At The Same Time PrevSteps1="Up,Up" PrevSteps2="MenuUp,MenuUp" NextSteps1="Down,Down" @@ -279,6 +286,7 @@ SaveScreenshot1="MenuLeft-MenuRight" SaveScreenshot2="" CancelAllPlayerOptions="Left,Right,Left,Right,Left,Right" BackInEventMode="" + [CodeDetectorOnline] Fallback="CodeDetector" PrevSteps1="MenuUp,MenuUp" @@ -337,6 +345,7 @@ TipShowTime=4 TipSwitchTime=1 # The Command when its made TipOnCommand=shadowlength,0;diffuseblink + [Judgment] # New # JudgmentOnCommand= @@ -438,6 +447,7 @@ PumpRoutineString="Routine" # Difficulty_Edit-StepsType_Pump_Halfdouble=Edit # Difficulty_Edit-StepsType_Pump_Double=Edit # Course=Progressive + [CustomScoring] # Custom scoring, usually good for custom games. @@ -464,6 +474,7 @@ PointsCheckpointMiss=-5 PointsNone=0 PointsHoldHeld=+5 PointsHoldLetGo=-5 + [DifficultyList] # A list that shows difficulties in a song. CapitalizeDifficultyNames=false @@ -585,6 +596,7 @@ StreamX=0 StreamY=0 OverX=0 OverY=0 + [LifeMeterBattery] # The bar that shows up in Oni mode. @@ -627,7 +639,6 @@ DancePointsP2Y=0 DancePointsP2OnCommand=zoom,0.7;shadowlength,0;diffuse,PlayerColor(PLAYER_2) DancePointsP2OffCommand= - [LifeMeterTime] # The Lifemeter that shows up when you're playing survival. @@ -838,16 +849,19 @@ PortalColor=color("1,0,0,1") SortOrders={ "SortOrder_Preferred", "SortOrder_Group", "SortOrder_Title", "SortOrder_BPM", "SortOrder_Artist", "SortOrder_Genre" } # SortOrders={ "SortOrder_Preferred", "SortOrder_Group", "SortOrder_Title", "SortOrder_BPM", "SortOrder_Popularity", "SortOrder_Artist", "SortOrder_Genre" } -# + ShowRoulette=true ShowRandom=false ShowPortal=false -# + +SortBPMDivision=20 +SortLengthDivision=5 + MostPlayedSongsToShow=30 RecentSongsToShow=30 -# + UseEasyMarkerFlag=false -# + ModeMenuChoiceNames="Preferred,Group,Title,Bpm,Popularity,TopGrades,Artist,EasyMeter,MediumMeter,HardMeter,ChallengeMeter,DoubleEasyMeter,DoubleMediumMeter,DoubleHardMeter,DoubleChallengeMeter,Genre,Length,Recent" # ModeMenuChoiceNames="Preferred,Group,Title,Bpm,Popularity,TopGrades,Artist,EasyMeter,MediumMeter,HardMeter,ChallengeMeter,DoubleEasyMeter,DoubleMediumMeter,DoubleHardMeter,DoubleChallengeMeter,Genre,Length,Recent,NormalMode,BattleMode" ChoicePreferred="sort,Preferred" @@ -870,7 +884,7 @@ ChoiceLength="sort,Length" ChoiceRecent="sort,Recent" ChoiceNormalMode="playmode,regular" ChoiceBattleMode="playmode,battle" -# + CustomWheelItemNames="" [CourseWheel] @@ -1098,7 +1112,6 @@ TextOffCommand= [ScoreDisplayOni] - [ScoreDisplayLifeTime] FrameX= FrameY= @@ -1248,6 +1261,7 @@ SoundProperty="Pitch" PropertyMin=7/8 PropertyCenter=1.0 PropertyMax=9/8 + [StepsDisplayListRow] FrameX=0 FrameY=0 @@ -1324,6 +1338,7 @@ ShowTraining=false BlinkPlayersBest=true # 04 # + [Screen] ScreenInitCommand= ScreenOnCommand= @@ -1374,6 +1389,7 @@ HeaderTextOffCommand= LineOnCommand=zoom,0.75 # + [ScreenSystemLayer] Class="ScreenSystemLayer" Fallback="Screen" @@ -1424,6 +1440,7 @@ Fallback="Screen" StatusOnCommand=x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y+150;shadowlength,2;strokecolor,color("#000000"); AdjustmentsOnCommand=x,SCREEN_CENTER_X+160;y,SCREEN_CENTER_Y; # + [ScreenStatsOverlay] Class="ScreenStatsOverlay" Fallback="Screen" @@ -1437,6 +1454,7 @@ SkipOnCommand=zoom,0.5 SkipWidth=190 SkipSpacingY=14 # + [ScreenWithMenuElements] Class="ScreenWithMenuElements" Fallback="Screen" @@ -1831,6 +1849,7 @@ PerChoiceIconElement=false ShowScroller=true WrapScroller=true ShowIcon=false + [ScreenGameInformation] Class="ScreenSelectMaster" Fallback="ScreenSelectMaster" @@ -1955,6 +1974,7 @@ ScreenModsCommand=setupcoursestagemods # MusicWheelType="CourseWheel" Codes="CourseCodeDetector" + [CourseCodeDetector] Fallback="CodeDetector" NextSort1= @@ -1962,7 +1982,6 @@ NextSort2= NextSort3= NextSort4= - [StepsDisplay] FrameX=0 FrameY=0 @@ -2516,6 +2535,7 @@ ExplanationTogetherOffCommand= [ScreenOptionsServiceExtendedChild] Fallback="ScreenOptionsServiceChild" + [ScreenMiniMenu] Class="ScreenMiniMenu" Fallback="ScreenOptions" @@ -2835,12 +2855,14 @@ Line16="list,Steps" Line17="list,Characters" # + [ScreenPlayerOptionsRestricted] Fallback="ScreenPlayerOptions" NextScreen="ScreenStageInformation" LineNames="1,8,16,17" # funny + [ScreenSongOptions] Fallback="ScreenOptions" Class="ScreenSongOptions" @@ -2875,6 +2897,7 @@ AllowStartToSkip=false PrepareScreen= # 05 # A + [ScreenExit] # Midiman: # Fun fact, if you don't enable this screen, Force Crashing will hang @@ -3287,6 +3310,7 @@ DisqualifiedP2OffCommand= # DetailLineFormat="%3d/%3d" # + [ScreenEvaluationNormal] Fallback="ScreenEvaluation" # @@ -3339,11 +3363,13 @@ NextScreen=Branch.AfterProfileSave() PrevScreen=Branch.TitleMenu() # TimerSeconds=-1 + [ScreenProfileSaveSummary] Fallback="ScreenProfileSave" # NextScreen="ScreenGameOver" PrevScreen="ScreenGameOver" + [ScreenGameOver] Class="ScreenEnding" Fallback="ScreenAttract" @@ -3406,6 +3432,7 @@ Answer3Of3OffCommand= # # stuff for edit mode: # + [ScreenOptionsEdit] Class="ScreenOptionsMaster" Fallback="ScreenOptionsSimpleService" @@ -3534,6 +3561,7 @@ TimerSeconds=-1 HelpText=Screen.String("HelpTextOptionsAndBack") # could use a redo but whatever + [ScreenEdit] Class="ScreenEdit" Fallback="ScreenWithMenuElementsBlank" @@ -3639,6 +3667,7 @@ OutCancelCommand= Fallback="StepsDisplay" # oh, right, minimenus. + [ScreenMiniMenuEditHelp] Fallback="ScreenMiniMenu" ShowFooter=false @@ -3700,6 +3729,7 @@ Fallback="ScreenMiniMenu" Fallback="ScreenMiniMenu" # Export Packages + [ScreenOptionsExportPackage] Class="ScreenOptionsExportPackage" Fallback="ScreenOptionsSimpleService" @@ -3717,6 +3747,7 @@ Fallback="OptionRowService" TitleX=SCREEN_CENTER_X-150 # Manage Courses + [OptionRowCourseOverview] Fallback="OptionRowService" ItemsLongRowSharedX=SCREEN_CENTER_X-100 @@ -3765,6 +3796,7 @@ EditScreen="ScreenOptionsEditCourse" OptionRowNormalMetricsGroup="OptionRowCourseOverview" # visual/interactive syncing + [ScreenGameplaySyncMachine] Class="ScreenGameplaySyncMachine" Fallback="ScreenGameplay" @@ -3794,6 +3826,7 @@ Fallback="Player" ComboOnCommand=visible,false # sm-ssc helper screens + [ScreenHowToInstallSongs] Class="ScreenSplash" Fallback="ScreenSplash" @@ -3804,6 +3837,7 @@ TimerSeconds=-1 ShowHelp=false # stuff for online mode: + [ScreenSMOnlineLogin] Class="ScreenSMOnlineLogin" Fallback="ScreenOptionsServiceChild" @@ -4048,6 +4082,7 @@ UserOnCommand= UserOffCommand= # Arcade + [ScreenLogo] Fallback="ScreenAttract" # @@ -4111,6 +4146,7 @@ ChoiceNames="1" IdleCommentSeconds=-1 IdleTimeoutSeconds=-1 IdleTimeoutScreen=Branch.AfterInit() + [ScreenDemonstration] Fallback="ScreenGameplay" Class="ScreenDemonstration" diff --git a/Themes/default/Languages/en.ini b/Themes/default/Languages/en.ini index 125ed3b51f..1afd38fa53 100644 --- a/Themes/default/Languages/en.ini +++ b/Themes/default/Languages/en.ini @@ -1,7 +1,9 @@ [Screen] HelpText=&BACK; Exit &START; Select &SELECT; Options &MENULEFT;&MENURIGHT;&MENUUP;&MENUDOWN; Move + [ScreenWithMenuElements] HelpText=&BACK; Exit &START; Select &MENULEFT;&MENURIGHT; Move + [ScreenTitleMenu] HelpText=&BACK; Exit &START; Select &MENUUP;&MENUDOWN; Move Network OK=Network OK @@ -10,6 +12,7 @@ Connected to %s=Connected to %s CurrentGametype=Current Gametype: %s LifeDifficulty=Life Difficulty: %s TimingDifficulty=Timing Difficulty: %s + [ScreenTitleJoin] HelpText=Press &START; to Play HelpTextJoin=Press &START; to Play @@ -19,16 +22,22 @@ JointPremiumMain=Joint Premium JointPremiumSecondary=Two players can play with one credit! DoublesPremiumMain=Doubles Premium DoublesPremiumSecondary=Play doubles for one credit! + [ScreenDemonstration] Demonstration=Demonstration + [ScreenQuickSetupOverview] Explanation=Quick Setup provides a easy way to set commonly-changed and useful preferences. + [ScreenProfileLoad] HelpText=... Loading profiles, please wait ... + [ScreenSelectProfile] HelpText=&MENUUP;&MENUDOWN; Switch Profile &START; Choose/Join &BACK; Unselect + [ScreenSelectMaster] HelpText=&BACK; Exit &START; Select / Join &MENULEFT;&MENURIGHT; Move + [ScreenSelectPlayMode] HelpText=&BACK; Exit &START; Select / Join &MENULEFT;&MENURIGHT; Move EasyExplanation=A mode for beginners. @@ -39,31 +48,40 @@ RaveExplanation=Battle against friend or foe. ExtendedExplanation=Several Songs in a row OniExplanation=A true test of skill. EndlessExplanation=It don't stop, it keep rollin'. + [ScreenSelectPlayStyle] HelpText=&BACK; Exit &START; Select &MENULEFT;&MENURIGHT; Move + [ScreenGameInformation] HelpText=&BACK; Exit &START; Skip + [ScreenSelectMusic] HelpText=&BACK; Exit &START; Select / Join &SELECT; Magic Codes &MENULEFT;&MENURIGHT; Move::&AUXWHITE;+[KEY] Sort To [KEY] AlternateHelpText=&SELECT;+&MENULEFT;&MENURIGHT; Change Difficulties &SELECT;+&START; Quick Sort + [ScreenSelectCourse] HelpText=&BACK; Exit &START; Select / Join &SELECT; Magic Codes &MENULEFT;&MENURIGHT; Move::&UP;&DOWN;&UP;&DOWN; for other course types + [ScreenOptions] HelpText=&BACK; Exit &START; Choose &SELECT; Go Up &MENULEFT;&MENURIGHT;&MENUUP;&MENUDOWN; Move + [ScreenStageInformation] HelpText= + [ScreenGameplay] HelpText= + [ScreenEvaluation] HelpText=&BACK; Exit &START; Move On &MENULEFT;+&MENURIGHT; or &SELECT; Snapshot LifeDifficulty=Life Difficulty: %s TimingDifficulty=Timing Difficulty: %s + [OptionTitles] -GamePrefAutoSetStyle=Auto Set Style +UserPrefAutoSetStyle=Auto Set Style UserPrefSpecialScoringMode=Special Scoring Mode -GamePrefNotePosition=Note Positions -GamePrefComboOnRolls=Rolls Increment Combo -GamePrefComboUnderField=Combo Under Field +UserPrefNotePosition=Note Positions +UserPrefComboOnRolls=Rolls Increment Combo +UserPrefComboUnderField=Combo Under Field UserPrefGameplayShowScore=Show Score UserPrefGameplayShowStepsDisplay=Show Steps @@ -71,11 +89,12 @@ UserPrefShowLotsaOptions=Options Density UserPrefLongFail=Fail Length UserPrefFlashyCombo=Flashy Combo UserPrefGameplayFooter=Gameplay Footer + [OptionExplanations] -GamePrefAutoSetStyle=Allow the game to list all one player and two player modes at once instead of one style only. This might require a restart of StepMania\n( or alternatively hit F2! ) -GamePrefNotePosition=Determines where the arrow receptors are placed in gameplay. -GamePrefComboOnRolls=Choose if rolls should increment the combo or not. -GamePrefComboUnderField=Determine if the combo should display under the notes or not. +UserPrefAutoSetStyle=Allow the game to list all one player and two player modes at once instead of one style only. This might require a restart of StepMania\n( or alternatively hit F2! ) +UserPrefNotePosition=Determines where the arrow receptors are placed in gameplay. +UserPrefComboOnRolls=Choose if rolls should increment the combo or not. +UserPrefComboUnderField=Determine if the combo should display under the notes or not. UserPrefGameplayShowScore=Show or Hide the score display in gameplay. UserPrefSpecialScoringMode=Select the scoring mode to be used if the Special scoring type is selected. @@ -107,6 +126,7 @@ Steps=Adjust the difficulty of the steps. Characters=Dancing buddies. SaveToProfileHelp=Requires profile or memory card. MusicRateHelp=Play the music at a faster rate. + [StepsListDisplayRow StepsType] Dance_Single=4 Dance_Double=8 @@ -160,4 +180,4 @@ Explanation-Exit=Return to the title menu. Custom=Special [ScreenTestInput] -HelpText=Hold &BACK; or &START; to exit. \ No newline at end of file +HelpText=Hold &BACK; or &START; to exit. diff --git a/Themes/default/metrics.ini b/Themes/default/metrics.ini index 9c36c29337..ddba187e95 100644 --- a/Themes/default/metrics.ini +++ b/Themes/default/metrics.ini @@ -1,11 +1,38 @@ +# 01 # [Global] FallbackTheme=_fallback [Common] FirstAttractScreen="" -InitialScreen="ScreenInit" -# AutoSetStyle=GetUserPrefB("UserPrefAutoSetStyle") +# 02 # +[LightsManager] + +[ProfileManager] + +[SongManager] +SongGroupColor1=BoostColor(Color("Orange"),1.2) +SongGroupColor2=BoostColor(Color("Orange"),1.25) +SongGroupColor3=BoostColor(Color("Orange"),1.25) +SongGroupColor4=BoostColor(Color("Orange"),1.25) +SongGroupColor5=BoostColor(Color("Orange"),1.25) +SongGroupColor6=BoostColor(Color("Orange"),1.25) +SongGroupColor7=BoostColor(Color("Orange"),1.25) +SongGroupColor8=BoostColor(Color("Orange"),1.25) +SongGroupColor9=BoostColor(Color("Orange"),1.25) +SongGroupColor10=BoostColor(Color("Orange"),1.25) + +CourseGroupColor1=color("1,1,1,1") + +[UnlockManager] + +# 03 # +[ArrowEffects] + +[Background] + +[Banner] + [BitmapText] NumRainbowColors=1 RainbowColor1=Color("Black"); @@ -16,16 +43,7 @@ SetNormalCommand=stoptweening;maxwidth,128;linear,0.2;diffuse,Color("White");dif SetChangeCommand=stoptweening;maxwidth,128;linear,0.2;diffuse,Color("Orange");diffusetopedge,BoostColor(Color("Orange"),1.5); SetRandomCommand=stoptweening;maxwidth,128;linear,0.2;diffuse,Color("Blue");diffusetopedge,BoostColor(Color("Blue"),1.5); SetExtraCommand=stoptweening;maxwidth,128;linear,0.2;diffuse,Color("Red");diffusebottomedge,BoostColor(Color("Red"),0.5); -Cycle=true -NoBpmText="000" RandomCycleSpeed=0.2 -- smaller numbers mean the bpm cycles faster -Separator="-" -ShowQMarksInRandomCycle=true - -[CombinedLifeMeterTug] -# We dont use it. -MeterWidth=512-8 -MeterHeight=40 [CodeDetector] # For Future Reference: @@ -33,19 +51,17 @@ MeterHeight=40 # - = In Conjuction With / Then # ~ = Released # + = At The Same Time -[DifficultyList] -CapitalizeDifficultyNames=false -NumShownItems=8 -ItemsSpacingY=24 -[HelpDisplay] -TipShowTime=7 + +[CodeDetectorOnline] + +[CombinedLifeMeterTug] +# We don't use it. +MeterWidth=512-8 +MeterHeight=40 + [Combo] ShowComboAt=2 -NumberMinZoom=0.8 -NumberMaxZoom=1 -NumberMaxZoomAt=100 -LabelMinZoom=0.75*0.75 LabelMaxZoom=0.75*1 PulseCommand=%function(self,param) self:finishtweening(); self:diffusealpha(1); self:zoom(1.125*param.Zoom); self:linear(0.05); self:zoom(param.Zoom); self:sleep(2); self:linear(0.5); self:diffusealpha(0); end; @@ -53,37 +69,14 @@ PulseLabelCommand=%function(self,param) self:finishtweening(); self:diffusealpha NumberOnCommand=y,240-216-1.5;shadowlength,1;horizalign,right;vertalign,bottom;skewx,-0.125; LabelOnCommand=x,6;y,22.5;shadowlength,1;zoom,0.75;diffusebottomedge,color("0.75,0.75,0.75,1");horizalign,left;vertalign,bottom -[FadingBanner] -BannerOnCommand= -BannerFadeFromCachedCommand=diffusealpha,1;stoptweening;accelerate,0.05;glow,Colors.Alpha( Color("White"), 0.45 );decelerate,0.175;diffusealpha,0;glow,Color("Invisible"); -BannerFadeOffCommand=diffusealpha,1;stoptweening;linear,0.25;diffusealpha,0 -BannerResetFadeCommand=diffusealpha,1 - [HoldJudgment] -# !!! # -# HoldJudgmentLetGoCommand=HoldJudgmentLetGo() -# HoldJudgmentHeldCommand=HoldJudgmentHeld() HoldJudgmentLetGoCommand=finishtweening;shadowlength,0;diffusealpha,1;zoom,1;y,-10;linear,0.8;y,10;sleep,0.5;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0 HoldJudgmentHeldCommand=finishtweening;shadowlength,0;diffusealpha,1;zoom,1.25;linear,0.3;zoomx,1;zoomy,1;sleep,0.5;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0 -# HoldJudgmentLetGoCommand=GAMESTATE:GetCurrentGame():GetName() == "pump" and "visible,false" or "finishtweening;shadowlength,0;diffusealpha,1;zoom,1;y,-10;linear,0.8;y,10;sleep,0.5;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0"; -# HoldJudgmentHeldCommand=GAMESTATE:GetCurrentGame():GetName() == "pump" and "visible,false" or "finishtweening;shadowlength,0;diffusealpha,1;zoom,1.25;linear,0.3;zoomx,1;zoomy,1;sleep,0.5;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0"; -# HoldJudgmentLetGoCommand=function(self) \ - # if GAMESTATE:GetCurrentGame():GetName() == "pump" then \ - # return (cmd(visible,false))(self); \ - # else return (cmd(finishtweening;shadowlength,0;diffusealpha,1;zoom,1;y,-10;linear,0.8;y,10;sleep,0.5;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0))(self); \ - # end; \ -# end; -# HoldJudgmentHeldCommand=function(self) \ - # if GAMESTATE:GetCurrentGame():GetName() == "pump" then \ - # return (cmd(visible,false)); \ - # else return (cmd(finishtweening;shadowlength,0;diffusealpha,1;zoom,1.25;linear,0.3;zoomx,1;zoomy,1;sleep,0.5;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0))(self); \ - # end; \ -# end; + +[HelpDisplay] +TipShowTime=7 [Judgment] -# New # -JudgmentOnCommand= -# !!! # JudgmentW1Command=finishtweening;shadowlength,0;y,0;diffusealpha,1;zoom,1.3;linear,0.05;zoom,1;sleep,0.8;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0;glowblink;effectperiod,0.05;effectcolor1,1,1,1,0;effectcolor2,1,1,1,0.8 JudgmentW2Command=finishtweening;y,0;shadowlength,0;diffusealpha,1;zoom,1.3;linear,0.05;zoom,1;sleep,0.5;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0 JudgmentW3Command=finishtweening;y,0;shadowlength,0;diffusealpha,1;zoom,1.2;linear,0.05;zoom,1;sleep,0.5;linear,0.1;zoomy,0.5;zoomx,2;diffusealpha,0; @@ -94,6 +87,67 @@ JudgmentMissCommand=finishtweening;y,0;shadowlength,0;diffusealpha,1;zoom,1;y,-2 OffsetOnCommand= OffsetLateCommand= OffsetEarlyCommand= + +[Protiming] +ProtimingOnCommand=shadowlength,1;horizalign,right;x,30;strokecolor,Color("Outline");skewx,-0.125;textglowmode,"TextGlowMode_Inner"; +AverageOnCommand=shadowlength,1;horizalign,left;x,32;y,8;zoom,0.75;diffuse,ColorLightTone( Color("Green") );strokecolor,Color("Outline");skewx,-0.125;textglowmode,"TextGlowMode_Inner"; +TextOnCommand=shadowlength,1;horizalign,left;x,32;y,-6;zoom,0.5;strokecolor,Color("Outline");skewx,-0.125;textglowmode,"TextGlowMode_Inner"; +# +ProtimingW1Command=finishtweening;diffuse,Color("White");zoom,1.15;glow,Color("White");linear,0.05;zoom,1;glow,Color("Invisible");diffuse,GameColor.Judgment["JudgmentLine_W1"];sleep,2;linear,0.5;diffuse,Color("Invisible"); +ProtimingW2Command=finishtweening;diffuse,Color("White");zoom,1.15;glow,Color("White");linear,0.05;zoom,1;glow,Color("Invisible");diffuse,GameColor.Judgment["JudgmentLine_W2"];sleep,2;linear,0.5;diffuse,Color("Invisible"); +ProtimingW3Command=finishtweening;diffuse,Color("White");zoom,1.15;glow,Color("White");linear,0.05;zoom,1;glow,Color("Invisible");diffuse,GameColor.Judgment["JudgmentLine_W3"];sleep,2;linear,0.5;diffuse,Color("Invisible"); +ProtimingW4Command=finishtweening;diffuse,Color("White");zoom,1.15;glow,Color("White");linear,0.05;zoom,1;glow,Color("Invisible");diffuse,GameColor.Judgment["JudgmentLine_W4"];sleep,2;linear,0.5;diffuse,Color("Invisible"); +ProtimingW5Command=finishtweening;diffuse,Color("White");zoom,1.15;glow,Color("White");linear,0.05;zoom,1;glow,Color("Invisible");diffuse,GameColor.Judgment["JudgmentLine_W5"];sleep,2;linear,0.5;diffuse,Color("Invisible"); +ProtimingMissCommand=finishtweening;diffusealpha,1;zoom,1.15;glow,GameColor.Judgment["JudgmentLine_Miss"];linear,0.05;zoom,1;glow,Color("Invisible");diffuse,GameColor.Judgment["JudgmentLine_Miss"];sleep,2;linear,0.5;diffuse,Color("Invisible"); +# +AveragePulseCommand=finishtweening;diffusealpha,1;zoom,0.75*1.025;decelerate,0.05;zoom,0.75;sleep,2;linear,0.5;diffusealpha,0; +TextPulseCommand=finishtweening;diffusealpha,1;zoom,0.5*1.025;decelerate,0.05;zoom,0.5;sleep,2;linear,0.5;diffusealpha,0; + +[Course] + +[CustomDifficulty] + +[CustomScoring] +# So special scoring works properly, we zero this out +ComboAboveThresholdAddsToScoreBonus=0 +ComboScoreBonusThreshold=0 +ComboScoreBonusValue=0 +ComboMultiplier=0 +DoubleNoteScoreMultiplier=0 +TripleNoteScoreMultiplier=0 +QuadOrHigherNoteScoreMultiplier=0 +PointsW1=0 +PointsW2=0 +PointsW3=0 +PointsW4=0 +PointsW5=0 +PointsMiss=0 +PointsHitMine=0 +PointsCheckpointHit=0 +PointsCheckpointMiss=0 +PointsNone=0 +PointsHoldHeld=0 +PointsHoldLetGo=0 + +[DifficultyList] +ItemsSpacingY=24 +NumShownItems=8 + +[FadingBanner] +BannerFadeFromCachedCommand=diffusealpha,1;stoptweening;accelerate,0.05;glow,Colors.Alpha( Color("White"), 0.45 );decelerate,0.175;diffusealpha,0;glow,Color("Invisible"); + +[Gameplay] + +[GameState] + +[GrooveRadar] + +[GroupList] + +[HighScore] + +[Inventory] + [LifeMeterBar] OverOnCommand=diffuse,Color("Orange");diffuserightedge,BoostColor(Color("Orange"),1.5) @@ -105,48 +159,82 @@ BatteryP1Y=0 BatteryP2X=0 BatteryP2Y=0 # -NumLivesP1X=-92 -NumLivesP1Y=0 -NumLivesP2X=92 -NumLivesP2Y=0 NumLivesP2OnCommand=zoomx,-1 [LifeMeterBattery Percent] # still asking for this even though it's in fallback... -aj Format= # -DancePointsP2OnCommand=zoom,0.7;zoomx,-0.7;shadowlength,0;diffuse,PlayerColor(PLAYER_2) -DancePointsP2OffCommand= -# -PercentP2X=0 -PercentP2Y=0 PercentP2OnCommand=zoom,0.7;zoomx,-0.7;shadowlength,0;diffuse,PlayerColor(PLAYER_2) -PercentP2OffCommand= +DancePointsP2OnCommand=zoom,0.7;zoomx,-0.7;shadowlength,0;diffuse,PlayerColor(PLAYER_2) -[NoteField] -ShowBoard=GAMESTATE:GetCurrentGame():GetName() == "kb7" +[LifeMeterTime] +[LyricDisplay] + +[NotesWriterSM] + +[OptionRow] +TitleOnCommand=shadowlength,0;skewx,-0.1;uppercase,true;wrapwidthpixels,136;maxheight,42;zoom,0.6 +TitleGainFocusCommand=stoptweening;zoom,0.6375*1.125;bounceend,0.2;diffuse,Color("Orange");diffusetopedge,BoostColor(Color("Orange"),1.5);strokecolor,Color("Black");zoom,0.6375; +# TitleGainFocusCommand=stoptweening;zoom,0.6375*1.25;bounceend,0.2;diffuse,Color("Orange");diffusetopedge,BoostColor(Color("Orange"),1.5);strokecolor,Color("Black");zoom,0.6375;thump;effectmagnitude,1,1.05,1;effectclock,'beat' +TitleLoseFocusCommand=diffuse,Color("White");strokecolor,Color("Black");stopeffect; + +[OptionRowService] + +[OptionRowExit] +FrameOnCommand=visible,true;diffuse,Color("Red"); +FrameX=SCREEN_CENTER_X + +ItemsMinBaseZoom=1 +ItemOnCommand=shadowlength,1;zoom,0.8;diffuse,Color("Red");diffusebottomedge,BoostColor(Color("Red"),0.75);shadowcolor,BoostColor(Color("Red"),0.35) +ItemGainFocusCommand=stoptweening;linear,0.2;zoom,1;diffuse,Color("Red");diffusebottomedge,BoostColor(Color("Red"),0.75) +ItemLoseFocusCommand=stoptweening;decelerate,0.5;zoom,0.8; +ColorSelected=Color("Red") +ColorNotSelected=Color("Red") +ColorDisabled=Color("Red") + +ItemsLongRowP1X=SCREEN_CENTER_X-1024 +ItemsLongRowP2X=SCREEN_CENTER_X+1024 +ItemsLongRowSharedX=SCREEN_CENTER_X + +[OptionsCursor] + +[OptionsCursorP1] +LeftOnCommand=horizalign,right;diffuse,PlayerColor(PLAYER_1) +MiddleOnCommand=;diffuse,PlayerColor(PLAYER_1) +RightOnCommand=horizalign,left;diffuse,PlayerColor(PLAYER_1) + +[OptionsCursorP2] +LeftOnCommand=horizalign,right;diffuse,PlayerColor(PLAYER_2) +MiddleOnCommand=;diffuse,PlayerColor(PLAYER_2) +RightOnCommand=horizalign,left;diffuse,PlayerColor(PLAYER_2) + +[OptionsUnderline] + +[OptionsUnderlineP1] +LeftOnCommand=horizalign,right;diffuse,PlayerColor(PLAYER_1) +MiddleOnCommand=;diffuse,PlayerColor(PLAYER_1) +RightOnCommand=horizalign,left;diffuse,PlayerColor(PLAYER_1) + +[OptionsUnderlineP2] +LeftOnCommand=horizalign,right;diffuse,PlayerColor(PLAYER_2) +MiddleOnCommand=;diffuse,PlayerColor(PLAYER_2) +RightOnCommand=horizalign,left;diffuse,PlayerColor(PLAYER_2) [MenuTimer] Text1OnCommand=stopeffect;stoptweening;shadowlength,0;strokecolor,Color("Outline") Text1FormatFunction=function(fSeconds) \ return string.format("%0.1f", fSeconds); \ end -FrameOnCommand= + Warning10Command=diffuseshift;effectperiod,1;effectcolor2,Color("Red");effectcolor1,color("0.5,0,0,1"); -#~ Warning10Command=%function(self) \ - #~ MESSAGEMAN:Broadcast("TimerWarning"); \ - #~ cmd(diffuseshift;effectperiod,1;effectcolor2,Color("Red");effectcolor1,color("0.5,0,0,1"))(self); \ -#~ end; + +[MenuTimerNoSound] [MusicWheel] -FadeSeconds=1 SwitchSeconds=0.08 -RandomPicksLockedSongs=true -RouletteSwitchSeconds=0.05 -RouletteSlowDownSwitches=5 LockedInitialVelocity=7 -ScrollBarHeight=300 -ScrollBarOnCommand=visible,false + ; linear wheel example: ; ItemTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) \ ; self:y(offsetFromCenter*38); \ @@ -162,58 +250,37 @@ ScrollBarOnCommand=visible,false ; self:rotationx( rotationx_radians * 180/math.pi ); --[[ to degrees end]] \ ; end; ItemTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) self:x( (1-math.cos(offsetFromCenter/math.pi))*44 ); self:y( offsetFromCenter*46 ); end -NumWheelItems=11 MusicWheelSortOnCommand=fov,90; MusicWheelSortOffCommand=fov,90; MusicWheelItemSortOnCommand=zoomy,0;bounceend,0.15;zoomy,1 MusicWheelItemSortOffCommand=linear,0.175;zoomy,0 HighlightOnCommand=diffuseshift;effecttiming,(1/8),0,(7/8),0;effectcolor2,Color("White");effectcolor1,color("1,1,1,0.5");effectclock,'beatnooffset' -HighlightOffCommand= HighlightSortOnCommand=stoptweening;decelerate,0.125;glow,Color("Stealth");zoom,1 HighlightSortOffCommand=stoptweening;accelerate,0.125;glow,Color("Orange");zoom,1.05 WheelItemOnDelayOffset=0.04 WheelItemOffDelayOffset=0.04 -WheelItemLockedColor=color("0,0,0,0.5") -# -NumSectionColors=1 + SectionColor1=Color("Orange") # SongRealExtraColor=Color("Red") SortMenuColor=Color("Orange") + # -ShowRoulette=true -ShowRandom=false -ShowPortal=false -MostPlayedSongsToShow=30 -#~ ModeMenuChoiceNames="Preferred,Group,Title,Bpm,Popularity,TopGrades,Artist,EasyMeter,MediumMeter,HardMeter,ChallengeMeter,Genre,Length" -#~ ChoicePreferred="sort,Preferred" -#~ ChoiceGroup="sort,Group" -#~ ChoiceTitle="sort,Title" -#~ ChoiceBpm="sort,BPM" -#~ ChoicePopularity="sort,Popularity" -#~ ChoiceTopGrades="sort,TopGrades" -#~ ChoiceArtist="sort,Artist" -#~ ChoiceGenre="sort,Genre" -#~ ChoiceEasyMeter="sort,EasyMeter" -#~ ChoiceMediumMeter="sort,MediumMeter" -#~ ChoiceHardMeter="sort,HardMeter" -#~ ChoiceChallengeMeter="sort,ChallengeMeter" -#~ ChoiceLength="sort,Length" -#~ ChoiceCourses="sort,AllCourses;" + UseEasyMarkerFlag=true -# + + +[CourseWheel] + +[OnlineMusicWheel] [MusicWheelItem] WheelNotifyIconX=-128-16+0.5 -WheelNotifyIconY=0 WheelNotifyIconOnCommand=shadowlength,2; # SongNameX=-120 -SongNameY=0 -SongNameOnCommand= # CourseX=-120 -CourseY=0 CourseOnCommand=maxwidth,208;horizalign,left # SectionExpandedX=-38 @@ -224,11 +291,8 @@ SectionCollapsedX=-38 SectionCollapsedY=-2 SectionCollapsedOnCommand=maxwidth,194;shadowlength,1;shadowcolor,color("0.1,0.1,0.1,0.2") SectionCountX=112 -SectionCountY=0 SectionCountOnCommand=zoom,0.75;strokecolor,Color("Outline") # -RouletteX=0 -RouletteY=0 RouletteOnCommand=maxwidth,400;shadowlength,1;zoom,0.75;rainbowscroll,true;thump,2; # SortX=-132 @@ -243,153 +307,70 @@ GradeP1X=106+16 GradeP1Y=-8 GradeP2X=110+16 GradeP2Y=8 -GradesShowMachine=true -[OptionRow] -TitleOnCommand=shadowlength,0;skewx,-0.1;uppercase,true;wrapwidthpixels,136;maxheight,42;zoom,0.6 -TitleGainFocusCommand=stoptweening;zoom,0.6375*1.125;bounceend,0.2;diffuse,Color("Orange");diffusetopedge,BoostColor(Color("Orange"),1.5);strokecolor,Color("Black");zoom,0.6375; -# TitleGainFocusCommand=stoptweening;zoom,0.6375*1.25;bounceend,0.2;diffuse,Color("Orange");diffusetopedge,BoostColor(Color("Orange"),1.5);strokecolor,Color("Black");zoom,0.6375;thump;effectmagnitude,1,1.05,1;effectclock,'beat' -TitleLoseFocusCommand=diffuse,Color("White");strokecolor,Color("Black");stopeffect; -[OptionRowMiniMenu] -Fallback="OptionRow" +[NoteField] +ShowBoard=GAMESTATE:GetCurrentGame():GetName() == "kb7" -TitleX=SCREEN_CENTER_X-320+48 -TitleOnCommand=horizalign,left;shadowlength,0;uppercase,true;zoom,0.6375;strokecolor,Color("Black"); -#~ TitleGainFocusCommand= -#~ TitleLoseFocusCommand= +[PlayerStageStats] -ColorSelected=color("1,1,1,1") -ColorNotSelected=color("0.9,0.9,0.9,1") -ColorDisabled=color("0.5,0.5,0.5,1") - -ItemOnCommand=zoom,0.6375 -ItemsLongRowP1X=SCREEN_CENTER_X-240 -ItemsLongRowP2X=SCREEN_CENTER_X+240 -ItemsLongRowSharedX=SCREEN_CENTER_X+200 - -[OptionRowMiniMenuContext] -Fallback="OptionRowMiniMenu" - -[OptionRowExit] -Fallback="OptionRow" -FrameOnCommand=visible,true;diffuse,Color("Red"); -FrameX=SCREEN_CENTER_X -TitleOnCommand=visible,false - -ItemsMinBaseZoom=1 -ItemOnCommand=shadowlength,1;zoom,0.8;diffuse,Color("Red");diffusebottomedge,BoostColor(Color("Red"),0.75);shadowcolor,BoostColor(Color("Red"),0.35) -ItemGainFocusCommand=stoptweening;linear,0.2;zoom,1;diffuse,Color("Red");diffusebottomedge,BoostColor(Color("Red"),0.75) -ItemLoseFocusCommand=stoptweening;decelerate,0.5;zoom,0.8; -ColorSelected=Color("Red") -ColorNotSelected=Color("Red") -ColorDisabled=Color("Red") - -ItemsLongRowP1X=SCREEN_CENTER_X-1024 -ItemsLongRowP2X=SCREEN_CENTER_X+1024 -ItemsLongRowSharedX=SCREEN_CENTER_X - -[OptionsCursorP1] -LeftOnCommand=horizalign,right;diffuse,PlayerColor(PLAYER_1) -MiddleOnCommand=;diffuse,PlayerColor(PLAYER_1) -RightOnCommand=horizalign,left;diffuse,PlayerColor(PLAYER_1) -[OptionsCursorP2] -LeftOnCommand=horizalign,right;diffuse,PlayerColor(PLAYER_2) -MiddleOnCommand=;diffuse,PlayerColor(PLAYER_2) -RightOnCommand=horizalign,left;diffuse,PlayerColor(PLAYER_2) -[OptionsUnderlineP1] -LeftOnCommand=horizalign,right;diffuse,PlayerColor(PLAYER_1) -MiddleOnCommand=;diffuse,PlayerColor(PLAYER_1) -RightOnCommand=horizalign,left;diffuse,PlayerColor(PLAYER_1) -[OptionsUnderlineP2] -LeftOnCommand=horizalign,right;diffuse,PlayerColor(PLAYER_2) -MiddleOnCommand=;diffuse,PlayerColor(PLAYER_2) -RightOnCommand=horizalign,left;diffuse,PlayerColor(PLAYER_2) -[Protiming] -ProtimingOnCommand=shadowlength,1;horizalign,right;x,30;strokecolor,Color("Outline");skewx,-0.125;textglowmode,"TextGlowMode_Inner"; -AverageOnCommand=shadowlength,1;horizalign,left;x,32;y,8;zoom,0.75;diffuse,ColorLightTone( Color("Green") );strokecolor,Color("Outline");skewx,-0.125;textglowmode,"TextGlowMode_Inner"; -TextOnCommand=shadowlength,1;horizalign,left;x,32;y,-6;zoom,0.5;strokecolor,Color("Outline");skewx,-0.125;textglowmode,"TextGlowMode_Inner"; -# -ProtimingW1Command=finishtweening;diffuse,Color("White");zoom,1.15;glow,Color("White");linear,0.05;zoom,1;glow,Color("Invisible");diffuse,GameColor.Judgment["JudgmentLine_W1"];sleep,2;linear,0.5;diffuse,Color("Invisible"); -ProtimingW2Command=finishtweening;diffuse,Color("White");zoom,1.15;glow,Color("White");linear,0.05;zoom,1;glow,Color("Invisible");diffuse,GameColor.Judgment["JudgmentLine_W2"];sleep,2;linear,0.5;diffuse,Color("Invisible"); -ProtimingW3Command=finishtweening;diffuse,Color("White");zoom,1.15;glow,Color("White");linear,0.05;zoom,1;glow,Color("Invisible");diffuse,GameColor.Judgment["JudgmentLine_W3"];sleep,2;linear,0.5;diffuse,Color("Invisible"); -ProtimingW4Command=finishtweening;diffuse,Color("White");zoom,1.15;glow,Color("White");linear,0.05;zoom,1;glow,Color("Invisible");diffuse,GameColor.Judgment["JudgmentLine_W4"];sleep,2;linear,0.5;diffuse,Color("Invisible"); -ProtimingW5Command=finishtweening;diffuse,Color("White");zoom,1.15;glow,Color("White");linear,0.05;zoom,1;glow,Color("Invisible");diffuse,GameColor.Judgment["JudgmentLine_W5"];sleep,2;linear,0.5;diffuse,Color("Invisible"); -ProtimingMissCommand=finishtweening;diffusealpha,1;zoom,1.15;glow,GameColor.Judgment["JudgmentLine_Miss"];linear,0.05;zoom,1;glow,Color("Invisible");diffuse,GameColor.Judgment["JudgmentLine_Miss"];sleep,2;linear,0.5;diffuse,Color("Invisible"); -# -AveragePulseCommand=finishtweening;diffusealpha,1;zoom,0.75*1.025;decelerate,0.05;zoom,0.75;sleep,2;linear,0.5;diffusealpha,0; -TextPulseCommand=finishtweening;diffusealpha,1;zoom,0.5*1.025;decelerate,0.05;zoom,0.5;sleep,2;linear,0.5;diffusealpha,0; [Player] -# ReceptorArrowsYStandard=GetTapPosition('Standard') -# ReceptorArrowsYReverse=GetTapPosition('Reverse') -# RollBodyIncrementsCombo=GetUserPrefB("UserPrefComboOnRolls") + +[PlayerOptions] + +[PlayerShared] + +[Profile] + +[RadarValues] + +[RollingNumbers] + +[RollingNumbersEvaluation] + +[RollingNumbersJudgment] [ScoreDisplayNormal] -FrameX= -FrameY= -FrameOnCommand= -FrameOffCommand= -TextX= -TextY= TextOnCommand=shadowlength,1;diffusebottomedge,BoostColor(Color('White'),0.75) -TextOffCommand= [ScoreDisplayOni] TextX= TextY= TextOnCommand=shadowlength,1;diffusebottomedge,BoostColor(Color('White'),0.75) TextOffCommand= + [ScoreDisplayOni Numbers] TextX= TextY= TextOnCommand=shadowlength,1;diffusebottomedge,BoostColor(Color('White'),0.75) TextOffCommand= + [ScoreDisplayLifeTime] -FrameX= -FrameY= FrameOnCommand=visible,false;spin -FrameOffCommand= # -TimeRemainingX= TimeRemainingY=80 TimeRemainingOnCommand=zoom,1;shadowlength,1;settext,"Hi!"; -TimeRemainingOffCommand= # DeltaSecondsOnCommand=y,80;settext,Hi;spin; -DeltaSecondsNoneCommand= -DeltaSecondsHitMineCommand= -DeltaSecondsAvoidMineCommand= -DeltaSecondsCheckpointMissCommand= -DeltaSecondsCheckpointHitCommand= -DeltaSecondsMissCommand= -DeltaSecondsW5Command= -DeltaSecondsW4Command= -DeltaSecondsW3Command= -DeltaSecondsW2Command= -DeltaSecondsW1Command= -DeltaSecondsLetGoCommand= -DeltaSecondsHeldCommand= DeltaSecondsGainLifeCommand=zoom,0.5;settext,"Hi!"; + [ScoreDisplayPercentage Percent] PercentP1OnCommand=shadowlength,1;diffuse,PlayerColor(PLAYER_1);diffusetopedge,BoostColor(PlayerColor(PLAYER_1),1.5) PercentP2OnCommand=shadowlength,1;diffuse,PlayerColor(PLAYER_2);diffusetopedge,BoostColor(PlayerColor(PLAYER_2),1.5) + +[ScoreDisplayRave] +MeterP1OnCommand=draworder,-1 +MeterP2OnCommand=draworder,-1;zoomx,-1 +LevelP1OnCommand=draworder,105;zoom,0.75;diffuse,ColorLightTone( PlayerColor(PLAYER_1) );strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) );x,-144;skewx,-0.125; +LevelP2OnCommand=draworder,105;draworder,105;zoom,0.75;diffuse,ColorLightTone( PlayerColor(PLAYER_2) );strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) );x,144;skewx,-0.125; + +[ScoreKeeperRave] + [ScreenEvaluation Percent] -# This shouldn't even be named this but whatever man. -PercentP1X=0 -PercentP1Y=0 +# TODO: Better name? PercentP1OnCommand=horizalign,right;shadowlength,1;diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) ); -PercentP1OffCommand= -PercentP2X=0 -PercentP2Y=0 PercentP2OnCommand=horizalign,right;shadowlength,1;diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) ); -PercentP2OffCommand= -PercentRemainderP1X=0 -PercentRemainderP1Y=0 PercentRemainderP1OnCommand=horizalign,left;shadowlength,1;diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) ); -PercentRemainderP1OffCommand= -PercentRemainderP2X=0 -PercentRemainderP2Y=0 PercentRemainderP2OnCommand=horizalign,left;shadowlength,1;diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) ); -PercentRemainderP2OffCommand= DancePointsP1X=0 DancePointsP1Y=0 DancePointsP1OnCommand=shadowlength,1;diffuse,PlayerColor(PLAYER_1);strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) ); @@ -399,46 +380,81 @@ DancePointsP2Y=0 DancePointsP2OnCommand=shadowlength,1;diffuse,PlayerColor(PLAYER_2);strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) ); DancePointsP2OffCommand= DancePointsDigits=2 -PercentUseRemainder=true ApplyScoreDisplayOptions=true -FormatPercentScore=FormatPercentScore -Format= PercentDecimalPlaces=2 PercentTotalSize=5 -[ScoreDisplayRave] -MeterP1X= -MeterP1Y= -MeterP1OnCommand=draworder,-1 -MeterP1OffCommand= -MeterP2X= -MeterP2Y= -MeterP2OnCommand=draworder,-1;zoomx,-1 -MeterP2OffCommand= +[SoundEffectControl] -LevelP1X= -LevelP1Y= -LevelP1OnCommand=draworder,105;zoom,0.75;diffuse,ColorLightTone( PlayerColor(PLAYER_1) );strokecolor,ColorDarkTone( PlayerColor(PLAYER_1) );x,-144;skewx,-0.125; -LevelP1OffCommand= -LevelP2X= -LevelP2Y= -LevelP2OnCommand=draworder,105;draworder,105;zoom,0.75;diffuse,ColorLightTone( PlayerColor(PLAYER_2) );strokecolor,ColorDarkTone( PlayerColor(PLAYER_2) );x,144;skewx,-0.125; -LevelP2OffCommand= -[SongManager] -SongGroupColor1=BoostColor(Color("Orange"),1.2) -SongGroupColor2=BoostColor(Color("Orange"),1.25) -SongGroupColor3=BoostColor(Color("Orange"),1.25) -SongGroupColor4=BoostColor(Color("Orange"),1.25) -SongGroupColor5=BoostColor(Color("Orange"),1.25) -SongGroupColor6=BoostColor(Color("Orange"),1.25) -SongGroupColor7=BoostColor(Color("Orange"),1.25) -SongGroupColor8=BoostColor(Color("Orange"),1.25) -SongGroupColor9=BoostColor(Color("Orange"),1.25) -SongGroupColor10=BoostColor(Color("Orange"),1.25) +[SoundEffectControl_Off] -CourseGroupColor1=color("1,1,1,1") -UnlockColor=color("1,0.5,0,1") -ExtraColor=color("#ff0000") -- red +[SoundEffectControl_Speed] + +[SoundEffectControl_Pitch] + +[StepsDisplayListRow] +# TODO: Make this use DifficultyList? +CapitalizeDifficultyNames=false +NumShownItems=5 +ItemsSpacingY=24 +MoveCommand=decelerate,0.3 + +FrameX= + +FrameSetCommand=%function(self,param) \ + if param.CustomDifficulty then \ + self:diffuse(ColorMidTone( CustomDifficultyToColor(param.CustomDifficulty) )); \ + else \ + self:diffuse(color('1,1,1,1')); \ + end; \ +end; +# +NumTicks=10 +MaxTicks=10 +# +ShowMeter=true +MeterX=56 +MeterOnCommand=shadowlength,1;zoom,0.65;textglowmode,'TextGlowMode_Inner'; +MeterSetCommand=%function(self,param) \ + if param.CustomDifficulty then \ + self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)); \ + self:shadowcolor(CustomDifficultyToDarkColor(param.CustomDifficulty)); \ + end; \ + if param.Meter then \ + if param.Meter >= 10 then \ + self:textglowmode('TextGlowMode_Inner'); \ + self:glowshift(); \ + else \ + self:stopeffect(); \ + end; \ + end; \ +end; +# +ShowDescription=true +DescriptionX=GetGamePrefB("AutoSetStyle") and (-64-8+20) or (-64-8) +# DescriptionX=GetUserPrefB("UserPrefAutoSetStyle") and (-64-8+20) or (-64-8) +DescriptionOnCommand=shadowlength,1;horizalign,left;zoom,0.65;maxwidth,128+8-20;uppercase,true; +DescriptionSetCommand=%function(self,param) \ + if self:GetText() == "" then \ + self:settext("Edit"); \ + end; \ + if param.CustomDifficulty then \ + self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)); \ + self:shadowcolor(CustomDifficultyToDarkColor(param.CustomDifficulty)); \ + end; \ +end; +# +ShowAutogen=true +AutogenX=0 +AutogenY=0 +#AutogenOnCommand=diffuseshift;effectcolor1,Colors.Alpha( Color("Green") , 0.5 );effectcolor2,ColorLightTone( Color("Green") ); +AutogenOnCommand=blend,Blend.Add;diffuseshift;effectcolor1,color("#FFCC00FF");effectcolor2,color("#FFCC0088"); +# +ShowStepsType=GetGamePrefB("AutoSetStyle") +StepsTypeX=-64-8 +StepsTypeY=0 +StepsTypeOnCommand= +StepsTypeSetCommand= [SongMeterDisplay] StreamWidth=380 @@ -468,225 +484,10 @@ FrameOnCommand=sleep,2;linear,0.25;diffuse,PlayerColor(PLAYER_1);glow,1,1,1,0.5; [SongMeterDisplayP2] Fallback="SongMeterDisplay" FrameOnCommand=sleep,2;linear,0.25;diffuse,PlayerColor(PLAYER_2);glow,1,1,1,0.5;decelerate,0.6;glow,1,1,1,0 -[StepsDisplay] -FrameX=0 -FrameY=0 -FrameOnCommand= -FrameLoadCommand=%function(self,param) end; -FrameSetCommand=%function(self,param) \ - if param.CustomDifficulty then \ - self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)); \ - end; \ -end; -# -ShowTicks=false -NumTicks=10 -MaxTicks=14 -TicksX=0 -TicksY=0 -TicksOnCommand=shadowlength,0; -TicksSetCommand=%function(self,param) end; -# -ShowMeter=true -ZeroMeterString="?" -MeterX=56-32 -MeterY=0 -MeterOnCommand=shadowlength,1;textglowmode,'TextGlowMode_Inner' -MeterSetCommand=%function(self,param) \ - if param.CustomDifficulty then \ - self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)); \ - self:shadowcolor(CustomDifficultyToDarkColor(param.CustomDifficulty)); \ - end; \ - if param.Meter then \ - if param.Meter >= 100 then \ - self:basezoom(0.8); \ - self:glowshift(); \ - elseif param.Meter >= 10 then \ - self:basezoom(1); \ - self:glowshift(); \ - else \ - self:basezoom(1); \ - self:stopeffect(); \ - end; \ - end; \ -end; -# -ShowDescription=true -DescriptionX=-20-32 -DescriptionY=GetGamePrefB("AutoSetStyle") and -5 or 0 -# DescriptionY=GetUserPrefB("UserPrefAutoSetStyle") and -5 or 0 -DescriptionOnCommand=shadowlength,1;uppercase,true;zoom,0.75;maxwidth,128+8 -DescriptionSetCommand=%function(self,param) \ - if self:GetText() == "" then \ - self:settext("Edit"); \ - end; \ - if param.CustomDifficulty then \ - self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)); \ - self:shadowcolor(CustomDifficultyToDarkColor(param.CustomDifficulty)); \ - end; \ -end; -# -ShowAutogen=false -AutogenX=40-32 -AutogenY=0 -AutogenOnCommand= -AutogenSetCommand=%function(self,param) if param.Difficulty then self:diffuse(CustomDifficultyToLightColor(param.Difficulty)); self:strokecolor(CustomDifficultyToDarkColor(param.Difficulty)); end end -# -ShowStepsType=GetGamePrefB("AutoSetStyle") -# ShowStepsType=GetUserPrefB("UserPrefAutoSetStyle") -StepsTypeX=-20-32 -StepsTypeY=7 -StepsTypeOnCommand=zoom,0.45 - -[StepsDisplayEdit] -Fallback="StepsDisplayGameplay" - -[StepsDisplayGameplay] -Fallback="StepsDisplay" - -FrameX=0 -FrameY=0 -FrameOnCommand= -FrameLoadCommand=%function(self,param) end; -FrameSetCommand=%function(self,param) \ - if param.CustomDifficulty then \ - self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)); \ - end; \ -end; -# -ShowTicks=false -NumTicks=10 -MaxTicks=14 -TicksX=0 -TicksY=0 -TicksOnCommand=shadowlength,0; -TicksSetCommand=%function(self,param) end; -# -ShowMeter=true -ZeroMeterString="?" -MeterX=56 -MeterY=0 -MeterOnCommand=shadowlength,1;textglowmode,'TextGlowMode_Inner' -MeterSetCommand=%function(self,param) \ - if param.CustomDifficulty then \ - self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)); \ - self:shadowcolor(CustomDifficultyToDarkColor(param.CustomDifficulty)); \ - end; \ - if param.Meter then \ - if param.Meter >= 100 then \ - self:zoom(0.8); \ - else \ - self:zoom(1); \ - end; \ - end; \ -end; -# -ShowDescription=true -DescriptionX=-20 -DescriptionY=GetGamePrefB("AutoSetStyle") and -5 or 0 -# DescriptionY=GetUserPrefB("UserPrefAutoSetStyle") and -5 or 0 -DescriptionOnCommand=shadowlength,1;uppercase,true;zoom,0.75;maxwidth,128+8 -DescriptionSetCommand=%function(self,param) \ - if self:GetText() == "" then \ - self:settext("Edit"); \ - end; \ - if param.CustomDifficulty then \ - self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)); \ - self:shadowcolor(CustomDifficultyToDarkColor(param.CustomDifficulty)); \ - end; \ - (cmd(finishtweening;diffusealpha,0;addx,-4;smooth,0.125;addx,4;diffusealpha,1))(self); \ -end; -# -ShowAutogen=false -AutogenX=40 -AutogenY=0 -AutogenOnCommand= -AutogenSetCommand=%function(self,param) if param.Difficulty then self:diffuse(CustomDifficultyToLightColor(param.Difficulty)); self:strokecolor(CustomDifficultyToDarkColor(param.Difficulty)); end end -# -ShowStepsType=GetGamePrefB("AutoSetStyle") -# ShowStepsType=GetUserPrefB("UserPrefAutoSetStyle") -StepsTypeX=-20 -StepsTypeY=7 -StepsTypeOnCommand=zoom,0.45 [StepsDisplayEvaluation] Fallback="StepsDisplay" -[StepsDisplayListRow] -# -CapitalizeDifficultyNames=false -NumShownItems=5 -ItemsSpacingY=24 -MoveCommand=decelerate,0.3 -# -FrameX= -FrameY=0 -FrameOnCommand= -FrameOffCommand= -FrameSetCommand=%function(self,param) \ - if param.CustomDifficulty then \ - self:diffuse(ColorMidTone( CustomDifficultyToColor(param.CustomDifficulty) )); \ - else \ - self:diffuse(color('1,1,1,1')); \ - end; \ -end; -# -ShowTicks=false -NumTicks=10 -MaxTicks=10 -TicksSetCommand= -# -ShowMeter=true -ZeroMeterString="0" -MeterX=56 -MeterY=0 -MeterOnCommand=shadowlength,1;zoom,0.65;textglowmode,'TextGlowMode_Inner'; -MeterOffCommand= -MeterSetCommand=%function(self,param) \ - if param.CustomDifficulty then \ - self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)); \ - self:shadowcolor(CustomDifficultyToDarkColor(param.CustomDifficulty)); \ - end; \ - if param.Meter then \ - if param.Meter >= 10 then \ - self:textglowmode('TextGlowMode_Inner'); \ - self:glowshift(); \ - else \ - self:stopeffect(); \ - end; \ - end; \ -end; -# -ShowDescription=true -DescriptionX=GetGamePrefB("AutoSetStyle") and (-64-8+20) or (-64-8) -# DescriptionX=GetUserPrefB("UserPrefAutoSetStyle") and (-64-8+20) or (-64-8) -DescriptionY=0 -DescriptionOnCommand=shadowlength,1;horizalign,left;zoom,0.65;maxwidth,128+8-20;uppercase,true; -DescriptionOffCommand= -DescriptionSetCommand=%function(self,param) \ - if self:GetText() == "" then \ - self:settext("Edit"); \ - end; \ - if param.CustomDifficulty then \ - self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)); \ - self:shadowcolor(CustomDifficultyToDarkColor(param.CustomDifficulty)); \ - end; \ -end; -# -ShowAutogen=true -AutogenX=0 -AutogenY=0 -#AutogenOnCommand=diffuseshift;effectcolor1,Colors.Alpha( Color("Green") , 0.5 );effectcolor2,ColorLightTone( Color("Green") ); -AutogenOnCommand=blend,Blend.Add;diffuseshift;effectcolor1,color("#FFCC00FF");effectcolor2,color("#FFCC0088"); -AutogenSetCommand= -# -ShowStepsType=GetGamePrefB("AutoSetStyle") -# ShowStepsType=GetUserPrefB("UserPrefAutoSetStyle") -StepsTypeX=-64-8 -StepsTypeY=0 -StepsTypeOnCommand= -StepsTypeSetCommand= - [StreamDisplay] ; a simple bar life meter: ; PillTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) local native_width=32; local zoomed_width=12; self:zoomx(zoomed_width/native_width); self:x((itemIndex-(numItems/2))*zoomed_width); end @@ -715,21 +516,32 @@ end; # end; TextureCoordScaleX=1 NumPills=1 -AlwaysBounceNormalBar=false [TextBanner] TitleOnCommand=horizalign,left;shadowlength,1; SubtitleOnCommand=horizalign,left;shadowlength,1; ArtistOnCommand=horizalign,left;shadowlength,1;skewx,-0.2 ArtistPrependString="" -AfterSetCommand=%TextBannerAfterSet + +[WheelNotifyIcon] + +[Screen] + +[ScreenDebugOverlay] [ScreenSystemLayer] CreditsP1OnCommand=horizalign,left;vertalign,bottom;zoom,0.675;shadowlength,1;diffusebottomedge,PlayerColor(PLAYER_1); -CreditsP1OffCommand= # CreditsP2OnCommand=horizalign,right;vertalign,bottom;zoom,0.675;shadowlength,1;diffusebottomedge,PlayerColor(PLAYER_2); -CreditsP2OffCommand= + +[ScreenConsoleOverlay] + +[ScreenInstallOverlay] + +[ScreenSyncOverlay] + +[ScreenStatsOverlay] + [ScreenWithMenuElements] WaitForChildrenBeforeTweening=true @@ -780,89 +592,19 @@ ArcadeOverlay.TextX=SCREEN_CENTER_X ArcadeOverlay.TextY=SCREEN_BOTTOM-48 ArcadeOverlay.TextOnCommand= ArcadeOverlay.TextOffCommand= + [ScreenWithMenuElementsBlank] ShowHeader=false ShowFooter=false -[ScreenOptions] -DisqualifyP1X=SCREEN_CENTER_X-176 -DisqualifyP1Y=SCREEN_BOTTOM-98 -DisqualifyP1OnCommand=draworder,100;zoom,0.5;shadowlength,1;player,PLAYER_1 -DisqualifyP1OffCommand= -DisqualifyP2X=SCREEN_CENTER_X+176 -DisqualifyP2Y=SCREEN_BOTTOM-98 -DisqualifyP2OnCommand=draworder,100;zoom,0.5;shadowlength,1;player,PLAYER_2 -DisqualifyP2OffCommand= +[ScreenSelectMaster] -ContainerOnCommand=x,-SCREEN_WIDTH;decelerate,0.35;x,SCREEN_LEFT -# PageOnCommand=fadetop,0.125;fadebottom,0.125;cropbottom,0.5;croptop,0.5;decelerate,0.25;croptop,0;cropbottom,0;fadetop,0;fadebottom,0; -CursorOnCommand= - -LineHighlightOnCommand=cropleft,0.1;cropright,0.1;zoomx,1.25;fadeleft,0.05;faderight,0.05;diffuseshift;effectcolor2,color("1,1,1,0.5");effectcolor1,color("1,1,1,0.25");effectclock,'beat' -LineHighlightChangeCommand=linear,0.1;diffuse,Color("White");diffuseshift;effectcolor2,color("1,1,1,0.5");effectcolor1,color("1,1,1,0.25") -LineHighlightChangeToExitCommand=linear,0.1;diffuse,Color("Red");diffuseshift;effectcolor2,color("1,0,0,0.5");effectcolor1,color("1,0,0,0.25") - -[ScreenMiniMenu] -HeaderX=SCREEN_CENTER_X -HeaderY=SCREEN_TOP -HeaderOnCommand=draworder,100;visible,false -HeaderOffCommand= - -LineHighlightOnCommand=cropleft,0.1;cropright,0.1;zoomx,1.3;fadeleft,0.25;faderight,0.25;diffusealpha,0.375 -LineHighlightChangeCommand= -LineHighlightChangeToExitCommand= - -[ScreenMiniMenuContext] -PageOnCommand=visible,false -LineHighlightX=SCREEN_CENTER_X/2 - -TitleX=SCREEN_CENTER_X -TitleOnCommand=shadowlength,1; -ItemsStartX=SCREEN_CENTER_X -ItemsEndX=SCREEN_CENTER_X -ItemsGapX=14 -ItemsLongRowP1X=SCREEN_CENTER_X -ItemsLongRowP2X=SCREEN_CENTER_X -ItemsLongRowSharedX=SCREEN_CENTER_X - -[ScreenOptionsTheme] -Fallback="ScreenOptionsServiceChild" -NextScreen="ScreenOptionsExtended" -PrevScreen="ScreenOptionsExtended" -LineNames="gNotePos,gAuto,gScore,gSScore,gSDisp,gOpts,gLongFail,gComboUnderField,FlashyCombo,GameplayFooter" -LinegNotePos="lua,GamePrefNotePosition()" -LinegScore="lua,UserPrefGameplayShowScore()" -LinegSScore="lua,UserPrefSpecialScoringMode()" -LinegSDisp="lua,UserPrefGameplayShowStepsDisplay()" -LinegOpts="lua,UserPrefShowLotsaOptions()" -LinegAuto="lua,GamePrefAutoSetStyle()" -LinegLongFail="lua,UserPrefLongFail()" -LinegComboUnderField="lua,GamePrefComboUnderField()" -LineFlashyCombo="lua,UserPrefFlashyCombo()" -LineGameplayFooter="lua,UserPrefGameplayFooter()" -[ScreenOptionsSystemDirection] -LineNames="1,2,3,4,5,6,7,8,9,FlashyCombo,RollCombo,10,11,12,13,14,15,16,LF,17,18,19,20,21,22" -LineLF="lua,UserPrefLongFail()" -LineRollCombo="lua,GamePrefComboOnRolls()" -LineFlashyCombo="lua,UserPrefFlashyCombo()" -[ScreenOptionsAdvanced] -LineNames="2,3,4,8,11,13,14,15,16,28,29,30,RollCombo" -LineRollCombo="lua,GamePrefComboOnRolls()" -[ScreenOptionsService] -ShowHeader=false - -# ScreenOptionsSystemDirection" - -NumRowsShown=14 -RowPositionTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) self:y(SCREEN_CENTER_Y-170+24*offsetFromCenter) end - -SeparateExitRow=false -SeparateExitRowY=SCREEN_BOTTOM-40 +[ScreenSelectMasterBlank] [ScreenTextEntry] QuestionOnCommand=diffuse,Color("Orange");diffusetopedge,BoostColor(Color("Orange"),1.5);wrapwidthpixels,600 AnswerOnCommand=diffuse,Color("Blue");glowshift; -KeysInitCommand=zoom,0.8;shadowlength,0 + [ScreenInit] PrepareScreens="ScreenTitleMenu,ScreenTitleJoin" @@ -873,7 +615,6 @@ PersistScreens="ScreenInit,ScreenTitleJoin,ScreenTitleMenu" ShowHeader=false ShowFooter=false # -ShowScroller=true WrapScroller=false ScrollerTransform=function(self,offset,itemIndex,numItems) self:y((28)*(itemIndex-(numItems-1)/2)); end; ScrollerSecondsPerItem=0 @@ -946,13 +687,17 @@ ExplanationX=SCREEN_CENTER_X ExplanationY=SCREEN_BOTTOM-100 ExplanationOnCommand=shadowlength,1;zoom,0.75;maxwidth,SCREEN_WIDTH/0.75; ExplanationOffCommand= + + [ScreenProfileLoad] # ShowHeader=true ShowFooter=true ShowHelp=true + [ScreenSelectProfile] WaitForChildrenBeforeTweening=true + [ScreenSelectStyle] UpdateOnMesage="" # @@ -961,17 +706,6 @@ FOV=90 PerChoiceScrollElement=false PerChoiceIconElement=false # -DefaultChoice="Single" -ChoiceNames=GameCompatibleModes() -# -OptionOrderAuto="1:2,2:1" -ChoiceSingle="name,Single;style,single;screen,"..Branch.AfterSelectPlayMode() -ChoiceDouble="name,Double;style,double;screen,"..Branch.AfterSelectPlayMode() -ChoiceSolo="name,Solo;style,solo;screen,"..Branch.AfterSelectPlayMode() -ChoiceVersus="name,Versus;style,versus;screen,"..Branch.AfterSelectPlayMode() -ChoiceCouple="name,Couple;style,couple;screen,"..Branch.AfterSelectPlayMode() -ChoiceHalfDouble="name,HalfDouble;style,halfdouble;screen,"..Branch.AfterSelectPlayMode() -Choice5Keys="name,5Keys;style,single5;;screen,"..Branch.AfterSelectPlayMode() Choice7Keys="name,7Keys;style,single7;screen,"..Branch.AfterSelectPlayMode() Choice10Keys="name,10Keys;style,double10;screen,"..Branch.AfterSelectPlayMode() Choice14Keys="name,14Keys;style,double14;screen,"..Branch.AfterSelectPlayMode() @@ -1106,6 +840,10 @@ IconChoiceEndlessY=SCREEN_BOTTOM-88 IconChoiceEndlessOnCommand=zoom,0;bounceend,0.35;zoom,0.8 IconChoiceEndlessOffCommand=linear,0.1175;zoomx,0 +[ScreenSelectCharacter] + +[ScreenGameInformation] + [ScreenSelectMusic] UsePlayerSelectMenu=false # OptionsMenuAvailable=(getenv(sMode) ~= Oni) @@ -1272,23 +1010,7 @@ CDTitleBackCommand=cullmode,'CullMode_Back' CDTitleOnCommand=draworder,106;shadowlength,1;zoom,0.75;diffusealpha,1;zoom,0;bounceend,0.35;zoom,0.75;spin;effectmagnitude,0,180,0; CDTitleOffCommand=bouncebegin,0.15;zoomx,0; # -ScoreFrameP1X= -ScoreFrameP1Y= -ScoreFrameP1OnCommand=visible,false -ScoreFrameP1OffCommand= -ScoreP1X= -ScoreP1Y= -ScoreP1OnCommand=visible,false -ScoreP1OffCommand= # -ScoreP2X= -ScoreP2Y= -ScoreP2OnCommand=visible,false -ScoreP2OffCommand= -ScoreFrameP2X= -ScoreFrameP2Y= -ScoreFrameP2OnCommand=visible,false -ScoreFrameP2OffCommand= # ScoreP1SortChangeCommand=stoptweening; ScoreP2SortChangeCommand=stoptweening; @@ -1320,13 +1042,8 @@ PercentScoreP2X=SCREEN_CENTER_X+240-1 PercentScoreP2Y=SCREEN_BOTTOM-60 PercentScoreP2OnCommand=player,PLAYER_2;addy,SCREEN_CENTER_Y;decelerate,0.35;addy,-SCREEN_CENTER_Y PercentScoreP2OffCommand=bouncebegin,0.15;zoomx,0; + [ScreenSelectCourse] -#~ ScreenInitCommand=%function(self) \ - #~ GAMESTATE:ApplyGameCommand("sort,AllCourses",PLAYER_1); \ - #~ GAMESTATE:ApplyGameCommand("sort,AllCourses",PLAYER_2); \ -#~ end; -# -DefaultSort="Nonstop" # ShowDifficultyList=false ShowCourseContentsList=true @@ -1339,73 +1056,272 @@ ShowPaneDisplayFrameP1=false ShowPaneDisplayTextP1=false ShowPaneDisplayFrameP2=false ShowPaneDisplayTextP2=false -[ScreenNetSelectMusic] -StepsDisplayP1X=SCREEN_CENTER_X-240 -StepsDisplayP1Y=SCREEN_CENTER_Y+185 -StepsDisplayP1OnCommand=horizalign,right;zoomx,0.0;zoomy,0.0;linear,0.5;zoomy,1.0;zoomx,1.0 -StepsDisplayP1OffCommand=linear,0.5;zoomx,0.0;zoomy,0.0 -#--# -StepsDisplayP2X=SCREEN_CENTER_X-110 -StepsDisplayP2Y=SCREEN_CENTER_Y+185 -StepsDisplayP2OnCommand=horizalign,right;zoomx,0.0;zoomy,0.0;linear,0.5;zoomy,1.0;zoomx,1.0 -StepsDisplayP2OffCommand=linear,0.5;zoomx,0.0;zoomy,0.0 -#====# -BPMDisplayX=SCREEN_CENTER_X-160-90+2 -BPMDisplayY=SCREEN_CENTER_Y+156 -BPMDisplayOnCommand=finishtweening;horizalign,left;strokecolor,Color("Outline");maxwidth,128;addx,320;zoomx,0;decelerate,0.35;addx,-320;zoomx,1 -BPMDisplayOffCommand=bouncebegin,0.15;zoomx,0; -#--# -ShowBPMLabel=true -BPMLabelX=SCREEN_CENTER_X-160-90 -BPMLabelY=SCREEN_CENTER_Y+156 -BPMLabelOnCommand=horizalign,right;zoom,0.75;strokecolor,Color("Outline");addx,-SCREEN_CENTER_X;decelerate,0.35;addx,SCREEN_CENTER_X -BPMLabelOffCommand=bouncebegin,0.15;zoomx,0; -UsersX=SCREEN_CENTER_X-272 -UsersY=SCREEN_CENTER_Y-172 -UsersDX=40 -UsersAY=16 -UsersOnCommand=draworder,2;zoom,0.75;shadowlength,1 +[CourseCodeDetector] + +[StepsDisplay] +FrameLoadCommand=%function(self,param) end; +NumTicks=10 +MaxTicks=14 +TicksX=0 +TicksY=0 +TicksOnCommand=shadowlength,0; +TicksSetCommand=%function(self,param) end; +MeterX=56-32 +MeterY=0 +MeterOnCommand=shadowlength,1;textglowmode,'TextGlowMode_Inner' +MeterSetCommand=%function(self,param) \ + if param.CustomDifficulty then \ + self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)); \ + self:shadowcolor(CustomDifficultyToDarkColor(param.CustomDifficulty)); \ + end; \ + if param.Meter then \ + if param.Meter >= 100 then \ + self:basezoom(0.8); \ + self:glowshift(); \ + elseif param.Meter >= 10 then \ + self:basezoom(1); \ + self:glowshift(); \ + else \ + self:basezoom(1); \ + self:stopeffect(); \ + end; \ + end; \ +end; # -ShowDifficultyDisplay=true -DifficultyDisplayX=SCREEN_CENTER_X-240+200 -DifficultyDisplayY=SCREEN_CENTER_Y+185 -DifficultyDisplayOnCommand=draworder,105;fov,90;zoom,1;zoomy,0;sleep,0.35;smooth,0.35;zoomy,1 -DifficultyDisplayOffCommand=linear,0.25;zoomy,0; +ShowDescription=true +DescriptionX=-20-32 +DescriptionY=GetGamePrefB("AutoSetStyle") and -5 or 0 +# DescriptionY=GetUserPrefB("UserPrefAutoSetStyle") and -5 or 0 +DescriptionOnCommand=shadowlength,1;uppercase,true;zoom,0.75;maxwidth,128+8 +DescriptionSetCommand=%function(self,param) \ + if self:GetText() == "" then \ + self:settext("Edit"); \ + end; \ + if param.CustomDifficulty then \ + self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)); \ + self:shadowcolor(CustomDifficultyToDarkColor(param.CustomDifficulty)); \ + end; \ +end; +# +ShowAutogen=false +AutogenX=40-32 +AutogenY=0 +AutogenOnCommand= +AutogenSetCommand=%function(self,param) if param.Difficulty then self:diffuse(CustomDifficultyToLightColor(param.Difficulty)); self:strokecolor(CustomDifficultyToDarkColor(param.Difficulty)); end end +# +ShowStepsType=GetGamePrefB("AutoSetStyle") +# ShowStepsType=GetUserPrefB("UserPrefAutoSetStyle") +StepsTypeX=-20-32 +StepsTypeY=7 +StepsTypeOnCommand=zoom,0.45 + +[StepsDisplayGameplay] +Fallback="StepsDisplay" + +# +ShowMeter=true +ZeroMeterString="?" +MeterX=56 +MeterY=0 +MeterOnCommand=shadowlength,1;textglowmode,'TextGlowMode_Inner' +MeterSetCommand=%function(self,param) \ + if param.CustomDifficulty then \ + self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)); \ + self:shadowcolor(CustomDifficultyToDarkColor(param.CustomDifficulty)); \ + end; \ + if param.Meter then \ + if param.Meter >= 100 then \ + self:zoom(0.8); \ + else \ + self:zoom(1); \ + end; \ + end; \ +end; +# +ShowDescription=true +DescriptionX=-20 +DescriptionY=GetGamePrefB("AutoSetStyle") and -5 or 0 +# DescriptionY=GetUserPrefB("UserPrefAutoSetStyle") and -5 or 0 +DescriptionOnCommand=shadowlength,1;uppercase,true;zoom,0.75;maxwidth,128+8 +DescriptionSetCommand=%function(self,param) \ + if self:GetText() == "" then \ + self:settext("Edit"); \ + end; \ + if param.CustomDifficulty then \ + self:diffuse(CustomDifficultyToColor(param.CustomDifficulty)); \ + self:shadowcolor(CustomDifficultyToDarkColor(param.CustomDifficulty)); \ + end; \ + (cmd(finishtweening;diffusealpha,0;addx,-4;smooth,0.125;addx,4;diffusealpha,1))(self); \ +end; +# +ShowAutogen=false +AutogenX=40 +AutogenY=0 +AutogenOnCommand= +AutogenSetCommand=%function(self,param) if param.Difficulty then self:diffuse(CustomDifficultyToLightColor(param.Difficulty)); self:strokecolor(CustomDifficultyToDarkColor(param.Difficulty)); end end +# +ShowStepsType=GetGamePrefB("AutoSetStyle") +# ShowStepsType=GetUserPrefB("UserPrefAutoSetStyle") +StepsTypeX=-20 +StepsTypeY=7 +StepsTypeOnCommand=zoom,0.45 + +[ScreenOptions] +DisqualifyP1X=SCREEN_CENTER_X-176 +DisqualifyP1Y=SCREEN_BOTTOM-98 +DisqualifyP1OnCommand=draworder,100;zoom,0.5;shadowlength,1;player,PLAYER_1 +DisqualifyP2X=SCREEN_CENTER_X+176 +DisqualifyP2Y=SCREEN_BOTTOM-98 +DisqualifyP2OnCommand=draworder,100;zoom,0.5;shadowlength,1;player,PLAYER_2 + +ContainerOnCommand=x,-SCREEN_WIDTH;decelerate,0.35;x,SCREEN_LEFT +CursorOnCommand= + +LineHighlightOnCommand=cropleft,0.1;cropright,0.1;zoomx,1.25;fadeleft,0.05;faderight,0.05;diffuseshift;effectcolor2,color("1,1,1,0.5");effectcolor1,color("1,1,1,0.25");effectclock,'beat' +LineHighlightChangeCommand=linear,0.1;diffuse,Color("White");diffuseshift;effectcolor2,color("1,1,1,0.5");effectcolor1,color("1,1,1,0.25") +LineHighlightChangeToExitCommand=linear,0.1;diffuse,Color("Red");diffuseshift;effectcolor2,color("1,0,0,0.5");effectcolor1,color("1,0,0,0.25") + +[ScreenOptionsMaster] + +[ScreenOptionsSimple] + +[ScreenOptionsSimpleService] + +[ScreenOptionsService] +ShowHeader=false + +# ScreenOptionsSystemDirection" + +NumRowsShown=14 +RowPositionTransformFunction=function(self,offsetFromCenter,itemIndex,numItems) self:y(SCREEN_CENTER_Y-170+24*offsetFromCenter) end + +SeparateExitRow=false +SeparateExitRowY=SCREEN_BOTTOM-40 + +[ScreenOptionsExtended] + +[ScreenOptionsServiceChild] + +[ScreenOptionsServiceExtendedChild] + +[ScreenMiniMenu] +HeaderY=SCREEN_TOP +HeaderOnCommand=draworder,100;visible,false +LineHighlightOnCommand=cropleft,0.1;cropright,0.1;zoomx,1.3;fadeleft,0.25;faderight,0.25;diffusealpha,0.375 +LineHighlightChangeCommand= +LineHighlightChangeToExitCommand= + +[OptionRowMiniMenu] +Fallback="OptionRow" +TitleX=SCREEN_CENTER_X-320+48 +TitleOnCommand=horizalign,left;shadowlength,0;uppercase,true;zoom,0.6375;strokecolor,Color("Black"); +ItemsLongRowP1X=SCREEN_CENTER_X-240 +ItemsLongRowP2X=SCREEN_CENTER_X+240 +ItemsLongRowSharedX=SCREEN_CENTER_X+200 +ItemOnCommand=zoom,0.6375 + +ColorSelected=color("1,1,1,1") +ColorNotSelected=color("0.9,0.9,0.9,1") + +[ScreenMiniMenuContext] +PageOnCommand=visible,false +LineHighlightX=SCREEN_CENTER_X/2 + +TitleX=SCREEN_CENTER_X +TitleOnCommand=shadowlength,1; +ItemsStartX=SCREEN_CENTER_X +ItemsEndX=SCREEN_CENTER_X +ItemsGapX=14 +ItemsLongRowP1X=SCREEN_CENTER_X +ItemsLongRowP2X=SCREEN_CENTER_X +ItemsLongRowSharedX=SCREEN_CENTER_X + +[OptionRowMiniMenuContext] + +[ScreenMapControllers] + +[ScreenTestInput] + +[ScreenOptionsSystemDirection] +LineNames="1,2,3,4,5,6,7,8,9,FlashyCombo,RollCombo,10,11,12,13,14,15,16,LF,17,18,19,20,21,22" +LineLF="lua,UserPrefLongFail()" +LineRollCombo="lua,UserPrefComboOnRolls()" +LineFlashyCombo="lua,UserPrefFlashyCombo()" + +[ScreenOptionsGraphicsSound] + +[ScreenOptionsAdvanced] +LineNames="2,3,4,8,11,13,14,15,16,28,29,30,RollCombo" +LineRollCombo="lua,UserPrefComboOnRolls()" + +[ScreenAppearanceOptions] + +[ScreenOptionsUI] + +[ScreenOptionsInput] + +[ScreenOptionsArcade] + +[ScreenOptionsTheme] +Fallback="ScreenOptionsServiceChild" +NextScreen="ScreenOptionsExtended" +PrevScreen="ScreenOptionsExtended" +LineNames="gNotePos,gAuto,gScore,gSScore,gSDisp,gOpts,gLongFail,gComboUnderField,FlashyCombo,GameplayFooter" +LinegNotePos="lua,UserPrefNotePosition()" +LinegScore="lua,UserPrefGameplayShowScore()" +LinegSScore="lua,UserPrefSpecialScoringMode()" +LinegSDisp="lua,UserPrefGameplayShowStepsDisplay()" +LinegOpts="lua,UserPrefShowLotsaOptions()" +LinegAuto="lua,UserPrefAutoSetStyle()" +LinegLongFail="lua,UserPrefLongFail()" +LinegComboUnderField="lua,UserPrefComboUnderField()" +LineFlashyCombo="lua,UserPrefFlashyCombo()" +LineGameplayFooter="lua,UserPrefGameplayFooter()" + +[ScreenSelectGame] + +[ScreenNetworkOptions] + +[ScreenOptionsManageProfiles] + +[ScreenOptionsEditProfile] + +[ScreenReloadSongs] + [ScreenPlayerOptions] LineNames=GetDefaultOptionLines() -#~ LineNames="1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17" -Line1="lua,SpeedMods()" -#~ Line1="list,Speed" -Line2="list,Accel" -Line3="list,Effect" -Line4="list,Appearance" -Line5="list,Turn" -Line6="list,Insert" -LineR="list,Remove" -Line7="list,Scroll" -Line8="list,NoteSkins" -Line9="list,Holds" -Line10="list,Mines" -Line11="list,Attacks" -Line12="list,PlayerAutoPlay" -Line13="list,Hide" -Line14="list,Persp" -Line15="list,ScoreDisplay" -Line16="list,Steps" Line17="lua,OptionRowProTiming()" Line18="list,Characters" -[ScreenEditOptions] -Line1="lua,SpeedMods()" -[ScreenStageInformation] -ForceTimer=true -TimerOnCommand=visible,false -TimerSeconds=3 +[ScreenPlayerOptionsRestricted] + +[ScreenSplash] + +[ScreenExit] + +[ScreenAttract] + # -WaitForChildrenBeforeTweening=true +# +# +# + +[ScreenRanking] +# + +# + +# + +# + +# + +# 05 # B + +# 05 # C [ScreenGameplay] -ShowLifeMeterForDisabledPlayers=false # SongMeterDisplayX=SCREEN_CENTER_X SongMeterDisplayY=SCREEN_TOP+50 @@ -1559,6 +1475,12 @@ SongOptionsY=SCREEN_BOTTOM-32 SongOptionsOnCommand=draworder,101;zoom,0.5 SongOptionsOffCommand= # +LyricDisplaySetNoReverseCommand=x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y+160 +LyricDisplaySetReverseCommand=x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y-140 +# This is used if one player is in reverse and the other isn't. +LyricDisplaySetOneReverseCommand=x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y-160; +LyricDisplayDefaultColor=Color("White") +# OniGameOverP1X= OniGameOverP1Y= OniGameOverP1OnCommand= @@ -1583,21 +1505,9 @@ ActiveAttackListP2Y= ActiveAttackListP2OnCommand=visible,false ActiveAttackListP2OffCommand= # -LyricDisplaySetNoReverseCommand=x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y+160 -LyricDisplaySetReverseCommand=x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y-140 -# This is used if one player is in reverse and the other isn't. -LyricDisplaySetOneReverseCommand=x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y-160; -LyricDisplayDefaultColor=Color("White") -[ScreenGameplaySyncMachine] -SongMeterDisplayP1OnCommand=visible,false -SongMeterDisplayP2OnCommand=visible,false -StepsDescriptionP1OnCommand=visible,false -StepsDescriptionP2OnCommand=visible,false -StepsDisplayP1OnCommand=visible,false -StepsDisplayP2OnCommand=visible,false -PlayerOptionsP1OnCommand=visible,false -PlayerOptionsP2OnCommand=visible,false + +[ScreenGameplayShared] [ScreenEvaluation] Class="ScreenEvaluation" @@ -1925,6 +1835,7 @@ SongInformationX=SCREEN_CENTER_X SongInformationY=SCREEN_TOP+100 SongInformationOnCommand=playcommand,"Set";draworder,105 SongInformationOffCommand= + [ScreenEvaluationNormal] Fallback="ScreenEvaluation" # @@ -1979,65 +1890,94 @@ SmallBanner6Y=SCREEN_TOP+100+24 SmallBanner6OnCommand=zoom,0.5 SmallBanner6OffCommand= -[ScreenNetEvaluation] -UserTier02OrBetterCommand=diffuseshift;effectperiod,0.75;effectcolor1,color("1,0.95,0.8,1");effectcolor2,color("0.8,0.95,1,1") +[ScreenNameEntry] -# arcade stuff -[ScreenLogo] -TimerSeconds=10 -ShowLogo=true -LogoX=SCREEN_CENTER_X -LogoY=SCREEN_CENTER_Y-18 -LogoOnCommand=bob;effectperiod,4;effectmagnitude,0,5.25,0;zoom,0;bounceend,0.35;zoom,0.75 -LogoOffCommand=stopeffect;bouncebegin,0.35;zoom,0 +[ScreenProfileSave] -ArcadeOverlay.TextY=SCREEN_BOTTOM-60 -# -[ScreenTitleJoin] -ShowHelp=false -HelpText=Screen.String("HelpTextTitleJoin") -HelpY=SCREEN_CENTER_Y+100 -HelpOnCommand=visible,false;zoom,1;strokecolor,color("0.125,0.125,0.125,0.5");queuecommand,"Refresh" -HelpCoinIsertedMessageCommand=playcommand,"Refresh" -HelpCoinModeChangedMessageCommand=playcommand,"Refresh" -HelpRefreshCommand=%function(self) \ - local bCanPlay = GAMESTATE:EnoughCreditsToJoin(); \ - local bReady = GAMESTATE:GetNumSidesJoined() > 0; \ - if bCanPlay or bReady then \ - self:SetTipsColonSeperated(THEME:GetString( Var "LoadingScreen","HelpTextPlay")); \ - else \ - self:SetTipsColonSeperated(THEME:GetString( Var "LoadingScreen","HelpTextWait")); \ - end \ -end; -# -LogoX=SCREEN_CENTER_X -LogoY=SCREEN_CENTER_Y-28 -LogoOnCommand=bob;effectperiod,4;effectmagnitude,0,5.25,0;zoom,0;bounceend,0.35;zoom,0.75 -LogoOffCommand=stopeffect;bouncebegin,0.35;rotationz,360;zoom,0 +[ScreenProfileSaveSummary] -VersionInfoX=SCREEN_CENTER_X+114 -VersionInfoY=SCREEN_CENTER_Y+44 -VersionInfoOnCommand=settext,ProductVersion();horizalign,right;vertalign,bottom;bob;effectperiod,4;effectmagnitude,0,5.25,0;zoom,0;bounceend,0.35;zoom,0.65;shadowlength,1;shadowcolor,color("0.2,0.2,0.2,0.925"); +[ScreenGameOver] -ScrollerOnCommand=visible,false; +[ScreenPrompt] -ArcadeOverlay.TextY=SCREEN_BOTTOM-128 +[ScreenOptionsEdit] -[ScreenDemonstration] -SongMeterDisplayOnCommand=visible,false +[EditMenu] + +[TextBannerEditMode] + +[ScreenEditMenu] + +[ScreenEdit] + +[ScreenPracticeMenu] + +[PracticeMenu] + +[ScreenPractice] + +[ScreenEditOptions] +Line1="lua,SpeedMods()" + +[StepsDisplayEdit] +Fallback="StepsDisplayGameplay" + +[ScreenMiniMenuEditHelp] + +[OptionRowMiniMenuEditHelp] + +[ScreenMiniMenuMainMenu] + +[ScreenMiniMenuAreaMenu] + +[ScreenMiniMenuStepsInformation] + +[ScreenMiniMenuSongInformation] + +[ScreenMiniMenuTimingDataInformation] + +[ScreenMiniMenuBackgroundChange] + +[ScreenMiniMenuPreferences] + +[ScreenMiniMenuInsertTapAttack] + +[ScreenMiniMenuInsertCourseAttack] + +[ScreenMiniMenuCourseDisplay] + +[ScreenMiniMenuCourseOptions] + +[ScreenOptionsExportPackage] + +[ScreenOptionsManage] + +[OptionRowManage] + +[OptionRowCourseOverview] + +[ScreenOptionsManageCourses] + +[OptionRowCourse] + +[ScreenOptionsEditCourse] + +[OptionRowEditCourse] + +[ScreenOptionsCourseOverview] + +[ScreenGameplaySyncMachine] SongMeterDisplayP1OnCommand=visible,false SongMeterDisplayP2OnCommand=visible,false -LifeP1OnCommand=visible,false -LifeP2OnCommand=visible,false -ScoreP1OnCommand=visible,false -ScoreP2OnCommand=visible,false -StepsDisplayP1OnCommand=zoomy,0;linear,0.3;zoomy,1;sleep,3;smooth,0.5;y,SCREEN_BOTTOM-20;zoomy,0 -StepsDisplayP2OnCommand=zoomy,0;linear,0.3;zoomy,1;sleep,3;smooth,0.5;y,SCREEN_BOTTOM-20;zoomy,0 -ShowBPMDisplay=false -# -PlayMusic=false +StepsDescriptionP1OnCommand=visible,false +StepsDescriptionP2OnCommand=visible,false +StepsDisplayP1OnCommand=visible,false +StepsDisplayP2OnCommand=visible,false +PlayerOptionsP1OnCommand=visible,false +PlayerOptionsP2OnCommand=visible,false + +[PlayerSyncMachine] -# sm-ssc helper screens [ScreenHowToInstallSongs] Class="ScreenSelectMaster" Fallback="ScreenSelectMaster" @@ -2066,24 +2006,129 @@ DefaultChoice="WhereToFind" OptionOrderUp="5:4,4:3,3:2,2:1,1:5" OptionOrderDown="1:2,2:3,3:4,4:5,5:1" -[CustomScoring] -# So special scoring works properly, we zero this out -ComboAboveThresholdAddsToScoreBonus=0 -ComboScoreBonusThreshold=0 -ComboScoreBonusValue=0 -ComboMultiplier=0 -DoubleNoteScoreMultiplier=0 -TripleNoteScoreMultiplier=0 -QuadOrHigherNoteScoreMultiplier=0 -PointsW1=0 -PointsW2=0 -PointsW3=0 -PointsW4=0 -PointsW5=0 -PointsMiss=0 -PointsHitMine=0 -PointsCheckpointHit=0 -PointsCheckpointMiss=0 -PointsNone=0 -PointsHoldHeld=0 -PointsHoldLetGo=0 + +[ScreenSMOnlineLogin] + +[ScreenNetSelectBase] + +[ScreenNetSelectMusic] +BPMDisplayX=SCREEN_CENTER_X-160-90+2 +BPMDisplayY=SCREEN_CENTER_Y+156 +BPMDisplayOnCommand=finishtweening;horizalign,left;strokecolor,Color("Outline");maxwidth,128;addx,320;zoomx,0;decelerate,0.35;addx,-320;zoomx,1 +BPMDisplayOffCommand=bouncebegin,0.15;zoomx,0; + +StepsDisplayP1X=SCREEN_CENTER_X-240 +StepsDisplayP1Y=SCREEN_CENTER_Y+185 +StepsDisplayP1OnCommand=horizalign,right;zoomx,0.0;zoomy,0.0;linear,0.5;zoomy,1.0;zoomx,1.0 +StepsDisplayP1OffCommand=linear,0.5;zoomx,0.0;zoomy,0.0 +#--# +StepsDisplayP2X=SCREEN_CENTER_X-110 +StepsDisplayP2Y=SCREEN_CENTER_Y+185 +StepsDisplayP2OnCommand=horizalign,right;zoomx,0.0;zoomy,0.0;linear,0.5;zoomy,1.0;zoomx,1.0 +StepsDisplayP2OffCommand=linear,0.5;zoomx,0.0;zoomy,0.0 +#====# + +#--# +ShowBPMLabel=true +BPMLabelX=SCREEN_CENTER_X-160-90 +BPMLabelY=SCREEN_CENTER_Y+156 +BPMLabelOnCommand=horizalign,right;zoom,0.75;strokecolor,Color("Outline");addx,-SCREEN_CENTER_X;decelerate,0.35;addx,SCREEN_CENTER_X +BPMLabelOffCommand=bouncebegin,0.15;zoomx,0; + +UsersX=SCREEN_CENTER_X-272 +UsersY=SCREEN_CENTER_Y-172 +UsersDX=40 +UsersAY=16 +UsersOnCommand=draworder,2;zoom,0.75;shadowlength,1 +# +ShowDifficultyDisplay=true +DifficultyDisplayX=SCREEN_CENTER_X-240+200 +DifficultyDisplayY=SCREEN_CENTER_Y+185 +DifficultyDisplayOnCommand=draworder,105;fov,90;zoom,1;zoomy,0;sleep,0.35;smooth,0.35;zoomy,1 +DifficultyDisplayOffCommand=linear,0.25;zoomy,0; + +[StepsDisplayNet] + +[ScreenNetRoom] + +[RoomWheel] + +[RoomWheelItem] + +[RoomInfoDisplay] + +[ScreenSMOnlineSelectMusic] + +[ModIcon] + +[ModIconSelectMusic] + +[ModIconRow] + +[ModIconRowSelectMusic] + +[GraphDisplay] + +[ComboGraph] + +[ScreenNetEvaluation] +UserTier02OrBetterCommand=diffuseshift;effectperiod,0.75;effectcolor1,color("1,0.95,0.8,1");effectcolor2,color("0.8,0.95,1,1") + +# Arcade + +[ScreenLogo] +TimerSeconds=10 +ShowLogo=true +LogoX=SCREEN_CENTER_X +LogoY=SCREEN_CENTER_Y-18 +LogoOnCommand=bob;effectperiod,4;effectmagnitude,0,5.25,0;zoom,0;bounceend,0.35;zoom,0.75 +LogoOffCommand=stopeffect;bouncebegin,0.35;zoom,0 + +ArcadeOverlay.TextY=SCREEN_BOTTOM-60 +# + +[ScreenHowToPlay] + +[ScreenTitleJoin] +ShowHelp=false +HelpText=Screen.String("HelpTextTitleJoin") +HelpY=SCREEN_CENTER_Y+100 +HelpOnCommand=visible,false;zoom,1;strokecolor,color("0.125,0.125,0.125,0.5");queuecommand,"Refresh" +HelpCoinIsertedMessageCommand=playcommand,"Refresh" +HelpCoinModeChangedMessageCommand=playcommand,"Refresh" +HelpRefreshCommand=%function(self) \ + local bCanPlay = GAMESTATE:EnoughCreditsToJoin(); \ + local bReady = GAMESTATE:GetNumSidesJoined() > 0; \ + if bCanPlay or bReady then \ + self:SetTipsColonSeperated(THEME:GetString( Var "LoadingScreen","HelpTextPlay")); \ + else \ + self:SetTipsColonSeperated(THEME:GetString( Var "LoadingScreen","HelpTextWait")); \ + end \ +end; +# +LogoX=SCREEN_CENTER_X +LogoY=SCREEN_CENTER_Y-28 +LogoOnCommand=bob;effectperiod,4;effectmagnitude,0,5.25,0;zoom,0;bounceend,0.35;zoom,0.75 +LogoOffCommand=stopeffect;bouncebegin,0.35;rotationz,360;zoom,0 + +VersionInfoX=SCREEN_CENTER_X+114 +VersionInfoY=SCREEN_CENTER_Y+44 +VersionInfoOnCommand=settext,ProductVersion();horizalign,right;vertalign,bottom;bob;effectperiod,4;effectmagnitude,0,5.25,0;zoom,0;bounceend,0.35;zoom,0.65;shadowlength,1;shadowcolor,color("0.2,0.2,0.2,0.925"); +ScrollerOnCommand=visible,false; +ArcadeOverlay.TextY=SCREEN_BOTTOM-128 + +[ScreenDemonstration] +SongMeterDisplayOnCommand=visible,false +SongMeterDisplayP1OnCommand=visible,false +SongMeterDisplayP2OnCommand=visible,false +LifeP1OnCommand=visible,false +LifeP2OnCommand=visible,false +ScoreP1OnCommand=visible,false +ScoreP2OnCommand=visible,false +StepsDisplayP1OnCommand=zoomy,0;linear,0.3;zoomy,1;sleep,3;smooth,0.5;y,SCREEN_BOTTOM-20;zoomy,0 +StepsDisplayP2OnCommand=zoomy,0;linear,0.3;zoomy,1;sleep,3;smooth,0.5;y,SCREEN_BOTTOM-20;zoomy,0 +ShowBPMDisplay=false + +[ScreenJukeboxMenu] + +[ScreenJukebox] diff --git a/src/GameSoundManager.cpp b/src/GameSoundManager.cpp index 2c17b82c6e..5b3ba858de 100644 --- a/src/GameSoundManager.cpp +++ b/src/GameSoundManager.cpp @@ -142,7 +142,7 @@ static void StartMusic( MusicToPlay &ToPlay ) { LOG->Trace( "Found '%s'", ToPlay.m_sTimingFile.c_str() ); Song song; - if( GetExtension(ToPlay.m_sTimingFile.c_str()) == ".ssc" && + if( GetExtension(ToPlay.m_sTimingFile) == ".ssc" && SSCLoader::LoadFromSSCFile(ToPlay.m_sTimingFile, song) ) { ToPlay.HasTiming = true; @@ -152,7 +152,7 @@ static void StartMusic( MusicToPlay &ToPlay ) if( pStepsCabinetLights ) pStepsCabinetLights->GetNoteData( ToPlay.m_LightsData ); } - else if( GetExtension(ToPlay.m_sTimingFile.c_str()) == ".sm" && + else if( GetExtension(ToPlay.m_sTimingFile) == ".sm" && SMLoader::LoadFromSMFile(ToPlay.m_sTimingFile, song) ) { ToPlay.HasTiming = true; diff --git a/src/GameState.cpp b/src/GameState.cpp index 1a3f2d0793..90792cad8c 100644 --- a/src/GameState.cpp +++ b/src/GameState.cpp @@ -355,9 +355,14 @@ void GameState::JoinPlayer( PlayerNumber pn ) if( ALLOW_LATE_JOIN && m_pCurStyle != NULL ) { const Style *pStyle; - // only use one player for StyleType_OnePlayerTwoSides. + // Only use one player for StyleType_OnePlayerTwoSides and StepsTypes + // that can only be played by one player (e.g. dance-solo, + // dance-threepanel, popn-nine). -aj // XXX?: still shows joined player as "Insert Card". May not be an issue? -aj - if( m_pCurStyle->m_StyleType == StyleType_OnePlayerTwoSides ) + if( m_pCurStyle->m_StyleType == StyleType_OnePlayerTwoSides || + m_pCurStyle->m_StepsType == StepsType_dance_solo || + m_pCurStyle->m_StepsType == StepsType_dance_threepanel || + m_pCurStyle->m_StepsType == StepsType_popn_nine ) pStyle = GAMEMAN->GetFirstCompatibleStyle( m_pCurGame, 1, m_pCurStyle->m_StepsType ); else pStyle = GAMEMAN->GetFirstCompatibleStyle( m_pCurGame, GetNumSidesJoined(), m_pCurStyle->m_StepsType ); diff --git a/src/NoteDisplay.cpp b/src/NoteDisplay.cpp index 0bae40abd8..3998c1fb08 100644 --- a/src/NoteDisplay.cpp +++ b/src/NoteDisplay.cpp @@ -418,7 +418,7 @@ void NoteDisplay::DrawHoldPart( vector &vpSpr, int iCol, int fYStep, fl { /* For very large hold notes, shift the texture coordinates to be near 0, so we * don't send very large values to the renderer. */ - const float fDistFromTop = fYStartPos - fYTop; + const float fDistFromTop = fYStartPos - fYTop; float fTexCoordTop = SCALE( fDistFromTop, 0, fFrameHeight, rect.top, rect.bottom ); fTexCoordTop += fAddToTexCoord; fAddToTexCoord -= floorf( fTexCoordTop ); @@ -542,8 +542,8 @@ void NoteDisplay::DrawHoldBody( const TapNote& tn, int iCol, float fBeat, bool b DISPLAY->SetZTestMode( bWavyPartsNeedZBuffer?ZTEST_WRITE_ON_PASS:ZTEST_OFF ); DISPLAY->SetZWrite( bWavyPartsNeedZBuffer ); - /* Hack: Z effects need a finer grain step. */ - const int fYStep = bWavyPartsNeedZBuffer? 4: 16; // use small steps only if wavy + // Hack: Z effects need a finer grain step. + const int fYStep = bWavyPartsNeedZBuffer? 4: 16; // use small steps only if wavy if( bFlipHoldBody ) { @@ -641,16 +641,18 @@ void NoteDisplay::DrawHold( const TapNote &tn, int iCol, int iRow, bool bIsBeing /* The body and caps should have no overlap, so their order doesn't matter. * Draw the head last, so it appears on top. */ float fBeat = NoteRowToBeat(iRow); - //if( !cache->m_bHoldHeadIsAboveWavyParts ) - //{ - // Actor *pActor = GetHoldActor( m_HoldHead, NotePart_HoldHead, NoteRowToBeat(iRow), tn.subType == TapNote::hold_head_roll, bIsBeingHeld ); - // DrawActor( tn, pActor, NotePart_HoldHead, iCol, bFlipHeadAndTail ? fEndYOffset : fStartYOffset, fBeat, bIsAddition, fPercentFadeToFail, fReverseOffsetPixels, fColorScale, fDrawDistanceAfterTargetsPixels, fDrawDistanceBeforeTargetsPixels, fFadeInPercentOfDrawFar ); - //} - //if( !cache->m_bHoldTailIsAboveWavyParts ) - //{ - // Actor *pActor = GetHoldActor( m_HoldTail, NotePart_HoldTail, NoteRowToBeat(iRow), tn.subType == TapNote::hold_head_roll, bIsBeingHeld ); - // DrawActor( tn, pActor, NotePart_HoldTail, iCol, bFlipHeadAndTail ? fStartYOffset : fEndYOffset, fBeat, bIsAddition, fPercentFadeToFail, fReverseOffsetPixels, fColorScale, fDrawDistanceAfterTargetsPixels, fDrawDistanceBeforeTargetsPixels, fFadeInPercentOfDrawFar ); - //} + /* + if( !cache->m_bHoldHeadIsAboveWavyParts ) + { + Actor *pActor = GetHoldActor( m_HoldHead, NotePart_HoldHead, NoteRowToBeat(iRow), tn.subType == TapNote::hold_head_roll, bIsBeingHeld ); + DrawActor( tn, pActor, NotePart_HoldHead, iCol, bFlipHeadAndTail ? fEndYOffset : fStartYOffset, fBeat, bIsAddition, fPercentFadeToFail, fReverseOffsetPixels, fColorScale, fDrawDistanceAfterTargetsPixels, fDrawDistanceBeforeTargetsPixels, fFadeInPercentOfDrawFar ); + } + if( !cache->m_bHoldTailIsAboveWavyParts ) + { + Actor *pActor = GetHoldActor( m_HoldTail, NotePart_HoldTail, NoteRowToBeat(iRow), tn.subType == TapNote::hold_head_roll, bIsBeingHeld ); + DrawActor( tn, pActor, NotePart_HoldTail, iCol, bFlipHeadAndTail ? fStartYOffset : fEndYOffset, fBeat, bIsAddition, fPercentFadeToFail, fReverseOffsetPixels, fColorScale, fDrawDistanceAfterTargetsPixels, fDrawDistanceBeforeTargetsPixels, fFadeInPercentOfDrawFar ); + } + */ DrawHoldBody( tn, iCol, fBeat, bIsBeingHeld, fYHead, fYTail, bIsAddition, fPercentFadeToFail, fColorScale, false, fDrawDistanceAfterTargetsPixels, fDrawDistanceBeforeTargetsPixels, fFadeInPercentOfDrawFar ); DrawHoldBody( tn, iCol, fBeat, bIsBeingHeld, fYHead, fYTail, bIsAddition, fPercentFadeToFail, fColorScale, true, fDrawDistanceAfterTargetsPixels, fDrawDistanceBeforeTargetsPixels, fFadeInPercentOfDrawFar ); diff --git a/src/Player.cpp b/src/Player.cpp index 92aeee5f09..6e620bdec2 100644 --- a/src/Player.cpp +++ b/src/Player.cpp @@ -2562,7 +2562,7 @@ void Player::UpdateTapNotesMissedOlderThan( float fMissIfOlderThanSeconds ) if( !NeedsTapJudging(tn) ) continue; - + // Ignore all notes that are skipped via WARPS. if( GAMESTATE->m_pCurSong->m_Timing.IsWarpAtRow( iter.Row() ) ) continue; @@ -2598,7 +2598,7 @@ void Player::UpdateJudgedRows() { int iRow = iter.Row(); - // if row is within a warp section, ignore it. -aj + // If row is within a warp section, ignore it. -aj if( GAMESTATE->m_pCurSong->m_Timing.IsWarpAtRow(iRow) ) continue; @@ -2933,7 +2933,7 @@ void Player::HandleTapRowScore( unsigned row ) bNoCheating = false; #endif - // more warp hackery. -aj + // Warp hackery. -aj if( GAMESTATE->m_pCurSong->m_Timing.IsWarpAtRow( row ) ) return; @@ -3037,7 +3037,7 @@ void Player::HandleHoldCheckpoint( int iRow, int iNumHoldsHeldThisRow, int iNumH bNoCheating = false; #endif - // more warp hackery. -aj + // More warp hackery. -aj if( GAMESTATE->m_pCurSong->m_Timing.IsWarpAtRow( iRow ) ) return; diff --git a/src/Profile.h b/src/Profile.h index b95fd8d3a7..1115192911 100644 --- a/src/Profile.h +++ b/src/Profile.h @@ -85,11 +85,12 @@ public: m_iNumExtraStagesPassed(0), m_iNumExtraStagesFailed(0), m_iNumToasties(0), m_iTotalTapsAndHolds(0), m_iTotalJumps(0), m_iTotalHolds(0), m_iTotalRolls(0), m_iTotalMines(0), - m_iTotalHands(0), m_iTotalLifts(0), m_UnlockedEntryIDs(), - m_sLastPlayedMachineGuid(""), m_LastPlayedDate(), - m_iNumSongsPlayedByStyle(), m_iNumTotalSongsPlayed(0), - m_UserData(), m_SongHighScores(), m_CourseHighScores(), - m_vScreenshots(), m_mapDayToCaloriesBurned() + m_iTotalHands(0), m_iTotalLifts(0), m_bNewProfile(false), + m_UnlockedEntryIDs(), m_sLastPlayedMachineGuid(""), + m_LastPlayedDate(),m_iNumSongsPlayedByStyle(), + m_iNumTotalSongsPlayed(0), m_UserData(), m_SongHighScores(), + m_CourseHighScores(), m_vScreenshots(), + m_mapDayToCaloriesBurned() { m_lastSong.Unset(); m_lastCourse.Unset(); @@ -182,6 +183,8 @@ public: int m_iTotalMines; int m_iTotalHands; int m_iTotalLifts; + /** @brief Is this a brand new profile? */ + bool m_bNewProfile; set m_UnlockedEntryIDs; /** * @brief Which machine did we play on last, based on the Guid? diff --git a/src/ProfileManager.cpp b/src/ProfileManager.cpp index aa103b4e6b..bd84550431 100644 --- a/src/ProfileManager.cpp +++ b/src/ProfileManager.cpp @@ -97,6 +97,7 @@ void ProfileManager::Init() m_bLastLoadWasTamperedOrCorrupt[p] = false; m_bLastLoadWasFromLastGood[p] = false; m_bNeedToBackUpLastLoad[p] = false; + m_bNewProfile[p] = false; } LoadMachineProfile(); @@ -222,6 +223,7 @@ bool ProfileManager::LoadProfileFromMemoryCard( PlayerNumber pn, bool bLoadEdits vector asDirsToTry; GetMemoryCardProfileDirectoriesToTry( asDirsToTry ); + m_bNewProfile[pn] = true; for( unsigned i = 0; i < asDirsToTry.size(); ++i ) { @@ -239,6 +241,7 @@ bool ProfileManager::LoadProfileFromMemoryCard( PlayerNumber pn, bool bLoadEdits ProfileLoadResult res = LoadProfile( pn, sDir, true ); if( res == ProfileLoadResult_Success ) { + m_bNewProfile[pn] = false; /* If importing, store the directory we imported from, for display purposes. */ if( i > 0 ) m_sProfileDirImportedFrom[pn] = asDirsToTry[i]; @@ -246,7 +249,10 @@ bool ProfileManager::LoadProfileFromMemoryCard( PlayerNumber pn, bool bLoadEdits } if( res == ProfileLoadResult_FailedTampered ) + { + m_bNewProfile[pn] = false; break; + } } /* If we imported a profile fallback directory, change the memory card @@ -544,6 +550,11 @@ bool ProfileManager::ProfileWasLoadedFromMemoryCard( PlayerNumber pn ) const return !m_sProfileDir[pn].empty() && m_bWasLoadedFromMemoryCard[pn]; } +bool ProfileManager::ProfileFromMemoryCardIsNew( PlayerNumber pn ) const +{ + return GetProfile(pn) && m_bWasLoadedFromMemoryCard[pn] && m_bNewProfile[pn]; +} + bool ProfileManager::LastLoadWasTamperedOrCorrupt( PlayerNumber pn ) const { return !m_sProfileDir[pn].empty() && m_bLastLoadWasTamperedOrCorrupt[pn]; diff --git a/src/ProfileManager.h b/src/ProfileManager.h index e083d13636..6cb5632388 100644 --- a/src/ProfileManager.h +++ b/src/ProfileManager.h @@ -77,6 +77,7 @@ public: RString GetPlayerName( PlayerNumber pn ) const; bool ProfileWasLoadedFromMemoryCard( PlayerNumber pn ) const; + bool ProfileFromMemoryCardIsNew( PlayerNumber pn ) const; bool LastLoadWasTamperedOrCorrupt( PlayerNumber pn ) const; bool LastLoadWasFromLastGood( PlayerNumber pn ) const; @@ -117,6 +118,7 @@ private: bool m_bLastLoadWasTamperedOrCorrupt[NUM_PLAYERS]; // true if Stats.xml was present, but failed to load (probably because of a signature failure) bool m_bLastLoadWasFromLastGood[NUM_PLAYERS]; // if true, then m_bLastLoadWasTamperedOrCorrupt is also true mutable bool m_bNeedToBackUpLastLoad[NUM_PLAYERS]; // if true, back up profile on next save + bool m_bNewProfile[NUM_PLAYERS]; Profile *m_pMemoryCardProfile[NUM_PLAYERS]; // holds Profile for the currently inserted card Profile *m_pMachineProfile; diff --git a/src/RoomWheel.cpp b/src/RoomWheel.cpp index 9678d3701f..0541b90b4e 100644 --- a/src/RoomWheel.cpp +++ b/src/RoomWheel.cpp @@ -151,7 +151,6 @@ bool RoomWheel::Select() { // Since this is not actually an option outside of this wheel, NULL is a good idea. m_LastSelection = NULL; - // todo: Call a screen with class ScreenTextEntry instead. -aj ScreenTextEntry::TextEntry( SM_BackFromRoomName, ENTER_ROOM_NAME, "", 255 ); } return false; diff --git a/src/ScreenEdit.cpp b/src/ScreenEdit.cpp index 30d900fa2b..b315b74098 100644 --- a/src/ScreenEdit.cpp +++ b/src/ScreenEdit.cpp @@ -3531,7 +3531,6 @@ void ScreenEdit::HandleStepsInformationChoice( StepsInformationChoice c, const v switch( c ) { case description: - // todo: Call a screen with class ScreenTextEntry instead. -aj ScreenTextEntry::TextEntry( SM_None, ENTER_NEW_DESCRIPTION, @@ -3580,8 +3579,6 @@ void ScreenEdit::HandleSongInformationChoice( SongInformationChoice c, const vec { Song* pSong = GAMESTATE->m_pCurSong; - // todo: Call a screen with class ScreenTextEntry instead. - // multiple times in this section, so I'm only saying it here. -aj switch( c ) { DEFAULT_FAIL(c); @@ -3628,7 +3625,6 @@ void ScreenEdit::HandleTimingDataInformationChoice( TimingDataInformationChoice { DEFAULT_FAIL( c ); case bpm: - // todo: Call a screen with class ScreenTextEntry instead. -aj ScreenTextEntry::TextEntry( SM_BackFromBPMChange, ENTER_BPM_VALUE, @@ -3637,7 +3633,6 @@ void ScreenEdit::HandleTimingDataInformationChoice( TimingDataInformationChoice ); break; case stop: - // todo: Call a screen with class ScreenTextEntry instead. -aj ScreenTextEntry::TextEntry( SM_BackFromStopChange, ENTER_STOP_VALUE, @@ -3646,7 +3641,6 @@ void ScreenEdit::HandleTimingDataInformationChoice( TimingDataInformationChoice ); break; case delay: - // todo: Call a screen with class ScreenTextEntry instead. -aj ScreenTextEntry::TextEntry( SM_BackFromDelayChange, ENTER_DELAY_VALUE, @@ -3687,7 +3681,6 @@ void ScreenEdit::HandleTimingDataInformationChoice( TimingDataInformationChoice ); break; case warp: - // todo: Call a screen with class ScreenTextEntry instead. -aj ScreenTextEntry::TextEntry( SM_BackFromWarpChange, ENTER_WARP_VALUE, diff --git a/src/ScreenGameplaySyncMachine.cpp b/src/ScreenGameplaySyncMachine.cpp index 2ac318a5b1..008bb31585 100644 --- a/src/ScreenGameplaySyncMachine.cpp +++ b/src/ScreenGameplaySyncMachine.cpp @@ -35,6 +35,7 @@ void ScreenGameplaySyncMachine::Init() SongUtil::GetPlayableSteps( &m_Song, vpSteps ); ASSERT_M(vpSteps.size() > 0, "No playable steps for ScreenGameplaySyncMachine"); Steps *pSteps = vpSteps[0]; + // TODO: Either detect which player accessed this file, or FOREACH all of them. -Wolfman2000 GAMESTATE->m_pCurSteps[0].Set( pSteps ); GamePreferences::m_AutoPlay.Set( PC_HUMAN ); diff --git a/src/ScreenNameEntryTraditional.cpp b/src/ScreenNameEntryTraditional.cpp index 6c0c229e3f..3663641412 100644 --- a/src/ScreenNameEntryTraditional.cpp +++ b/src/ScreenNameEntryTraditional.cpp @@ -81,7 +81,8 @@ void ScreenNameEntryTraditional::BeginScreen() GAMESTATE->GetRankingFeats( pn, aFeats ); bool bNoStagesLeft = GAMESTATE->m_iPlayerStageTokens[pn] <= 0; - m_bEnteringName[pn] = aFeats.size() > 0 && bNoStagesLeft; + m_bEnteringName[pn] = ( aFeats.size() > 0 || + PROFILEMAN->ProfileFromMemoryCardIsNew(pn) ) && bNoStagesLeft; m_bFinalized[pn] = !m_bEnteringName[pn]; } diff --git a/src/ScreenOptionsExportPackage.cpp b/src/ScreenOptionsExportPackage.cpp index 6bbdf66f2d..eda77e4ac9 100644 --- a/src/ScreenOptionsExportPackage.cpp +++ b/src/ScreenOptionsExportPackage.cpp @@ -25,8 +25,8 @@ void ScreenOptionsExportPackage::Init() void ScreenOptionsExportPackage::BeginScreen() { // Fill m_vsPossibleDirsToExport - // todo: split these out over multiple screens so the scroller - // isn't so overloaded. -freem + // todo: Split these out over multiple screens so the scroller + // isn't so overloaded. (See ScreenOptionsToggleSongs) -freem { // Add themes { diff --git a/src/ScreenSelectMaster.cpp b/src/ScreenSelectMaster.cpp index 03b8058b30..3d76c7cdfa 100644 --- a/src/ScreenSelectMaster.cpp +++ b/src/ScreenSelectMaster.cpp @@ -809,8 +809,7 @@ void ScreenSelectMaster::MenuStart( const InputEventPlus &input ) mc.ApplyToAllPlayers(); // We want to be able to broadcast a Start message to the theme, in // case a themer wants to handle something. -aj - // TODO: Find a way to differentiate this from the message below, for - // less ambiguousness? + // TODO: Add a param to differentiate this from the message below. MESSAGEMAN->Broadcast( (MessageID)(Message_MenuStartP1+pn) ); return; } diff --git a/src/ScreenSelectMusic.cpp b/src/ScreenSelectMusic.cpp index a7335d68ba..14cb6bf61c 100644 --- a/src/ScreenSelectMusic.cpp +++ b/src/ScreenSelectMusic.cpp @@ -485,7 +485,7 @@ void ScreenSelectMusic::Input( const InputEventPlus &input ) m_bStepsChosen[input.pn] ) return; // ignore - // todo: use mousewheel to scroll MusicWheel -aj + // todo: Allow mousewheel to scroll MusicWheel -aj if( USE_PLAYER_SELECT_MENU ) { @@ -1528,9 +1528,8 @@ void ScreenSelectMusic::AfterStepsOrTrailChange( const vector &vpn } else { - // I don't like how numbers just stay up there if the current - // selection is NULL. - // todo: Let themers set the text instead of just using 0. -aj + // The numbers shouldn't stay if the current selection is NULL. + // todo: Let themers set the text value instead of just using 0. -aj m_textHighScore[pn].SetText( ssprintf("%*i", NUM_SCORE_DIGITS, 0) ); } } diff --git a/src/SongUtil.cpp b/src/SongUtil.cpp index d221159346..2641f860f0 100644 --- a/src/SongUtil.cpp +++ b/src/SongUtil.cpp @@ -19,6 +19,9 @@ #include "LuaBinding.h" #include "EnumHelper.h" +ThemeMetric SORT_BPM_DIVISION ( "MusicWheel", "SortBPMDivision" ); +ThemeMetric SORT_LENGTH_DIVISION ( "MusicWheel", "SortLengthDivision" ); + bool SongCriteria::Matches( const Song *pSong ) const { if( !m_sGroupName.empty() && m_sGroupName != pSong->m_sGroupName ) @@ -595,8 +598,7 @@ RString SongUtil::GetSectionNameFromSongAndSort( const Song* pSong, SortOrder so return SORT_NOT_AVAILABLE.GetValue(); case SORT_BPM: { - // todo: make this a theme metric? -aj - const int iBPMGroupSize = 20; + const int iBPMGroupSize = SORT_BPM_DIVISION; DisplayBpms bpms; pSong->GetDisplayBpms( bpms ); int iMaxBPM = (int)bpms.GetMax(); @@ -605,8 +607,7 @@ RString SongUtil::GetSectionNameFromSongAndSort( const Song* pSong, SortOrder so } case SORT_LENGTH: { - // todo: make this a theme metric? -aj - const int iSortLengthSize = 5; + const int iSortLengthSize = SORT_LENGTH_DIVISION; int iMaxLength = (int)pSong->m_fMusicLengthSeconds; iMaxLength += (iSortLengthSize - (iMaxLength%iSortLengthSize) - 1); int iMinLength = iMaxLength - (iSortLengthSize-1); diff --git a/src/arch/InputHandler/InputHandler_DirectInputHelper.cpp b/src/arch/InputHandler/InputHandler_DirectInputHelper.cpp index 6699b16910..a493502baf 100644 --- a/src/arch/InputHandler/InputHandler_DirectInputHelper.cpp +++ b/src/arch/InputHandler/InputHandler_DirectInputHelper.cpp @@ -331,7 +331,6 @@ static BOOL CALLBACK DIMouse_EnumDevObjectsProc(LPCDIDEVICEOBJECTINSTANCE dev, L in.ofs = dev->dwOfs; - // xxx: does this check for scrollwheels? -aj if(dev->dwType & DIDFT_BUTTON) { in.type = in.BUTTON; diff --git a/src/arch/InputHandler/InputHandler_Linux_Event.cpp b/src/arch/InputHandler/InputHandler_Linux_Event.cpp index 6c944f9a29..2baebdc253 100644 --- a/src/arch/InputHandler/InputHandler_Linux_Event.cpp +++ b/src/arch/InputHandler/InputHandler_Linux_Event.cpp @@ -398,7 +398,7 @@ void InputHandler_Linux_Event::InputThread() DeviceButton neg = g_apEventDevices[i]->aiAbsMappingLow[event.code]; DeviceButton pos = g_apEventDevices[i]->aiAbsMappingHigh[event.code]; - float l = SCALE( int(event.value), (float) g_apEventDevices[i]->aiAbsMin[i], (float) g_apEventDevices[i]->aiAbsMax[i], -1.0f, 1.0f ); + float l = SCALE( int(event.value), (float) g_apEventDevices[i]->aiAbsMin[event.code], (float) g_apEventDevices[i]->aiAbsMax[event.code], -1.0f, 1.0f ); ButtonPressed( DeviceInput(g_apEventDevices[i]->m_Dev, neg, max(-l,0), now) ); ButtonPressed( DeviceInput(g_apEventDevices[i]->m_Dev, pos, max(+l,0), now) ); break; diff --git a/src/tests/test_timing_data.cpp b/src/tests/test_timing_data.cpp index 06118d6fc9..de995caab9 100644 --- a/src/tests/test_timing_data.cpp +++ b/src/tests/test_timing_data.cpp @@ -101,7 +101,7 @@ void run() CHECK( test.GetElapsedTimeFromBeat(15.0f), 14.5f ); // stopped CHECK( test.GetElapsedTimeFromBeat(16), 20.0f ); - /* todo: add warp tests once the warp code is done */ + // todo: add warp tests -aj RageTimer foobar; /* We can look up the time of any given beat, then look up the beat of that @@ -124,10 +124,10 @@ int q = 0; } LOG->Trace("... %i in %f", q, foobar.GetDeltaTime()); - // todo: add warp segments TimingData test2; test2.AddBPMSegment( BPMSegment(0, 60) ); test2.AddStopSegment( StopSegment(0, 1) ); + //test2.AddWarpSegment( WarpSegment() ); CHECK( test2.GetBeatFromElapsedTime(-1), -1.0f ); CHECK( test2.GetBeatFromElapsedTime(0), 0.0f ); CHECK( test2.GetBeatFromElapsedTime(1), 0.0f );