106 lines
2.1 KiB
Lua
106 lines
2.1 KiB
Lua
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"
|
|
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 Bottom Cap Active"] = true,
|
|
["Hold Bottom Cap Inactive"] = 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;
|