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:
Jonathan Payne
2014-08-28 06:01:15 -05:00
committed by freem
parent c36068faf8
commit 91581bb5f7
12 changed files with 133 additions and 47 deletions
+7 -1
View File
@@ -121,7 +121,13 @@ Branch = {
elseif STATSMAN:GetCurStageStats():AllFailed() then
return "ScreenGameOver"
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
return SelectMusicOrCourse()
end
+2 -1
View File
@@ -92,6 +92,7 @@ ThemePrefs =
-- create the section if it doesn't exist
local section = GetThemeName()
Trace( ("ThemePrefs.Init: Theme name is \"%s\""):format(section) )
PrefsTable[section] = PrefsTable[section] and PrefsTable[section] or { }
--Trace( "Using section " .. section )
@@ -104,7 +105,7 @@ ThemePrefs =
end
end
--PrintTable( PrefsTable[section] )
PrintTable( PrefsTable[section] )
end,
Load = function()
@@ -18,20 +18,10 @@ t[#t+1] = Def.ActorFrame {
end
end;
};
Def.Quad {
Def.Quad {
InitCommand=cmd(Center;scaletoclipped,SCREEN_WIDTH+1,SCREEN_HEIGHT);
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
@@ -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("PaneDisplayTextP2","PaneDisplayTextP2");
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("SegmentDisplay","SegmentDisplay");
@@ -231,6 +231,25 @@ if not GAMESTATE:IsCourseMode() then
end;
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")..{
InitCommand=cmd(horizalign,right);
SetCommand=function(self)
@@ -12,7 +12,7 @@ local t = Def.ActorFrame {
BeginCommand=function(self,param)
local screen = SCREENMAN:GetTopScreen();
local glifemeter = screen:GetLifeMeter(player);
self:setstate(glifemeter:GetTotalLives()-1);
self:setstate(clamp(glifemeter:GetTotalLives()-1,0,9));
if glifemeter:GetTotalLives() <= 4 then
self:zoomx(barWidth/(4*64));
@@ -26,14 +26,14 @@ local t = Def.ActorFrame {
if param.LivesLeft == 0 then
self:visible(false)
else
self:setstate( math.max(param.LivesLeft-1,0) )
self:setstate( clamp(param.LivesLeft-1,0,9) )
self:visible(true)
end
end
end;
StartCommand=function(self,param)
if param.Player == player then
self:setstate( math.max(param.LivesLeft-1,0) );
self:setstate( clamp(param.LivesLeft-1,0,9) );
end
end;
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 curStage = GAMESTATE:GetCurrentStage();
local curStageIndex = GAMESTATE:GetCurrentStageIndex();
local playMode = GAMESTATE:GetPlayMode();
local tRemap = {
Stage_1st = 1,
Stage_2nd = 2,
@@ -13,9 +15,7 @@ if tRemap[curStage] == PREFSMAN:GetPreference("SongsPerPlay") then
curStage = "Stage_Final";
end
local t = Def.ActorFrame {};
t[#t+1] = Def.ActorFrame {
local t = Def.ActorFrame {
LoadActor(THEME:GetPathB("_frame","3x3"),"rounded black",64,16);
LoadFont("Common Normal") .. {
InitCommand=cmd(y,-1;shadowlength,1;playcommand,"Set");
@@ -26,16 +26,18 @@ t[#t+1] = Def.ActorFrame {
CurrentTraiP1ChangedMessageCommand=cmd(playcommand,"Set");
CurrentTraiP2ChangedMessageCommand=cmd(playcommand,"Set");
SetCommand=function(self)
if GAMESTATE:IsEventMode() then
self:settextf("Stage %s", curStageIndex+1);
elseif GAMESTATE:GetPlayMode() == 'PlayMode_Endless' or 'PlayMode_Oni' or 'Nonstop' then
self:settextf("%i / %i", curStageIndex , GAMESTATE:GetCurrentCourse():GetEstimatedNumStages());
if playMode ~= 'PlayMode_Regular' and playMode ~= 'PlayMode_Battle' and playMode ~= 'PlayMode_Rave' then
self:settextf("%i / %i", tonumber(curStageIndex) + 1, GAMESTATE:GetCurrentCourse():GetEstimatedNumStages());
else
if THEME:GetMetric(curScreen,"StageDisplayUseShortString") then
self:settextf("%s", ToEnumShortString(curStage));
if GAMESTATE:IsEventMode() then
self:settextf("Stage %s", curStageIndex+1);
else
self:settextf("%s Stage", ToEnumShortString(curStage));
end;
if THEME:GetMetric(curScreen,"StageDisplayUseShortString") then
self:settextf("%s", ToEnumShortString(curStage));
else
self:settextf("%s Stage", ToEnumShortString(curStage));
end
end
end;
self:zoom(0.675);
self:diffuse(StageToColor(curStage));
@@ -1,19 +1,21 @@
local transform = function(self,offsetFromCenter,itemIndex,numitems)
self:y( offsetFromCenter * 44 );
end
return Def.CourseContentsList {
MaxSongs = 4;
MaxSongs = 10;
NumItemsToDraw = 8;
ShowCommand=cmd(bouncebegin,0.3;zoomy,1);
HideCommand=cmd(linear,0.3;zoomy,0);
SetCommand=function(self)
self:SetFromGameState();
self:PositionItems();
self:SetTransformFromHeight(44);
self:SetCurrentAndDestinationItem(0);
self:SetPauseCountdownSeconds(1);
self:SetSecondsPauseBetweenItems( 0.25 );
self:SetTransformFromFunction(transform);
--
MESSAGEMAN:Broadcast("SystemMessage",{ Text ="Test" });
--
self:SetDestinationItem(4);
self:SetDestinationItem( math.max(0,self:GetNumItems() - 4) );
self:SetLoop(false);
self:SetMask(270,44*4);
self:SetMask(0,0);
end;
CurrentTrailP1ChangedMessageCommand=cmd(playcommand,"Set");
CurrentTrailP2ChangedMessageCommand=cmd(playcommand,"Set");
-7
View File
@@ -78,13 +78,6 @@ local Prefs =
Choices = { OptionNameString('Off'), OptionNameString('On') },
Values = { false, true }
},
--[[
ProtimingP1,
ProtimingP2,
UserPrefScoringMode = 'DDR Extreme'
--]]
}
ThemePrefs.InitAll(Prefs)
+12 -5
View File
@@ -1972,24 +1972,30 @@ Summary=true
#
ShowStageDisplay=false
#
ShowBannerList=true
BannerListX=SCREEN_CENTER_X
BannerListY=SCREEN_TOP+96
BannerListOnCommmand=
BannerListOffCommand=
#
SmallBanner1X=SCREEN_CENTER_X-72
SmallBanner1Y=SCREEN_TOP+100-24
SmallBanner1OnCommand=zoom,0.5
SmallBanner1OnCommand=visible,false
SmallBanner1OffCommand=
SmallBanner2X=SCREEN_CENTER_X-48
SmallBanner2Y=SCREEN_TOP+100-16
SmallBanner2OnCommand=zoom,0.5
SmallBanner2OnCommand=visible,false
SmallBanner2OffCommand=
SmallBanner3X=SCREEN_CENTER_X-24
SmallBanner3Y=SCREEN_TOP+100-8
SmallBanner3OnCommand=zoom,0.5
SmallBanner3OnCommand=visible,false
SmallBanner3OffCommand=
SmallBanner4X=SCREEN_CENTER_X+24
SmallBanner4Y=SCREEN_TOP+100+8
SmallBanner4OnCommand=zoom,0.5
SmallBanner4OnCommand=visible,false
SmallBanner4OffCommand=
SmallBanner5X=SCREEN_CENTER_X+48
@@ -1999,7 +2005,7 @@ SmallBanner5OfCommand=
SmallBanner6X=SCREEN_CENTER_X+72
SmallBanner6Y=SCREEN_TOP+100+24
SmallBanner6OnCommand=zoom,0.5
SmallBanner6OnCommand=visible,false
SmallBanner6OffCommand=
[ScreenNameEntry]
@@ -2009,6 +2015,7 @@ SmallBanner6OffCommand=
[ScreenProfileSaveSummary]
[ScreenGameOver]
TimerOnCommand=visible,false
[ScreenPrompt]