add dance/retrobar-splithand (white/blue) noteskin variant
|
After Width: | Height: | Size: 363 B |
|
After Width: | Height: | Size: 362 B |
|
After Width: | Height: | Size: 405 B |
|
After Width: | Height: | Size: 405 B |
|
After Width: | Height: | Size: 283 B |
|
After Width: | Height: | Size: 283 B |
@@ -0,0 +1 @@
|
||||
_Roll Body inactive
|
||||
@@ -0,0 +1 @@
|
||||
_Roll Body active
|
||||
@@ -0,0 +1 @@
|
||||
_Roll BottomCap active
|
||||
@@ -0,0 +1 @@
|
||||
_Roll BottomCap inactive
|
||||
@@ -0,0 +1 @@
|
||||
_Roll TopCap active
|
||||
@@ -0,0 +1 @@
|
||||
_Roll TopCap inactive
|
||||
@@ -0,0 +1,4 @@
|
||||
return Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath( '_Blue', 'tap note' );
|
||||
Frames = Sprite.LinearFrames( 4, 1 );
|
||||
};
|
||||
@@ -0,0 +1 @@
|
||||
_Hold Explosion
|
||||
@@ -0,0 +1,23 @@
|
||||
local t = Def.ActorFrame{
|
||||
-- normal
|
||||
Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath( '_blue', 'receptor base' );
|
||||
Frame0000=0;
|
||||
Delay0000=1;
|
||||
InitCommand=NOTESKIN:GetMetricA('ReceptorArrow', 'InitCommand');
|
||||
NoneCommand=NOTESKIN:GetMetricA('ReceptorArrow', 'NoneCommand');
|
||||
PressCommand=NOTESKIN:GetMetricA('ReceptorArrow', 'PressCommand');
|
||||
};
|
||||
-- flashpert
|
||||
Def.Sprite {
|
||||
Texture="_bar receptor tap";
|
||||
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;
|
||||
@@ -0,0 +1 @@
|
||||
_Roll Explosion
|
||||
@@ -0,0 +1 @@
|
||||
_Tap explosion bright
|
||||
@@ -0,0 +1 @@
|
||||
_Tap explosion dim
|
||||
|
After Width: | Height: | Size: 585 B |
@@ -0,0 +1,94 @@
|
||||
-- from scratch, with various references.
|
||||
local Noteskin = ... or {};
|
||||
|
||||
-- element redirs
|
||||
Noteskin.ElementRedirs = {
|
||||
-- ["element"] = "redir_element";
|
||||
-- Instead of separate hold heads, use the tap note graphics.
|
||||
["Hold Head Inactive"] = "Tap Note";
|
||||
["Hold Head Active"] = "Tap Note";
|
||||
["Roll Head Inactive"] = "Tap Note";
|
||||
["Roll Head Active"] = "Tap Note";
|
||||
};
|
||||
|
||||
-- button redirs
|
||||
-- this noteskin is only for solo play.
|
||||
-- [white][white][white] [blue][blue][blue]
|
||||
Noteskin.ButtonRedirs = {
|
||||
-- dance
|
||||
Left = "White";
|
||||
UpLeft = "White";
|
||||
Down = "White";
|
||||
Up = "Blue";
|
||||
UpRight = "Blue";
|
||||
Right = "Blue";
|
||||
};
|
||||
|
||||
-- things to blank out
|
||||
Noteskin.Hide = {
|
||||
-- ["element"] = true/false;
|
||||
};
|
||||
|
||||
-- rotations
|
||||
Noteskin.BaseRotX = {
|
||||
Left = 0;
|
||||
UpLeft = 0;
|
||||
Up = 0;
|
||||
Down = 0;
|
||||
UpRight = 0;
|
||||
Right = 0;
|
||||
};
|
||||
Noteskin.BaseRotY = {
|
||||
Left = 0;
|
||||
UpLeft = 0;
|
||||
Up = 0;
|
||||
Down = 0;
|
||||
UpRight = 0;
|
||||
Right = 0;
|
||||
};
|
||||
|
||||
local function NoteskinLoader()
|
||||
local Button = Var "Button"
|
||||
local Element = Var "Element"
|
||||
|
||||
if Noteskin.Hide[Element] 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(visible,false);
|
||||
};
|
||||
end;
|
||||
|
||||
-- load element and button, using redirs
|
||||
local LoadElement = Noteskin.ElementRedirs[Element]
|
||||
if not LoadElement then
|
||||
LoadElement = Element;
|
||||
end;
|
||||
|
||||
local LoadButton = Noteskin.ButtonRedirs[Button]
|
||||
if not LoadButton then
|
||||
LoadButton = Button;
|
||||
end;
|
||||
|
||||
-- get path to thing
|
||||
local sPath = NOTESKIN:GetPath( LoadButton, LoadElement );
|
||||
|
||||
-- make actor
|
||||
local t = LoadActor( sPath );
|
||||
|
||||
-- apply rotation
|
||||
t.BaseRotationX=Noteskin.BaseRotX[sButton]
|
||||
t.BaseRotationY=Noteskin.BaseRotY[sButton]
|
||||
|
||||
return t;
|
||||
end
|
||||
|
||||
Noteskin.Load = NoteskinLoader;
|
||||
Noteskin.CommonLoad = NoteskinLoader;
|
||||
return Noteskin;
|
||||
|
After Width: | Height: | Size: 319 B |
|
After Width: | Height: | Size: 327 B |
|
After Width: | Height: | Size: 366 B |
|
After Width: | Height: | Size: 377 B |
|
After Width: | Height: | Size: 238 B |
|
After Width: | Height: | Size: 242 B |
@@ -0,0 +1 @@
|
||||
_Roll Body inactive
|
||||
@@ -0,0 +1 @@
|
||||
_Roll Body active
|
||||
@@ -0,0 +1 @@
|
||||
_Roll BottomCap active
|
||||
@@ -0,0 +1 @@
|
||||
_Roll BottomCap inactive
|
||||
@@ -0,0 +1 @@
|
||||
_Roll TopCap active
|
||||
@@ -0,0 +1 @@
|
||||
_Roll TopCap inactive
|
||||
@@ -0,0 +1,4 @@
|
||||
return Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath( '_White', 'tap note' );
|
||||
Frames = Sprite.LinearFrames( 4, 1 );
|
||||
};
|
||||
@@ -0,0 +1 @@
|
||||
_Hold Explosion
|
||||
@@ -0,0 +1,23 @@
|
||||
local t = Def.ActorFrame{
|
||||
-- normal
|
||||
Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath( '_white', 'receptor base' );
|
||||
Frame0000=0;
|
||||
Delay0000=1;
|
||||
InitCommand=NOTESKIN:GetMetricA('ReceptorArrow', 'InitCommand');
|
||||
NoneCommand=NOTESKIN:GetMetricA('ReceptorArrow', 'NoneCommand');
|
||||
PressCommand=NOTESKIN:GetMetricA('ReceptorArrow', 'PressCommand');
|
||||
};
|
||||
-- flashpert
|
||||
Def.Sprite {
|
||||
Texture="_bar receptor tap";
|
||||
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;
|
||||
@@ -0,0 +1 @@
|
||||
_Roll Explosion
|
||||
@@ -0,0 +1 @@
|
||||
_Tap explosion bright
|
||||
@@ -0,0 +1 @@
|
||||
_Tap explosion dim
|
||||
|
After Width: | Height: | Size: 602 B |
|
After Width: | Height: | Size: 1.3 KiB |
@@ -0,0 +1,3 @@
|
||||
return LoadActor("_bar hold explosion bright")..{
|
||||
CheckpointHitCommand=cmd(diffusealpha,0);
|
||||
};
|
||||
@@ -0,0 +1,23 @@
|
||||
local t = Def.ActorFrame{
|
||||
-- normal
|
||||
Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath( '_bar', 'receptor base' );
|
||||
Frame0000=0;
|
||||
Delay0000=1;
|
||||
InitCommand=NOTESKIN:GetMetricA('ReceptorArrow', 'InitCommand');
|
||||
NoneCommand=NOTESKIN:GetMetricA('ReceptorArrow', 'NoneCommand');
|
||||
PressCommand=NOTESKIN:GetMetricA('ReceptorArrow', 'PressCommand');
|
||||
};
|
||||
-- flashpert
|
||||
Def.Sprite {
|
||||
Texture="_bar receptor tap";
|
||||
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: 503 B |
|
After Width: | Height: | Size: 505 B |
|
After Width: | Height: | Size: 549 B |
|
After Width: | Height: | Size: 549 B |
@@ -0,0 +1,3 @@
|
||||
return LoadActor("_bar hold explosion bright")..{
|
||||
CheckpointHitCommand=cmd(diffusealpha,0);
|
||||
};
|
||||
|
After Width: | Height: | Size: 303 B |
|
After Width: | Height: | Size: 303 B |
|
After Width: | Height: | Size: 1.5 KiB |
@@ -0,0 +1,15 @@
|
||||
return Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath( '_bar', 'mine' );
|
||||
Frame0000=0;
|
||||
Delay0000=1;
|
||||
Frame0001=1;
|
||||
Delay0001=1;
|
||||
Frame0002=2;
|
||||
Delay0002=1;
|
||||
Frame0003=3;
|
||||
Delay0003=1;
|
||||
Frame0004=2;
|
||||
Delay0004=1;
|
||||
Frame0005=1;
|
||||
Delay0005=1;
|
||||
};
|
||||
|
After Width: | Height: | Size: 2.6 KiB |
@@ -0,0 +1 @@
|
||||
_Tap explosion bright
|
||||
|
After Width: | Height: | Size: 1.3 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 2.2 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 1.4 KiB |
|
After Width: | Height: | Size: 731 B |
|
After Width: | Height: | Size: 554 B |
|
After Width: | Height: | Size: 528 B |
@@ -0,0 +1,33 @@
|
||||
[NoteDisplay]
|
||||
HoldLetGoGrayPercent=.8
|
||||
DrawHoldHeadForTapsOnSameRow=0
|
||||
StartDrawingHoldBodyOffsetFromHead=0
|
||||
StopDrawingHoldBodyOffsetFromTail=-32
|
||||
|
||||
TapNoteNoteColorTextureCoordSpacingX=0
|
||||
TapNoteNoteColorTextureCoordSpacingY=0
|
||||
# control the vertical
|
||||
TapNoteAdditionTextureCoordOffsetX=0
|
||||
TapNoteAdditionTextureCoordOffsetY=0.5
|
||||
|
||||
TapFakeAdditionTextureCoordOffsetX=0
|
||||
TapFakeAdditionTextureCoordOffsetY=0
|
||||
TapLiftAdditionTextureCoordOffsetX=0
|
||||
TapLiftAdditionTextureCoordOffsetY=0
|
||||
|
||||
HoldHeadNoteColorTextureCoordSpacingX=0
|
||||
HoldHeadNoteColorTextureCoordSpacingY=0
|
||||
|
||||
[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,.8;decelerate,0.2;diffusealpha,0.4
|
||||
LiftCommand=stoptweening;decelerate,.2;diffusealpha,0;zoom,1.2
|
||||
|
||||
[HoldGhostArrow]
|
||||
HoldingOnCommand=diffusealpha,0.625;glowshift;effectcolor1,color("1,1,1,0");effectcolor2,color("1,1,1,.7");effectperiod,.1
|
||||
HoldingOffCommand=diffusealpha,0
|
||||
InitCommand=finishtweening;playcommand,"HoldingOff"
|
||||