Add a new NoteSkin, double resolution to match the new theme.
|
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,78 @@
|
|||||||
|
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") 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,
|
||||||
|
["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,
|
||||||
|
["Tap Lift"] = 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: 100 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
|
||||||