diff --git a/Themes/_fallback/Scripts/[!]02 Colors._lua b/Themes/_fallback/Scripts/[!]02 Colors._lua deleted file mode 100644 index 258a869959..0000000000 --- a/Themes/_fallback/Scripts/[!]02 Colors._lua +++ /dev/null @@ -1,152 +0,0 @@ ---[[ general color functions ]] -function BoostColor( cColor, fBoost ) - local c = cColor; - return { c[1]*fBoost, c[2]*fBoost, c[3]*fBoost, c[4] }; -end - -function ColorLightTone(c) - return { c[1]+(c[1]/2), c[2]+(c[2]/2), c[3]+(c[3]/2), c[4] }; -end; - -function ColorMidTone(c) - return { c[1]/1.5, c[2]/1.5, c[3]/1.5, c[4] }; -end; - -function ColorDarkTone(c) - return { c[1]/2, c[2]/2, c[3]/2, c[4] }; -end; - ---[[ player colors ]] -function PlayerColor( pn ) - if pn == PLAYER_1 then return color("#ef403d") end -- pink-red - if pn == PLAYER_2 then return color("#0089cf") end -- sea-blue - return color("1,1,1,1") -end - -function PlayerScoreColor( pn ) - if pn == PLAYER_1 then return color("#ff6d00") end -- orange - if pn == PLAYER_2 then return color("#00ff7e") end -- sea green - return color("1,1,1,1") -end - ---[[ difficulty colors ]] --- let driving themes override just this table -GameCustomDifficultyColors = { - Beginner = color("#ff32f8"), - Easy = color("#2cff00"), - Medium = color("#fee600"), - Hard = color("#ff2f39"), - Challenge = color("#1cd8ff"), -}; - -CommonCustomDifficultyColors = { - Edit = color("0.8,0.8,0.8,1"), -- gray - Couple = color("#ed0972"), -- hot pink - Routine = color("#ff9a00"), -- orange -}; - -CourseDifficultyColors = { - Difficulty_Beginner = color("0.0,0.9,1.0,1"), -- purple - Difficulty_Easy = color("0.9,0.9,0.0,1"), -- green - Difficulty_Medium = color("1.0,0.1,0.1,1"), -- yellow - Difficulty_Hard = color("0.2,1.0,0.2,1"), -- red - Difficulty_Challenge = color("0.2,0.6,1.0,1"), -- light blue -}; - -function CustomDifficultyToColor( sCustomDifficulty ) - local c = GameCustomDifficultyColors[sCustomDifficulty] - if c then return c end - c = CommonCustomDifficultyColors[sCustomDifficulty] - if c then return c end - return color("#000000"); -end - -function CustomDifficultyToDarkColor( sCustomDifficulty ) - local c = CustomDifficultyToColor(sCustomDifficulty); - return { c[1]/2, c[2]/2, c[3]/2, c[4] }; -end - -function CustomDifficultyToLightColor( sCustomDifficulty ) - local c = CustomDifficultyToColor(sCustomDifficulty); - return { scale(c[1],0,1,0.5,1), scale(c[2],0,1,0.5,1), scale(c[3],0,1,0.5,1), c[4] }; -end - -function StepsOrTrailToColor(StepsOrTrail) - CustomDifficultyToColor( StepsOrTrailToCustomDifficulty(stepsOrTrail) ); -end - ---[[ stage colors ]] -StageColors = { - Stage_1st = color("#00ffc7"), - Stage_2nd = color("#58ff00"), - Stage_3rd = color("#f400ff"), - Stage_4th = color("#00ffda"), - Stage_5th = color("#ed00ff"), - Stage_6th = color("#73ff00"), - Stage_Next = color("#73ff00"), - Stage_Final = color("#ff0707"), - Stage_Extra1 = color("#fafa00"), - Stage_Extra2 = color("#ff0707"), - Stage_Nonstop = color("#FFFFFF"), - Stage_Oni = color("#FFFFFF"), - Stage_Endless = color("#FFFFFF"), - Stage_Event = color("#FFFFFF"), - Stage_Demo = color("#FFFFFF"), -}; - -function StageToColor( stage ) - local c = StageColors[stage]; - if c then return c end - return color("#000000"); -end - -function StageToStrokeColor( stage ) - local c = StageToColor(stage); - return { c[1]/2, c[2]/2, c[3]/2, c[4] }; -end - ---[[ judgment colors ]] -JudgmentLineColors = { - JudgmentLine_W1 = color("#00ffc7"), - JudgmentLine_W2 = color("#f6ff00"), - JudgmentLine_W3 = color("#00ff78"), - JudgmentLine_W4 = color("#34bfff"), - JudgmentLine_W5 = color("#e44dff"), - JudgmentLine_Held = color("#FFFFFF"), - JudgmentLine_Miss = color("#ff3c3c"), - JudgmentLine_MaxCombo = color("#ffc600"), -}; - -function JudgmentLineToColor( i ) - local c = JudgmentLineColors[i]; - if c then return c end - return color("#000000"); -end - -function JudgmentLineToStrokeColor( i ) - local c = JudgmentLineToColor(i); - return { c[1]/2, c[2]/2, c[3]/2, c[4] }; -end - --- (c) 2005 Chris Danford --- All rights reserved. --- --- Permission is hereby granted, free of charge, to any person obtaining a --- copy of this software and associated documentation files (the --- "Software"), to deal in the Software without restriction, including --- without limitation the rights to use, copy, modify, merge, publish, --- distribute, and/or sell copies of the Software, and to permit persons to --- whom the Software is furnished to do so, provided that the above --- copyright notice(s) and this permission notice appear in all copies of --- the Software and that both the above copyright notice(s) and this --- permission notice appear in supporting documentation. --- --- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS --- OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF --- MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF --- THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS --- INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT --- OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS --- OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR --- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR --- PERFORMANCE OF THIS SOFTWARE. diff --git a/Themes/_fallback/Sounds/ScreenEvaluation try Extra1.redir b/Themes/_fallback/Sounds/ScreenEvaluation try Extra1.redir deleted file mode 100644 index 1f8565ca21..0000000000 --- a/Themes/_fallback/Sounds/ScreenEvaluation try Extra1.redir +++ /dev/null @@ -1 +0,0 @@ -_silent \ No newline at end of file diff --git a/Themes/_fallback/Sounds/ScreenEvaluation try Extra2.redir b/Themes/_fallback/Sounds/ScreenEvaluation try Extra2.redir index 1f8565ca21..3451629d41 100644 --- a/Themes/_fallback/Sounds/ScreenEvaluation try Extra2.redir +++ b/Themes/_fallback/Sounds/ScreenEvaluation try Extra2.redir @@ -1 +1 @@ -_silent \ No newline at end of file +ScreenEvaluation try Extra1 \ No newline at end of file diff --git a/Themes/_fallback/metrics.ini b/Themes/_fallback/metrics.ini index 5e53c2fd88..3c43517c38 100644 --- a/Themes/_fallback/metrics.ini +++ b/Themes/_fallback/metrics.ini @@ -177,7 +177,7 @@ Separator="-" ShowQMarksInRandomCycle=true RandomText="!!!" # xxx: localize me -aj -VariousText="Various" +VariousText="000" [CodeDetector] # Codes on the MusicWheel that change stuff! PrevSteps1="Up,Up" diff --git a/Themes/default/BGAnimations/ScreenEvaluation decorations/default.lua b/Themes/default/BGAnimations/ScreenEvaluation decorations/default.lua index aa046f536e..a6e1b51208 100644 --- a/Themes/default/BGAnimations/ScreenEvaluation decorations/default.lua +++ b/Themes/default/BGAnimations/ScreenEvaluation decorations/default.lua @@ -157,13 +157,30 @@ end t[#t+1] = StandardDecorationFromFileOptional("LifeDifficulty","LifeDifficulty"); t[#t+1] = StandardDecorationFromFileOptional("TimingDifficulty","TimingDifficulty"); t[#t+1] = StandardDecorationFromFileOptional("GameType","GameType"); -t[#t+1] = LoadActor( THEME:GetPathG("ScreenStageInformation","Stage extra1" ) ) .. { - InitCommand=cmd(Center;draworder,105); - OnCommand=cmd(visible,GAMESTATE:IsExtraStage() and not GAMESTATE:IsExtraStage2();linear,2;zoom,0;diffusealpha,1;); +t[#t+1] = Def.ActorFrame { + Condition=GAMESTATE:IsExtraStage() and not GAMESTATE:IsExtraStage2(); + InitCommand=cmd(draworder,105); + LoadActor( THEME:GetPathS("ScreenEvaluation","try Extra1" ) ) .. { + Condition=THEME:GetMetric( Var "LoadingScreen","Summary" ) == false; + OnCommand=cmd(play); + }; + LoadActor( THEME:GetPathG("ScreenStageInformation","Stage extra1" ) ) .. { + Condition=THEME:GetMetric( Var "LoadingScreen","Summary" ) == false; + InitCommand=cmd(Center); + OnCommand=cmd(diffusealpha,0;zoom,0.85;bounceend,1;zoom,1;diffusealpha,1;sleep,0;glow,Color("White");decelerate,1;glow,Color("Invisible");smooth,0.35;zoom,0.25;y,SCREEN_BOTTOM-72); + }; }; -t[#t+1] = LoadActor( THEME:GetPathG("ScreenStageInformation","Stage extra2" ) ) .. { - InitCommand=cmd(Center;draworder,105); - OnCommand=cmd(visible,not GAMESTATE:IsExtraStage() and GAMESTATE:IsExtraStage2();linear,2;zoom,0;diffusealpha,1;); +t[#t+1] = Def.ActorFrame { + Condition=not GAMESTATE:IsExtraStage() and GAMESTATE:IsExtraStage2(); + InitCommand=cmd(draworder,105); + LoadActor( THEME:GetPathS("ScreenEvaluation","try Extra2" ) ) .. { + Condition=THEME:GetMetric( Var "LoadingScreen","Summary" ) == false; + OnCommand=cmd(play); + }; + LoadActor( THEME:GetPathG("ScreenStageInformation","Stage extra2" ) ) .. { + Condition=THEME:GetMetric( Var "LoadingScreen","Summary" ) == false; + InitCommand=cmd(Center); + OnCommand=cmd(diffusealpha,0;zoom,0.85;bounceend,1;zoom,1;diffusealpha,1;sleep,0;glow,Color("White");decelerate,1;glow,Color("Invisible");smooth,0.35;zoom,0.25;y,SCREEN_BOTTOM-72); + }; }; - return t \ No newline at end of file diff --git a/Themes/default/Graphics/Player judgment/default.lua b/Themes/default/Graphics/Player judgment/default.lua index be239c4936..89657f8ce9 100644 --- a/Themes/default/Graphics/Player judgment/default.lua +++ b/Themes/default/Graphics/Player judgment/default.lua @@ -93,12 +93,14 @@ t[#t+1] = Def.ActorFrame { if param.TapNoteScore == 'TapNoteScore_Miss' then fTapNoteOffset = 1; + bUseNegative = true; else - fTapNoteOffset = fTapNoteOffset; +-- fTapNoteOffset = fTapNoteOffset; + bUseNegative = false; end; -- we're safe, you can push the values - tTotalJudgments[#tTotalJudgments+1] = math.abs( fTapNoteOffset ); + tTotalJudgments[#tTotalJudgments+1] = bUseNegative and fTapNoteOffset or math.abs( fTapNoteOffset ); self:playcommand("Reset"); @@ -107,7 +109,7 @@ t[#t+1] = Def.ActorFrame { JudgeCmds[param.TapNoteScore](c.Judgment); c.ProtimingDisplay:visible( bShowProtiming ); - c.ProtimingDisplay:settextf("%i%%",clamp(100 - math.floor(math.abs(fTapNoteOffset * 1000)) ,0,100)); + c.ProtimingDisplay:settextf("%i%%",clamp(100 - math.floor(fTapNoteOffset * 1000) ,-100,100)); ProtimingCmds[param.TapNoteScore](c.ProtimingDisplay); c.ProtimingAverage:visible( bShowProtiming ); diff --git a/Themes/default/metrics.ini b/Themes/default/metrics.ini index 182a04fe45..ccf50c317b 100644 --- a/Themes/default/metrics.ini +++ b/Themes/default/metrics.ini @@ -48,8 +48,8 @@ NumberMaxZoomAt=100 LabelMinZoom=0.75*0.75 LabelMaxZoom=0.75*1 -PulseCommand=%function(self,param) self:stoptweening(); self:linear(0.05); self:zoom(1.125*param.Zoom); self:linear(0.05); self:zoom(param.Zoom); end -PulseLabelCommand=%function(self,param) self:stoptweening(); self:zoom(1.075*param.LabelZoom); self:linear(0.05); self:zoom(param.LabelZoom); end +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; +PulseLabelCommand=%function(self,param) self:finishtweening(); self:diffusealpha(1); self:zoom(1.075*param.LabelZoom); self:linear(0.05); self:zoom(param.LabelZoom); self:sleep(2); self:linear(0.5); self:diffusealpha(0); end; 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 @@ -313,7 +313,7 @@ ProtimingW4Command=finishtweening;diffuse,Color("White");zoom,1.15;glow,Color("W 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;zoom,0.75*1.25;decelerate,0.1;zoom,0.75 +AveragePulseCommand=finishtweening;diffusealpha,1;zoom,0.75*1.25;decelerate,0.05;zoom,0.75;sleep,2;linear,0.5;diffusealpha,0; [Player] ReceptorArrowsYStandard=GetTapPosition('Standard') ReceptorArrowsYReverse=GetTapPosition('Reverse')