Fix eval summary, summary branches
+ Fixed ScreenGameplay StepsDisplay errors + Fixed ScreenSelectCourse CourseContentsList masks + Fixed ScreenEvaluationSummary banners -- introduced a scroller. + Fixed showing ScreenEvaluationSummary showing after a course (cherry picked from commit 04f7373238410c481cb79c6441fb27c55c69a447)
This commit is contained in:
@@ -121,7 +121,13 @@ Branch = {
|
|||||||
elseif STATSMAN:GetCurStageStats():AllFailed() then
|
elseif STATSMAN:GetCurStageStats():AllFailed() then
|
||||||
return "ScreenGameOver"
|
return "ScreenGameOver"
|
||||||
elseif GAMESTATE:GetSmallestNumStagesLeftForAnyHumanPlayer() == 0 then
|
elseif GAMESTATE:GetSmallestNumStagesLeftForAnyHumanPlayer() == 0 then
|
||||||
return "ScreenEvaluationSummary"
|
if GAMESTATE:GetPlayMode() ~= "PlayMode_Regular"
|
||||||
|
and GAMESTATE:GetPlayMode() ~= "PlayMode_Battle"
|
||||||
|
and GAMESTATE:GetPlayMode() ~= "PlayMode_Rave" then
|
||||||
|
return "ScreenEvaluationSummary"
|
||||||
|
else
|
||||||
|
return "ScreenGameOver"
|
||||||
|
end
|
||||||
else
|
else
|
||||||
return SelectMusicOrCourse()
|
return SelectMusicOrCourse()
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -92,6 +92,7 @@ ThemePrefs =
|
|||||||
|
|
||||||
-- create the section if it doesn't exist
|
-- create the section if it doesn't exist
|
||||||
local section = GetThemeName()
|
local section = GetThemeName()
|
||||||
|
Trace( ("ThemePrefs.Init: Theme name is \"%s\""):format(section) )
|
||||||
PrefsTable[section] = PrefsTable[section] and PrefsTable[section] or { }
|
PrefsTable[section] = PrefsTable[section] and PrefsTable[section] or { }
|
||||||
|
|
||||||
--Trace( "Using section " .. section )
|
--Trace( "Using section " .. section )
|
||||||
@@ -104,7 +105,7 @@ ThemePrefs =
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
--PrintTable( PrefsTable[section] )
|
PrintTable( PrefsTable[section] )
|
||||||
end,
|
end,
|
||||||
|
|
||||||
Load = function()
|
Load = function()
|
||||||
|
|||||||
@@ -18,20 +18,10 @@ t[#t+1] = Def.ActorFrame {
|
|||||||
end
|
end
|
||||||
end;
|
end;
|
||||||
};
|
};
|
||||||
Def.Quad {
|
Def.Quad {
|
||||||
InitCommand=cmd(Center;scaletoclipped,SCREEN_WIDTH+1,SCREEN_HEIGHT);
|
InitCommand=cmd(Center;scaletoclipped,SCREEN_WIDTH+1,SCREEN_HEIGHT);
|
||||||
OnCommand=cmd(diffuse,color("#FFCB05");diffusebottomedge,color("#F0BA00");diffusealpha,0.45);
|
OnCommand=cmd(diffuse,color("#FFCB05");diffusebottomedge,color("#F0BA00");diffusealpha,0.45);
|
||||||
};
|
};
|
||||||
--[[
|
|
||||||
LoadActor(THEME:GetPathB("ScreenWithMenuElements","background/_grid")).. {
|
|
||||||
InitCommand=cmd(customtexturerect,0,0,(SCREEN_WIDTH+1)/4,SCREEN_HEIGHT/4;SetTextureFiltering,true);
|
|
||||||
OnCommand=cmd(zoomto,SCREEN_WIDTH+1,SCREEN_HEIGHT;diffuse,Color("Black");diffuseshift;effecttiming,(1/8)*4,0,(7/8)*4,0;effectclock,'beatnooffset';
|
|
||||||
effectcolor2,Color("Black");effectcolor1,Colors.Alpha(Color("Black"),0.45);fadebottom,0.25;fadetop,0.25;croptop,48/480;cropbottom,48/480;diffusealpha,0.345);
|
|
||||||
}; --]]
|
|
||||||
LoadActor(THEME:GetPathB("ScreenWithMenuElements","background/_bg top")) .. {
|
|
||||||
InitCommand=cmd(Center;scaletoclipped,SCREEN_WIDTH+1,SCREEN_HEIGHT);
|
|
||||||
};
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
return t
|
return t
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
local t = LoadActor(THEME:GetPathB("ScreenWithMenuElements","background"));
|
||||||
|
|
||||||
|
return t;
|
||||||
@@ -0,0 +1,5 @@
|
|||||||
|
local t = LoadFallbackB();
|
||||||
|
|
||||||
|
t[#t+1] = StandardDecorationFromFileOptional("BannerList","BannerList");
|
||||||
|
|
||||||
|
return t;
|
||||||
@@ -116,7 +116,7 @@ t[#t+1] = StandardDecorationFromFileOptional("PaneDisplayFrameP2","PaneDisplayFr
|
|||||||
t[#t+1] = StandardDecorationFromFileOptional("PaneDisplayTextP1","PaneDisplayTextP1");
|
t[#t+1] = StandardDecorationFromFileOptional("PaneDisplayTextP1","PaneDisplayTextP1");
|
||||||
t[#t+1] = StandardDecorationFromFileOptional("PaneDisplayTextP2","PaneDisplayTextP2");
|
t[#t+1] = StandardDecorationFromFileOptional("PaneDisplayTextP2","PaneDisplayTextP2");
|
||||||
t[#t+1] = StandardDecorationFromFileOptional("DifficultyList","DifficultyList");
|
t[#t+1] = StandardDecorationFromFileOptional("DifficultyList","DifficultyList");
|
||||||
t[#t+1] = StandardDecorationFromFileOptional("CourseContentsList","CourseContentsList");
|
|
||||||
t[#t+1] = StandardDecorationFromFileOptional("BPMDisplay","BPMDisplay");
|
t[#t+1] = StandardDecorationFromFileOptional("BPMDisplay","BPMDisplay");
|
||||||
t[#t+1] = StandardDecorationFromFileOptional("BPMLabel","BPMLabel");
|
t[#t+1] = StandardDecorationFromFileOptional("BPMLabel","BPMLabel");
|
||||||
t[#t+1] = StandardDecorationFromFileOptional("SegmentDisplay","SegmentDisplay");
|
t[#t+1] = StandardDecorationFromFileOptional("SegmentDisplay","SegmentDisplay");
|
||||||
@@ -231,6 +231,25 @@ if not GAMESTATE:IsCourseMode() then
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
if GAMESTATE:IsCourseMode() then
|
if GAMESTATE:IsCourseMode() then
|
||||||
|
t[#t+1] = Def.ActorFrame {
|
||||||
|
Def.Quad {
|
||||||
|
InitCommand=cmd(
|
||||||
|
x,THEME:GetMetric(Var "LoadingScreen","CourseContentsListX");
|
||||||
|
y,THEME:GetMetric(Var "LoadingScreen","CourseContentsListY") - 118;
|
||||||
|
zoomto,256+32,192;
|
||||||
|
);
|
||||||
|
OnCommand=cmd(diffuse,Color.Green;MaskSource);
|
||||||
|
};
|
||||||
|
Def.Quad {
|
||||||
|
InitCommand=cmd(
|
||||||
|
x,THEME:GetMetric(Var "LoadingScreen","CourseContentsListX");
|
||||||
|
y,THEME:GetMetric(Var "LoadingScreen","CourseContentsListY") + 186;
|
||||||
|
zoomto,256+32,64;
|
||||||
|
);
|
||||||
|
OnCommand=cmd(diffuse,Color.Blue;MaskSource);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
t[#t+1] = StandardDecorationFromFileOptional("CourseContentsList","CourseContentsList");
|
||||||
t[#t+1] = StandardDecorationFromFileOptional("NumCourseSongs","NumCourseSongs")..{
|
t[#t+1] = StandardDecorationFromFileOptional("NumCourseSongs","NumCourseSongs")..{
|
||||||
InitCommand=cmd(horizalign,right);
|
InitCommand=cmd(horizalign,right);
|
||||||
SetCommand=function(self)
|
SetCommand=function(self)
|
||||||
|
|||||||
@@ -12,7 +12,7 @@ local t = Def.ActorFrame {
|
|||||||
BeginCommand=function(self,param)
|
BeginCommand=function(self,param)
|
||||||
local screen = SCREENMAN:GetTopScreen();
|
local screen = SCREENMAN:GetTopScreen();
|
||||||
local glifemeter = screen:GetLifeMeter(player);
|
local glifemeter = screen:GetLifeMeter(player);
|
||||||
self:setstate(glifemeter:GetTotalLives()-1);
|
self:setstate(clamp(glifemeter:GetTotalLives()-1,0,9));
|
||||||
|
|
||||||
if glifemeter:GetTotalLives() <= 4 then
|
if glifemeter:GetTotalLives() <= 4 then
|
||||||
self:zoomx(barWidth/(4*64));
|
self:zoomx(barWidth/(4*64));
|
||||||
@@ -26,14 +26,14 @@ local t = Def.ActorFrame {
|
|||||||
if param.LivesLeft == 0 then
|
if param.LivesLeft == 0 then
|
||||||
self:visible(false)
|
self:visible(false)
|
||||||
else
|
else
|
||||||
self:setstate( math.max(param.LivesLeft-1,0) )
|
self:setstate( clamp(param.LivesLeft-1,0,9) )
|
||||||
self:visible(true)
|
self:visible(true)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end;
|
end;
|
||||||
StartCommand=function(self,param)
|
StartCommand=function(self,param)
|
||||||
if param.Player == player then
|
if param.Player == player then
|
||||||
self:setstate( math.max(param.LivesLeft-1,0) );
|
self:setstate( clamp(param.LivesLeft-1,0,9) );
|
||||||
end
|
end
|
||||||
end;
|
end;
|
||||||
FinishCommand=cmd(playcommand,"Start");
|
FinishCommand=cmd(playcommand,"Start");
|
||||||
|
|||||||
@@ -0,0 +1,58 @@
|
|||||||
|
local function GetList()
|
||||||
|
local l = {};
|
||||||
|
for i=1,7 do
|
||||||
|
local stats;
|
||||||
|
stats = STATSMAN:GetPlayedStageStats(i);
|
||||||
|
|
||||||
|
if not stats then
|
||||||
|
MESSAGEMAN:Broadcast("SystemMessage",{ Message="List break (" .. i .. ")" });
|
||||||
|
break
|
||||||
|
end
|
||||||
|
|
||||||
|
l[#l+1] = stats;
|
||||||
|
end
|
||||||
|
MESSAGEMAN:Broadcast("SystemMessage",{ Message=tostring(#l) });
|
||||||
|
return l
|
||||||
|
end
|
||||||
|
|
||||||
|
local statList = GetList();
|
||||||
|
|
||||||
|
local as = Def.ActorScroller {
|
||||||
|
SecondsPerItem = 1;
|
||||||
|
NumItemsToDraw = 10;
|
||||||
|
TransformFunction = function( self, offset, itemIndex, numItems)
|
||||||
|
self:diffusealpha(1-offset);
|
||||||
|
end;
|
||||||
|
OnCommand=function(self)
|
||||||
|
self:SetLoop(true);
|
||||||
|
self:SetSecondsPauseBetweenItems(2);
|
||||||
|
self:ScrollThroughAllItems();
|
||||||
|
end;
|
||||||
|
}
|
||||||
|
|
||||||
|
for i=1,#statList do
|
||||||
|
local j = #statList - (i-1);
|
||||||
|
as[#as+1] = Def.ActorFrame {
|
||||||
|
Def.Sprite {
|
||||||
|
InitCommand=cmd(scaletoclipped,256,80);
|
||||||
|
BeginCommand=function(self)
|
||||||
|
local path = statList[j]:GetPlayedSongs()[1]:GetBannerPath() or THEME:GetPathG("Common","fallback banner");
|
||||||
|
self:LoadBanner(path);
|
||||||
|
end;
|
||||||
|
};
|
||||||
|
Def.Quad {
|
||||||
|
InitCommand=cmd(x,128;y,40;horizalign,right;vertalign,bottom);
|
||||||
|
OnCommand=cmd(zoomto,80,18;diffuse,Color.Black;diffusealpha,0.5;fadeleft,0.5);
|
||||||
|
};
|
||||||
|
LoadFont("Common Normal") .. {
|
||||||
|
Text=StageToLocalizedString( statList[j]:GetStage() );
|
||||||
|
InitCommand=cmd(x,128-4;y,40-4;horizalign,right;vertalign,bottom);
|
||||||
|
OnCommand=cmd(diffuse,StageToColor(statList[j]:GetStage());zoom,0.675;shadowlength,1);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
end
|
||||||
|
|
||||||
|
return Def.ActorFrame {
|
||||||
|
as;
|
||||||
|
LoadActor(THEME:GetPathG("ScreenSelectMusic","BannerFrame"));
|
||||||
|
};
|
||||||
@@ -1,6 +1,8 @@
|
|||||||
local curScreen = Var "LoadingScreen";
|
local curScreen = Var "LoadingScreen";
|
||||||
local curStage = GAMESTATE:GetCurrentStage();
|
local curStage = GAMESTATE:GetCurrentStage();
|
||||||
local curStageIndex = GAMESTATE:GetCurrentStageIndex();
|
local curStageIndex = GAMESTATE:GetCurrentStageIndex();
|
||||||
|
local playMode = GAMESTATE:GetPlayMode();
|
||||||
|
|
||||||
local tRemap = {
|
local tRemap = {
|
||||||
Stage_1st = 1,
|
Stage_1st = 1,
|
||||||
Stage_2nd = 2,
|
Stage_2nd = 2,
|
||||||
@@ -13,9 +15,7 @@ if tRemap[curStage] == PREFSMAN:GetPreference("SongsPerPlay") then
|
|||||||
curStage = "Stage_Final";
|
curStage = "Stage_Final";
|
||||||
end
|
end
|
||||||
|
|
||||||
local t = Def.ActorFrame {};
|
local t = Def.ActorFrame {
|
||||||
|
|
||||||
t[#t+1] = Def.ActorFrame {
|
|
||||||
LoadActor(THEME:GetPathB("_frame","3x3"),"rounded black",64,16);
|
LoadActor(THEME:GetPathB("_frame","3x3"),"rounded black",64,16);
|
||||||
LoadFont("Common Normal") .. {
|
LoadFont("Common Normal") .. {
|
||||||
InitCommand=cmd(y,-1;shadowlength,1;playcommand,"Set");
|
InitCommand=cmd(y,-1;shadowlength,1;playcommand,"Set");
|
||||||
@@ -26,16 +26,18 @@ t[#t+1] = Def.ActorFrame {
|
|||||||
CurrentTraiP1ChangedMessageCommand=cmd(playcommand,"Set");
|
CurrentTraiP1ChangedMessageCommand=cmd(playcommand,"Set");
|
||||||
CurrentTraiP2ChangedMessageCommand=cmd(playcommand,"Set");
|
CurrentTraiP2ChangedMessageCommand=cmd(playcommand,"Set");
|
||||||
SetCommand=function(self)
|
SetCommand=function(self)
|
||||||
if GAMESTATE:IsEventMode() then
|
if playMode ~= 'PlayMode_Regular' and playMode ~= 'PlayMode_Battle' and playMode ~= 'PlayMode_Rave' then
|
||||||
self:settextf("Stage %s", curStageIndex+1);
|
self:settextf("%i / %i", tonumber(curStageIndex) + 1, GAMESTATE:GetCurrentCourse():GetEstimatedNumStages());
|
||||||
elseif GAMESTATE:GetPlayMode() == 'PlayMode_Endless' or 'PlayMode_Oni' or 'Nonstop' then
|
|
||||||
self:settextf("%i / %i", curStageIndex , GAMESTATE:GetCurrentCourse():GetEstimatedNumStages());
|
|
||||||
else
|
else
|
||||||
if THEME:GetMetric(curScreen,"StageDisplayUseShortString") then
|
if GAMESTATE:IsEventMode() then
|
||||||
self:settextf("%s", ToEnumShortString(curStage));
|
self:settextf("Stage %s", curStageIndex+1);
|
||||||
else
|
else
|
||||||
self:settextf("%s Stage", ToEnumShortString(curStage));
|
if THEME:GetMetric(curScreen,"StageDisplayUseShortString") then
|
||||||
end;
|
self:settextf("%s", ToEnumShortString(curStage));
|
||||||
|
else
|
||||||
|
self:settextf("%s Stage", ToEnumShortString(curStage));
|
||||||
|
end
|
||||||
|
end
|
||||||
end;
|
end;
|
||||||
self:zoom(0.675);
|
self:zoom(0.675);
|
||||||
self:diffuse(StageToColor(curStage));
|
self:diffuse(StageToColor(curStage));
|
||||||
|
|||||||
@@ -1,19 +1,21 @@
|
|||||||
|
local transform = function(self,offsetFromCenter,itemIndex,numitems)
|
||||||
|
self:y( offsetFromCenter * 44 );
|
||||||
|
end
|
||||||
return Def.CourseContentsList {
|
return Def.CourseContentsList {
|
||||||
MaxSongs = 4;
|
MaxSongs = 10;
|
||||||
NumItemsToDraw = 8;
|
NumItemsToDraw = 8;
|
||||||
ShowCommand=cmd(bouncebegin,0.3;zoomy,1);
|
ShowCommand=cmd(bouncebegin,0.3;zoomy,1);
|
||||||
HideCommand=cmd(linear,0.3;zoomy,0);
|
HideCommand=cmd(linear,0.3;zoomy,0);
|
||||||
SetCommand=function(self)
|
SetCommand=function(self)
|
||||||
self:SetFromGameState();
|
self:SetFromGameState();
|
||||||
self:PositionItems();
|
|
||||||
self:SetTransformFromHeight(44);
|
|
||||||
self:SetCurrentAndDestinationItem(0);
|
self:SetCurrentAndDestinationItem(0);
|
||||||
|
self:SetPauseCountdownSeconds(1);
|
||||||
|
self:SetSecondsPauseBetweenItems( 0.25 );
|
||||||
|
self:SetTransformFromFunction(transform);
|
||||||
--
|
--
|
||||||
MESSAGEMAN:Broadcast("SystemMessage",{ Text ="Test" });
|
self:SetDestinationItem( math.max(0,self:GetNumItems() - 4) );
|
||||||
--
|
|
||||||
self:SetDestinationItem(4);
|
|
||||||
self:SetLoop(false);
|
self:SetLoop(false);
|
||||||
self:SetMask(270,44*4);
|
self:SetMask(0,0);
|
||||||
end;
|
end;
|
||||||
CurrentTrailP1ChangedMessageCommand=cmd(playcommand,"Set");
|
CurrentTrailP1ChangedMessageCommand=cmd(playcommand,"Set");
|
||||||
CurrentTrailP2ChangedMessageCommand=cmd(playcommand,"Set");
|
CurrentTrailP2ChangedMessageCommand=cmd(playcommand,"Set");
|
||||||
|
|||||||
@@ -78,13 +78,6 @@ local Prefs =
|
|||||||
Choices = { OptionNameString('Off'), OptionNameString('On') },
|
Choices = { OptionNameString('Off'), OptionNameString('On') },
|
||||||
Values = { false, true }
|
Values = { false, true }
|
||||||
},
|
},
|
||||||
|
|
||||||
--[[
|
|
||||||
ProtimingP1,
|
|
||||||
ProtimingP2,
|
|
||||||
|
|
||||||
UserPrefScoringMode = 'DDR Extreme'
|
|
||||||
--]]
|
|
||||||
}
|
}
|
||||||
|
|
||||||
ThemePrefs.InitAll(Prefs)
|
ThemePrefs.InitAll(Prefs)
|
||||||
|
|||||||
@@ -1972,24 +1972,30 @@ Summary=true
|
|||||||
#
|
#
|
||||||
ShowStageDisplay=false
|
ShowStageDisplay=false
|
||||||
#
|
#
|
||||||
|
ShowBannerList=true
|
||||||
|
BannerListX=SCREEN_CENTER_X
|
||||||
|
BannerListY=SCREEN_TOP+96
|
||||||
|
BannerListOnCommmand=
|
||||||
|
BannerListOffCommand=
|
||||||
|
#
|
||||||
SmallBanner1X=SCREEN_CENTER_X-72
|
SmallBanner1X=SCREEN_CENTER_X-72
|
||||||
SmallBanner1Y=SCREEN_TOP+100-24
|
SmallBanner1Y=SCREEN_TOP+100-24
|
||||||
SmallBanner1OnCommand=zoom,0.5
|
SmallBanner1OnCommand=visible,false
|
||||||
SmallBanner1OffCommand=
|
SmallBanner1OffCommand=
|
||||||
|
|
||||||
SmallBanner2X=SCREEN_CENTER_X-48
|
SmallBanner2X=SCREEN_CENTER_X-48
|
||||||
SmallBanner2Y=SCREEN_TOP+100-16
|
SmallBanner2Y=SCREEN_TOP+100-16
|
||||||
SmallBanner2OnCommand=zoom,0.5
|
SmallBanner2OnCommand=visible,false
|
||||||
SmallBanner2OffCommand=
|
SmallBanner2OffCommand=
|
||||||
|
|
||||||
SmallBanner3X=SCREEN_CENTER_X-24
|
SmallBanner3X=SCREEN_CENTER_X-24
|
||||||
SmallBanner3Y=SCREEN_TOP+100-8
|
SmallBanner3Y=SCREEN_TOP+100-8
|
||||||
SmallBanner3OnCommand=zoom,0.5
|
SmallBanner3OnCommand=visible,false
|
||||||
SmallBanner3OffCommand=
|
SmallBanner3OffCommand=
|
||||||
|
|
||||||
SmallBanner4X=SCREEN_CENTER_X+24
|
SmallBanner4X=SCREEN_CENTER_X+24
|
||||||
SmallBanner4Y=SCREEN_TOP+100+8
|
SmallBanner4Y=SCREEN_TOP+100+8
|
||||||
SmallBanner4OnCommand=zoom,0.5
|
SmallBanner4OnCommand=visible,false
|
||||||
SmallBanner4OffCommand=
|
SmallBanner4OffCommand=
|
||||||
|
|
||||||
SmallBanner5X=SCREEN_CENTER_X+48
|
SmallBanner5X=SCREEN_CENTER_X+48
|
||||||
@@ -1999,7 +2005,7 @@ SmallBanner5OfCommand=
|
|||||||
|
|
||||||
SmallBanner6X=SCREEN_CENTER_X+72
|
SmallBanner6X=SCREEN_CENTER_X+72
|
||||||
SmallBanner6Y=SCREEN_TOP+100+24
|
SmallBanner6Y=SCREEN_TOP+100+24
|
||||||
SmallBanner6OnCommand=zoom,0.5
|
SmallBanner6OnCommand=visible,false
|
||||||
SmallBanner6OffCommand=
|
SmallBanner6OffCommand=
|
||||||
|
|
||||||
[ScreenNameEntry]
|
[ScreenNameEntry]
|
||||||
@@ -2009,6 +2015,7 @@ SmallBanner6OffCommand=
|
|||||||
[ScreenProfileSaveSummary]
|
[ScreenProfileSaveSummary]
|
||||||
|
|
||||||
[ScreenGameOver]
|
[ScreenGameOver]
|
||||||
|
TimerOnCommand=visible,false
|
||||||
|
|
||||||
[ScreenPrompt]
|
[ScreenPrompt]
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user