Post-pull fixes
This commit is contained in:
@@ -0,0 +1,164 @@
|
||||
-- ...So I realize that I completely ignored almost each and every
|
||||
-- metrics-bound element this screen could use, but it's okay, right?
|
||||
-- todo: make a more metrics-bound version of this screen anyways for beginner accessibility.
|
||||
-- todo: accommodate EvaluationSummary too
|
||||
|
||||
local t = Def.ActorFrame {};
|
||||
|
||||
-- A very useful table...
|
||||
local eval_lines = {
|
||||
"W1",
|
||||
"W2",
|
||||
"W3",
|
||||
"W4",
|
||||
"W5",
|
||||
"Miss",
|
||||
"Held",
|
||||
"MaxCombo"
|
||||
}
|
||||
|
||||
-- And a function to make even better use out of the table.
|
||||
local function GetJLineValue(line, pl)
|
||||
if line == "Held" then
|
||||
return STATSMAN:GetAccumPlayedStageStats():GetPlayerStageStats(pl):GetHoldNoteScores("HoldNoteScore_Held")
|
||||
elseif line == "MaxCombo" then
|
||||
return STATSMAN:GetAccumPlayedStageStats():GetPlayerStageStats(pl):MaxCombo()
|
||||
else
|
||||
return STATSMAN:GetAccumPlayedStageStats():GetPlayerStageStats(pl):GetTapNoteScores("TapNoteScore_" .. line)
|
||||
end
|
||||
return "???"
|
||||
end
|
||||
|
||||
-- You know what, we'll deal with getting the overall scores with a function too.
|
||||
local function GetPlScore(pl, scoretype)
|
||||
local primary_score = STATSMAN:GetAccumPlayedStageStats():GetPlayerStageStats(pl):GetScore()
|
||||
local secondary_score = FormatPercentScore(STATSMAN:GetAccumPlayedStageStats():GetPlayerStageStats(pl):GetPercentDancePoints())
|
||||
|
||||
if PREFSMAN:GetPreference("PercentageScoring") then
|
||||
primary_score, secondary_score = secondary_score, primary_score
|
||||
end
|
||||
|
||||
if scoretype == "primary" then
|
||||
return primary_score
|
||||
else
|
||||
return secondary_score
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
-- Each line's text, and associated decorations.
|
||||
for i, v in ipairs(eval_lines) do
|
||||
local spacing = 38*i
|
||||
local cur_line = "JudgmentLine_" .. v
|
||||
|
||||
t[#t+1] = Def.ActorFrame{
|
||||
InitCommand=cmd(x,_screen.cx;y,(_screen.cy/1.6)+(spacing)),
|
||||
OffCommand=function(self)
|
||||
self:sleep(0.06 * i):decelerate(0.1):diffusealpha(0)
|
||||
end;
|
||||
Def.Quad {
|
||||
InitCommand=cmd(zoomto,400,36;diffuse,JudgmentLineToColor(cur_line);fadeleft,0.5;faderight,0.5;);
|
||||
OnCommand=function(self)
|
||||
self:diffusealpha(0):sleep(0.1 * i):decelerate(0.9):diffusealpha(1)
|
||||
end;
|
||||
};
|
||||
|
||||
Def.BitmapText {
|
||||
Font = "_roboto condensed Bold 48px",
|
||||
InitCommand=cmd(zoom,0.6;diffuse,color("#000000");settext,string.upper(JudgmentLineToLocalizedString(cur_line)));
|
||||
OnCommand=function(self)
|
||||
self:diffusealpha(0):sleep(0.1 * i):decelerate(0.9):diffusealpha(0.6)
|
||||
end;
|
||||
}
|
||||
}
|
||||
end
|
||||
|
||||
-- #################################################
|
||||
-- Time to deal with all of the player stats. ALL OF THEM.
|
||||
|
||||
local eval_parts = Def.ActorFrame {}
|
||||
|
||||
for ip, p in ipairs(GAMESTATE:GetHumanPlayers()) do
|
||||
-- Some things to help positioning
|
||||
local step_count_offs = string.find(p, "P1") and -150 or 150
|
||||
local grade_parts_offs = string.find(p, "P1") and -320 or 320
|
||||
local p_grade = STATSMAN:GetAccumPlayedStageStats():GetPlayerStageStats(p):GetGrade()
|
||||
|
||||
-- Step counts.
|
||||
for i, v in ipairs(eval_lines) do
|
||||
local spacing = 38*i
|
||||
eval_parts[#eval_parts+1] = Def.BitmapText {
|
||||
Font = "_overpass 36px",
|
||||
InitCommand=cmd(x,_screen.cx + step_count_offs;y,(_screen.cy/1.6)+(spacing);diffuse,ColorDarkTone(PlayerColor(p));zoom,0.75;diffusealpha,1.0;shadowlength,1),
|
||||
OnCommand=function(self)
|
||||
self:settext(GetJLineValue(v, p))
|
||||
if string.find(p, "P1") then
|
||||
self:horizalign(right)
|
||||
else
|
||||
self:horizalign(left)
|
||||
end
|
||||
self:diffusealpha(0):sleep(0.1 * i):decelerate(0.9):diffusealpha(1)
|
||||
end;
|
||||
OffCommand=function(self)
|
||||
self:sleep(0.1 * i):decelerate(0.3):diffusealpha(0)
|
||||
end;
|
||||
}
|
||||
end
|
||||
|
||||
-- Letter grade and associated parts.
|
||||
eval_parts[#eval_parts+1] = Def.ActorFrame{
|
||||
InitCommand=cmd(x,_screen.cx + grade_parts_offs;y,_screen.cy/1.91),
|
||||
|
||||
--Containers. todo: replace with, erm... not quads
|
||||
Def.Quad {
|
||||
InitCommand=cmd(zoomto,190,115;diffuse,ColorMidTone(PlayerColor(p))),
|
||||
OnCommand=function(self)
|
||||
self:diffusealpha(0):decelerate(0.4):diffusealpha(0.5)
|
||||
end,
|
||||
OffCommand=cmd(decelerate,0.3;diffusealpha,0)
|
||||
},
|
||||
Def.Quad {
|
||||
InitCommand=cmd(y,120;zoomto,190,120;diffuse,color("#fce1a1");),
|
||||
OnCommand=function(self)
|
||||
self:diffusealpha(0):decelerate(0.4):diffusealpha(0.3)
|
||||
end,
|
||||
OffCommand=cmd(decelerate,0.3;diffusealpha,0)
|
||||
},
|
||||
|
||||
LoadActor(THEME:GetPathG("GradeDisplay", "Grade " .. p_grade)) .. {
|
||||
InitCommand=cmd(zoom,0.75;);
|
||||
OnCommand=function(self)
|
||||
self:diffusealpha(0):zoom(1):sleep(0.63):decelerate(0.4):zoom(0.75):diffusealpha(1)
|
||||
end;
|
||||
OffCommand=cmd(decelerate,0.3;diffusealpha,0);
|
||||
},
|
||||
}
|
||||
|
||||
-- Primary score.
|
||||
eval_parts[#eval_parts+1] = Def.BitmapText {
|
||||
Font = "_overpass 36px",
|
||||
InitCommand=cmd(horizalign,center;x,_screen.cx + (grade_parts_offs);y,(_screen.cy-65);diffuse,ColorMidTone(PlayerColor(p));zoom,1;shadowlength,1),
|
||||
OnCommand=function(self)
|
||||
self:settext(GetPlScore(p, "primary")):diffusealpha(0):sleep(0.5):decelerate(0.3):diffusealpha(1)
|
||||
end;
|
||||
OffCommand=function(self)
|
||||
self:decelerate(0.3):diffusealpha(0)
|
||||
end;
|
||||
}
|
||||
-- Secondary score.
|
||||
eval_parts[#eval_parts+1] = Def.BitmapText {
|
||||
Font = "_overpass 36px",
|
||||
InitCommand=cmd(horizalign,center;x,_screen.cx + (grade_parts_offs);y,(_screen.cy-65)+30;diffuse,ColorDarkTone(PlayerColor(p));zoom,0.75;shadowlength,1),
|
||||
OnCommand=function(self)
|
||||
self:settext(GetPlScore(p, "secondary")):diffusealpha(0):sleep(0.6):decelerate(0.3):diffusealpha(1)
|
||||
end;
|
||||
OffCommand=function(self)
|
||||
self:sleep(0.1):decelerate(0.3):diffusealpha(0)
|
||||
end;
|
||||
}
|
||||
end
|
||||
|
||||
t[#t+1] = eval_parts
|
||||
|
||||
return t;
|
||||
|
||||
Reference in New Issue
Block a user