smsvn -> ssc-hg glue: rearrange directory structure
@@ -0,0 +1,41 @@
|
||||
local t = Def.ActorFrame {
|
||||
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", "Roll Explosion" ) .. {
|
||||
RollOnCommand=NOTESKIN:GetMetricA("HoldGhostArrow", "RollOnCommand");
|
||||
RollOffCommand=NOTESKIN:GetMetricA("HoldGhostArrow", "RollOffCommand");
|
||||
InitCommand=cmd(playcommand,"RollOff";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 Hold Explosion
|
||||
@@ -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: 7.1 KiB |
|
After Width: | Height: | Size: 4.7 KiB |
|
After Width: | Height: | Size: 65 KiB |
|
After Width: | Height: | Size: 5.2 KiB |
@@ -0,0 +1,63 @@
|
||||
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.
|
||||
local t;
|
||||
if Var "SpriteOnly" then
|
||||
t = LoadActor( "_blank" );
|
||||
else
|
||||
t = Def.Actor {};
|
||||
end
|
||||
return t .. {
|
||||
cmd(hidden,true);
|
||||
};
|
||||
end
|
||||
|
||||
local sButtonToLoad, sElementToLoad = ret.Redir(sButton, sElement);
|
||||
assert( sButtonToLoad );
|
||||
assert( sElementToLoad );
|
||||
|
||||
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;
|
||||
|
||||
-- Use this to override the game types' default Load() functions.
|
||||
ret.CommonLoad = func;
|
||||
|
||||
return ret;
|
||||
@@ -0,0 +1,23 @@
|
||||
return Def.ActorFrame {
|
||||
LoadActor( "_Tap Receptor", NOTESKIN:LoadActor(Var "Button", "Ready Receptor") ) .. {
|
||||
Frames = {
|
||||
{ Frame = 2; Delay = 1; };
|
||||
};
|
||||
|
||||
InitCommand=cmd(playcommand, "Set");
|
||||
GameplayLeadInChangedMessageCommand=cmd(playcommand,"Set");
|
||||
SetCommand=cmd(visible,GAMESTATE:GetGameplayLeadIn());
|
||||
};
|
||||
|
||||
LoadActor( "_Tap Receptor", NOTESKIN:LoadActor(Var "Button", "Go Receptor") ) .. {
|
||||
Frames = {
|
||||
{ Frame = 0; };
|
||||
{ Frame = 1; Delay = 0.8; };
|
||||
{ Frame = 2; };
|
||||
};
|
||||
|
||||
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,117 @@
|
||||
[NoteDisplay]
|
||||
DrawHoldHeadForTapsOnSameRow=1
|
||||
TapNoteAnimationLengthInBeats=1
|
||||
TapMineAnimationLengthInBeats=1
|
||||
TapLiftAnimationLengthInBeats=1
|
||||
TapFakeAnimationLengthInBeats=1
|
||||
HoldHeadAnimationLengthInBeats=1
|
||||
HoldTopCapAnimationLengthInBeats=1
|
||||
HoldBottomCapAnimationLengthInBeats=1
|
||||
HoldBodyAnimationLengthInBeats=4
|
||||
HoldTailAnimationLengthInBeats=4
|
||||
TapNoteAnimationIsVivid=1
|
||||
TapMineAnimationIsVivid=0
|
||||
TapLiftAnimationIsVivid=0
|
||||
TapFakeAnimationIsVivid=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
|
||||
TapFakeAdditionTextureCoordOffsetX=0
|
||||
TapFakeAdditionTextureCoordOffsetY=0
|
||||
TapFakeNoteColorTextureCoordSpacingX=0
|
||||
TapFakeNoteColorTextureCoordSpacingY=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
|
||||
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("0.35,0.35,0.35,1");effectcolor2,color("1,1,1,1");
|
||||
# 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,false
|
||||
HoldingOffCommand=hidden,true
|
||||
RollOnCommand=hidden,false
|
||||
RollOffCommand=hidden,true
|
||||
|
||||
[Press]
|
||||
ReverseOnCommand=vertalign,bottom
|
||||
ReverseOffCommand=vertalign,top
|
||||
PressCommand=hidden,false
|
||||
LiftCommand=hidden,true
|
||||
|
||||
|
After Width: | Height: | Size: 4.4 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,2 @@
|
||||
return LoadActor( NOTESKIN:GetPath("", "_Tap Receptor"), NOTESKIN:LoadActor( Var "Button", "Go 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 |
|
After Width: | Height: | Size: 6.6 KiB |
|
After Width: | Height: | Size: 2.8 KiB |
@@ -0,0 +1,4 @@
|
||||
return Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath( '_down', 'tap note' );
|
||||
Frames = Sprite.LinearFrames( 4, 1 );
|
||||
};
|
||||
@@ -0,0 +1,102 @@
|
||||
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" or
|
||||
sElement == "Tap Fake"
|
||||
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" == "Roll 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,
|
||||
["Tap Fake"] = 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: 120 KiB |
@@ -0,0 +1,64 @@
|
||||
[Global]
|
||||
#FallbackNoteSkin=common
|
||||
|
||||
[NoteDisplay]
|
||||
TapNoteAnimationIsVivid=0
|
||||
DrawHoldHeadForTapsOnSameRow=1
|
||||
TapNoteAnimationLengthInBeats=4
|
||||
TapAdditionAnimationLengthInBeats=4
|
||||
TapMineAnimationLengthInBeats=1
|
||||
TapLiftAnimationLengthInBeats=4
|
||||
HoldHeadAnimationLengthInBeats=4 // doesn't matter. Only 1 frame anyway.
|
||||
HoldTopCapAnimationLengthInBeats=4 // doesn't matter. Only 1 frame anyway.
|
||||
HoldBottomCapAnimationLengthInBeats=4 // doesn't matter. Only 1 frame anyway.
|
||||
HoldBodyAnimationLengthInBeats=4 // doesn't matter. Only 1 frame anyway.
|
||||
HoldTailAnimationLengthInBeats=4 // doesn't matter. Only 1 frame anyway.
|
||||
StartDrawingHoldBodyOffsetFromHead=0
|
||||
StopDrawingHoldBodyOffsetFromTail=-32 // top of tail
|
||||
HoldLetGoGrayPercent=0.25
|
||||
ReverseDrawOrder=1101
|
||||
HoldHeadIsAboveWavyParts=1
|
||||
HoldTailIsAboveWavyParts=1
|
||||
TapNoteAdditionTextureCoordOffsetX=0.5
|
||||
TapNoteAdditionTextureCoordOffsetY=0
|
||||
FlipHeadAndTailWhenReverse=1
|
||||
FlipHoldBodyWhenReverse=1
|
||||
TopHoldAnchorWhenReverse=1
|
||||
|
||||
TapNoteNoteColorTextureCoordSpacingX=0
|
||||
TapNoteNoteColorTextureCoordSpacingY=0.125
|
||||
|
||||
TapFakeNoteColorTextureCoordSpacingX=0
|
||||
TapFakeNoteColorTextureCoordSpacingY=0.125
|
||||
|
||||
HoldHeadNoteColorTextureCoordSpacingX=0
|
||||
HoldHeadNoteColorTextureCoordSpacingY=0.125
|
||||
|
||||
[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
|
||||
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
|
||||
LetGoCommand=
|
||||
HeldCommand=diffuse,1.0,1.0,0.3,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
|
||||
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
|
||||
LetGoCommand=
|
||||
HeldCommand=diffuse,1.0,1.0,0.3,1;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0
|
||||
|
||||
[ReceptorArrow]
|
||||
W3Command=
|
||||
W2Command=
|
||||
W1Command=
|
||||
@@ -0,0 +1,9 @@
|
||||
return Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath('_down','tap note');
|
||||
Frames = {
|
||||
{ Frame = 56; };
|
||||
{ Frame = 57; };
|
||||
{ Frame = 58; };
|
||||
{ Frame = 59; };
|
||||
};
|
||||
};
|
||||
@@ -0,0 +1,8 @@
|
||||
[Global]
|
||||
FallbackNoteSkin=default
|
||||
|
||||
[NoteDisplay]
|
||||
TapNoteNoteColorTextureCoordSpacingX=0
|
||||
TapNoteNoteColorTextureCoordSpacingY=0
|
||||
HoldHeadNoteColorTextureCoordSpacingX=0
|
||||
HoldHeadNoteColorTextureCoordSpacingY=0
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 4.3 KiB |
|
After Width: | Height: | Size: 4.3 KiB |
|
After Width: | Height: | Size: 4.2 KiB |
|
After Width: | Height: | Size: 4.2 KiB |
@@ -0,0 +1,19 @@
|
||||
local t = Def.ActorFrame {
|
||||
Def.Sprite {
|
||||
Texture="_receptor";
|
||||
Frame0000=0;
|
||||
Delay0000=1;
|
||||
InitCommand=NOTESKIN:GetMetricA('ReceptorArrow', 'InitCommand');
|
||||
NoneCommand=NOTESKIN:GetMetricA('ReceptorArrow', 'NoneCommand');
|
||||
};
|
||||
Def.Sprite {
|
||||
Texture="_rflash";
|
||||
Frame0000=0;
|
||||
Delay0000=1;
|
||||
InitCommand=NOTESKIN:GetMetricA('ReceptorOverlay', 'InitCommand');
|
||||
PressCommand=NOTESKIN:GetMetricA('ReceptorOverlay', 'PressCommand');
|
||||
LiftCommand=NOTESKIN:GetMetricA('ReceptorOverlay', 'LiftCommand');
|
||||
NoneCommand=NOTESKIN:GetMetricA('ReceptorArrow', 'NoneCommand');
|
||||
};
|
||||
};
|
||||
return t;
|
||||
|
After Width: | Height: | Size: 2.1 KiB |
|
After Width: | Height: | Size: 2.0 KiB |
|
After Width: | Height: | Size: 4.3 KiB |
|
After Width: | Height: | Size: 4.3 KiB |
|
After Width: | Height: | Size: 4.2 KiB |
|
After Width: | Height: | Size: 4.2 KiB |
@@ -0,0 +1 @@
|
||||
_glow
|
||||
@@ -0,0 +1 @@
|
||||
Down Tap Explosion Bright
|
||||
@@ -0,0 +1,9 @@
|
||||
local t = Def.ActorFrame {
|
||||
Def.Sprite {
|
||||
Texture="_arrow";
|
||||
Frame0000=7;
|
||||
Delay0000=1;
|
||||
InitCommand=cmd(animate,false;pulse;effectclock,"beat";effectmagnitude,0.9,1,1);
|
||||
};
|
||||
};
|
||||
return t;
|
||||
@@ -0,0 +1,32 @@
|
||||
local t = Def.ActorFrame {
|
||||
Def.Sprite {
|
||||
Texture="_arrow";
|
||||
Frame0000=0;
|
||||
Delay0000=1;
|
||||
};
|
||||
Def.Sprite {
|
||||
Texture="_circle";
|
||||
Frame0000=0;
|
||||
Delay0000=1;
|
||||
InitCommand=cmd(y,15;effectclock,"beat";diffuseramp;effectcolor1,color("1,1,1,0");effectcolor2,color("1,1,1,0.35");effectoffset,0);
|
||||
};
|
||||
Def.Sprite {
|
||||
Texture="_circle";
|
||||
Frame0000=0;
|
||||
Delay0000=1;
|
||||
InitCommand=cmd(y,5;effectclock,"beat";diffuseramp;effectcolor1,color("1,1,1,0");effectcolor2,color("1,1,1,0.35");effectoffset,0.25);
|
||||
};
|
||||
Def.Sprite {
|
||||
Texture="_circle";
|
||||
Frame0000=0;
|
||||
Delay0000=1;
|
||||
InitCommand=cmd(y,-5;effectclock,"beat";diffuseramp;effectcolor1,color("1,1,1,0");effectcolor2,color("1,1,1,0.35");effectoffset,0.5);
|
||||
};
|
||||
Def.Sprite {
|
||||
Texture="_circle";
|
||||
Frame0000=0;
|
||||
Delay0000=1;
|
||||
InitCommand=cmd(y,-15;effectclock,"beat";diffuseramp;effectcolor1,color("1,1,1,0");effectcolor2,color("1,1,1,0.35");effectoffset,0.75);
|
||||
};
|
||||
};
|
||||
return t;
|
||||
@@ -0,0 +1,79 @@
|
||||
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);
|
||||
|
||||
--Point the head files back to the tap note
|
||||
if string.find(sElement, "Head") or sElement == "Tap Fake" then
|
||||
sElement = "Tap Note";
|
||||
end
|
||||
|
||||
sButton = ret.RedirTable[sButton];
|
||||
|
||||
return 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" == "Roll Explosion" then
|
||||
t.BaseRotationZ = nil;
|
||||
end
|
||||
return t;
|
||||
end
|
||||
|
||||
ret.PartsToRotate =
|
||||
{
|
||||
["Receptor"] = true,
|
||||
["Tap Note"] = true,
|
||||
["Tap Lift"] = true,
|
||||
["Tap Fake"] = true,
|
||||
["Ready Receptor"] = true,
|
||||
["Tap Explosion Bright"] = true,
|
||||
["Tap Explosion Dim"] = 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,
|
||||
};
|
||||
|
||||
ret.Blank =
|
||||
{
|
||||
["Hold Explosion"] = true,
|
||||
["Roll Explosion"] = true,
|
||||
["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: 102 KiB |
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 5.8 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 3.6 KiB |
@@ -0,0 +1,74 @@
|
||||
[Global]
|
||||
FallbackNoteSkin=default
|
||||
|
||||
[NoteDisplay]
|
||||
TapNoteAnimationIsVivid=0
|
||||
DrawHoldHeadForTapsOnSameRow=1
|
||||
TapNoteAnimationLengthInBeats=1 // none of these matter because Lua is handling the animation, not sprites.
|
||||
TapAdditionAnimationLengthInBeats=1
|
||||
TapMineAnimationLengthInBeats=1
|
||||
TapLiftAnimationLengthInBeats=1
|
||||
HoldHeadAnimationLengthInBeats=1
|
||||
HoldTopCapAnimationLengthInBeats=1
|
||||
HoldBottomCapAnimationLengthInBeats=1
|
||||
HoldBodyAnimationLengthInBeats=1
|
||||
HoldTailAnimationLengthInBeats=1
|
||||
|
||||
StartDrawingHoldBodyOffsetFromHead=0
|
||||
StopDrawingHoldBodyOffsetFromTail=0
|
||||
|
||||
HoldLetGoGrayPercent=.25
|
||||
|
||||
HoldHeadIsAboveWavyParts=1
|
||||
HoldTailIsAboveWavyParts=1
|
||||
|
||||
ReverseDrawOrder=1101
|
||||
FlipHeadAndTailWhenReverse=1
|
||||
FlipHoldBodyWhenReverse=1
|
||||
|
||||
TapNoteAdditionTextureCoordOffsetX=0
|
||||
TapNoteAdditionTextureCoordOffsetY=0
|
||||
TapNoteNoteColorTextureCoordSpacingX=0
|
||||
TapNoteNoteColorTextureCoordSpacingY=.125
|
||||
HoldHeadNoteColorTextureCoordSpacingX=0
|
||||
HoldHeadNoteColorTextureCoordSpacingY=.125
|
||||
|
||||
[GhostArrowDim]
|
||||
InitCommand=
|
||||
NoneCommand=
|
||||
HitMineCommand=finishtweening;blend,'BlendMode_Add';diffuse,color("1,1,1,1;zoom,1;rotationz,0;decelerate,.3;rotationz,90;linear,.3;rotationz,180;diffusealpha,0
|
||||
MissCommand=
|
||||
W5Command=finishtweening;diffuse,color("1,.5,1,1");sleep,.1;decelerate,.4;diffusealpha,0
|
||||
W4Command=finishtweening;diffuse,color(".5,1,1,1");sleep,.1;decelerate,.4;diffusealpha,0
|
||||
W3Command=finishtweening;diffuse,color(".5,1,.75,1");sleep,.1;decelerate,.4;diffusealpha,0
|
||||
W2Command=finishtweening;diffuse,color("1,1,.85,1");sleep,.1;decelerate,.4;diffusealpha,0
|
||||
W1Command=finishtweening;diffuse,color("1,1,1,1");sleep,.1;decelerate,.4;diffusealpha,0
|
||||
LetGoCommand=finishtweening;decelerate,.1;diffusealpha,0;
|
||||
HeldCommand=finishtweening;diffuse,color("1,1,1,1");zoom,1;linear,.2;zoom,.9;linear,.1;diffusealpha,0
|
||||
|
||||
[GhostArrowBright]
|
||||
InitCommand=
|
||||
NoneCommand=
|
||||
HitMineCommand=finishtweening;blend,'BlendMode_Add';diffuse,color("1,1,1,1");zoom,1;rotationz,0;decelerate,.3;rotationz,90;linear,.3;rotationz,180;diffusealpha,0
|
||||
MissCommand=
|
||||
W5Command=finishtweening;diffuse,color("1,.6,1,1");sleep,.1;decelerate,.4;diffusealpha,0
|
||||
W4Command=finishtweening;diffuse,color(".6,1,1,1");sleep,.1;decelerate,.4;diffusealpha,0
|
||||
W3Command=finishtweening;diffuse,color(".6,1,.8,1");sleep,.1;decelerate,.4;diffusealpha,0
|
||||
W2Command=finishtweening;diffuse,color("1,1,.9,1");sleep,.1;decelerate,.4;diffusealpha,0
|
||||
W1Command=finishtweening;diffuse,color("1,1,1,1");sleep,.1;decelerate,.4;diffusealpha,0
|
||||
LetGoCommand=
|
||||
HeldCommand=finishtweening;diffuse,color("1,1,1,1");zoom,1;linear,.2;zoom,.9;linear,.1;diffusealpha,0
|
||||
|
||||
[HoldGhostArrow]
|
||||
HoldingOnCommand=diffusealpha,1;glowshift;effectcolor1,color("1,1,1,0");effectcolor2,color("1,1,1,.7");effectperiod,.1
|
||||
HoldingOffCommand=diffusealpha,0
|
||||
InitCommand=finishtweening;playcommand,"HoldingOff"
|
||||
|
||||
[ReceptorArrow]
|
||||
InitCommand=effectclock,"beat";diffuseramp;effectcolor1,color(".8,.8,.8,1");effectcolor2,color("1,1,1,1");effecttiming,.2,0,.8,0;effectoffset,.05
|
||||
NoneCommand=finishtweening;zoom,.85;diffusealpha,.9;linear,.11;diffusealpha,1;zoom,1
|
||||
|
||||
[ReceptorOverlay]
|
||||
InitCommand=diffusealpha,0
|
||||
PressCommand=finishtweening;zoom,1;blend,"BlendMode_Add";diffusealpha,.6
|
||||
LiftCommand=finishtweening;decelerate,.12;diffusealpha,0;zoom,1.2
|
||||
@@ -0,0 +1 @@
|
||||
Place Note Skin folders in the appropriate game folder.
|
||||
|
After Width: | Height: | Size: 7.4 KiB |
|
After Width: | Height: | Size: 3.0 KiB |
|
After Width: | Height: | Size: 3.0 KiB |
|
After Width: | Height: | Size: 5.2 KiB |
|
After Width: | Height: | Size: 5.2 KiB |
|
After Width: | Height: | Size: 5.1 KiB |
@@ -0,0 +1,13 @@
|
||||
local t = Def.ActorFrame {
|
||||
LoadActor( "Key Go Receptor" )..{
|
||||
InitCommand=NOTESKIN:GetMetricA('ReceptorArrow', 'InitCommand');
|
||||
NoneCommand=NOTESKIN:GetMetricA('ReceptorArrow', 'NoneCommand');
|
||||
};
|
||||
LoadActor( "Key Go Receptor" )..{
|
||||
InitCommand=NOTESKIN:GetMetricA('ReceptorOverlay', 'InitCommand');
|
||||
PressCommand=NOTESKIN:GetMetricA('ReceptorOverlay', 'PressCommand');
|
||||
LiftCommand=NOTESKIN:GetMetricA('ReceptorOverlay', 'LiftCommand');
|
||||
NoneCommand=NOTESKIN:GetMetricA('ReceptorArrow', 'NoneCommand');
|
||||
};
|
||||
};
|
||||
return t;
|
||||
|
After Width: | Height: | Size: 3.0 KiB |
|
After Width: | Height: | Size: 3.0 KiB |
|
After Width: | Height: | Size: 5.3 KiB |
|
After Width: | Height: | Size: 5.2 KiB |
|
After Width: | Height: | Size: 6.3 KiB |
|
After Width: | Height: | Size: 4.2 KiB |
@@ -0,0 +1,4 @@
|
||||
return Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath( '_key', 'tap note' );
|
||||
Frames = Sprite.LinearFrames( 4, 1 );
|
||||
};
|
||||
@@ -0,0 +1,102 @@
|
||||
local ret = ... or {};
|
||||
|
||||
ret.RedirTable =
|
||||
{
|
||||
Key1 = "Key",
|
||||
Key2 = "Key",
|
||||
Key3 = "Key",
|
||||
Key4 = "Key",
|
||||
Key5 = "Key",
|
||||
Key6 = "Key",
|
||||
Key7 = "Key",
|
||||
};
|
||||
|
||||
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" == "Roll 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 =
|
||||
{
|
||||
Key1 = 0,
|
||||
Key2 = 0,
|
||||
Key3 = 0,
|
||||
Key4 = 0,
|
||||
Key5 = 0,
|
||||
Key6 = 0,
|
||||
Key7 = 0,
|
||||
};
|
||||
|
||||
--
|
||||
-- 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: 80 KiB |
@@ -0,0 +1,68 @@
|
||||
[Global]
|
||||
#FallbackNoteSkin=common
|
||||
|
||||
[NoteDisplay]
|
||||
TapNoteAnimationIsVivid=0
|
||||
DrawHoldHeadForTapsOnSameRow=1
|
||||
TapNoteAnimationLengthInBeats=4
|
||||
TapAdditionAnimationLengthInBeats=4
|
||||
TapMineAnimationLengthInBeats=1
|
||||
TapLiftAnimationLengthInBeats=4
|
||||
HoldHeadAnimationLengthInBeats=4
|
||||
HoldTopCapAnimationLengthInBeats=4
|
||||
HoldBottomCapAnimationLengthInBeats=4
|
||||
HoldBodyAnimationLengthInBeats=4
|
||||
HoldTailAnimationLengthInBeats=4
|
||||
StartDrawingHoldBodyOffsetFromHead=0
|
||||
StopDrawingHoldBodyOffsetFromTail=-32
|
||||
HoldLetGoGrayPercent=0.25
|
||||
ReverseDrawOrder=1101
|
||||
HoldHeadIsAboveWavyParts=1
|
||||
HoldTailIsAboveWavyParts=1
|
||||
TapNoteAdditionTextureCoordOffsetX=0.5
|
||||
TapNoteAdditionTextureCoordOffsetY=0
|
||||
FlipHeadAndTailWhenReverse=1
|
||||
FlipHoldBodyWhenReverse=1
|
||||
TopHoldAnchorWhenReverse=1
|
||||
|
||||
TapNoteNoteColorTextureCoordSpacingX=0
|
||||
TapNoteNoteColorTextureCoordSpacingY=0.125
|
||||
HoldHeadNoteColorTextureCoordSpacingX=0
|
||||
HoldHeadNoteColorTextureCoordSpacingY=0.125
|
||||
|
||||
[GhostArrowDim]
|
||||
NoneCommand=
|
||||
HitMineCommand=blend,'BlendMode_Add';diffuse,1,1,1,1;zoom,1;rotationz,0;smooth,0.3;rotationz,90;linear,0.3;rotationz,180;diffusealpha,0
|
||||
MissCommand=
|
||||
W5Command=diffuse,0.8,0.0,0.6,1;zoom,1;decelerate,0.1;zoom,1.1;decelerate,0.1;diffusealpha,0
|
||||
W4Command=diffuse,0.3,0.8,1.0,1;zoom,1;decelerate,0.1;zoom,1.1;decelerate,0.1;diffusealpha,0
|
||||
W3Command=diffuse,0.0,1.0,0.4,1;zoom,1;decelerate,0.1;zoom,1.1;decelerate,0.1;diffusealpha,0
|
||||
W2Command=diffuse,1.0,1.0,0.3,1;zoom,1;decelerate,0.1;zoom,1.1;decelerate,0.1;diffusealpha,0
|
||||
W1Command=diffuse,1.0,1.0,1.0,1;zoom,1;decelerate,0.1;zoom,1.1;decelerate,0.1;diffusealpha,0
|
||||
|
||||
LetGoCommand=
|
||||
HeldCommand=diffuse,1.0,1.0,0.3,1;decelerate,0.1;zoom,1.1;decelerate,0.1;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
|
||||
MissCommand=
|
||||
W5Command=diffuse,0.8,0.0,0.6,1;zoom,1;decelerate,0.1;zoom,1.1;decelerate,0.1;diffusealpha,0
|
||||
W4Command=diffuse,0.3,0.8,1.0,1;zoom,1;decelerate,0.1;zoom,1.1;decelerate,0.1;diffusealpha,0
|
||||
W3Command=diffuse,0.0,1.0,0.4,1;zoom,1;decelerate,0.1;zoom,1.1;decelerate,0.1;diffusealpha,0
|
||||
W2Command=diffuse,1.0,1.0,0.3,1;zoom,1;decelerate,0.1;zoom,1.1;decelerate,0.1;diffusealpha,0
|
||||
W1Command=diffuse,1.0,1.0,1.0,1;zoom,1;decelerate,0.1;zoom,1.1;decelerate,0.1;diffusealpha,0
|
||||
LetGoCommand=
|
||||
HeldCommand=diffuse,1.0,1.0,0.3,1;zoom,1;decelerate,0.1;zoom,1.1;decelerate,0.1;diffusealpha,0
|
||||
|
||||
[ReceptorArrow]
|
||||
W3Command=
|
||||
W2Command=
|
||||
W1Command=
|
||||
InitCommand=effectclock,"beat";diffuseramp;effectcolor1,color("0.8,0.8,0.8,1");effectcolor2,color("1,1,1,1");effecttiming,0.2,0,0.8,0;effectoffset,0.05
|
||||
NoneCommand=zoom,0.8;linear,0.1;zoom,1
|
||||
|
||||
[ReceptorOverlay]
|
||||
InitCommand=diffusealpha,0
|
||||
PressCommand=blend,"BlendMode_Add";diffusealpha,0.6
|
||||
LiftCommand=diffusealpha,0
|
||||