Files
itgmania212121/Themes/default/BGAnimations/ScreenSelectMusic decorations/default.lua
T

157 lines
5.7 KiB
Lua

local t = LoadFallbackB();
-- Legacy StepMania 4 Function
local function StepsDisplay(pn)
local function set(self, player)
self:SetFromGameState( player );
end
local t = Def.StepsDisplay {
InitCommand=cmd(Load,"StepsDisplay",GAMESTATE:GetPlayerState(pn););
};
if pn == PLAYER_1 then
t.CurrentStepsP1ChangedMessageCommand=function(self) set(self, pn); end;
t.CurrentTrailP1ChangedMessageCommand=function(self) set(self, pn); end;
else
t.CurrentStepsP2ChangedMessageCommand=function(self) set(self, pn); end;
t.CurrentTrailP2ChangedMessageCommand=function(self) set(self, pn); end;
end
return t;
end
t[#t+1] = StandardDecorationFromFileOptional("AlternateHelpDisplay","AlternateHelpDisplay");
-- Legacy StepMania 4 Function
for pn in ivalues(PlayerNumber) do
local MetricsName = "StepsDisplay" .. PlayerNumberToString(pn);
t[#t+1] = StepsDisplay(pn) .. {
InitCommand=function(self) self:player(pn); self:name(MetricsName); ActorUtil.LoadAllCommandsAndSetXY(self,Var "LoadingScreen"); end;
PlayerJoinedMessageCommand=function(self, params)
if params.Player == pn then
self:visible(true);
(cmd(zoom,0;bounceend,0.3;zoom,1))(self);
end;
end;
PlayerUnjoinedMessageCommand=function(self, params)
if params.Player == pn then
self:visible(true);
(cmd(bouncebegin,0.3;zoom,0))(self);
end;
end;
};
end
t[#t+1] = StandardDecorationFromFileOptional("BannerFrame","BannerFrame");
t[#t+1] = StandardDecorationFromFileOptional("DifficultyList","DifficultyList");
t[#t+1] = StandardDecorationFromFileOptional("CourseContentsList","CourseContentsList");
t[#t+1] = StandardDecorationFromFileOptional("BPMDisplay","BPMDisplay");
t[#t+1] = StandardDecorationFromFileOptional("BPMLabel","BPMLabel");
t[#t+1] = StandardDecorationFromFileOptional("SongTime","SongTime") .. {
SetCommand=function(self)
local curSelection = nil;
local length = 0.0;
if GAMESTATE:IsCourseMode() then
curSelection = GAMESTATE:GetCurrentCourse();
self:playcommand("Reset");
if curSelection then
length = curSelection:GetTotalSeconds(GAMESTATE:GetCurrentStyle():GetStepsType());
else
length = 0.0;
end;
else
curSelection = GAMESTATE:GetCurrentSong();
self:playcommand("Reset");
if curSelection then
length = curSelection:MusicLengthSeconds();
if curSelection:IsLong() then
self:playcommand("Long");
elseif curSelection:IsMarathon() then
self:playcommand("Marathon");
else
self:playcommand("Reset");
end
else
length = 0.0;
self:playcommand("Reset");
end;
end;
self:settext( SecondsToMSS(length) );
end;
CurrentSongChangedMessageCommand=cmd(playcommand,"Set");
CurrentCourseChangedMessageCommand=cmd(playcommand,"Set");
}
if not GAMESTATE:IsCourseMode() then
t[#t+1] = StandardDecorationFromFileOptional("NewSong","NewSong") .. {
-- ShowCommand=THEME:GetMetric(Var "LoadingScreen", "NewSongShowCommand" );
-- HideCommand=THEME:GetMetric(Var "LoadingScreen", "NewSongHideCommand" );
InitCommand=cmd(playcommand,"Set");
BeginCommand=cmd(playcommand,"Set");
CurrentSongChangedMessageCommand=cmd(playcommand,"Set");
SetCommand=function(self)
-- local pTargetProfile;
local sSong;
-- Start!
if GAMESTATE:GetCurrentSong() then
if PROFILEMAN:IsSongNew(GAMESTATE:GetCurrentSong()) then
self:playcommand("Show");
else
self:playcommand("Hide");
end
else
self:playcommand("Hide");
end
end;
};
t[#t+1] = StandardDecorationFromFileOptional("StageDisplay","StageDisplay");
end;
if GAMESTATE:IsCourseMode() then
t[#t+1] = StandardDecorationFromFileOptional("NumCourseSongs","NumCourseSongs")..{
InitCommand=cmd(horizalign,right);
SetCommand=function(self)
local curSelection= nil;
local sAppend = "";
if GAMESTATE:IsCourseMode() then
curSelection = GAMESTATE:GetCurrentCourse();
if curSelection then
sAppend = (curSelection:GetEstimatedNumStages() == 1) and "Stage" or "Stages";
self:visible(true);
self:settext( curSelection:GetEstimatedNumStages() .. " " .. sAppend);
else
self:visible(false);
end;
else
self:visible(false);
end;
end;
CurrentCourseChangedMessageCommand=cmd(playcommand,"Set");
};
end
t[#t+1] = StandardDecorationFromFileOptional("SortOrder","SortOrderText") .. {
BeginCommand=cmd(playcommand,"Set");
SortOrderChangedMessageCommand=cmd(playcommand,"Set";);
SetCommand=function(self)
local s = SortOrderToLocalizedString( GAMESTATE:GetSortOrder() );
self:settext( s );
self:playcommand("Sort");
end;
};
t[#t+1] = StandardDecorationFromFileOptional("SortOrderFrame","SortOrderFrame") .. {
--[[ BeginCommand=cmd(playcommand,"Set");
SortOrderChangedMessageCommand=cmd(playcommand,"Set";);
SetCommand=function(self)
local s = SortOrderToLocalizedString( GAMESTATE:GetSortOrder() );
self:settext( s );
self:playcommand("Sort");
end; --]]
};
t[#t+1] = StandardDecorationFromFileOptional("SongOptionsFrame","SongOptionsFrame") .. {
ShowPressStartForOptionsCommand=THEME:GetMetric(Var "LoadingScreen","SongOptionsFrameShowCommand");
ShowEnteringOptionsCommand=THEME:GetMetric(Var "LoadingScreen","SongOptionsFrameEnterCommand");
HidePressStartForOptionsCommand=THEME:GetMetric(Var "LoadingScreen","SongOptionsFrameHideCommand");
};
t[#t+1] = StandardDecorationFromFileOptional("SongOptions","SongOptionsText") .. {
ShowPressStartForOptionsCommand=THEME:GetMetric(Var "LoadingScreen","SongOptionsShowCommand");
ShowEnteringOptionsCommand=THEME:GetMetric(Var "LoadingScreen","SongOptionsEnterCommand");
HidePressStartForOptionsCommand=THEME:GetMetric(Var "LoadingScreen","SongOptionsHideCommand");
};
return t