diff --git a/NoteSkins/common/_Editor/Center Hold Explosion.lua b/NoteSkins/common/_Editor/Center Hold Explosion.lua index 4150444446..bf0ee30845 100644 --- a/NoteSkins/common/_Editor/Center Hold Explosion.lua +++ b/NoteSkins/common/_Editor/Center Hold Explosion.lua @@ -1,4 +1,4 @@ -return Def.Sprite { - Texture=NOTESKIN:GetPath( '_center', 'explosion' ); - InitCommand=cmd(blend,"BlendMode_Add";finishtweening;diffusealpha,0.2;zoom,0.6;linear,0.1;diffusealpha,0;zoom,0.8); +return Def.Sprite { + Texture=NOTESKIN:GetPath( '_center', 'explosion' ); + InitCommand=cmd(blend,"BlendMode_Add";finishtweening;diffusealpha,0.2;zoom,0.6;linear,0.1;diffusealpha,0;zoom,0.8); }; \ No newline at end of file diff --git a/NoteSkins/common/_Editor/Center Tap Explosion Bright.lua b/NoteSkins/common/_Editor/Center Tap Explosion Bright.lua index 9c6684f4ae..2eeebaf01c 100644 --- a/NoteSkins/common/_Editor/Center Tap Explosion Bright.lua +++ b/NoteSkins/common/_Editor/Center Tap Explosion Bright.lua @@ -1,8 +1,8 @@ -return Def.Sprite { - Texture=NOTESKIN:GetPath( '_center', 'explosion' ); - W1Command=cmd(blend,"BlendMode_Add";finishtweening;diffusealpha,0.2;zoom,0.6;linear,0.1;diffusealpha,0;zoom,0.8); - W2Command=cmd(blend,"BlendMode_Add";finishtweening;diffusealpha,0.2;zoom,0.6;linear,0.1;diffusealpha,0;zoom,0.8); - W3Command=cmd(blend,"BlendMode_Add";finishtweening;diffusealpha,0.2;zoom,0.6;linear,0.1;diffusealpha,0;zoom,0.8); - W4Command=cmd(blend,"BlendMode_Add";finishtweening;diffusealpha,0.2;zoom,0.6;linear,0.1;diffusealpha,0;zoom,0.8); - W5Command=cmd(blend,"BlendMode_Add";finishtweening;diffusealpha,0.2;zoom,0.6;linear,0.1;diffusealpha,0;zoom,0.8); +return Def.Sprite { + Texture=NOTESKIN:GetPath( '_center', 'explosion' ); + W1Command=cmd(blend,"BlendMode_Add";finishtweening;diffusealpha,0.2;zoom,0.6;linear,0.1;diffusealpha,0;zoom,0.8); + W2Command=cmd(blend,"BlendMode_Add";finishtweening;diffusealpha,0.2;zoom,0.6;linear,0.1;diffusealpha,0;zoom,0.8); + W3Command=cmd(blend,"BlendMode_Add";finishtweening;diffusealpha,0.2;zoom,0.6;linear,0.1;diffusealpha,0;zoom,0.8); + W4Command=cmd(blend,"BlendMode_Add";finishtweening;diffusealpha,0.2;zoom,0.6;linear,0.1;diffusealpha,0;zoom,0.8); + W5Command=cmd(blend,"BlendMode_Add";finishtweening;diffusealpha,0.2;zoom,0.6;linear,0.1;diffusealpha,0;zoom,0.8); }; \ No newline at end of file diff --git a/NoteSkins/common/_Editor/CenterP1 Receptor.lua b/NoteSkins/common/_Editor/CenterP1 Receptor.lua index 7110473e55..44301fe945 100644 --- a/NoteSkins/common/_Editor/CenterP1 Receptor.lua +++ b/NoteSkins/common/_Editor/CenterP1 Receptor.lua @@ -1,21 +1,21 @@ ---If a Command has "NOTESKIN:GetMetricA" in it, that means it gets the command from the metrics.ini, else use cmd(); to define command. ---If you dont know how "NOTESKIN:GetMetricA" works here is an explanation. ---NOTESKIN:GetMetricA("The [Group] in the metrics.ini", "The actual Command to fallback on in the metrics.ini"); - -local t = Def.ActorFrame { - Def.Sprite { - Texture=NOTESKIN:GetPath( "_centerp1", "Tap Note" ); - Frame0000=99; - Delay0000=1; - InitCommand=cmd(;glowblink;effectcolor1,0.4,0.4,0.4,0.4;effectcolor2,0.8,0.8,0.8,0.4;effectclock,'beat';effecttiming,0.2,0,0.8,0); - NoneCommand=NOTESKIN:GetMetricA("ReceptorArrow", "NoneCommand"); - PressCommand=NOTESKIN:GetMetricA("ReceptorArrow", "PressCommand"); - LiftCommand=NOTESKIN:GetMetricA("ReceptorArrow", "LiftCommand"); - W5Command=NOTESKIN:GetMetricA("ReceptorArrow", "W5Command"); - W4Command=NOTESKIN:GetMetricA("ReceptorArrow", "W4Command"); - W3Command=NOTESKIN:GetMetricA("ReceptorArrow", "W3Command"); - W2Command=NOTESKIN:GetMetricA("ReceptorArrow", "W2Command"); - W1Command=NOTESKIN:GetMetricA("ReceptorArrow", "W1Command"); - }; -}; -return t; +--If a Command has "NOTESKIN:GetMetricA" in it, that means it gets the command from the metrics.ini, else use cmd(); to define command. +--If you dont know how "NOTESKIN:GetMetricA" works here is an explanation. +--NOTESKIN:GetMetricA("The [Group] in the metrics.ini", "The actual Command to fallback on in the metrics.ini"); + +local t = Def.ActorFrame { + Def.Sprite { + Texture=NOTESKIN:GetPath( "_centerp1", "Tap Note" ); + Frame0000=99; + Delay0000=1; + InitCommand=cmd(;glowblink;effectcolor1,0.4,0.4,0.4,0.4;effectcolor2,0.8,0.8,0.8,0.4;effectclock,'beat';effecttiming,0.2,0,0.8,0); + NoneCommand=NOTESKIN:GetMetricA("ReceptorArrow", "NoneCommand"); + PressCommand=NOTESKIN:GetMetricA("ReceptorArrow", "PressCommand"); + LiftCommand=NOTESKIN:GetMetricA("ReceptorArrow", "LiftCommand"); + W5Command=NOTESKIN:GetMetricA("ReceptorArrow", "W5Command"); + W4Command=NOTESKIN:GetMetricA("ReceptorArrow", "W4Command"); + W3Command=NOTESKIN:GetMetricA("ReceptorArrow", "W3Command"); + W2Command=NOTESKIN:GetMetricA("ReceptorArrow", "W2Command"); + W1Command=NOTESKIN:GetMetricA("ReceptorArrow", "W1Command"); + }; +}; +return t; diff --git a/NoteSkins/common/_Editor/CenterP1 Tap Fake.lua b/NoteSkins/common/_Editor/CenterP1 Tap Fake.lua index 97bba2dfed..7b68235436 100644 --- a/NoteSkins/common/_Editor/CenterP1 Tap Fake.lua +++ b/NoteSkins/common/_Editor/CenterP1 Tap Fake.lua @@ -1,4 +1,4 @@ -return Def.Sprite { - Texture=NOTESKIN:GetPath( '_centerp1', 'tap fake' ); - Frames = Sprite.LinearFrames( 6, 1 ); -}; +return Def.Sprite { + Texture=NOTESKIN:GetPath( '_centerp1', 'tap fake' ); + Frames = Sprite.LinearFrames( 6, 1 ); +}; diff --git a/NoteSkins/common/_Editor/CenterP1 Tap Lift.lua b/NoteSkins/common/_Editor/CenterP1 Tap Lift.lua index 99d15c454a..8bcd9c58d7 100644 --- a/NoteSkins/common/_Editor/CenterP1 Tap Lift.lua +++ b/NoteSkins/common/_Editor/CenterP1 Tap Lift.lua @@ -1,4 +1,4 @@ -return Def.Sprite { - Texture=NOTESKIN:GetPath( '_centerp1', 'tap lift' ); - Frames = Sprite.LinearFrames( 6, 1 ); -}; +return Def.Sprite { + Texture=NOTESKIN:GetPath( '_centerp1', 'tap lift' ); + Frames = Sprite.LinearFrames( 6, 1 ); +}; diff --git a/NoteSkins/common/_Editor/CenterP1 Tap Note.lua b/NoteSkins/common/_Editor/CenterP1 Tap Note.lua index 1dc5e4b7dc..a1a86c79c8 100644 --- a/NoteSkins/common/_Editor/CenterP1 Tap Note.lua +++ b/NoteSkins/common/_Editor/CenterP1 Tap Note.lua @@ -1,4 +1,4 @@ -return Def.Sprite { - Texture=NOTESKIN:GetPath( '_centerp1', 'tap note' ); - Frames = Sprite.LinearFrames( 6, 1 ); -}; +return Def.Sprite { + Texture=NOTESKIN:GetPath( '_centerp1', 'tap note' ); + Frames = Sprite.LinearFrames( 6, 1 ); +}; diff --git a/NoteSkins/common/_Editor/Down Hold Explosion.lua b/NoteSkins/common/_Editor/Down Hold Explosion.lua index 3059d46081..08421bd761 100644 --- a/NoteSkins/common/_Editor/Down Hold Explosion.lua +++ b/NoteSkins/common/_Editor/Down Hold Explosion.lua @@ -1,6 +1,6 @@ -return Def.Sprite { - Texture=NOTESKIN:GetPath( '_down', 'explosion' ); - Frame0000=0; - Delay0000=1; - InitCommand=cmd(diffuseblink;effectcolor1,1,1,1,0.8;effectcolor2,1,1,1,1;effectclock,'beat';effectperiod,0.25); +return Def.Sprite { + Texture=NOTESKIN:GetPath( '_down', 'explosion' ); + Frame0000=0; + Delay0000=1; + InitCommand=cmd(diffuseblink;effectcolor1,1,1,1,0.8;effectcolor2,1,1,1,1;effectclock,'beat';effectperiod,0.25); }; \ No newline at end of file diff --git a/NoteSkins/common/_Editor/Down Receptor.lua b/NoteSkins/common/_Editor/Down Receptor.lua index 064c7a4f0f..5c7ad1a54b 100644 --- a/NoteSkins/common/_Editor/Down Receptor.lua +++ b/NoteSkins/common/_Editor/Down Receptor.lua @@ -1,21 +1,21 @@ ---If a Command has "NOTESKIN:GetMetricA" in it, that means it gets the command from the metrics.ini, else use cmd(); to define command. ---If you dont know how "NOTESKIN:GetMetricA" works here is an explanation. ---NOTESKIN:GetMetricA("The [Group] in the metrics.ini", "The actual Command to fallback on in the metrics.ini"); - -local t = Def.ActorFrame { - Def.Sprite { - Texture=NOTESKIN:GetPath( "_Down", "Tap Note" ); - Frame0000=69; - Delay0000=1; - InitCommand=cmd(;glowblink;effectcolor1,0.4,0.4,0.4,0.4;effectcolor2,0.8,0.8,0.8,0.4;effectclock,'beat';effecttiming,0.2,0,0.8,0); - NoneCommand=NOTESKIN:GetMetricA("ReceptorArrow", "NoneCommand"); - PressCommand=NOTESKIN:GetMetricA("ReceptorArrow", "PressCommand"); - LiftCommand=NOTESKIN:GetMetricA("ReceptorArrow", "LiftCommand"); - W5Command=NOTESKIN:GetMetricA("ReceptorArrow", "W5Command"); - W4Command=NOTESKIN:GetMetricA("ReceptorArrow", "W4Command"); - W3Command=NOTESKIN:GetMetricA("ReceptorArrow", "W3Command"); - W2Command=NOTESKIN:GetMetricA("ReceptorArrow", "W2Command"); - W1Command=NOTESKIN:GetMetricA("ReceptorArrow", "W1Command"); - }; -}; -return t; +--If a Command has "NOTESKIN:GetMetricA" in it, that means it gets the command from the metrics.ini, else use cmd(); to define command. +--If you dont know how "NOTESKIN:GetMetricA" works here is an explanation. +--NOTESKIN:GetMetricA("The [Group] in the metrics.ini", "The actual Command to fallback on in the metrics.ini"); + +local t = Def.ActorFrame { + Def.Sprite { + Texture=NOTESKIN:GetPath( "_Down", "Tap Note" ); + Frame0000=69; + Delay0000=1; + InitCommand=cmd(;glowblink;effectcolor1,0.4,0.4,0.4,0.4;effectcolor2,0.8,0.8,0.8,0.4;effectclock,'beat';effecttiming,0.2,0,0.8,0); + NoneCommand=NOTESKIN:GetMetricA("ReceptorArrow", "NoneCommand"); + PressCommand=NOTESKIN:GetMetricA("ReceptorArrow", "PressCommand"); + LiftCommand=NOTESKIN:GetMetricA("ReceptorArrow", "LiftCommand"); + W5Command=NOTESKIN:GetMetricA("ReceptorArrow", "W5Command"); + W4Command=NOTESKIN:GetMetricA("ReceptorArrow", "W4Command"); + W3Command=NOTESKIN:GetMetricA("ReceptorArrow", "W3Command"); + W2Command=NOTESKIN:GetMetricA("ReceptorArrow", "W2Command"); + W1Command=NOTESKIN:GetMetricA("ReceptorArrow", "W1Command"); + }; +}; +return t; diff --git a/NoteSkins/common/_Editor/Down Tap Explosion Bright.lua b/NoteSkins/common/_Editor/Down Tap Explosion Bright.lua index a0cd5d78f6..9cb8fe2f98 100644 --- a/NoteSkins/common/_Editor/Down Tap Explosion Bright.lua +++ b/NoteSkins/common/_Editor/Down Tap Explosion Bright.lua @@ -1,5 +1,5 @@ -return Def.Sprite { - Texture=NOTESKIN:GetPath( '_down', 'explosion' ); - Frame0000=1; - Delay0000=1; +return Def.Sprite { + Texture=NOTESKIN:GetPath( '_down', 'explosion' ); + Frame0000=1; + Delay0000=1; }; \ No newline at end of file diff --git a/NoteSkins/common/_Editor/Down Tap Explosion Dim.lua b/NoteSkins/common/_Editor/Down Tap Explosion Dim.lua index c53a6b3000..e345dce844 100644 --- a/NoteSkins/common/_Editor/Down Tap Explosion Dim.lua +++ b/NoteSkins/common/_Editor/Down Tap Explosion Dim.lua @@ -1,5 +1,5 @@ -return Def.Sprite { - Texture=NOTESKIN:GetPath( '_down', 'explosion' ); - Frame0000=0; - Delay0000=1; -}; +return Def.Sprite { + Texture=NOTESKIN:GetPath( '_down', 'explosion' ); + Frame0000=0; + Delay0000=1; +}; diff --git a/NoteSkins/common/_Editor/Down Tap Fake.lua b/NoteSkins/common/_Editor/Down Tap Fake.lua index 44fecf6fee..9e9569eef6 100644 --- a/NoteSkins/common/_Editor/Down Tap Fake.lua +++ b/NoteSkins/common/_Editor/Down Tap Fake.lua @@ -1,19 +1,19 @@ -return Def.Sprite { - Texture=NOTESKIN:GetPath( '_down', 'tap fake' ); - Frame0000=0; - Delay0000=1; - Frame0001=1; - Delay0001=1; - Frame0002=2; - Delay0002=1; - Frame0003=3; - Delay0003=1; - Frame0004=0; - Delay0004=1; - Frame0005=1; - Delay0005=1; - Frame0006=2; - Delay0006=1; - Frame0007=3; - Delay0007=1; -}; +return Def.Sprite { + Texture=NOTESKIN:GetPath( '_down', 'tap fake' ); + Frame0000=0; + Delay0000=1; + Frame0001=1; + Delay0001=1; + Frame0002=2; + Delay0002=1; + Frame0003=3; + Delay0003=1; + Frame0004=0; + Delay0004=1; + Frame0005=1; + Delay0005=1; + Frame0006=2; + Delay0006=1; + Frame0007=3; + Delay0007=1; +}; diff --git a/NoteSkins/common/_Editor/Down Tap Lift.lua b/NoteSkins/common/_Editor/Down Tap Lift.lua index 1b31a9f864..f21796984f 100644 --- a/NoteSkins/common/_Editor/Down Tap Lift.lua +++ b/NoteSkins/common/_Editor/Down Tap Lift.lua @@ -1,19 +1,19 @@ -return Def.Sprite { - Texture=NOTESKIN:GetPath( '_down', 'tap lift' ); - Frame0000=0; - Delay0000=1; - Frame0001=1; - Delay0001=1; - Frame0002=2; - Delay0002=1; - Frame0003=3; - Delay0003=1; - Frame0004=0; - Delay0004=1; - Frame0005=1; - Delay0005=1; - Frame0006=2; - Delay0006=1; - Frame0007=3; - Delay0007=1; -}; +return Def.Sprite { + Texture=NOTESKIN:GetPath( '_down', 'tap lift' ); + Frame0000=0; + Delay0000=1; + Frame0001=1; + Delay0001=1; + Frame0002=2; + Delay0002=1; + Frame0003=3; + Delay0003=1; + Frame0004=0; + Delay0004=1; + Frame0005=1; + Delay0005=1; + Frame0006=2; + Delay0006=1; + Frame0007=3; + Delay0007=1; +}; diff --git a/NoteSkins/common/_Editor/Down Tap Mine.lua b/NoteSkins/common/_Editor/Down Tap Mine.lua index 486df513ee..5a9d0d6a1e 100644 --- a/NoteSkins/common/_Editor/Down Tap Mine.lua +++ b/NoteSkins/common/_Editor/Down Tap Mine.lua @@ -1,18 +1,18 @@ -local t = Def.ActorFrame { - Def.Sprite { - Texture=NOTESKIN:GetPath( '_down', 'tap mine underlay' ); - Frames = Sprite.LinearFrames( 1, 1 ); - InitCommand=cmd(diffuseshift;effectcolor1,0.4,0,0,1;effectcolor2,1,0,0,1;effectclock,'beat'); - }; - Def.Sprite { - Texture=NOTESKIN:GetPath( '_down', 'tap mine base' ); - Frames = Sprite.LinearFrames( 1, 1 ); - InitCommand=cmd(spin;effectclock,'beat';effectmagnitude,0,0,80); - }; - Def.Sprite { - Texture=NOTESKIN:GetPath( '_down', 'tap mine overlay' ); - Frames = Sprite.LinearFrames( 1, 1 ); - InitCommand=cmd(spin;effectclock,'beat';effectmagnitude,0,0,-40); - }; -}; -return t; +local t = Def.ActorFrame { + Def.Sprite { + Texture=NOTESKIN:GetPath( '_down', 'tap mine underlay' ); + Frames = Sprite.LinearFrames( 1, 1 ); + InitCommand=cmd(diffuseshift;effectcolor1,0.4,0,0,1;effectcolor2,1,0,0,1;effectclock,'beat'); + }; + Def.Sprite { + Texture=NOTESKIN:GetPath( '_down', 'tap mine base' ); + Frames = Sprite.LinearFrames( 1, 1 ); + InitCommand=cmd(spin;effectclock,'beat';effectmagnitude,0,0,80); + }; + Def.Sprite { + Texture=NOTESKIN:GetPath( '_down', 'tap mine overlay' ); + Frames = Sprite.LinearFrames( 1, 1 ); + InitCommand=cmd(spin;effectclock,'beat';effectmagnitude,0,0,-40); + }; +}; +return t; diff --git a/NoteSkins/common/_Editor/Down Tap Note.lua b/NoteSkins/common/_Editor/Down Tap Note.lua index 3dad65cdcf..9dd2588547 100644 --- a/NoteSkins/common/_Editor/Down Tap Note.lua +++ b/NoteSkins/common/_Editor/Down Tap Note.lua @@ -1,20 +1,20 @@ -return Def.Sprite { - Texture=NOTESKIN:GetPath( '_down', 'tap note' ); - Frame0000=0; - Delay0000=1; - Frame0001=1; - Delay0001=1; - Frame0002=2; - Delay0002=1; - Frame0003=3; - Delay0003=1; - Frame0004=0; - Delay0004=1; - Frame0005=1; - Delay0005=1; - Frame0006=2; - Delay0006=1; - Frame0007=3; - Delay0007=1; - -}; +return Def.Sprite { + Texture=NOTESKIN:GetPath( '_down', 'tap note' ); + Frame0000=0; + Delay0000=1; + Frame0001=1; + Delay0001=1; + Frame0002=2; + Delay0002=1; + Frame0003=3; + Delay0003=1; + Frame0004=0; + Delay0004=1; + Frame0005=1; + Delay0005=1; + Frame0006=2; + Delay0006=1; + Frame0007=3; + Delay0007=1; + +}; diff --git a/NoteSkins/common/_Editor/DownLeftP1 Receptor.lua b/NoteSkins/common/_Editor/DownLeftP1 Receptor.lua index 1a3dbb27bd..5de741ec49 100644 --- a/NoteSkins/common/_Editor/DownLeftP1 Receptor.lua +++ b/NoteSkins/common/_Editor/DownLeftP1 Receptor.lua @@ -1,21 +1,21 @@ ---If a Command has "NOTESKIN:GetMetricA" in it, that means it gets the command from the metrics.ini, else use cmd(); to define command. ---If you dont know how "NOTESKIN:GetMetricA" works here is an explanation. ---NOTESKIN:GetMetricA("The [Group] in the metrics.ini", "The actual Command to fallback on in the metrics.ini"); - -local t = Def.ActorFrame { - Def.Sprite { - Texture=NOTESKIN:GetPath( "_downleftp1", "Tap Note" ); - Frame0000=99; - Delay0000=1; - InitCommand=cmd(;glowblink;effectcolor1,0.4,0.4,0.4,0.4;effectcolor2,0.8,0.8,0.8,0.4;effectclock,'beat';effecttiming,0.2,0,0.8,0); - NoneCommand=NOTESKIN:GetMetricA("ReceptorArrow", "NoneCommand"); - PressCommand=NOTESKIN:GetMetricA("ReceptorArrow", "PressCommand"); - LiftCommand=NOTESKIN:GetMetricA("ReceptorArrow", "LiftCommand"); - W5Command=NOTESKIN:GetMetricA("ReceptorArrow", "W5Command"); - W4Command=NOTESKIN:GetMetricA("ReceptorArrow", "W4Command"); - W3Command=NOTESKIN:GetMetricA("ReceptorArrow", "W3Command"); - W2Command=NOTESKIN:GetMetricA("ReceptorArrow", "W2Command"); - W1Command=NOTESKIN:GetMetricA("ReceptorArrow", "W1Command"); - }; -}; -return t; +--If a Command has "NOTESKIN:GetMetricA" in it, that means it gets the command from the metrics.ini, else use cmd(); to define command. +--If you dont know how "NOTESKIN:GetMetricA" works here is an explanation. +--NOTESKIN:GetMetricA("The [Group] in the metrics.ini", "The actual Command to fallback on in the metrics.ini"); + +local t = Def.ActorFrame { + Def.Sprite { + Texture=NOTESKIN:GetPath( "_downleftp1", "Tap Note" ); + Frame0000=99; + Delay0000=1; + InitCommand=cmd(;glowblink;effectcolor1,0.4,0.4,0.4,0.4;effectcolor2,0.8,0.8,0.8,0.4;effectclock,'beat';effecttiming,0.2,0,0.8,0); + NoneCommand=NOTESKIN:GetMetricA("ReceptorArrow", "NoneCommand"); + PressCommand=NOTESKIN:GetMetricA("ReceptorArrow", "PressCommand"); + LiftCommand=NOTESKIN:GetMetricA("ReceptorArrow", "LiftCommand"); + W5Command=NOTESKIN:GetMetricA("ReceptorArrow", "W5Command"); + W4Command=NOTESKIN:GetMetricA("ReceptorArrow", "W4Command"); + W3Command=NOTESKIN:GetMetricA("ReceptorArrow", "W3Command"); + W2Command=NOTESKIN:GetMetricA("ReceptorArrow", "W2Command"); + W1Command=NOTESKIN:GetMetricA("ReceptorArrow", "W1Command"); + }; +}; +return t; diff --git a/NoteSkins/common/_Editor/DownLeftP1 Tap Fake.lua b/NoteSkins/common/_Editor/DownLeftP1 Tap Fake.lua index 5e96c11957..e71e9b31fe 100644 --- a/NoteSkins/common/_Editor/DownLeftP1 Tap Fake.lua +++ b/NoteSkins/common/_Editor/DownLeftP1 Tap Fake.lua @@ -1,4 +1,4 @@ -return Def.Sprite { - Texture=NOTESKIN:GetPath( '_downleftp1', 'tap fake' ); - Frames = Sprite.LinearFrames( 6, 1 ); -}; +return Def.Sprite { + Texture=NOTESKIN:GetPath( '_downleftp1', 'tap fake' ); + Frames = Sprite.LinearFrames( 6, 1 ); +}; diff --git a/NoteSkins/common/_Editor/DownLeftP1 Tap Lift.lua b/NoteSkins/common/_Editor/DownLeftP1 Tap Lift.lua index 020d01ba72..934d8163bf 100644 --- a/NoteSkins/common/_Editor/DownLeftP1 Tap Lift.lua +++ b/NoteSkins/common/_Editor/DownLeftP1 Tap Lift.lua @@ -1,4 +1,4 @@ -return Def.Sprite { - Texture=NOTESKIN:GetPath( '_downleftp1', 'tap lift' ); - Frames = Sprite.LinearFrames( 6, 1 ); -}; +return Def.Sprite { + Texture=NOTESKIN:GetPath( '_downleftp1', 'tap lift' ); + Frames = Sprite.LinearFrames( 6, 1 ); +}; diff --git a/NoteSkins/common/_Editor/DownLeftP1 Tap Note.lua b/NoteSkins/common/_Editor/DownLeftP1 Tap Note.lua index 98db610575..220a50d590 100644 --- a/NoteSkins/common/_Editor/DownLeftP1 Tap Note.lua +++ b/NoteSkins/common/_Editor/DownLeftP1 Tap Note.lua @@ -1,4 +1,4 @@ -return Def.Sprite { - Texture=NOTESKIN:GetPath( '_downleftp1', 'tap note' ); - Frames = Sprite.LinearFrames( 6, 1 ); -}; +return Def.Sprite { + Texture=NOTESKIN:GetPath( '_downleftp1', 'tap note' ); + Frames = Sprite.LinearFrames( 6, 1 ); +}; diff --git a/NoteSkins/common/_Editor/NoteSkin.lua b/NoteSkins/common/_Editor/NoteSkin.lua index 7eb2ce8cd3..7fe4e5aeb5 100644 --- a/NoteSkins/common/_Editor/NoteSkin.lua +++ b/NoteSkins/common/_Editor/NoteSkin.lua @@ -1,209 +1,209 @@ ---[[ -USW Noteskin.lua Version V2 -Made for Version Stepmania 5 Preview 4 - -I am the bone of my noteskin -Arrows are my body, and explosions are my blood -I have created over a thousand noteskins -Unknown to death -Nor known to life -Have withstood pain to create many noteskins -Yet these hands will never hold anything -So as I pray, Unlimited Stepman Works - -If you want to know the list of lua commands you can use here is the main page for help http://kki.ajworld.net/lua/sm5/Lua.xml ---]] - -local ret = ... or {}; - ---I always had the problem were I wrote var instead of Var, which really iritated me wondering why a code wouldnt work ---You can edit it out if you want, But I'm just gonna leave it here so incase a person wants to make a noteskin ---And gets the same problem as me were you use var instead of Var, atleast this should make it still work ---But its best to use Var, And make sure to check all your code for little mistakes while you write ;) -local var = Var; - ---[[ -This is the general redirect table, Not the general redirect code, We use this if we are lazy ;) -Or if we cant a directon of a noteskin use the exact same files as another direction -The most re used direction in this case is "Down" -You can add and remove values if you want, It works for every game type, -If you want an easy way to know how all directions are called go in to stepmaniaoptions and change gametype -Then if you go to key configure look at the names for the keys, They are the same names that are used in the noteskin.lua ---]] -ret.RedirTable = -{ - Up = "Down", - Down = "Down", - Left = "Down", - Right = "Down", - Center = "Down", - DownLeft = "Down", - DownRight = "Down", - UpLeft = "Down", - UpRight = "Down", -}; - ---[[ -This is the general redirect code, We use this if we want to redirect parts of noteskins to other parts -Because unlike the ret.RedirTable which redirects everything to the defined direction. -Here we can add redirects for seperate elements which means we can use separate images if we want ---]] -local OldRedir = ret.Redir; -ret.Redir = function(sButton, sElement) - sButton, sElement = OldRedir(sButton, sElement); - - --This is were we call the ret.RedirTable and define it as sButton - --So it get called when we return sButton including the code under here - sButton = ret.RedirTable[sButton]; - - --We want to use custom hold/roll per direction, But keep global hold/roll heads and explosions. - if string.find(sElement, "Hold") or string.find(sElement, "Roll") then - if not string.find(sElement, "Head") and not string.find(sElement, "Explosion") then - if Var "Button" == "Left" then sButton = "Left"; end - if Var "Button" == "Right" then sButton = "Right"; end - if Var "Button" == "Down" then sButton = "Down"; end - if Var "Button" == "Up" then sButton = "Up"; end - if Var "Button" == "UpLeft" then sButton = "UpLeft"; end - if Var "Button" == "UpRight" then sButton = "UpRight"; end - end - end - - --Making Roll Head/Explosion fallback on Hold - if sElement == "Roll Head Inactive" then sElement = "Hold Head Inactive"; end - if sElement == "Roll Head Active" then sElement = "Hold Head Active"; end - if sElement == "Roll Explosion" then sElement = "Hold Explosion"; end - - --Adding stuff for more directions for diffrent gametypes - if GAMESTATE:GetCurrentGame():GetName() == "dance" then - --Making the Upleft and Upright Hold/Roll body/BottomCap/TopCap but not Explosions use SoloUpLeft and SoloUpRight instead - --When the gametype is dance this way we can define diffrent images for diffrent gametypes - if string.find(sElement, "Hold") or string.find(sElement, "Roll") then - if Var "Button" == "UpLeft" and not string.find(sElement, "Explosion") then sButton = "SoloUpLeft"; end - if Var "Button" == "UpRight" and not string.find(sElement, "Explosion") then sButton = "SoloUpRight"; end - end - end - if GAMESTATE:GetCurrentGame():GetName() == "pump" then - --Making Pump it up be rythm color based, Only problem is that in sm player 1 and player 2 noteskins are both defined as player 1 - --Need a way to get the parent but atm it ends up as nil because of no parent - --So Player 1 and 2 both use Player 1 images for now - --We also let every direction aside from Center use DownLeftp1 - if GAMESTATE:GetMasterPlayerNumber() == "PlayerNumber_P1" then - if Var "Button" == "UpLeft" then sButton = "DownLeftp1"; end - if Var "Button" == "UpRight" then sButton = "DownLeftp1"; end - if Var "Button" == "DownLeft" then sButton = "DownLeftp1"; end - if Var "Button" == "DownRight" then sButton = "DownLeftp1"; end - if Var "Button" == "Center" then sButton = "Centerp1"; end - elseif GAMESTATE:GetMasterPlayerNumber() == "PlayerNumber_P2" then - if Var "Button" == "UpLeft" then sButton = "Downleftp2"; end - if Var "Button" == "UpRight" then sButton = "Downleftp2"; end - if Var "Button" == "DownLeft" then sButton = "DownLeftp2"; end - if Var "Button" == "DownRight" then sButton = "DownLeftp2"; end - if Var "Button" == "Center" then sButton = "Centerp2"; end - end - --We already defined everything for diffrent players above - --But we want to use the same Center hold images for every direction and player - if string.find(sElement, "Bottomcap") then sButton = "Center"; end - if string.find(sElement, "Topcap") then sButton = "Center"; end - if string.find(sElement, "Body") then sButton = "Center"; end - --Lets also add explosion as Center - if string.find(sElement, "Explosion") then sButton = "Center"; end - if sElement == "Tap Explosion Dim" then sElement = "Tap Explosion Bright"; end - end - - --Define that every direction uses Tap Mine from Down - if Var "Element" == "Tap Mine" then sButton = "Down"; end - - return sButton, sElement; -end - ---[[ -This is the general function code -In here we can define how we want the stuff to act -Which basicly means instead of using a load of lua files for just some effect -We can just use code in here so we need to use less files -Which is nice if you want to save up space ;) -Only problem is that the Hold/Roll parts are written down in the code as sprite files -Which is the original old 3.9 code, Which basicly means that their code doesnt work in here - -Also unlike the general redirect code which has sElement and sButton defined in the common noteskin -They need to be defined here manualy which can be done with -local sElement = Var "Element"; -local sButton = Var "Button"; -To make it easier for everyone I already added them -The reason we use local to define the stuff is for when a code doesnt accept the full code -Like for example if we did string.find(Var "Element", "Down") it wouldnt work ---]] -local OldFunc = ret.Load; -function ret.Load() - local t = OldFunc(); - local sElement = Var "Element"; - local sButton = Var "Button"; - - --Explosion should not be rotated; it calls other actors. - if Var "Element" == "Explosion" then - t.BaseRotationZ = nil; - end - - - if GAMESTATE:GetCurrentGame():GetName() == "dance" then - --We define that we dont want the hold heads for UpLeft and UpRight to be rotated because we rotate them in a lua file - if Var "Button" == "UpLeft" and string.find(sElement, "Head") then t.BaseRotationZ = nil; end - if Var "Button" == "UpRight" and string.find(sElement, "Head") then t.BaseRotationZ = nil; end - end - if GAMESTATE:GetCurrentGame():GetName() == "pump" then - --Because the images for Pump it up are using the DownLeft for every direction aside from center, We let it be rotated here - --Because the rotate table is set up for dance and these are for PIU - if Var "Button" == "UpLeft" then t.BaseRotationZ = 90; end - if Var "Button" == "UpRight" then t.BaseRotationZ = 180; end - if Var "Button" == "DownLeft" then t.BaseRotationZ = nil; end - if Var "Button" == "DownRight" then t.BaseRotationZ = -90; end - if Var "Element" == "Tap Mine" then t.InitCommand=cmd(zoom,-0.8); end - end - return t; -end --- > - - ---Define which parts of noteskins which we want to rotate -ret.PartsToRotate = -{ - ["Receptor"] = true, - ["Tap Explosion Bright"] = true, - ["Tap Explosion Dim"] = true, - ["Tap Note"] = true, - ["Tap Fake"] = true, - ["Tap Lift"] = true, - ["Tap Addition"] = true, - ["Hold Explosion"] = true, - ["Hold Head Active"] = true, - ["Hold Head Inactive"] = true, - ["Roll Explosion"] = true, - ["Roll Head Active"] = true, - ["Roll Head Inactive"] = true, -}; ---Defined the parts to be rotated at which degree -ret.Rotate = -{ - Up = 180, - Down = 0, - Left = 90, - Right = -90, - UpLeft = 135, - UpRight = -135, - Center = 0, - DownLeft = 0, - DownRight = -0, -}; - ---Parts that should be Redirected to _Blank.png ---you can add/remove stuff if you want -ret.Blank = -{ - ["Hold Tail Active"] = true, - ["Hold Tail Inactive"] = true, - ["Roll Tail Active"] = true, - ["Roll Tail Inactive"] = true, -}; - ---dont forget to close the ret cuz else it wont work ;> -return ret; +--[[ +USW Noteskin.lua Version V2 +Made for Version Stepmania 5 Preview 4 + +I am the bone of my noteskin +Arrows are my body, and explosions are my blood +I have created over a thousand noteskins +Unknown to death +Nor known to life +Have withstood pain to create many noteskins +Yet these hands will never hold anything +So as I pray, Unlimited Stepman Works + +If you want to know the list of lua commands you can use here is the main page for help http://kki.ajworld.net/lua/sm5/Lua.xml +--]] + +local ret = ... or {}; + +--I always had the problem were I wrote var instead of Var, which really iritated me wondering why a code wouldnt work +--You can edit it out if you want, But I'm just gonna leave it here so incase a person wants to make a noteskin +--And gets the same problem as me were you use var instead of Var, atleast this should make it still work +--But its best to use Var, And make sure to check all your code for little mistakes while you write ;) +local var = Var; + +--[[ +This is the general redirect table, Not the general redirect code, We use this if we are lazy ;) +Or if we cant a directon of a noteskin use the exact same files as another direction +The most re used direction in this case is "Down" +You can add and remove values if you want, It works for every game type, +If you want an easy way to know how all directions are called go in to stepmaniaoptions and change gametype +Then if you go to key configure look at the names for the keys, They are the same names that are used in the noteskin.lua +--]] +ret.RedirTable = +{ + Up = "Down", + Down = "Down", + Left = "Down", + Right = "Down", + Center = "Down", + DownLeft = "Down", + DownRight = "Down", + UpLeft = "Down", + UpRight = "Down", +}; + +--[[ +This is the general redirect code, We use this if we want to redirect parts of noteskins to other parts +Because unlike the ret.RedirTable which redirects everything to the defined direction. +Here we can add redirects for seperate elements which means we can use separate images if we want +--]] +local OldRedir = ret.Redir; +ret.Redir = function(sButton, sElement) + sButton, sElement = OldRedir(sButton, sElement); + + --This is were we call the ret.RedirTable and define it as sButton + --So it get called when we return sButton including the code under here + sButton = ret.RedirTable[sButton]; + + --We want to use custom hold/roll per direction, But keep global hold/roll heads and explosions. + if string.find(sElement, "Hold") or string.find(sElement, "Roll") then + if not string.find(sElement, "Head") and not string.find(sElement, "Explosion") then + if Var "Button" == "Left" then sButton = "Left"; end + if Var "Button" == "Right" then sButton = "Right"; end + if Var "Button" == "Down" then sButton = "Down"; end + if Var "Button" == "Up" then sButton = "Up"; end + if Var "Button" == "UpLeft" then sButton = "UpLeft"; end + if Var "Button" == "UpRight" then sButton = "UpRight"; end + end + end + + --Making Roll Head/Explosion fallback on Hold + if sElement == "Roll Head Inactive" then sElement = "Hold Head Inactive"; end + if sElement == "Roll Head Active" then sElement = "Hold Head Active"; end + if sElement == "Roll Explosion" then sElement = "Hold Explosion"; end + + --Adding stuff for more directions for diffrent gametypes + if GAMESTATE:GetCurrentGame():GetName() == "dance" then + --Making the Upleft and Upright Hold/Roll body/BottomCap/TopCap but not Explosions use SoloUpLeft and SoloUpRight instead + --When the gametype is dance this way we can define diffrent images for diffrent gametypes + if string.find(sElement, "Hold") or string.find(sElement, "Roll") then + if Var "Button" == "UpLeft" and not string.find(sElement, "Explosion") then sButton = "SoloUpLeft"; end + if Var "Button" == "UpRight" and not string.find(sElement, "Explosion") then sButton = "SoloUpRight"; end + end + end + if GAMESTATE:GetCurrentGame():GetName() == "pump" then + --Making Pump it up be rythm color based, Only problem is that in sm player 1 and player 2 noteskins are both defined as player 1 + --Need a way to get the parent but atm it ends up as nil because of no parent + --So Player 1 and 2 both use Player 1 images for now + --We also let every direction aside from Center use DownLeftp1 + if GAMESTATE:GetMasterPlayerNumber() == "PlayerNumber_P1" then + if Var "Button" == "UpLeft" then sButton = "DownLeftp1"; end + if Var "Button" == "UpRight" then sButton = "DownLeftp1"; end + if Var "Button" == "DownLeft" then sButton = "DownLeftp1"; end + if Var "Button" == "DownRight" then sButton = "DownLeftp1"; end + if Var "Button" == "Center" then sButton = "Centerp1"; end + elseif GAMESTATE:GetMasterPlayerNumber() == "PlayerNumber_P2" then + if Var "Button" == "UpLeft" then sButton = "Downleftp2"; end + if Var "Button" == "UpRight" then sButton = "Downleftp2"; end + if Var "Button" == "DownLeft" then sButton = "DownLeftp2"; end + if Var "Button" == "DownRight" then sButton = "DownLeftp2"; end + if Var "Button" == "Center" then sButton = "Centerp2"; end + end + --We already defined everything for diffrent players above + --But we want to use the same Center hold images for every direction and player + if string.find(sElement, "Bottomcap") then sButton = "Center"; end + if string.find(sElement, "Topcap") then sButton = "Center"; end + if string.find(sElement, "Body") then sButton = "Center"; end + --Lets also add explosion as Center + if string.find(sElement, "Explosion") then sButton = "Center"; end + if sElement == "Tap Explosion Dim" then sElement = "Tap Explosion Bright"; end + end + + --Define that every direction uses Tap Mine from Down + if Var "Element" == "Tap Mine" then sButton = "Down"; end + + return sButton, sElement; +end + +--[[ +This is the general function code +In here we can define how we want the stuff to act +Which basicly means instead of using a load of lua files for just some effect +We can just use code in here so we need to use less files +Which is nice if you want to save up space ;) +Only problem is that the Hold/Roll parts are written down in the code as sprite files +Which is the original old 3.9 code, Which basicly means that their code doesnt work in here + +Also unlike the general redirect code which has sElement and sButton defined in the common noteskin +They need to be defined here manualy which can be done with +local sElement = Var "Element"; +local sButton = Var "Button"; +To make it easier for everyone I already added them +The reason we use local to define the stuff is for when a code doesnt accept the full code +Like for example if we did string.find(Var "Element", "Down") it wouldnt work +--]] +local OldFunc = ret.Load; +function ret.Load() + local t = OldFunc(); + local sElement = Var "Element"; + local sButton = Var "Button"; + + --Explosion should not be rotated; it calls other actors. + if Var "Element" == "Explosion" then + t.BaseRotationZ = nil; + end + + + if GAMESTATE:GetCurrentGame():GetName() == "dance" then + --We define that we dont want the hold heads for UpLeft and UpRight to be rotated because we rotate them in a lua file + if Var "Button" == "UpLeft" and string.find(sElement, "Head") then t.BaseRotationZ = nil; end + if Var "Button" == "UpRight" and string.find(sElement, "Head") then t.BaseRotationZ = nil; end + end + if GAMESTATE:GetCurrentGame():GetName() == "pump" then + --Because the images for Pump it up are using the DownLeft for every direction aside from center, We let it be rotated here + --Because the rotate table is set up for dance and these are for PIU + if Var "Button" == "UpLeft" then t.BaseRotationZ = 90; end + if Var "Button" == "UpRight" then t.BaseRotationZ = 180; end + if Var "Button" == "DownLeft" then t.BaseRotationZ = nil; end + if Var "Button" == "DownRight" then t.BaseRotationZ = -90; end + if Var "Element" == "Tap Mine" then t.InitCommand=cmd(zoom,-0.8); end + end + return t; +end +-- > + + +--Define which parts of noteskins which we want to rotate +ret.PartsToRotate = +{ + ["Receptor"] = true, + ["Tap Explosion Bright"] = true, + ["Tap Explosion Dim"] = true, + ["Tap Note"] = true, + ["Tap Fake"] = true, + ["Tap Lift"] = true, + ["Tap Addition"] = true, + ["Hold Explosion"] = true, + ["Hold Head Active"] = true, + ["Hold Head Inactive"] = true, + ["Roll Explosion"] = true, + ["Roll Head Active"] = true, + ["Roll Head Inactive"] = true, +}; +--Defined the parts to be rotated at which degree +ret.Rotate = +{ + Up = 180, + Down = 0, + Left = 90, + Right = -90, + UpLeft = 135, + UpRight = -135, + Center = 0, + DownLeft = 0, + DownRight = -0, +}; + +--Parts that should be Redirected to _Blank.png +--you can add/remove stuff if you want +ret.Blank = +{ + ["Hold Tail Active"] = true, + ["Hold Tail Inactive"] = true, + ["Roll Tail Active"] = true, + ["Roll Tail Inactive"] = true, +}; + +--dont forget to close the ret cuz else it wont work ;> +return ret; diff --git a/Themes/default/Graphics/CombinedLifeMeterTug stream p1.png b/Themes/default/Graphics/CombinedLifeMeterTug stream p1.png new file mode 100644 index 0000000000..aaeadbe7af Binary files /dev/null and b/Themes/default/Graphics/CombinedLifeMeterTug stream p1.png differ diff --git a/Themes/default/Graphics/CombinedLifeMeterTug stream p2.png b/Themes/default/Graphics/CombinedLifeMeterTug stream p2.png new file mode 100644 index 0000000000..3f3e0c3b35 Binary files /dev/null and b/Themes/default/Graphics/CombinedLifeMeterTug stream p2.png differ diff --git a/Themes/default/Graphics/ScoreDisplayRave frame base p1.redir b/Themes/default/Graphics/ScoreDisplayRave frame base p1.redir new file mode 100644 index 0000000000..a5ce1a161b --- /dev/null +++ b/Themes/default/Graphics/ScoreDisplayRave frame base p1.redir @@ -0,0 +1 @@ +_rave meter base \ No newline at end of file diff --git a/Themes/default/Graphics/ScoreDisplayRave frame base p2.redir b/Themes/default/Graphics/ScoreDisplayRave frame base p2.redir new file mode 100644 index 0000000000..a5ce1a161b --- /dev/null +++ b/Themes/default/Graphics/ScoreDisplayRave frame base p2.redir @@ -0,0 +1 @@ +_rave meter base \ No newline at end of file diff --git a/Themes/default/Graphics/_rave meter base.png b/Themes/default/Graphics/_rave meter base.png new file mode 100644 index 0000000000..1a8f2f93eb Binary files /dev/null and b/Themes/default/Graphics/_rave meter base.png differ diff --git a/Themes/default/metrics.ini b/Themes/default/metrics.ini index 9649a7fbdb..56c6d309c2 100644 --- a/Themes/default/metrics.ini +++ b/Themes/default/metrics.ini @@ -199,11 +199,13 @@ RightOnCommand=horizalign,left;diffuse,PlayerColor(PLAYER_1) 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 +Text1OnCommand=stopeffect;stoptweening;halign,1;shadowlength,0;strokecolor,Color("Outline") +Text1FormatFunction=function(fSeconds) fSeconds=math.floor(fSeconds); return string.format("%02.0f",fSeconds) end + +Text2OnCommand=x,2;y,-3;stopeffect;stoptweening;halign,0;shadowlength,0;strokecolor,Color("Outline");zoom,0.65 +Text2FormatFunction=function(fSeconds) local remainder=fSeconds-math.floor(fSeconds); local digit=math.floor(remainder*100); return string.format("%02.0f",digit) end Warning10Command=diffuseshift;effectperiod,1;effectcolor2,Color("Red");effectcolor1,color("0.5,0,0,1"); diff --git a/src/Difficulty.cpp b/src/Difficulty.cpp index 60471109df..9f18ac5442 100644 --- a/src/Difficulty.cpp +++ b/src/Difficulty.cpp @@ -79,9 +79,8 @@ RString GetCustomDifficulty( StepsType st, Difficulty dc, CourseType ct ) /* XXX GAMEMAN->GetStepsTypeInfo( StepsType_Invalid ) will crash. I'm not * sure what the correct behavior in this case should be. Should we still * allow custom difficulties? Why do we not allow custom difficulties for - * Couple, Routine, or Edit? - Steve */ - // CustomDifficulty for Edit defeats the purpose of the edit's name. - // I don't know the other two. -aj + * Edit? - Steve */ + // CustomDifficulty for Edit defeats the purpose of the edit's name. -aj if( st == StepsType_Invalid ) { /* This is not totally necessary since DifficultyToString() will diff --git a/src/Song.cpp b/src/Song.cpp index 53214d23e1..dad57461b9 100644 --- a/src/Song.cpp +++ b/src/Song.cpp @@ -588,8 +588,11 @@ void Song::TidyUpData( bool fromCache, bool duringCache ) // is the CDTitle. CHECKPOINT_M( "Looking for images..." ); - - if( !duringCache ) + // HACK: DWI/KSF files require searching the file system for this info. + RString extension = GetExtension(this->m_sSongFileName); + extension.MakeLower(); + + if( extension == "dwi" || extension == "ksf" || !duringCache ) { // First, check the file name for hints. @@ -804,7 +807,7 @@ void Song::TidyUpData( bool fromCache, bool duringCache ) // If no BGChanges are specified and there are movies in the song directory, then assume // they are DWI style where the movie begins at beat 0. - if( !HasBGChanges() && !duringCache ) + if( extension == "dwi" || extension == "ksf" || (!HasBGChanges() && !duringCache) ) { vector arrayPossibleMovies; GetDirListing( m_sSongDir + RString("*.ogv"), arrayPossibleMovies );