diff --git a/stepmania/Themes/default/Fonts/Combo numbers.redir b/stepmania/Themes/default/Fonts/Combo ComboNumber.redir similarity index 100% rename from stepmania/Themes/default/Fonts/Combo numbers.redir rename to stepmania/Themes/default/Fonts/Combo ComboNumber.redir diff --git a/stepmania/Themes/default/Fonts/Combo MissesNumber.redir b/stepmania/Themes/default/Fonts/Combo MissesNumber.redir new file mode 100644 index 0000000000..d34eb591a8 --- /dev/null +++ b/stepmania/Themes/default/Fonts/Combo MissesNumber.redir @@ -0,0 +1 @@ +_venacti 100 \ No newline at end of file diff --git a/stepmania/Themes/default/Graphics/Player combo/_misses.lua b/stepmania/Themes/default/Graphics/Player combo/_misses.lua new file mode 100644 index 0000000000..11aa40abe4 --- /dev/null +++ b/stepmania/Themes/default/Graphics/Player combo/_misses.lua @@ -0,0 +1 @@ +return Def.Actor {} \ No newline at end of file diff --git a/stepmania/Themes/default/Graphics/Player combo/_misses.png b/stepmania/Themes/default/Graphics/Player combo/_misses.png deleted file mode 100755 index 2d34d2f615..0000000000 Binary files a/stepmania/Themes/default/Graphics/Player combo/_misses.png and /dev/null differ diff --git a/stepmania/Themes/default/Graphics/Player combo/default.lua b/stepmania/Themes/default/Graphics/Player combo/default.lua index 757a98a916..1716c78542 100644 --- a/stepmania/Themes/default/Graphics/Player combo/default.lua +++ b/stepmania/Themes/default/Graphics/Player combo/default.lua @@ -1,6 +1,7 @@ local c; local player = Var "Player"; local ShowComboAt = THEME:GetMetric("Combo", "ShowComboAt"); +local ShowMissesAt = THEME:GetMetric("Combo", "ShowMissesAt"); local Pulse = THEME:GetMetric("Combo", "PulseCommand"); local NumberMinZoom = THEME:GetMetric("Combo", "NumberMinZoom"); @@ -8,53 +9,72 @@ local NumberMaxZoom = THEME:GetMetric("Combo", "NumberMaxZoom"); local NumberMaxZoomAt = THEME:GetMetric("Combo", "NumberMaxZoomAt"); local t = Def.ActorFrame { - LoadFont( "Combo", "numbers" ) .. { - Name="Number"; - OnCommand = THEME:GetMetric("Combo", "NumberOnCommand"); + LoadFont( "Combo", "ComboNumber" ) .. { + Name="ComboNumber"; + OnCommand = THEME:GetMetric("Combo", "ComboNumberOnCommand"); + }; + LoadFont( "Combo", "MissesNumber" ) .. { + Name="MissesNumber"; + OnCommand = THEME:GetMetric("Combo", "MissesNumberOnCommand"); }; LoadActor("_combo") .. { Name="ComboLabel"; - OnCommand = THEME:GetMetric("Combo", "LabelOnCommand"); + OnCommand = THEME:GetMetric("Combo", "ComboLabelOnCommand"); }; LoadActor("_misses") .. { Name="MissesLabel"; - OnCommand = THEME:GetMetric("Combo", "LabelOnCommand"); + OnCommand = THEME:GetMetric("Combo", "MissesLabelOnCommand"); }; InitCommand = function(self) c = self:GetChildren(); - c.Number:visible(false); + c.ComboNumber:visible(false); + c.MissesNumber:visible(false); c.ComboLabel:visible(false); c.MissesLabel:visible(false); end; ComboCommand=function(self, param) - local iCombo = param.Misses or param.Combo; - if not iCombo or iCombo < ShowComboAt then - c.Number:visible(false); - c.ComboLabel:visible(false); - c.MissesLabel:visible(false); + local iNum = param.Misses or param.Combo; + + c.ComboNumber:visible(false); + c.MissesNumber:visible(false); + c.ComboLabel:visible(false); + c.MissesLabel:visible(false); + + local ShowAt; + if param.Combo then + ShowAt = ShowComboAt; + else + ShowAt = ShowMissesAt; + end + + if not iNum or ShowAt == 0 or iNum < ShowAt then return; end + local Number; + if param.Combo then + Number = c.ComboNumber; + else + Number = c.MissesNumber; + end local Label; if param.Combo then Label = c.ComboLabel; else Label = c.MissesLabel; end - -- reset the label's visibility so we don't accidentally draw both labels - Label:visible(false); - - param.Zoom = scale( iCombo, 0, NumberMaxZoomAt, NumberMinZoom, NumberMaxZoom ); + + param.Zoom = scale( iNum, 0, NumberMaxZoomAt, NumberMinZoom, NumberMaxZoom ); param.Zoom = clamp( param.Zoom, NumberMinZoom, NumberMaxZoom ); - c.Number:visible(true); + Number:visible(true); Label:visible(true); - c.Number:settext( string.format("%i", iCombo) ); + Number:settext( string.format("%i", iNum) ); - Pulse( c.Number, param ); + Pulse( Number, param ); Pulse( Label, param ); end; }; diff --git a/stepmania/Themes/default/metrics.ini b/stepmania/Themes/default/metrics.ini index 05e965928f..e5c014e1d6 100644 --- a/stepmania/Themes/default/metrics.ini +++ b/stepmania/Themes/default/metrics.ini @@ -2316,9 +2316,12 @@ HoldJudgmentLetGoCommand=shadowlength,0;diffusealpha,1;zoom,1;y,-10;linear,0.8;y HoldJudgmentHeldCommand=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 [Combo] -ShowComboAt=2 -LabelOnCommand=x,SCREEN_CENTER_X-314;y,SCREEN_CENTER_Y-220;shadowlength,0;horizalign,left;vertalign,bottom -NumberOnCommand=y,SCREEN_CENTER_Y-216;shadowlength,0;horizalign,right;vertalign,bottom +ShowComboAt=5 +ShowMissesAt=0 +ComboLabelOnCommand=x,6;y,22;horizalign,left;vertalign,bottom +MissesLabelOnCommand=x,6;y,22;horizalign,left;vertalign,bottom +ComboNumberOnCommand=y,240-216;shadowlength,0;horizalign,right;vertalign,bottom +MissesNumberOnCommand=y,240-216;shadowlength,0;horizalign,right;vertalign,bottom NumberMinZoom=0.4 NumberMaxZoom=0.6 NumberMaxZoomAt=150