Umm...we added this already. HG!!!
This commit is contained in:
+82
-82
@@ -1,83 +1,83 @@
|
||||
Complete Course Template
|
||||
|
||||
[[ Header Content ]]
|
||||
-- Header Content is comprimised with any course-defining data such as the
|
||||
-- title, banner and other parameters.
|
||||
#COURSE:My Course!;
|
||||
-- The title of the course.
|
||||
#COURSETRANSLIT:My Course, Translated!;
|
||||
-- The title of the course, translated into english.
|
||||
#REPEAT:YES;
|
||||
-- If this is present, the course does not end. Useful for endless & workout
|
||||
-- courses.
|
||||
#LIVES:4;
|
||||
-- The maximum(?) number of lives attainable in the course. Enabling this will
|
||||
-- automatically force your course into an Oni course.
|
||||
#BANNER:My Banner.png;
|
||||
-- A banner for your course.
|
||||
#BACKGROUND:My Background.png;
|
||||
-- A background for your course. Currently only available in SM-SSC.
|
||||
#STYLE:SINGLE,VERSUS;
|
||||
-- Denote which styles may be played on this course. This is useful in
|
||||
-- particular to clone courses for doubles and single courses.
|
||||
#METER:Beginner:3;
|
||||
-- A custom-set meter for that course difficulty. You may set the difficulty
|
||||
-- for Beginner, Easy, Medium, Hard, Challenge and Edit difficulties.
|
||||
|
||||
[[ Song Content ]]
|
||||
-- Song Content is comprimised with any song-changing data such as modifiers,
|
||||
-- followed by an actual song for teh game to play.
|
||||
|
||||
-- Modifiers can be assigned in a variety of formats, the most effective three being the following:
|
||||
|
||||
1.) Repeated Modifier Block w/ Length:
|
||||
#MODS:TIME:0.500:LEN:0.500:MODS:2x;
|
||||
#MODS:TIME:1.500:LEN:0.500:MODS:0.5x;
|
||||
|
||||
2.) Nested Modifier Block w/ Length:
|
||||
#MODS:
|
||||
TIME:0.500:LEN:0.500:MODS:2x;
|
||||
TIME:1.500:LEN:0.500:MODS:0.5x;
|
||||
|
||||
3.) Nested Modifier Block w/ Ends:
|
||||
#MODS:
|
||||
TIME:0.500:END:1.000:MODS:2x;
|
||||
TIME:1.500:END:1.500:MODS:0.5x;
|
||||
|
||||
#SONG:*:Medium:2x;
|
||||
-- #SONG can take quite a variety of parameters, of which may be useful to you
|
||||
-- for testing or randomocity purpose.
|
||||
-- * is a wildcard item, meaning that StepMania will always pick a random song
|
||||
-- for this part of the course.
|
||||
-- You can also replace with BEST*,WORST*,GRADEBEST*, or GRADEWORST*, where *
|
||||
-- is a number to retrive the first of each category above.
|
||||
#SONG:BEST1:Medium:2x;
|
||||
-- As well as that, you may also do Group Random, like such:
|
||||
#SONG:Dance Dance Revolution 8th Mix/*:Medium:2x;
|
||||
-- If the above is not applicable, StepMania will search for the song title as best it can, depending on what you give it:
|
||||
#SONG:Xepher:Medium:2x;
|
||||
-- Will simply search the title of the song.
|
||||
#SONG:DDR Supernova/Xepher:Medium:2x;
|
||||
-- Will search for the exact directory.
|
||||
|
||||
-- #SONG can also apply different effects on each entry in the course by adding
|
||||
-- special modifiers to the modifiers segment:
|
||||
#SONG:*:Medium:showcourse;
|
||||
-- For example, forces the course to never be hidden, noshowcourse being the
|
||||
-- reverse of such.
|
||||
-- nodifficult also exists to disable a player from changing difficulties,
|
||||
-- barring the player from making it easier or harder ( Gauntlets & Survivals
|
||||
-- do not allow you to change difficulties ).
|
||||
-- Finally, award*, where * is a number, allows you to control how many lives
|
||||
-- the player gains from successfully completing a course in Oni mode.
|
||||
|
||||
Finally, here's an example course:
|
||||
#COURSE:My Awesome Course - The Revenge;
|
||||
#METER:Medium:8;
|
||||
|
||||
#MODS:
|
||||
TIME:1.00:END:50.00:MODS:C150;
|
||||
#SONG:In The Groove/Dawn:Overhead;
|
||||
#SONG:In The Groove/Mouth:;
|
||||
#SONG:In The Groove 2/Funk Factory:;
|
||||
Complete Course Template
|
||||
|
||||
[[ Header Content ]]
|
||||
-- Header Content is comprimised with any course-defining data such as the
|
||||
-- title, banner and other parameters.
|
||||
#COURSE:My Course!;
|
||||
-- The title of the course.
|
||||
#COURSETRANSLIT:My Course, Translated!;
|
||||
-- The title of the course, translated into english.
|
||||
#REPEAT:YES;
|
||||
-- If this is present, the course does not end. Useful for endless & workout
|
||||
-- courses.
|
||||
#LIVES:4;
|
||||
-- The maximum(?) number of lives attainable in the course. Enabling this will
|
||||
-- automatically force your course into an Oni course.
|
||||
#BANNER:My Banner.png;
|
||||
-- A banner for your course.
|
||||
#BACKGROUND:My Background.png;
|
||||
-- A background for your course. Currently only available in SM-SSC.
|
||||
#STYLE:SINGLE,VERSUS;
|
||||
-- Denote which styles may be played on this course. This is useful in
|
||||
-- particular to clone courses for doubles and single courses.
|
||||
#METER:Beginner:3;
|
||||
-- A custom-set meter for that course difficulty. You may set the difficulty
|
||||
-- for Beginner, Easy, Medium, Hard, Challenge and Edit difficulties.
|
||||
|
||||
[[ Song Content ]]
|
||||
-- Song Content is comprimised with any song-changing data such as modifiers,
|
||||
-- followed by an actual song for teh game to play.
|
||||
|
||||
-- Modifiers can be assigned in a variety of formats, the most effective three being the following:
|
||||
|
||||
1.) Repeated Modifier Block w/ Length:
|
||||
#MODS:TIME:0.500:LEN:0.500:MODS:2x;
|
||||
#MODS:TIME:1.500:LEN:0.500:MODS:0.5x;
|
||||
|
||||
2.) Nested Modifier Block w/ Length:
|
||||
#MODS:
|
||||
TIME:0.500:LEN:0.500:MODS:2x;
|
||||
TIME:1.500:LEN:0.500:MODS:0.5x;
|
||||
|
||||
3.) Nested Modifier Block w/ Ends:
|
||||
#MODS:
|
||||
TIME:0.500:END:1.000:MODS:2x;
|
||||
TIME:1.500:END:1.500:MODS:0.5x;
|
||||
|
||||
#SONG:*:Medium:2x;
|
||||
-- #SONG can take quite a variety of parameters, of which may be useful to you
|
||||
-- for testing or randomocity purpose.
|
||||
-- * is a wildcard item, meaning that StepMania will always pick a random song
|
||||
-- for this part of the course.
|
||||
-- You can also replace with BEST*,WORST*,GRADEBEST*, or GRADEWORST*, where *
|
||||
-- is a number to retrive the first of each category above.
|
||||
#SONG:BEST1:Medium:2x;
|
||||
-- As well as that, you may also do Group Random, like such:
|
||||
#SONG:Dance Dance Revolution 8th Mix/*:Medium:2x;
|
||||
-- If the above is not applicable, StepMania will search for the song title as best it can, depending on what you give it:
|
||||
#SONG:Xepher:Medium:2x;
|
||||
-- Will simply search the title of the song.
|
||||
#SONG:DDR Supernova/Xepher:Medium:2x;
|
||||
-- Will search for the exact directory.
|
||||
|
||||
-- #SONG can also apply different effects on each entry in the course by adding
|
||||
-- special modifiers to the modifiers segment:
|
||||
#SONG:*:Medium:showcourse;
|
||||
-- For example, forces the course to never be hidden, noshowcourse being the
|
||||
-- reverse of such.
|
||||
-- nodifficult also exists to disable a player from changing difficulties,
|
||||
-- barring the player from making it easier or harder ( Gauntlets & Survivals
|
||||
-- do not allow you to change difficulties ).
|
||||
-- Finally, award*, where * is a number, allows you to control how many lives
|
||||
-- the player gains from successfully completing a course in Oni mode.
|
||||
|
||||
Finally, here's an example course:
|
||||
#COURSE:My Awesome Course - The Revenge;
|
||||
#METER:Medium:8;
|
||||
|
||||
#MODS:
|
||||
TIME:1.00:END:50.00:MODS:C150;
|
||||
#SONG:In The Groove/Dawn:Overhead;
|
||||
#SONG:In The Groove/Mouth:;
|
||||
#SONG:In The Groove 2/Funk Factory:;
|
||||
#SONG:In The Groove 3/Disconnected Zeo:;
|
||||
@@ -1,4 +1,4 @@
|
||||
return Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath('Down','Hold Head Active');
|
||||
InitCommand=cmd(diffuse,color("0.5,0.5,0.5,1"));
|
||||
return Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath('Down','Hold Head Active');
|
||||
InitCommand=cmd(diffuse,color("0.5,0.5,0.5,1"));
|
||||
};
|
||||
@@ -1,26 +1,26 @@
|
||||
local t = Def.ActorFrame {
|
||||
Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath( '_down', 'tap Receptor' );
|
||||
Frame0000=0;
|
||||
Delay0000=1;
|
||||
InitCommand=NOTESKIN:GetMetricA('ReceptorArrow', 'InitCommand');
|
||||
NoneCommand=NOTESKIN:GetMetricA('ReceptorArrow', 'NoneCommand');
|
||||
};
|
||||
Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath( '_down', 'tap Receptor' );
|
||||
Frame0000=0;
|
||||
Delay0000=1;
|
||||
InitCommand=NOTESKIN:GetMetricA('ReceptorArrowOverlay', 'InitCommand');
|
||||
NoneCommand=NOTESKIN:GetMetricA('ReceptorArrowOverlay', 'NoneCommand');
|
||||
};
|
||||
Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath( '_down', 'tap Flash' );
|
||||
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;
|
||||
local t = Def.ActorFrame {
|
||||
Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath( '_down', 'tap Receptor' );
|
||||
Frame0000=0;
|
||||
Delay0000=1;
|
||||
InitCommand=NOTESKIN:GetMetricA('ReceptorArrow', 'InitCommand');
|
||||
NoneCommand=NOTESKIN:GetMetricA('ReceptorArrow', 'NoneCommand');
|
||||
};
|
||||
Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath( '_down', 'tap Receptor' );
|
||||
Frame0000=0;
|
||||
Delay0000=1;
|
||||
InitCommand=NOTESKIN:GetMetricA('ReceptorArrowOverlay', 'InitCommand');
|
||||
NoneCommand=NOTESKIN:GetMetricA('ReceptorArrowOverlay', 'NoneCommand');
|
||||
};
|
||||
Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath( '_down', 'tap Flash' );
|
||||
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;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
return Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath('Down','Roll Head Active');
|
||||
InitCommand=cmd(diffuse,color("0.5,0.5,0.5,1"));
|
||||
return Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath('Down','Roll Head Active');
|
||||
InitCommand=cmd(diffuse,color("0.5,0.5,0.5,1"));
|
||||
};
|
||||
@@ -1,9 +1,9 @@
|
||||
local t = Def.ActorFrame {
|
||||
Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath( '_down', 'tap mine' );
|
||||
Frame0000=0;
|
||||
Delay0000=1;
|
||||
InitCommand=cmd(spin;effectclock,'beat';effectmagnitude,0,0,-180);
|
||||
};
|
||||
};
|
||||
return t;
|
||||
local t = Def.ActorFrame {
|
||||
Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath( '_down', 'tap mine' );
|
||||
Frame0000=0;
|
||||
Delay0000=1;
|
||||
InitCommand=cmd(spin;effectclock,'beat';effectmagnitude,0,0,-180);
|
||||
};
|
||||
};
|
||||
return t;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
local t = Def.Model {
|
||||
Meshes=NOTESKIN:GetPath('_down','tap note meshes');
|
||||
Materials=NOTESKIN:GetPath('_down','tap note materials');
|
||||
Bones=NOTESKIN:GetPath('_down','tap bones');
|
||||
};
|
||||
|
||||
return t;
|
||||
local t = Def.Model {
|
||||
Meshes=NOTESKIN:GetPath('_down','tap note meshes');
|
||||
Materials=NOTESKIN:GetPath('_down','tap note materials');
|
||||
Bones=NOTESKIN:GetPath('_down','tap bones');
|
||||
};
|
||||
|
||||
return t;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
return Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath('Left','Hold BottomCap Active');
|
||||
InitCommand=cmd(diffuse,color("0.5,0.5,0.5,0.5"));
|
||||
return Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath('Left','Hold BottomCap Active');
|
||||
InitCommand=cmd(diffuse,color("0.5,0.5,0.5,0.5"));
|
||||
};
|
||||
@@ -1,4 +1,4 @@
|
||||
return Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath('Left','Roll BottomCap Active');
|
||||
InitCommand=cmd(diffuse,color("0.5,0.5,0.5,0.5"));
|
||||
return Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath('Left','Roll BottomCap Active');
|
||||
InitCommand=cmd(diffuse,color("0.5,0.5,0.5,0.5"));
|
||||
};
|
||||
@@ -1,128 +1,128 @@
|
||||
-- Haggen Daze
|
||||
|
||||
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 Active" or
|
||||
sElement == "Roll Head Active"
|
||||
then
|
||||
sElement = "StreamHead Active";
|
||||
end
|
||||
|
||||
-- Test
|
||||
if sElement == "Hold Head Inactive" or
|
||||
sElement == "Roll Head Inactive" or
|
||||
then
|
||||
sElement = "StreamHead Inactive";
|
||||
end
|
||||
|
||||
sButton = ret.RedirTable[sButton];
|
||||
|
||||
return sButton, sElement;
|
||||
end
|
||||
|
||||
-- local OldRedir = ret.Redir;
|
||||
-- ret.Redir = function(sButton, sElement)
|
||||
-- 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") or string.find(sElement, "roll") 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" then
|
||||
t.BaseRotationZ = nil;
|
||||
end
|
||||
return t;
|
||||
end
|
||||
]]
|
||||
|
||||
local OldFunc = ret.Load;
|
||||
function ret.Load()
|
||||
local t = OldFunc();
|
||||
|
||||
--Explosion should not be rotated; it calls other actors.
|
||||
if Var "Element" == "Explosion" then
|
||||
t.BaseRotationZ = nil;
|
||||
end
|
||||
return t;
|
||||
end
|
||||
|
||||
ret.PartsToRotate =
|
||||
{
|
||||
["Receptor"] = true,
|
||||
["Go Receptor"] = true,
|
||||
["Ready Receptor"] = true,
|
||||
["Tap Explosion Bright"] = true,
|
||||
["Tap Explosion Dim"] = true,
|
||||
["Tap Note"] = true,
|
||||
["Tap Lift"] = true,
|
||||
["Hold Head Active"] = true,
|
||||
["Hold Head Inactive"] = true,
|
||||
["Roll Head Active"] = true,
|
||||
["Roll Head Inactive"] = true,
|
||||
["Hold Explosion"] = true,
|
||||
["Roll Explosion"] = 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,
|
||||
["Roll Explosion"] = true,
|
||||
};
|
||||
|
||||
return ret;
|
||||
-- Haggen Daze
|
||||
|
||||
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 Active" or
|
||||
sElement == "Roll Head Active"
|
||||
then
|
||||
sElement = "StreamHead Active";
|
||||
end
|
||||
|
||||
-- Test
|
||||
if sElement == "Hold Head Inactive" or
|
||||
sElement == "Roll Head Inactive" or
|
||||
then
|
||||
sElement = "StreamHead Inactive";
|
||||
end
|
||||
|
||||
sButton = ret.RedirTable[sButton];
|
||||
|
||||
return sButton, sElement;
|
||||
end
|
||||
|
||||
-- local OldRedir = ret.Redir;
|
||||
-- ret.Redir = function(sButton, sElement)
|
||||
-- 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") or string.find(sElement, "roll") 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" then
|
||||
t.BaseRotationZ = nil;
|
||||
end
|
||||
return t;
|
||||
end
|
||||
]]
|
||||
|
||||
local OldFunc = ret.Load;
|
||||
function ret.Load()
|
||||
local t = OldFunc();
|
||||
|
||||
--Explosion should not be rotated; it calls other actors.
|
||||
if Var "Element" == "Explosion" then
|
||||
t.BaseRotationZ = nil;
|
||||
end
|
||||
return t;
|
||||
end
|
||||
|
||||
ret.PartsToRotate =
|
||||
{
|
||||
["Receptor"] = true,
|
||||
["Go Receptor"] = true,
|
||||
["Ready Receptor"] = true,
|
||||
["Tap Explosion Bright"] = true,
|
||||
["Tap Explosion Dim"] = true,
|
||||
["Tap Note"] = true,
|
||||
["Tap Lift"] = true,
|
||||
["Hold Head Active"] = true,
|
||||
["Hold Head Inactive"] = true,
|
||||
["Roll Head Active"] = true,
|
||||
["Roll Head Inactive"] = true,
|
||||
["Hold Explosion"] = true,
|
||||
["Roll Explosion"] = 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,
|
||||
["Roll Explosion"] = true,
|
||||
};
|
||||
|
||||
return ret;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
return Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath('Up','Hold BottomCap Active');
|
||||
InitCommand=cmd(diffuse,color("0.5,0.5,0.5,0.5"));
|
||||
return Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath('Up','Hold BottomCap Active');
|
||||
InitCommand=cmd(diffuse,color("0.5,0.5,0.5,0.5"));
|
||||
};
|
||||
@@ -1,4 +1,4 @@
|
||||
return Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath('Up','Roll BottomCap Active');
|
||||
InitCommand=cmd(diffuse,color("0.5,0.5,0.5,0.5"));
|
||||
return Def.Sprite {
|
||||
Texture=NOTESKIN:GetPath('Up','Roll BottomCap Active');
|
||||
InitCommand=cmd(diffuse,color("0.5,0.5,0.5,0.5"));
|
||||
};
|
||||
@@ -1,28 +1,28 @@
|
||||
Materials: 3
|
||||
"cells"
|
||||
0.588235 0.588235 0.588235 1.000000
|
||||
0.588235 0.588235 0.588235 1.000000
|
||||
0.898039 0.898039 0.898039 1.000000
|
||||
0.000000 0.000000 0.000000 1.000000
|
||||
0.000000
|
||||
1.000000
|
||||
"tex\black.png"
|
||||
""
|
||||
"1 - Default"
|
||||
0.588235 0.588235 0.588235 1.000000
|
||||
0.588235 0.588235 0.588235 1.000000
|
||||
0.898039 0.898039 0.898039 1.000000
|
||||
0.000000 0.000000 0.000000 1.000000
|
||||
0.000000
|
||||
1.000000
|
||||
"tex\color.ini"
|
||||
""
|
||||
"2 - Inside"
|
||||
0.588235 0.588235 0.588235 1.000000
|
||||
0.588235 0.588235 0.588235 1.000000
|
||||
0.898039 0.898039 0.898039 1.000000
|
||||
0.000000 0.000000 0.000000 1.000000
|
||||
0.000000
|
||||
1.000000
|
||||
"tex\color in.jpg"
|
||||
""
|
||||
Materials: 3
|
||||
"cells"
|
||||
0.588235 0.588235 0.588235 1.000000
|
||||
0.588235 0.588235 0.588235 1.000000
|
||||
0.898039 0.898039 0.898039 1.000000
|
||||
0.000000 0.000000 0.000000 1.000000
|
||||
0.000000
|
||||
1.000000
|
||||
"tex\black.png"
|
||||
""
|
||||
"1 - Default"
|
||||
0.588235 0.588235 0.588235 1.000000
|
||||
0.588235 0.588235 0.588235 1.000000
|
||||
0.898039 0.898039 0.898039 1.000000
|
||||
0.000000 0.000000 0.000000 1.000000
|
||||
0.000000
|
||||
1.000000
|
||||
"tex\color.ini"
|
||||
""
|
||||
"2 - Inside"
|
||||
0.588235 0.588235 0.588235 1.000000
|
||||
0.588235 0.588235 0.588235 1.000000
|
||||
0.898039 0.898039 0.898039 1.000000
|
||||
0.000000 0.000000 0.000000 1.000000
|
||||
0.000000
|
||||
1.000000
|
||||
"tex\color in.jpg"
|
||||
""
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,85 +1,85 @@
|
||||
[Global]
|
||||
FallbackNoteSkin=default
|
||||
|
||||
[NoteDisplay]
|
||||
TapNoteAnimationIsVivid=0
|
||||
DrawHoldHeadForTapsOnSameRow=1
|
||||
TapNoteAnimationLength=4
|
||||
TapAdditionAnimationLength=4
|
||||
TapMineAnimationLength=1
|
||||
TapLiftAnimationLength=4
|
||||
HoldHeadAnimationLength=4 // doesn't matter. Only 1 frame anyway.
|
||||
HoldTopCapAnimationLength=4 // doesn't matter. Only 1 frame anyway.
|
||||
HoldBottomCapAnimationLength=4 // doesn't matter. Only 1 frame anyway.
|
||||
HoldBodyAnimationLength=4 // doesn't matter. Only 1 frame anyway.
|
||||
HoldTailAnimationLength=4 // doesn't matter. Only 1 frame anyway.
|
||||
|
||||
StartDrawingHoldBodyOffsetFromHead=0
|
||||
StopDrawingHoldBodyOffsetFromTail=0
|
||||
|
||||
HoldLetGoGrayPercent=0.125
|
||||
|
||||
ReverseDrawOrder=1101
|
||||
HoldHeadIsAboveWavyParts=1
|
||||
HoldTailIsAboveWavyParts=1
|
||||
TapNoteAdditionTextureCoordOffsetX=0
|
||||
TapNoteAdditionTextureCoordOffsetY=0
|
||||
FlipHeadAndTailWhenReverse=1
|
||||
FlipHoldBodyWhenReverse=1
|
||||
TopHoldAnchorWhenReverse=1
|
||||
|
||||
TapNoteNoteColorTextureCoordSpacingX=0.12
|
||||
TapNoteNoteColorTextureCoordSpacingY=0
|
||||
|
||||
TapFakeNoteColorTextureCoordSpacingX=0.12
|
||||
TapFakeNoteColorTextureCoordSpacingY=0
|
||||
|
||||
HoldHeadNoteColorTextureCoordSpacingX=0.12
|
||||
HoldHeadNoteColorTextureCoordSpacingY=0
|
||||
|
||||
[GhostArrowDim]
|
||||
NoneCommand=
|
||||
HitMineCommand=blend,'BlendMode_Add';diffuse,1,1,1,0.875;zoom,1;rotationz,0;linear,0.3;rotationz,90;linear,0.3;rotationz,180;diffusealpha,0
|
||||
MissCommand=blend,'BlendMode_Add';
|
||||
W5Command=blend,'BlendMode_Add';diffuse,0.8,0.0,0.6,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0
|
||||
W4Command=blend,'BlendMode_Add';diffuse,0.3,0.8,1.0,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0
|
||||
W3Command=blend,'BlendMode_Add';diffuse,0.0,1.0,0.4,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0
|
||||
W2Command=blend,'BlendMode_Add';diffuse,1.0,1.0,0.3,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0
|
||||
W1Command=blend,'BlendMode_Add';diffuse,1.0,1.0,1.0,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0
|
||||
LetGoCommand=blend,'BlendMode_Add';
|
||||
HeldCommand=blend,'BlendMode_Add';diffuse,1.0,1.0,0.3,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0
|
||||
|
||||
[GhostArrowBright]
|
||||
NoneCommand=blend,'BlendMode_Add';
|
||||
HitMineCommand=blend,'BlendMode_Add';diffuse,1,1,1,0.875;zoom,1;rotationz,0;linear,0.3;rotationz,90;linear,0.3;rotationz,180;diffusealpha,0
|
||||
MissCommand=blend,'BlendMode_Add';
|
||||
W5Command=blend,'BlendMode_Add';diffuse,0.8,0.0,0.6,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0
|
||||
W4Command=blend,'BlendMode_Add';diffuse,0.3,0.8,1.0,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0
|
||||
W3Command=blend,'BlendMode_Add';diffuse,0.0,1.0,0.4,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0
|
||||
W2Command=blend,'BlendMode_Add';diffuse,1.0,1.0,0.3,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0
|
||||
W1Command=blend,'BlendMode_Add';diffuse,1.0,1.0,1.0,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0
|
||||
LetGoCommand=blend,'BlendMode_Add';
|
||||
HeldCommand=blend,'BlendMode_Add';diffuse,1.0,1.0,0.3,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0
|
||||
|
||||
[HoldGhostArrow]
|
||||
HoldingOnCommand=visible,true
|
||||
HoldingOffCommand=visible,false
|
||||
|
||||
[ReceptorArrow]
|
||||
W3Command=stoptweening;zoom,0.85;linear,0.12;zoom,1
|
||||
W2Command=stoptweening;zoom,0.85;linear,0.12;zoom,1
|
||||
W1Command=stoptweening;zoom,0.85;linear,0.12;zoom,1
|
||||
InitCommand=
|
||||
NoneCommand=stoptweening;zoom,0.85;linear,0.12;zoom,1
|
||||
PressCommand=stoptweening;zoom,0.85;linear,0.12;zoom,1
|
||||
[ReceptorArrowOverlay]
|
||||
W3Command=stoptweening;zoom,0.85;linear,0.12;zoom,1
|
||||
W2Command=stoptweening;zoom,0.85;linear,0.12;zoom,1
|
||||
W1Command=stoptweening;zoom,0.85;linear,0.12;zoom,1
|
||||
InitCommand=blend,"BlendMode_Add";effectclock,"beat";diffuseramp;effectcolor1,color("1,1,1,0");effectcolor2,color("1,1,1,1");effecttiming,.2,0,.8,0;effectoffset,.05
|
||||
NoneCommand=stoptweening;zoom,0.85;linear,0.12;zoom,1
|
||||
PressCommand=stoptweening;zoom,0.85;linear,0.12;zoom,1
|
||||
[ReceptorOverlay]
|
||||
InitCommand=diffusealpha,0;blend,"BlendMode_Add"
|
||||
PressCommand=finishtweening;zoom,0.85;decelerate,0.12;zoom,1;diffusealpha,0.6;
|
||||
[Global]
|
||||
FallbackNoteSkin=default
|
||||
|
||||
[NoteDisplay]
|
||||
TapNoteAnimationIsVivid=0
|
||||
DrawHoldHeadForTapsOnSameRow=1
|
||||
TapNoteAnimationLength=4
|
||||
TapAdditionAnimationLength=4
|
||||
TapMineAnimationLength=1
|
||||
TapLiftAnimationLength=4
|
||||
HoldHeadAnimationLength=4 // doesn't matter. Only 1 frame anyway.
|
||||
HoldTopCapAnimationLength=4 // doesn't matter. Only 1 frame anyway.
|
||||
HoldBottomCapAnimationLength=4 // doesn't matter. Only 1 frame anyway.
|
||||
HoldBodyAnimationLength=4 // doesn't matter. Only 1 frame anyway.
|
||||
HoldTailAnimationLength=4 // doesn't matter. Only 1 frame anyway.
|
||||
|
||||
StartDrawingHoldBodyOffsetFromHead=0
|
||||
StopDrawingHoldBodyOffsetFromTail=0
|
||||
|
||||
HoldLetGoGrayPercent=0.125
|
||||
|
||||
ReverseDrawOrder=1101
|
||||
HoldHeadIsAboveWavyParts=1
|
||||
HoldTailIsAboveWavyParts=1
|
||||
TapNoteAdditionTextureCoordOffsetX=0
|
||||
TapNoteAdditionTextureCoordOffsetY=0
|
||||
FlipHeadAndTailWhenReverse=1
|
||||
FlipHoldBodyWhenReverse=1
|
||||
TopHoldAnchorWhenReverse=1
|
||||
|
||||
TapNoteNoteColorTextureCoordSpacingX=0.12
|
||||
TapNoteNoteColorTextureCoordSpacingY=0
|
||||
|
||||
TapFakeNoteColorTextureCoordSpacingX=0.12
|
||||
TapFakeNoteColorTextureCoordSpacingY=0
|
||||
|
||||
HoldHeadNoteColorTextureCoordSpacingX=0.12
|
||||
HoldHeadNoteColorTextureCoordSpacingY=0
|
||||
|
||||
[GhostArrowDim]
|
||||
NoneCommand=
|
||||
HitMineCommand=blend,'BlendMode_Add';diffuse,1,1,1,0.875;zoom,1;rotationz,0;linear,0.3;rotationz,90;linear,0.3;rotationz,180;diffusealpha,0
|
||||
MissCommand=blend,'BlendMode_Add';
|
||||
W5Command=blend,'BlendMode_Add';diffuse,0.8,0.0,0.6,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0
|
||||
W4Command=blend,'BlendMode_Add';diffuse,0.3,0.8,1.0,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0
|
||||
W3Command=blend,'BlendMode_Add';diffuse,0.0,1.0,0.4,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0
|
||||
W2Command=blend,'BlendMode_Add';diffuse,1.0,1.0,0.3,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0
|
||||
W1Command=blend,'BlendMode_Add';diffuse,1.0,1.0,1.0,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0
|
||||
LetGoCommand=blend,'BlendMode_Add';
|
||||
HeldCommand=blend,'BlendMode_Add';diffuse,1.0,1.0,0.3,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0
|
||||
|
||||
[GhostArrowBright]
|
||||
NoneCommand=blend,'BlendMode_Add';
|
||||
HitMineCommand=blend,'BlendMode_Add';diffuse,1,1,1,0.875;zoom,1;rotationz,0;linear,0.3;rotationz,90;linear,0.3;rotationz,180;diffusealpha,0
|
||||
MissCommand=blend,'BlendMode_Add';
|
||||
W5Command=blend,'BlendMode_Add';diffuse,0.8,0.0,0.6,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0
|
||||
W4Command=blend,'BlendMode_Add';diffuse,0.3,0.8,1.0,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0
|
||||
W3Command=blend,'BlendMode_Add';diffuse,0.0,1.0,0.4,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0
|
||||
W2Command=blend,'BlendMode_Add';diffuse,1.0,1.0,0.3,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0
|
||||
W1Command=blend,'BlendMode_Add';diffuse,1.0,1.0,1.0,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0
|
||||
LetGoCommand=blend,'BlendMode_Add';
|
||||
HeldCommand=blend,'BlendMode_Add';diffuse,1.0,1.0,0.3,0.875;zoom,1;linear,0.06;zoom,1.1;linear,0.06;diffusealpha,0
|
||||
|
||||
[HoldGhostArrow]
|
||||
HoldingOnCommand=visible,true
|
||||
HoldingOffCommand=visible,false
|
||||
|
||||
[ReceptorArrow]
|
||||
W3Command=stoptweening;zoom,0.85;linear,0.12;zoom,1
|
||||
W2Command=stoptweening;zoom,0.85;linear,0.12;zoom,1
|
||||
W1Command=stoptweening;zoom,0.85;linear,0.12;zoom,1
|
||||
InitCommand=
|
||||
NoneCommand=stoptweening;zoom,0.85;linear,0.12;zoom,1
|
||||
PressCommand=stoptweening;zoom,0.85;linear,0.12;zoom,1
|
||||
[ReceptorArrowOverlay]
|
||||
W3Command=stoptweening;zoom,0.85;linear,0.12;zoom,1
|
||||
W2Command=stoptweening;zoom,0.85;linear,0.12;zoom,1
|
||||
W1Command=stoptweening;zoom,0.85;linear,0.12;zoom,1
|
||||
InitCommand=blend,"BlendMode_Add";effectclock,"beat";diffuseramp;effectcolor1,color("1,1,1,0");effectcolor2,color("1,1,1,1");effecttiming,.2,0,.8,0;effectoffset,.05
|
||||
NoneCommand=stoptweening;zoom,0.85;linear,0.12;zoom,1
|
||||
PressCommand=stoptweening;zoom,0.85;linear,0.12;zoom,1
|
||||
[ReceptorOverlay]
|
||||
InitCommand=diffusealpha,0;blend,"BlendMode_Add"
|
||||
PressCommand=finishtweening;zoom,0.85;decelerate,0.12;zoom,1;diffusealpha,0.6;
|
||||
LiftCommand=finishtweening;accelerate,0.12;diffusealpha,0;zoom,1.2
|
||||
Reference in New Issue
Block a user