refactor and change NoteSkins
@@ -0,0 +1,38 @@
|
|||||||
|
local t = Def.ActorFrame {
|
||||||
|
children = {
|
||||||
|
NOTESKIN:LoadActor( Var "Button", "Hold Explosion" ) .. {
|
||||||
|
HoldingOnCommand=NOTESKIN:GetMetricA("HoldGhostArrow", "HoldingOnCommand");
|
||||||
|
HoldingOffCommand=NOTESKIN:GetMetricA("HoldGhostArrow", "HoldingOffCommand");
|
||||||
|
InitCommand=cmd(playcommand,"HoldingOff";finishtweening);
|
||||||
|
};
|
||||||
|
NOTESKIN:LoadActor( Var "Button", "Tap Explosion Dim" ) .. {
|
||||||
|
InitCommand=cmd(diffusealpha,0);
|
||||||
|
W5Command=NOTESKIN:GetMetricA("GhostArrowDim", "W5Command");
|
||||||
|
W4Command=NOTESKIN:GetMetricA("GhostArrowDim", "W4Command");
|
||||||
|
W3Command=NOTESKIN:GetMetricA("GhostArrowDim", "W3Command");
|
||||||
|
W2Command=NOTESKIN:GetMetricA("GhostArrowDim", "W2Command");
|
||||||
|
W1Command=NOTESKIN:GetMetricA("GhostArrowDim", "W1Command");
|
||||||
|
HeldCommand=NOTESKIN:GetMetricA("GhostArrowDim", "HeldCommand");
|
||||||
|
JudgmentCommand=cmd(finishtweening);
|
||||||
|
BrightCommand=cmd(hidden,1);
|
||||||
|
DimCommand=cmd(hidden,0);
|
||||||
|
};
|
||||||
|
NOTESKIN:LoadActor( Var "Button", "Tap Explosion Bright" ) .. {
|
||||||
|
InitCommand=cmd(diffusealpha,0);
|
||||||
|
W5Command=NOTESKIN:GetMetricA("GhostArrowBright", "W5Command");
|
||||||
|
W4Command=NOTESKIN:GetMetricA("GhostArrowBright", "W4Command");
|
||||||
|
W3Command=NOTESKIN:GetMetricA("GhostArrowBright", "W3Command");
|
||||||
|
W2Command=NOTESKIN:GetMetricA("GhostArrowBright", "W2Command");
|
||||||
|
W1Command=NOTESKIN:GetMetricA("GhostArrowBright", "W1Command");
|
||||||
|
HeldCommand=NOTESKIN:GetMetricA("GhostArrowBright", "HeldCommand");
|
||||||
|
JudgmentCommand=cmd(finishtweening);
|
||||||
|
BrightCommand=cmd(hidden,0);
|
||||||
|
DimCommand=cmd(hidden,1);
|
||||||
|
};
|
||||||
|
NOTESKIN:LoadActor( Var "Button", "HitMine Explosion" ) .. {
|
||||||
|
InitCommand=cmd(blend,"BlendMode_Add";diffusealpha,0);
|
||||||
|
HitMineCommand=NOTESKIN:GetMetricA("GhostArrowBright", "HitMineCommand");
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return t;
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
Fallback Ready Receptor
|
||||||
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 3.8 KiB |
|
After Width: | Height: | Size: 3.8 KiB |
|
After Width: | Height: | Size: 4.8 KiB |
|
After Width: | Height: | Size: 5.4 KiB |
|
After Width: | Height: | Size: 5.1 KiB |
@@ -0,0 +1 @@
|
|||||||
|
Fallback Tap Note
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
Fallback Tap Note
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
_blank
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
_blank
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
_blank
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
_blank
|
||||||
|
After Width: | Height: | Size: 3.4 KiB |
@@ -0,0 +1 @@
|
|||||||
|
return LoadActor( NOTESKIN:GetPath("", "_Tap Lead-in Receptor") );
|
||||||
|
After Width: | Height: | Size: 3.8 KiB |
|
After Width: | Height: | Size: 3.8 KiB |
|
After Width: | Height: | Size: 4.9 KiB |
|
After Width: | Height: | Size: 4.7 KiB |
@@ -0,0 +1 @@
|
|||||||
|
Fallback Tap Note
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
Fallback Tap Note
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
_blank
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
_blank
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
_blank
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
_blank
|
||||||
|
After Width: | Height: | Size: 5.2 KiB |
|
After Width: | Height: | Size: 4.9 KiB |
|
After Width: | Height: | Size: 4.7 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 5.2 KiB |
@@ -0,0 +1,55 @@
|
|||||||
|
local ret = ... or {}
|
||||||
|
|
||||||
|
ret.Redir = function(sButton, sElement)
|
||||||
|
-- To redirect files for Up to Down:
|
||||||
|
-- if sButton == "Up" then sButton = "Down"; end
|
||||||
|
return sButton, sElement;
|
||||||
|
end
|
||||||
|
|
||||||
|
ret.Rotate =
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
ret.PartsToRotate =
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
ret.Blank =
|
||||||
|
{
|
||||||
|
-- To blank tap notes:
|
||||||
|
-- ["tap note"] = true,
|
||||||
|
};
|
||||||
|
|
||||||
|
local function func()
|
||||||
|
local sButton = Var "Button";
|
||||||
|
local sElement = Var "Element";
|
||||||
|
|
||||||
|
if ret.Blank[sElement] then
|
||||||
|
-- Return a blank element. If SpriteOnly is set,
|
||||||
|
-- we need to return a sprite; otherwise just return
|
||||||
|
-- a dummy actor.
|
||||||
|
if Var "SpriteOnly" then
|
||||||
|
local t = LoadActor( "_blank" );
|
||||||
|
return t;
|
||||||
|
else
|
||||||
|
return Def.Actor {};
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
local sButtonToLoad, sElementToLoad = ret.Redir(sButton, sElement);
|
||||||
|
|
||||||
|
local sPath = NOTESKIN:GetPath( sButtonToLoad, sElementToLoad );
|
||||||
|
|
||||||
|
local t = LoadActor( sPath );
|
||||||
|
|
||||||
|
if ret.PartsToRotate[sElement] then
|
||||||
|
t.BaseRotationZ = ret.Rotate[sButton];
|
||||||
|
end
|
||||||
|
|
||||||
|
return t;
|
||||||
|
end
|
||||||
|
|
||||||
|
-- This is the only required function.
|
||||||
|
ret.Load = func;
|
||||||
|
|
||||||
|
return ret;
|
||||||
@@ -0,0 +1,25 @@
|
|||||||
|
return Def.ActorFrame {
|
||||||
|
children = {
|
||||||
|
LoadActor( "_Tap Receptor", NOTESKIN:LoadActor(Var "Button", "Ready Receptor") ) .. {
|
||||||
|
Frame0000=2;
|
||||||
|
Delay0000=1;
|
||||||
|
|
||||||
|
InitCommand=cmd(playcommand, "Set");
|
||||||
|
GameplayLeadInChangedMessageCommand=cmd(playcommand,"Set");
|
||||||
|
SetCommand=cmd(visible,GAMESTATE:GetGameplayLeadIn());
|
||||||
|
};
|
||||||
|
|
||||||
|
LoadActor( "_Tap Receptor", NOTESKIN:LoadActor(Var "Button", "Go Receptor") ) .. {
|
||||||
|
Frame0000=0;
|
||||||
|
Delay0000=0.1;
|
||||||
|
Frame0001=1;
|
||||||
|
Delay0001=0.8;
|
||||||
|
Frame0002=0;
|
||||||
|
Delay0002=0.1;
|
||||||
|
|
||||||
|
InitCommand=cmd(playcommand, "Set");
|
||||||
|
GameplayLeadInChangedMessageCommand=cmd(playcommand,"Set");
|
||||||
|
SetCommand=cmd(visible,not GAMESTATE:GetGameplayLeadIn());
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
local File = ...;
|
||||||
|
|
||||||
|
return LoadActor( File ) .. {
|
||||||
|
InitCommand=cmd(playcommand,"Lift");
|
||||||
|
ReverseOnCommand=NOTESKIN:GetMetricA("Press", "ReverseOnCommand");
|
||||||
|
ReverseOffCommand=NOTESKIN:GetMetricA("Press", "ReverseOffCommand");
|
||||||
|
PressCommand=NOTESKIN:GetMetricA("Press", "PressCommand");
|
||||||
|
LiftCommand=NOTESKIN:GetMetricA("Press", "LiftCommand");
|
||||||
|
};
|
||||||
@@ -0,0 +1,15 @@
|
|||||||
|
local t = ...;
|
||||||
|
assert( type(t) == "table" );
|
||||||
|
|
||||||
|
return t .. {
|
||||||
|
InitCommand=NOTESKIN:GetMetricA('ReceptorArrow', 'InitCommand');
|
||||||
|
MissCommand=NOTESKIN:GetMetricA('ReceptorArrow', 'MissCommand');
|
||||||
|
NoneCommand=NOTESKIN:GetMetricA('ReceptorArrow', 'NoneCommand');
|
||||||
|
HitMineCommand=NOTESKIN:GetMetricA('ReceptorArrow', 'HitMineCommand');
|
||||||
|
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');
|
||||||
|
};
|
||||||
|
|
||||||
|
After Width: | Height: | Size: 1003 B |
@@ -0,0 +1,114 @@
|
|||||||
|
[NoteDisplay]
|
||||||
|
DrawHoldHeadForTapsOnSameRow=1
|
||||||
|
TapNoteAnimationLengthInBeats=1
|
||||||
|
TapMineAnimationLengthInBeats=1
|
||||||
|
TapLiftAnimationLengthInBeats=1
|
||||||
|
HoldHeadAnimationLengthInBeats=1
|
||||||
|
HoldTopCapAnimationLengthInBeats=1
|
||||||
|
HoldBottomCapAnimationLengthInBeats=1
|
||||||
|
HoldBodyAnimationLengthInBeats=4
|
||||||
|
HoldTailAnimationLengthInBeats=4
|
||||||
|
TapNoteAnimationIsVivid=1
|
||||||
|
TapMineAnimationIsVivid=0
|
||||||
|
TapLiftAnimationIsVivid=0
|
||||||
|
HoldHeadAnimationIsVivid=0
|
||||||
|
HoldTopCapAnimationIsVivid=0
|
||||||
|
HoldBodyAnimationIsVivid=0
|
||||||
|
HoldBottomCapAnimationIsVivid=0
|
||||||
|
HoldTailAnimationIsVivid=0
|
||||||
|
TapNoteAdditionTextureCoordOffsetX=0
|
||||||
|
TapNoteAdditionTextureCoordOffsetY=0
|
||||||
|
TapNoteNoteColorTextureCoordSpacingX=0
|
||||||
|
TapNoteNoteColorTextureCoordSpacingY=0
|
||||||
|
TapMineAdditionTextureCoordOffsetX=0
|
||||||
|
TapMineAdditionTextureCoordOffsetY=0
|
||||||
|
TapMineNoteColorTextureCoordSpacingX=0
|
||||||
|
TapMineNoteColorTextureCoordSpacingY=0
|
||||||
|
TapLiftAdditionTextureCoordOffsetX=0
|
||||||
|
TapLiftAdditionTextureCoordOffsetY=0
|
||||||
|
TapLiftNoteColorTextureCoordSpacingX=0
|
||||||
|
TapLiftNoteColorTextureCoordSpacingY=0
|
||||||
|
HoldHeadAdditionTextureCoordOffsetX=0
|
||||||
|
HoldHeadAdditionTextureCoordOffsetY=0
|
||||||
|
HoldHeadNoteColorTextureCoordSpacingX=0
|
||||||
|
HoldHeadNoteColorTextureCoordSpacingY=0
|
||||||
|
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
|
||||||
|
|
||||||
|
|
||||||
|
StartDrawingHoldBodyOffsetFromHead=0
|
||||||
|
StopDrawingHoldBodyOffsetFromTail=-32 // top of tail
|
||||||
|
HoldLetGoGrayPercent=0.25
|
||||||
|
TapNoteUseLighting=0
|
||||||
|
TapMineUseLighting=0
|
||||||
|
TapLiftUseLighting=0
|
||||||
|
HoldHeadUseLighting=0
|
||||||
|
HoldTailUseLighting=0
|
||||||
|
ReverseDrawOrder=1101
|
||||||
|
HoldHeadIsAboveWavyParts=1
|
||||||
|
HoldTailIsAboveWavyParts=1
|
||||||
|
FlipHeadAndTailWhenReverse=0
|
||||||
|
FlipHoldBodyWhenReverse=0
|
||||||
|
TopHoldAnchorWhenReverse=0
|
||||||
|
HoldActiveIsAddLayer=0
|
||||||
|
|
||||||
|
[GhostArrowDim]
|
||||||
|
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
|
||||||
|
W5Command=diffuse,0.8,0.0,0.6,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0
|
||||||
|
W4Command=diffuse,0.3,0.8,1.0,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0
|
||||||
|
W3Command=diffuse,0.0,1.0,0.4,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0
|
||||||
|
W2Command=diffuse,1.0,1.0,0.3,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0
|
||||||
|
W1Command=diffuse,1.0,1.0,1.0,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0
|
||||||
|
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=
|
||||||
|
W5Command=diffuse,0.8,0.0,0.6,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0
|
||||||
|
W4Command=diffuse,0.3,0.8,1.0,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0
|
||||||
|
W3Command=diffuse,0.0,1.0,0.4,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0
|
||||||
|
W2Command=diffuse,1.0,1.0,0.3,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0
|
||||||
|
W1Command=diffuse,1.0,1.0,1.0,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0
|
||||||
|
HeldCommand=diffuse,1.0,1.0,1.0,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0
|
||||||
|
|
||||||
|
[ReceptorArrow]
|
||||||
|
InitCommand=effectclock,'beat';diffuseramp;effectcolor1,color("#000000FF");effectcolor2,color("#FFFFFFFF");
|
||||||
|
# By default, always step. Individual game skins can override this.
|
||||||
|
NoneCommand=stoptweening;zoom,.75;linear,0.11;zoom,1
|
||||||
|
HitMineCommand=
|
||||||
|
AvoidMineCommand=
|
||||||
|
MissCommand=
|
||||||
|
W5Command=stoptweening;zoom,.75;linear,0.11;zoom,1
|
||||||
|
W4Command=stoptweening;zoom,.75;linear,0.11;zoom,1
|
||||||
|
W3Command=stoptweening;zoom,.75;linear,0.11;zoom,1
|
||||||
|
W2Command=stoptweening;zoom,.75;linear,0.11;zoom,1
|
||||||
|
W1Command=stoptweening;zoom,.75;linear,0.11;zoom,1
|
||||||
|
PressCommand=
|
||||||
|
LiftCommand=
|
||||||
|
|
||||||
|
[HoldGhostArrow]
|
||||||
|
HoldingOnCommand=hidden,0
|
||||||
|
HoldingOffCommand=hidden,1
|
||||||
|
|
||||||
|
[Press]
|
||||||
|
ReverseOnCommand=vertalign,bottom
|
||||||
|
ReverseOffCommand=vertalign,top
|
||||||
|
PressCommand=hidden,0
|
||||||
|
LiftCommand=hidden,1
|
||||||
|
|
||||||
|
After Width: | Height: | Size: 4.3 KiB |
|
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 3.8 KiB |
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 3.8 KiB |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 4.8 KiB |
|
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 5.4 KiB |
|
Before Width: | Height: | Size: 6.8 KiB After Width: | Height: | Size: 5.1 KiB |
@@ -1,3 +1,3 @@
|
|||||||
return LoadActor( NOTESKIN:GetPath("", "_Tap Lead-in Receptor"),
|
return LoadActor( NOTESKIN:GetPath("", "_Tap Receptor"),
|
||||||
NOTESKIN:GetPath("_Down", "Receptor") );
|
NOTESKIN:LoadActor( Var "Button", "Go Receptor" ) );
|
||||||
|
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 3.8 KiB |
|
Before Width: | Height: | Size: 975 B After Width: | Height: | Size: 3.8 KiB |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 4.9 KiB |
|
Before Width: | Height: | Size: 598 B After Width: | Height: | Size: 4.7 KiB |
|
After Width: | Height: | Size: 6.5 KiB |
|
After Width: | Height: | Size: 5.8 KiB |
@@ -1,4 +1,4 @@
|
|||||||
return Def.Sprite {
|
local t = Def.Sprite {
|
||||||
Texture=NOTESKIN:GetPath('_down','tap note');
|
Texture=NOTESKIN:GetPath('_down','tap note');
|
||||||
Frame0000=0;
|
Frame0000=0;
|
||||||
Delay0000=0.1;
|
Delay0000=0.1;
|
||||||
@@ -8,28 +8,5 @@ return Def.Sprite {
|
|||||||
Delay0002=0.1;
|
Delay0002=0.1;
|
||||||
Frame0003=3;
|
Frame0003=3;
|
||||||
Delay0003=0.1;
|
Delay0003=0.1;
|
||||||
Frame0004=4;
|
};
|
||||||
Delay0004=0.1;
|
return t;
|
||||||
Frame0005=5;
|
|
||||||
Delay0005=0.1;
|
|
||||||
Frame0006=6;
|
|
||||||
Delay0006=0.1;
|
|
||||||
Frame0007=7;
|
|
||||||
Delay0007=0.1;
|
|
||||||
Frame0008=8;
|
|
||||||
Delay0008=0.1;
|
|
||||||
Frame0009=9;
|
|
||||||
Delay0009=0.1;
|
|
||||||
Frame0010=10;
|
|
||||||
Delay0010=0.1;
|
|
||||||
Frame0011=11;
|
|
||||||
Delay0011=0.1;
|
|
||||||
Frame0012=12;
|
|
||||||
Delay0012=0.1;
|
|
||||||
Frame0013=13;
|
|
||||||
Delay0013=0.1;
|
|
||||||
Frame0014=14;
|
|
||||||
Delay0014=0.1;
|
|
||||||
Frame0015=15;
|
|
||||||
Delay0015=0.1;
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -0,0 +1,99 @@
|
|||||||
|
local ret = ... or {};
|
||||||
|
|
||||||
|
ret.RedirTable =
|
||||||
|
{
|
||||||
|
Up = "Down",
|
||||||
|
Down = "Down",
|
||||||
|
Left = "Down",
|
||||||
|
Right = "Down",
|
||||||
|
UpLeft = "Down",
|
||||||
|
UpRight = "Down",
|
||||||
|
};
|
||||||
|
|
||||||
|
local OldRedir = ret.Redir;
|
||||||
|
ret.Redir = function(sButton, sElement)
|
||||||
|
sButton, sElement = OldRedir(sButton, sElement);
|
||||||
|
|
||||||
|
-- Instead of separate hold heads, use the tap note graphics.
|
||||||
|
if sElement == "Hold Head Inactive" or
|
||||||
|
sElement == "Hold Head Active" or
|
||||||
|
sElement == "Roll Head Inactive" or
|
||||||
|
sElement == "Roll Head Active"
|
||||||
|
then
|
||||||
|
sElement = "Tap Note";
|
||||||
|
end
|
||||||
|
|
||||||
|
sButton = ret.RedirTable[sButton];
|
||||||
|
|
||||||
|
return sButton, sElement;
|
||||||
|
end
|
||||||
|
|
||||||
|
-- To have separate graphics for each hold part:
|
||||||
|
--[[
|
||||||
|
local OldRedir = ret.Redir;
|
||||||
|
ret.Redir = function(sButton, sElement)
|
||||||
|
-- Redirect non-hold, non-roll parts.
|
||||||
|
if string.find(sElement, "hold") then
|
||||||
|
return sButton, sElement;
|
||||||
|
end
|
||||||
|
return OldRedir(sButton, sElement);
|
||||||
|
end
|
||||||
|
]]
|
||||||
|
|
||||||
|
local OldFunc = ret.Load;
|
||||||
|
function ret.Load()
|
||||||
|
local t = OldFunc();
|
||||||
|
|
||||||
|
-- The main "Explosion" part just loads other actors; don't rotate
|
||||||
|
-- it. The "Hold Explosion" part should not be rotated.
|
||||||
|
if Var "Element" == "Explosion" or
|
||||||
|
Var "Element" == "Hold Explosion" then
|
||||||
|
t.BaseRotationZ = nil;
|
||||||
|
end
|
||||||
|
return t;
|
||||||
|
end
|
||||||
|
|
||||||
|
ret.PartsToRotate =
|
||||||
|
{
|
||||||
|
["Go Receptor"] = true,
|
||||||
|
["Ready Receptor"] = true,
|
||||||
|
["Tap Explosion Bright"] = true,
|
||||||
|
["Tap Explosion Dim"] = true,
|
||||||
|
["Tap Note"] = true,
|
||||||
|
["Hold Head Active"] = true,
|
||||||
|
["Hold Head Inactive"] = true,
|
||||||
|
["Roll Head Active"] = true,
|
||||||
|
["Roll Head Inactive"] = true,
|
||||||
|
};
|
||||||
|
ret.Rotate =
|
||||||
|
{
|
||||||
|
Up = 180,
|
||||||
|
Down = 0,
|
||||||
|
Left = 90,
|
||||||
|
Right = -90,
|
||||||
|
UpLeft = 135,
|
||||||
|
UpRight = 225,
|
||||||
|
};
|
||||||
|
|
||||||
|
--
|
||||||
|
-- If a derived skin wants to have separate UpLeft graphics,
|
||||||
|
-- use this:
|
||||||
|
--
|
||||||
|
-- ret.RedirTable.UpLeft = "UpLeft";
|
||||||
|
-- ret.RedirTable.UpRight = "UpLeft";
|
||||||
|
-- ret.Rotate.UpLeft = 0;
|
||||||
|
-- ret.Rotate.UpRight = 90;
|
||||||
|
--
|
||||||
|
ret.Blank =
|
||||||
|
{
|
||||||
|
["Hold Topcap Active"] = true,
|
||||||
|
["Hold Topcap Inactive"] = true,
|
||||||
|
["Roll Topcap Active"] = true,
|
||||||
|
["Roll Topcap Inactive"] = true,
|
||||||
|
["Hold Tail Active"] = true,
|
||||||
|
["Hold Tail Inactive"] = true,
|
||||||
|
["Roll Tail Active"] = true,
|
||||||
|
["Roll Tail Inactive"] = true,
|
||||||
|
};
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
After Width: | Height: | Size: 142 KiB |
@@ -1,4 +1,8 @@
|
|||||||
|
[Global]
|
||||||
|
#FallbackNoteSkin=common
|
||||||
|
|
||||||
[NoteDisplay]
|
[NoteDisplay]
|
||||||
|
TapNoteAnimationIsVivid=0
|
||||||
DrawHoldHeadForTapsOnSameRow=1
|
DrawHoldHeadForTapsOnSameRow=1
|
||||||
TapNoteAnimationLengthInBeats=4
|
TapNoteAnimationLengthInBeats=4
|
||||||
TapAdditionAnimationLengthInBeats=4
|
TapAdditionAnimationLengthInBeats=4
|
||||||
@@ -16,8 +20,13 @@ UseLighting=0
|
|||||||
ReverseDrawOrder=1101
|
ReverseDrawOrder=1101
|
||||||
HoldHeadIsAboveWavyParts=1
|
HoldHeadIsAboveWavyParts=1
|
||||||
HoldTailIsAboveWavyParts=1
|
HoldTailIsAboveWavyParts=1
|
||||||
TapNoteAdditionTextureCoordOffsetY=0.5
|
TapNoteAdditionTextureCoordOffsetX=0.5
|
||||||
|
TapNoteAdditionTextureCoordOffsetY=0
|
||||||
|
|
||||||
|
TapNoteNoteColorTextureCoordSpacingX=0
|
||||||
|
TapNoteNoteColorTextureCoordSpacingY=0.125
|
||||||
|
HoldHeadNoteColorTextureCoordSpacingX=0
|
||||||
|
HoldHeadNoteColorTextureCoordSpacingY=0.125
|
||||||
[GhostArrowDim]
|
[GhostArrowDim]
|
||||||
NoneCommand=
|
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
|
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
|
||||||
|
|||||||