Welcome to the world of merging.

This commit is contained in:
Jason Felds
2012-01-08 21:40:36 -05:00
27 changed files with 648 additions and 644 deletions
@@ -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);
};
@@ -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);
};
+21 -21
View File
@@ -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;
@@ -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 );
};
@@ -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 );
};
@@ -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 );
};
@@ -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);
};
+21 -21
View File
@@ -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;
@@ -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;
};
@@ -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;
};
+19 -19
View File
@@ -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;
};
+19 -19
View File
@@ -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;
};
+18 -18
View File
@@ -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;
+20 -20
View File
@@ -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;
};
@@ -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;
@@ -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 );
};
@@ -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 );
};
@@ -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 );
};
+209 -209
View File
@@ -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;

Before

Width:  |  Height:  |  Size: 223 KiB

After

Width:  |  Height:  |  Size: 223 KiB

+244 -244
View File
@@ -1,244 +1,244 @@
#USW Metric Version V2
#Made for Version Stepmania 5 Preview 2
#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
[Global]
#Noteskin this noteskin falls back on
#We normaly make this fallback on common
#Because its the global noteskin every default fallsback on to
FallbackNoteSkin=common
[NoteDisplay]
#Noteskin Animation Lengths
AnimationIsBeatBased=1
##Tap Parts
TapNoteAnimationLength=2
TapMineAnimationLength=4
TapLiftAnimationLength=2
TapFakeAnimationLength=2
##Hold Parts
HoldHeadAnimationLength=1
HoldTopCapAnimationLength=4
HoldBottomCapAnimationLength=4
HoldBodyAnimationLength=4
HoldTailAnimationLength=4
##Roll Parts
RollHeadAnimationLength=1
RollTopCapAnimationLength=4
RollBottomCapAnimationLength=4
RollBodyAnimationLength=4
RollTailAnimationLength=4
#Define if noteskin is Vivid or not
#Value 1 = true, Value 0 = false
##Tap Parts
TapNoteAnimationIsVivid=0
TapMineAnimationIsVivid=0
TapFakeAnimationIsVivid=0
TapLiftAnimationIsVivid=0
##Hold Parts
HoldHeadAnimationIsVivid=0
HoldTopCapAnimationIsVivid=0
HoldBodyAnimationIsVivid=0
HoldBottomCapAnimationIsVivid=0
HoldTailAnimationIsVivid=0
##Roll Parts
RollHeadAnimationIsVivid=0
RollTopCapAnimationIsVivid=0
RollBodyAnimationIsVivid=0
RollBottomCapAnimationIsVivid=0
RollTailAnimationIsVivid=0
#Texture Coord Offest Info
#This is the TextureCoordOffset which we use for Rhythm colored noteskins
#If you dont want to use it, just keep the value 0
#Rhythm colored noteskins are noteskins that have different colors for every
#4th, 8th, 12th, 16th and so on
#To use this you need to use simple math because it isnt based on the size of
#the image but its based on the total value of the size which is 1
#So if you got 9 frames (including 192nd)
#You need to run this simple math
# 1 / 9 = 0.11111111111111111111111111 (and so on)
#Because using the entire value is to long, lets make it smaler to 6 digits
#You can make it longer if you want but lets keep it nice to 6 digits
##Tap Parts
TapNoteAdditionTextureCoordOffsetX=0.5
TapNoteAdditionTextureCoordOffsetY=0
TapNoteNoteColorTextureCoordSpacingX=0
TapNoteNoteColorTextureCoordSpacingY=0.111111
TapMineAdditionTextureCoordOffsetX=0
TapMineAdditionTextureCoordOffsetY=0
TapMineNoteColorTextureCoordSpacingX=0
TapMineNoteColorTextureCoordSpacingY=0.111111
TapLiftAdditionTextureCoordOffsetX=0
TapLiftAdditionTextureCoordOffsetY=0
TapLiftNoteColorTextureCoordSpacingX=0
TapLiftNoteColorTextureCoordSpacingY=0.111111
TapFakeAdditionTextureCoordOffsetX=0
TapFakeAdditionTextureCoordOffsetY=0
TapFakeNoteColorTextureCoordSpacingX=0
TapFakeNoteColorTextureCoordSpacingY=0.111111
##Hold Parts
HoldHeadAdditionTextureCoordOffsetX=0
HoldHeadAdditionTextureCoordOffsetY=0
HoldHeadNoteColorTextureCoordSpacingX=0
HoldHeadNoteColorTextureCoordSpacingY=0.111111
HoldTopCapAdditionTextureCoordOffsetX=0
HoldTopCapAdditionTextureCoordOffsetY=0
HoldTopCapNoteColorTextureCoordSpacingX=0
HoldTopCapNoteColorTextureCoordSpacingY=0
HoldBodyAdditionTextureCoordOffsetX=0
HoldBodyAdditionTextureCoordOffsetY=0
HoldBodyNoteColorTextureCoordSpacingX=0
HoldBodyNoteColorTextureCoordSpacingY=0
HoldBottomCapAdditionTextureCoordOffsetX=0
HoldBottomCapAdditionTextureCoordOffsetY=0
HoldBottomCapNoteColorTextureCoordSpacingX=0
HoldBottomCapNoteColorTextureCoordSpacingY=0
HoldTailAdditionTextureCoordOffsetX=0
HoldTailAdditionTextureCoordOffsetY=0
HoldTailNoteColorTextureCoordSpacingX=0
HoldTailNoteColorTextureCoordSpacingY=0
##Roll Parts
RollHeadAdditionTextureCoordOffsetX=0
RollHeadAdditionTextureCoordOffsetY=0
RollHeadNoteColorTextureCoordSpacingX=0
RollHeadNoteColorTextureCoordSpacingY=0.111111
RollTopCapAdditionTextureCoordOffsetX=0
RollTopCapAdditionTextureCoordOffsetY=0
RollTopCapNoteColorTextureCoordSpacingX=0
RollTopCapNoteColorTextureCoordSpacingY=0
RollBodyAdditionTextureCoordOffsetX=0
RollBodyAdditionTextureCoordOffsetY=0
RollBodyNoteColorTextureCoordSpacingX=0
RollBodyNoteColorTextureCoordSpacingY=0
RollBottomCapAdditionTextureCoordOffsetX=0
RollBottomCapAdditionTextureCoordOffsetY=0
RollBottomCapNoteColorTextureCoordSpacingX=0
RollBottomCapNoteColorTextureCoordSpacingY=0
RollTailAdditionTextureCoordOffsetX=0
RollTailAdditionTextureCoordOffsetY=0
RollTailNoteColorTextureCoordSpacingX=0
RollTailNoteColorTextureCoordSpacingY=0
#Other Stuff
DrawHoldHeadForTapsOnSameRow=1
DrawRollHeadForTapsOnSameRow=1
TapHoldRollOnRowMeansHold=1
StartDrawingHoldBodyOffsetFromHead=0
StopDrawingHoldBodyOffsetFromTail=0
HoldLetGoGrayPercent=1
UseLighting=0
ReverseDrawOrder=1101
HoldHeadIsAboveWavyParts=1
HoldTailIsAboveWavyParts=1
HoldActiveIsAddLayer=0
#Edit this incase you want to make noteskin for reverse or both
FlipHoldBodyWhenReverse=0
FlipHeadAndTailWhenReverse=1
TopHoldAnchorWhenReverse=1
#Diffuse Info v2
#Diffuse uses a color code to define the diffuse
#You can use diffusealpha to make noteskins disapear with value = 0 or reapear with value = 1
#The way it works is pretty easy
#It is based on the Red,Blue,Green,Alpha value that you get with color
#But instead of 255,255,255,255 it uses 1,1,1,1
#So if you want to use a RBG value from an image like for example Taupe
#Which has a value of 72,60,50 , What we just do is / 254 on every value
#And we also add a Alpha (for transparent) value between 0.1 and 1
#So We get 0.283464,0.236220,0.196850,0.6
#You can go over the 6 digits after the . (which I don't do because I like to keep it clean and not to big)
#diffuse,1,1,1,1 is the basic code
#Change them to which value you want
#add ; at the end of your command incase you add more commands
[GhostArrowDim]
NoneCommand=
HitMineCommand=blend,'BlendMode_Add';diffuse,1,1,1,1;zoom,1;rotationz,0;linear,0.3;rotationz,90;linear,0.3;rotationz,180;diffusealpha,0
AvoidMineCommand=
MissCommand=
#Boo explosion
W5Command=diffuse,0.8,0.0,0.6,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0
#Good explosion
W4Command=diffuse,0.3,0.8,1.0,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0
#Great explosion
W3Command=diffuse,0.0,1.0,0.4,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0
#Perfect explosion
W2Command=diffuse,1.0,1.0,0.3,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0
#Marvelous explosion
W1Command=diffuse,1.0,1.0,1.0,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0
#Hold end commands
LetGoCommand=
HeldCommand=diffuse,1.0,1.0,1.0,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0
[GhostArrowBright]
NoneCommand=
HitMineCommand=blend,'BlendMode_Add';diffuse,1,1,1,1;zoom,1;rotationz,0;linear,0.3;rotationz,90;linear,0.3;rotationz,180;diffusealpha,0
AvoidMineCommand=
MissCommand=
#Boo explosion
W5Command=diffuse,0.8,0.0,0.6,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0
#Good explosion
W4Command=diffuse,0.3,0.8,1.0,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0
#Great explosion
W3Command=diffuse,0.0,1.0,0.4,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0
#Perfect explosion
W2Command=diffuse,1.0,1.0,0.3,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0
#Marvelous explosion
W1Command=diffuse,1.0,1.0,1.0,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0
#Hold end commands
LetGoCommand=
HeldCommand=diffuse,1.0,1.0,1.0,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0
[ReceptorArrow]
#For InitCommand take a look at "Down Receptor.lua"
#InitCommand=
NoneCommand=zoom,0.75;linear,0.11;zoom,1
PressCommand=
LiftCommand=
#The way the receptor responds when you hit an arrow on specified judgment
#Boo command
W5Command=stoptweening
#Good command
W4Command=stoptweening
#Great command
W3Command=stoptweening
#Perfect command
W2Command=stoptweening
#Marvelous command
W1Command=stoptweening
[HoldGhostArrow]
#The way the hold arrow reacts
HoldingOnCommand=visible,true
HoldingOffCommand=visible,false
RollOnCommand=visible,true
RollOffCommand=visible,false
[Press]
ReverseOnCommand=vertalign,bottom
ReverseOffCommand=vertalign,top
PressCommand=visible,true
LiftCommand=visible,false
#USW Metric Version V2
#Made for Version Stepmania 5 Preview 2
#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
[Global]
#Noteskin this noteskin falls back on
#We normaly make this fallback on common
#Because its the global noteskin every default fallsback on to
FallbackNoteSkin=common
[NoteDisplay]
#Noteskin Animation Lengths
AnimationIsBeatBased=1
##Tap Parts
TapNoteAnimationLength=2
TapMineAnimationLength=4
TapLiftAnimationLength=2
TapFakeAnimationLength=2
##Hold Parts
HoldHeadAnimationLength=1
HoldTopCapAnimationLength=4
HoldBottomCapAnimationLength=4
HoldBodyAnimationLength=4
HoldTailAnimationLength=4
##Roll Parts
RollHeadAnimationLength=1
RollTopCapAnimationLength=4
RollBottomCapAnimationLength=4
RollBodyAnimationLength=4
RollTailAnimationLength=4
#Define if noteskin is Vivid or not
#Value 1 = true, Value 0 = false
##Tap Parts
TapNoteAnimationIsVivid=0
TapMineAnimationIsVivid=0
TapFakeAnimationIsVivid=0
TapLiftAnimationIsVivid=0
##Hold Parts
HoldHeadAnimationIsVivid=0
HoldTopCapAnimationIsVivid=0
HoldBodyAnimationIsVivid=0
HoldBottomCapAnimationIsVivid=0
HoldTailAnimationIsVivid=0
##Roll Parts
RollHeadAnimationIsVivid=0
RollTopCapAnimationIsVivid=0
RollBodyAnimationIsVivid=0
RollBottomCapAnimationIsVivid=0
RollTailAnimationIsVivid=0
#Texture Coord Offest Info
#This is the TextureCoordOffset which we use for Rhythm colored noteskins
#If you dont want to use it, just keep the value 0
#Rhythm colored noteskins are noteskins that have different colors for every
#4th, 8th, 12th, 16th and so on
#To use this you need to use simple math because it isnt based on the size of
#the image but its based on the total value of the size which is 1
#So if you got 9 frames (including 192nd)
#You need to run this simple math
# 1 / 9 = 0.11111111111111111111111111 (and so on)
#Because using the entire value is to long, lets make it smaler to 6 digits
#You can make it longer if you want but lets keep it nice to 6 digits
##Tap Parts
TapNoteAdditionTextureCoordOffsetX=0.5
TapNoteAdditionTextureCoordOffsetY=0
TapNoteNoteColorTextureCoordSpacingX=0
TapNoteNoteColorTextureCoordSpacingY=0.0625
TapMineAdditionTextureCoordOffsetX=0
TapMineAdditionTextureCoordOffsetY=0
TapMineNoteColorTextureCoordSpacingX=0
TapMineNoteColorTextureCoordSpacingY=0.0625
TapLiftAdditionTextureCoordOffsetX=0
TapLiftAdditionTextureCoordOffsetY=0
TapLiftNoteColorTextureCoordSpacingX=0
TapLiftNoteColorTextureCoordSpacingY=0.0625
TapFakeAdditionTextureCoordOffsetX=0
TapFakeAdditionTextureCoordOffsetY=0
TapFakeNoteColorTextureCoordSpacingX=0
TapFakeNoteColorTextureCoordSpacingY=0.0625
##Hold Parts
HoldHeadAdditionTextureCoordOffsetX=0
HoldHeadAdditionTextureCoordOffsetY=0
HoldHeadNoteColorTextureCoordSpacingX=0
HoldHeadNoteColorTextureCoordSpacingY=0.0625
HoldTopCapAdditionTextureCoordOffsetX=0
HoldTopCapAdditionTextureCoordOffsetY=0
HoldTopCapNoteColorTextureCoordSpacingX=0
HoldTopCapNoteColorTextureCoordSpacingY=0
HoldBodyAdditionTextureCoordOffsetX=0
HoldBodyAdditionTextureCoordOffsetY=0
HoldBodyNoteColorTextureCoordSpacingX=0
HoldBodyNoteColorTextureCoordSpacingY=0
HoldBottomCapAdditionTextureCoordOffsetX=0
HoldBottomCapAdditionTextureCoordOffsetY=0
HoldBottomCapNoteColorTextureCoordSpacingX=0
HoldBottomCapNoteColorTextureCoordSpacingY=0
HoldTailAdditionTextureCoordOffsetX=0
HoldTailAdditionTextureCoordOffsetY=0
HoldTailNoteColorTextureCoordSpacingX=0
HoldTailNoteColorTextureCoordSpacingY=0
##Roll Parts
RollHeadAdditionTextureCoordOffsetX=0
RollHeadAdditionTextureCoordOffsetY=0
RollHeadNoteColorTextureCoordSpacingX=0
RollHeadNoteColorTextureCoordSpacingY=0.0625
RollTopCapAdditionTextureCoordOffsetX=0
RollTopCapAdditionTextureCoordOffsetY=0
RollTopCapNoteColorTextureCoordSpacingX=0
RollTopCapNoteColorTextureCoordSpacingY=0
RollBodyAdditionTextureCoordOffsetX=0
RollBodyAdditionTextureCoordOffsetY=0
RollBodyNoteColorTextureCoordSpacingX=0
RollBodyNoteColorTextureCoordSpacingY=0
RollBottomCapAdditionTextureCoordOffsetX=0
RollBottomCapAdditionTextureCoordOffsetY=0
RollBottomCapNoteColorTextureCoordSpacingX=0
RollBottomCapNoteColorTextureCoordSpacingY=0
RollTailAdditionTextureCoordOffsetX=0
RollTailAdditionTextureCoordOffsetY=0
RollTailNoteColorTextureCoordSpacingX=0
RollTailNoteColorTextureCoordSpacingY=0
#Other Stuff
DrawHoldHeadForTapsOnSameRow=1
DrawRollHeadForTapsOnSameRow=1
TapHoldRollOnRowMeansHold=1
StartDrawingHoldBodyOffsetFromHead=0
StopDrawingHoldBodyOffsetFromTail=0
HoldLetGoGrayPercent=1
UseLighting=0
ReverseDrawOrder=1101
HoldHeadIsAboveWavyParts=1
HoldTailIsAboveWavyParts=1
HoldActiveIsAddLayer=0
#Edit this incase you want to make noteskin for reverse or both
FlipHoldBodyWhenReverse=0
FlipHeadAndTailWhenReverse=1
TopHoldAnchorWhenReverse=1
#Diffuse Info v2
#Diffuse uses a color code to define the diffuse
#You can use diffusealpha to make noteskins disapear with value = 0 or reapear with value = 1
#The way it works is pretty easy
#It is based on the Red,Blue,Green,Alpha value that you get with color
#But instead of 255,255,255,255 it uses 1,1,1,1
#So if you want to use a RBG value from an image like for example Taupe
#Which has a value of 72,60,50 , What we just do is / 254 on every value
#And we also add a Alpha (for transparent) value between 0.1 and 1
#So We get 0.283464,0.236220,0.196850,0.6
#You can go over the 6 digits after the . (which I don't do because I like to keep it clean and not to big)
#diffuse,1,1,1,1 is the basic code
#Change them to which value you want
#add ; at the end of your command incase you add more commands
[GhostArrowDim]
NoneCommand=
HitMineCommand=blend,'BlendMode_Add';diffuse,1,1,1,1;zoom,1;rotationz,0;linear,0.3;rotationz,90;linear,0.3;rotationz,180;diffusealpha,0
AvoidMineCommand=
MissCommand=
#Boo explosion
W5Command=diffuse,0.8,0.0,0.6,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0
#Good explosion
W4Command=diffuse,0.3,0.8,1.0,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0
#Great explosion
W3Command=diffuse,0.0,1.0,0.4,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0
#Perfect explosion
W2Command=diffuse,1.0,1.0,0.3,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0
#Marvelous explosion
W1Command=diffuse,1.0,1.0,1.0,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0
#Hold end commands
LetGoCommand=
HeldCommand=diffuse,1.0,1.0,1.0,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0
[GhostArrowBright]
NoneCommand=
HitMineCommand=blend,'BlendMode_Add';diffuse,1,1,1,1;zoom,1;rotationz,0;linear,0.3;rotationz,90;linear,0.3;rotationz,180;diffusealpha,0
AvoidMineCommand=
MissCommand=
#Boo explosion
W5Command=diffuse,0.8,0.0,0.6,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0
#Good explosion
W4Command=diffuse,0.3,0.8,1.0,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0
#Great explosion
W3Command=diffuse,0.0,1.0,0.4,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0
#Perfect explosion
W2Command=diffuse,1.0,1.0,0.3,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0
#Marvelous explosion
W1Command=diffuse,1.0,1.0,1.0,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0
#Hold end commands
LetGoCommand=
HeldCommand=diffuse,1.0,1.0,1.0,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0
[ReceptorArrow]
#For InitCommand take a look at "Down Receptor.lua"
#InitCommand=
NoneCommand=zoom,0.75;linear,0.11;zoom,1
PressCommand=
LiftCommand=
#The way the receptor responds when you hit an arrow on specified judgment
#Boo command
W5Command=stoptweening
#Good command
W4Command=stoptweening
#Great command
W3Command=stoptweening
#Perfect command
W2Command=stoptweening
#Marvelous command
W1Command=stoptweening
[HoldGhostArrow]
#The way the hold arrow reacts
HoldingOnCommand=visible,true
HoldingOffCommand=visible,false
RollOnCommand=visible,true
RollOffCommand=visible,false
[Press]
ReverseOnCommand=vertalign,bottom
ReverseOffCommand=vertalign,top
PressCommand=visible,true
LiftCommand=visible,false
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

@@ -0,0 +1 @@
_rave meter base
@@ -0,0 +1 @@
_rave meter base
Binary file not shown.

After

Width:  |  Height:  |  Size: 314 B

+6 -4
View File
@@ -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");