add percent score on ScreenSelectMusic
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
local t = LoadFallbackB();
|
local t = LoadFallbackB();
|
||||||
|
|
||||||
-- Legacy StepMania 4 Function
|
-- Legacy StepMania 4 Function
|
||||||
local function StepsDisplay(pn)
|
local function StepsDisplay(pn)
|
||||||
local function set(self, player)
|
local function set(self, player)
|
||||||
@@ -20,6 +21,71 @@ local function StepsDisplay(pn)
|
|||||||
return t;
|
return t;
|
||||||
end
|
end
|
||||||
t[#t+1] = StandardDecorationFromFileOptional("AlternateHelpDisplay","AlternateHelpDisplay");
|
t[#t+1] = StandardDecorationFromFileOptional("AlternateHelpDisplay","AlternateHelpDisplay");
|
||||||
|
|
||||||
|
local function PercentScore(pn)
|
||||||
|
local t = LoadFont("Common normal")..{
|
||||||
|
InitCommand=cmd(zoom,0.7;shadowlength,1);
|
||||||
|
BeginCommand=cmd(playcommand,"Set");
|
||||||
|
SetCommand=function(self)
|
||||||
|
local SongOrCourse, StepsOrTrail;
|
||||||
|
if GAMESTATE:IsCourseMode() then
|
||||||
|
SongOrCourse = GAMESTATE:GetCurrentCourse();
|
||||||
|
StepsOrTrail = GAMESTATE:GetCurrentTrail(pn);
|
||||||
|
else
|
||||||
|
SongOrCourse = GAMESTATE:GetCurrentSong();
|
||||||
|
StepsOrTrail = GAMESTATE:GetCurrentSteps(pn);
|
||||||
|
end;
|
||||||
|
|
||||||
|
local profile, scorelist;
|
||||||
|
local text = "";
|
||||||
|
if SongOrCourse and StepsOrTrail then
|
||||||
|
local st = StepsOrTrail:GetStepsType();
|
||||||
|
local diff = StepsOrTrail:GetDifficulty();
|
||||||
|
local courseType = GAMESTATE:IsCourseMode() and SongOrCourse:GetCourseType() or nil;
|
||||||
|
local cd = GetCustomDifficulty(st, diff, courseType);
|
||||||
|
self:diffuse(CustomDifficultyToColor(cd));
|
||||||
|
self:shadowcolor(CustomDifficultyToDarkColor(cd));
|
||||||
|
|
||||||
|
if PROFILEMAN:IsPersistentProfile(pn) then
|
||||||
|
-- player profile
|
||||||
|
profile = PROFILEMAN:GetProfile(pn);
|
||||||
|
else
|
||||||
|
-- machine profile
|
||||||
|
profile = PROFILEMAN:GetMachineProfile();
|
||||||
|
end;
|
||||||
|
|
||||||
|
scorelist = profile:GetHighScoreList(SongOrCourse,StepsOrTrail);
|
||||||
|
assert(scorelist)
|
||||||
|
local scores = scorelist:GetHighScores();
|
||||||
|
local topscore = scores[1];
|
||||||
|
if topscore then
|
||||||
|
text = string.format("%.2f%%", topscore:GetPercentDP()*100.0);
|
||||||
|
-- 100% hack
|
||||||
|
if text == "100.00%" then
|
||||||
|
text = "100%";
|
||||||
|
end;
|
||||||
|
else
|
||||||
|
text = string.format("%.2f%%", 0);
|
||||||
|
end;
|
||||||
|
else
|
||||||
|
text = "";
|
||||||
|
end;
|
||||||
|
self:settext(text);
|
||||||
|
end;
|
||||||
|
CurrentSongChangesMessageCommand=cmd(playcommand,"Set");
|
||||||
|
};
|
||||||
|
|
||||||
|
if pn == PLAYER_1 then
|
||||||
|
t.CurrentStepsP1ChangedMessageCommand=cmd(playcommand,"Set");
|
||||||
|
t.CurrentTrailP1ChangedMessageCommand=cmd(playcommand,"Set");
|
||||||
|
else
|
||||||
|
t.CurrentStepsP2ChangedMessageCommand=cmd(playcommand,"Set");
|
||||||
|
t.CurrentTrailP2ChangedMessageCommand=cmd(playcommand,"Set");
|
||||||
|
end
|
||||||
|
|
||||||
|
return t;
|
||||||
|
end
|
||||||
|
|
||||||
-- Legacy StepMania 4 Function
|
-- Legacy StepMania 4 Function
|
||||||
for pn in ivalues(PlayerNumber) do
|
for pn in ivalues(PlayerNumber) do
|
||||||
local MetricsName = "StepsDisplay" .. PlayerNumberToString(pn);
|
local MetricsName = "StepsDisplay" .. PlayerNumberToString(pn);
|
||||||
@@ -30,14 +96,17 @@ for pn in ivalues(PlayerNumber) do
|
|||||||
self:visible(true);
|
self:visible(true);
|
||||||
(cmd(zoom,0;bounceend,0.3;zoom,1))(self);
|
(cmd(zoom,0;bounceend,0.3;zoom,1))(self);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
PlayerUnjoinedMessageCommand=function(self, params)
|
PlayerUnjoinedMessageCommand=function(self, params)
|
||||||
if params.Player == pn then
|
if params.Player == pn then
|
||||||
self:visible(true);
|
self:visible(true);
|
||||||
(cmd(bouncebegin,0.3;zoom,0))(self);
|
(cmd(bouncebegin,0.3;zoom,0))(self);
|
||||||
end;
|
end;
|
||||||
end;
|
end;
|
||||||
};
|
};
|
||||||
|
if ShowStandardDecoration("PercentScore"..ToEnumShortString(pn)) then
|
||||||
|
t[#t+1] = StandardDecorationFromTable("PercentScore"..ToEnumShortString(pn), PercentScore(pn));
|
||||||
|
end;
|
||||||
end
|
end
|
||||||
|
|
||||||
t[#t+1] = StandardDecorationFromFileOptional("BannerFrame","BannerFrame");
|
t[#t+1] = StandardDecorationFromFileOptional("BannerFrame","BannerFrame");
|
||||||
@@ -45,6 +114,7 @@ t[#t+1] = StandardDecorationFromFileOptional("DifficultyList","DifficultyList");
|
|||||||
t[#t+1] = StandardDecorationFromFileOptional("CourseContentsList","CourseContentsList");
|
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("SongTime","SongTime") .. {
|
t[#t+1] = StandardDecorationFromFileOptional("SongTime","SongTime") .. {
|
||||||
SetCommand=function(self)
|
SetCommand=function(self)
|
||||||
local curSelection = nil;
|
local curSelection = nil;
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 366 B After Width: | Height: | Size: 575 B |
Binary file not shown.
|
Before Width: | Height: | Size: 360 B After Width: | Height: | Size: 371 B |
@@ -494,7 +494,7 @@ StepsTypeY=7
|
|||||||
StepsTypeOnCommand=zoom,0.45
|
StepsTypeOnCommand=zoom,0.45
|
||||||
|
|
||||||
[StepsDisplayEdit]
|
[StepsDisplayEdit]
|
||||||
Fallback="StepsDisplay"
|
Fallback="StepsDisplayGameplay"
|
||||||
|
|
||||||
[StepsDisplayGameplay]
|
[StepsDisplayGameplay]
|
||||||
Fallback="StepsDisplay"
|
Fallback="StepsDisplay"
|
||||||
@@ -1194,7 +1194,18 @@ StepsDisplayP2Y=SCREEN_BOTTOM-60
|
|||||||
StepsDisplayP2OnCommand=visible,THEME:GetMetric(Var "LoadingScreen","ShowStepsDisplayP2");addy,SCREEN_CENTER_Y;decelerate,0.35;addy,-SCREEN_CENTER_Y
|
StepsDisplayP2OnCommand=visible,THEME:GetMetric(Var "LoadingScreen","ShowStepsDisplayP2");addy,SCREEN_CENTER_Y;decelerate,0.35;addy,-SCREEN_CENTER_Y
|
||||||
StepsDisplayP2OffCommand=bouncebegin,0.15;zoomx,0;
|
StepsDisplayP2OffCommand=bouncebegin,0.15;zoomx,0;
|
||||||
# StepsDisplayP2CurrentStepsP2ChangedMessageCommand=stoptweening;zoom,1.2;decelerate,0.1;zoom,1
|
# StepsDisplayP2CurrentStepsP2ChangedMessageCommand=stoptweening;zoom,1.2;decelerate,0.1;zoom,1
|
||||||
|
#
|
||||||
|
ShowPercentScoreP1=GAMESTATE:IsHumanPlayer(PLAYER_1)
|
||||||
|
PercentScoreP1X=SCREEN_CENTER_X-80
|
||||||
|
PercentScoreP1Y=SCREEN_BOTTOM-60
|
||||||
|
PercentScoreP1OnCommand=visible,THEME:GetMetric(Var "LoadingScreen","ShowPercentScoreP1");addy,SCREEN_CENTER_Y;decelerate,0.35;addy,-SCREEN_CENTER_Y
|
||||||
|
PercentScoreP1OffCommand=bouncebegin,0.15;zoomx,0;
|
||||||
|
#
|
||||||
|
ShowPercentScoreP2=GAMESTATE:IsHumanPlayer(PLAYER_2)
|
||||||
|
PercentScoreP2X=SCREEN_CENTER_X+160
|
||||||
|
PercentScoreP2Y=SCREEN_BOTTOM-60
|
||||||
|
PercentScoreP2OnCommand=visible,THEME:GetMetric(Var "LoadingScreen","ShowPercentScoreP2");addy,SCREEN_CENTER_Y;decelerate,0.35;addy,-SCREEN_CENTER_Y
|
||||||
|
PercentScoreP2OffCommand=bouncebegin,0.15;zoomx,0;
|
||||||
[ScreenSelectCourse]
|
[ScreenSelectCourse]
|
||||||
#~ ScreenInitCommand=%function(self) \
|
#~ ScreenInitCommand=%function(self) \
|
||||||
#~ GAMESTATE:ApplyGameCommand("sort,AllCourses",PLAYER_1); \
|
#~ GAMESTATE:ApplyGameCommand("sort,AllCourses",PLAYER_1); \
|
||||||
|
|||||||
Reference in New Issue
Block a user