o2jam-colored variant of retrobar for kb7
|
After Width: | Height: | Size: 363 B |
|
After Width: | Height: | Size: 362 B |
|
After Width: | Height: | Size: 350 B |
|
After Width: | Height: | Size: 350 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 @@
|
|||||||
|
_Receptor
|
||||||
@@ -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,108 @@
|
|||||||
|
-- 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
|
||||||
|
-- o2jam uses this order:
|
||||||
|
-- [white][blue][white][yellow][white][blue][white]
|
||||||
|
Noteskin.ButtonRedirs = {
|
||||||
|
-- dance
|
||||||
|
Left = "White";
|
||||||
|
UpLeft = "Blue";
|
||||||
|
Up = "White";
|
||||||
|
Down = "White";
|
||||||
|
UpRight = "Blue";
|
||||||
|
Right = "White";
|
||||||
|
-- kb7
|
||||||
|
Key1 = "White";
|
||||||
|
Key2 = "Blue";
|
||||||
|
Key3 = "White";
|
||||||
|
Key4 = "Yellow";
|
||||||
|
Key5 = "White";
|
||||||
|
Key6 = "Blue";
|
||||||
|
Key7 = "White";
|
||||||
|
-- pump
|
||||||
|
--[[
|
||||||
|
DownLeft = "Bar";
|
||||||
|
DownRight = "Bar";
|
||||||
|
Center = "Bar";
|
||||||
|
--]]
|
||||||
|
};
|
||||||
|
|
||||||
|
-- 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: 2.9 KiB |
|
After Width: | Height: | Size: 2.9 KiB |
|
After Width: | Height: | Size: 3.0 KiB |
|
After Width: | Height: | Size: 3.0 KiB |
|
After Width: | Height: | Size: 2.8 KiB |
|
After Width: | Height: | Size: 2.8 KiB |
@@ -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 @@
|
|||||||
|
_Receptor
|
||||||
@@ -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: 2.8 KiB |
|
After Width: | Height: | Size: 2.9 KiB |
|
After Width: | Height: | Size: 2.9 KiB |
|
After Width: | Height: | Size: 2.9 KiB |
|
After Width: | Height: | Size: 2.8 KiB |
|
After Width: | Height: | Size: 2.8 KiB |
@@ -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( '_Yellow', 'tap note' );
|
||||||
|
Frames = Sprite.LinearFrames( 4, 1 );
|
||||||
|
};
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
_Hold Explosion
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
_Receptor
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
_Roll Explosion
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
_Tap explosion bright
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
_Tap explosion dim
|
||||||
|
After Width: | Height: | Size: 599 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: 408 B |
|
After Width: | Height: | Size: 406 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: 506 B |
|
After Width: | Height: | Size: 731 B |
@@ -0,0 +1,16 @@
|
|||||||
|
[NoteDisplay]
|
||||||
|
HoldLetGoGrayPercent=.8
|
||||||
|
|
||||||
|
[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"
|
||||||