Add a real High Scores screen.
(cherry picked from commit 4c5bfa5e0eb351a0d90c70413a7cd8622007d188)
@@ -0,0 +1 @@
|
|||||||
|
Common Bold
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
Common Normal
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
Common Normal
|
||||||
@@ -0,0 +1,100 @@
|
|||||||
|
local t = Def.ActorFrame {
|
||||||
|
InitCommand=cmd(runcommandsonleaves,cmd(ztest,true));
|
||||||
|
};
|
||||||
|
|
||||||
|
t[#t+1] = LoadActor("frame") .. {
|
||||||
|
InitCommand=cmd(diffusealpha,0.1;);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
t[#t+1] = Def.TextBanner {
|
||||||
|
InitCommand=cmd(x,-196;y,0;Load,"TextBannerHighScores");
|
||||||
|
SetCommand=function(self, params)
|
||||||
|
if params.Song then
|
||||||
|
self:SetFromSong( params.Song );
|
||||||
|
self:diffuse( SONGMAN:GetSongColor(params.Song) );
|
||||||
|
else
|
||||||
|
self:SetFromString( params.Course:GetTitle() );
|
||||||
|
self:diffuse( SONGMAN:GetCourseColor(params.Course) );
|
||||||
|
end
|
||||||
|
end;
|
||||||
|
};
|
||||||
|
|
||||||
|
local NumColumns = THEME:GetMetric(Var "LoadingScreen", "NumColumns");
|
||||||
|
|
||||||
|
local c;
|
||||||
|
local Scores = Def.ActorFrame {
|
||||||
|
InitCommand = function(self)
|
||||||
|
c = self:GetChildren();
|
||||||
|
end;
|
||||||
|
};
|
||||||
|
t[#t+1] = Scores;
|
||||||
|
|
||||||
|
for idx=1,NumColumns do
|
||||||
|
local x_pos = -60 + 80 * (idx-1);
|
||||||
|
Scores[#Scores+1] = LoadFont(Var "LoadingScreen","Name") .. {
|
||||||
|
Name = idx .. "Name";
|
||||||
|
InitCommand=cmd(x,x_pos;y,6;shadowlengthx,0;shadowlengthy,2;shadowcolor,color("#000000");maxwidth,68;);
|
||||||
|
};
|
||||||
|
Scores[#Scores+1] = LoadFont(Var "LoadingScreen","Score") .. {
|
||||||
|
Name = idx .. "Score";
|
||||||
|
InitCommand=cmd(x,x_pos;y,-10;shadowlengthx,0;shadowlengthy,2;shadowcolor,color("#000000");maxwidth,68;);
|
||||||
|
};
|
||||||
|
Scores[#Scores+1] = LoadActor("filled") .. {
|
||||||
|
Name = idx .. "Filled";
|
||||||
|
InitCommand=cmd(x,x_pos;);
|
||||||
|
};
|
||||||
|
Scores[#Scores+1] = LoadActor("empty") .. {
|
||||||
|
Name = idx .. "Empty";
|
||||||
|
InitCommand=cmd(x,x_pos;);
|
||||||
|
};
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
local sNoScoreName = THEME:GetMetric("Common", "NoScoreName");
|
||||||
|
|
||||||
|
Scores.SetCommand=function(self, params)
|
||||||
|
local pProfile = PROFILEMAN:GetMachineProfile();
|
||||||
|
|
||||||
|
for name, child in pairs(c) do
|
||||||
|
child:visible(false);
|
||||||
|
end
|
||||||
|
for idx=1,NumColumns do
|
||||||
|
c[idx .. "Empty"]:visible(true);
|
||||||
|
end
|
||||||
|
|
||||||
|
local Current = params.Song or params.Course;
|
||||||
|
if Current then
|
||||||
|
for idx, CurrentItem in pairs(params.Entries) do
|
||||||
|
if CurrentItem then
|
||||||
|
local hsl = pProfile:GetHighScoreList(Current, CurrentItem);
|
||||||
|
local hs = hsl and hsl:GetHighScores();
|
||||||
|
--[[Warn( tostring(CurrentItem:GetStepsType()) .. ", " ..
|
||||||
|
tostring(CurrentItem:GetDifficulty()) .. ": " ..
|
||||||
|
tostring(hsl) .. ", " ..
|
||||||
|
tostring(#hs) );]]
|
||||||
|
local name = c[idx .. "Name"];
|
||||||
|
local score = c[idx .. "Score"];
|
||||||
|
local filled = c[idx .. "Filled"];
|
||||||
|
local empty = c[idx .. "Empty"];
|
||||||
|
|
||||||
|
--assert( c[sNameType], sNameType );
|
||||||
|
--assert( c[sScoreType], sScoreType );
|
||||||
|
|
||||||
|
name:visible( true );
|
||||||
|
score:visible( true );
|
||||||
|
filled:visible( true );
|
||||||
|
empty:visible( false );
|
||||||
|
if hs and #hs > 0 then
|
||||||
|
name:settext( hs[1]:GetName() );
|
||||||
|
score:settext( FormatPercentScore( hs[1]:GetPercentDP() ) );
|
||||||
|
else
|
||||||
|
name:settext( sNoScoreName );
|
||||||
|
score:settext( FormatPercentScore( 0 ) );
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end;
|
||||||
|
end
|
||||||
|
end;
|
||||||
|
|
||||||
|
return t;
|
||||||
|
After Width: | Height: | Size: 628 B |
|
After Width: | Height: | Size: 721 B |
|
After Width: | Height: | Size: 3.6 KiB |
@@ -1643,6 +1643,10 @@ No=NO
|
|||||||
Yes=YES
|
Yes=YES
|
||||||
Cancel=CANCEL
|
Cancel=CANCEL
|
||||||
|
|
||||||
|
[ScreenHighScores]
|
||||||
|
HeaderText=High Scores
|
||||||
|
HeaderSubText=Who's the top dog?
|
||||||
|
|
||||||
[ScreenRanking]
|
[ScreenRanking]
|
||||||
|
|
||||||
[ScreenSMOnlineLogin]
|
[ScreenSMOnlineLogin]
|
||||||
@@ -1910,10 +1914,41 @@ dance-solo=solo
|
|||||||
dance-threepanel=3panel
|
dance-threepanel=3panel
|
||||||
dance-routine=routine
|
dance-routine=routine
|
||||||
lights-cabinet=Lights
|
lights-cabinet=Lights
|
||||||
# SSC
|
#
|
||||||
Dance_Single=Single
|
Dance_Single=Single
|
||||||
Dance_Double=Double
|
Dance_Double=Double
|
||||||
|
Dance_Couple=Couple
|
||||||
|
Dance_Solo=Solo
|
||||||
|
Dance_Routine=Routine
|
||||||
Dance_Threepanel=3 Panels
|
Dance_Threepanel=3 Panels
|
||||||
|
Pump_Single=Single
|
||||||
|
Pump_Double=Double
|
||||||
|
Pump_Halfdouble=Half-Double
|
||||||
|
Pump_Couple=Couple
|
||||||
|
Pump_Routine=Routine
|
||||||
|
Kb7_Single=KB7
|
||||||
|
Ez2_Single=Single
|
||||||
|
Ez2_Double=Double
|
||||||
|
Ez2_Real=Real
|
||||||
|
Para_Single=Single
|
||||||
|
Ds3ddx_Single=Single
|
||||||
|
Bm_Single5=5 Keys
|
||||||
|
Bm_Double5=10 Keys
|
||||||
|
Bm_Single7=7 Keys
|
||||||
|
Bm_Double7=14 Keys
|
||||||
|
Maniax_Single=Single
|
||||||
|
Maniax_Double=Double
|
||||||
|
Techno_Single4=Single 4
|
||||||
|
Techno_Single5=Single 5
|
||||||
|
Techno_Single8=Single 8
|
||||||
|
Techno_Double4=Double 4
|
||||||
|
Techno_Double5=Double 5
|
||||||
|
Techno_Double8=Double 8
|
||||||
|
Pnm_Five=5 Button
|
||||||
|
Pnm_Nine=9 Button
|
||||||
|
Guitar_Five=5 Frets
|
||||||
|
Karaoke=Karaoke
|
||||||
|
Lights_Cabinet=Lights
|
||||||
|
|
||||||
[TapNoteScore]
|
[TapNoteScore]
|
||||||
AvoidMine=Avoid Mine
|
AvoidMine=Avoid Mine
|
||||||
|
|||||||
@@ -42,7 +42,7 @@ Branch = {
|
|||||||
end,
|
end,
|
||||||
NoiseTrigger = function()
|
NoiseTrigger = function()
|
||||||
local hour = Hour()
|
local hour = Hour()
|
||||||
return hour > 3 and hour < 6 and "ScreenNoise" or "ScreenInit"
|
return hour > 3 and hour < 6 and "ScreenNoise" or "ScreenHighScores"
|
||||||
end,
|
end,
|
||||||
TitleMenu = function()
|
TitleMenu = function()
|
||||||
-- home mode is the most assumed use of sm-ssc.
|
-- home mode is the most assumed use of sm-ssc.
|
||||||
|
|||||||
@@ -39,6 +39,9 @@ CourseDifficultiesToShow="easy,medium,hard"
|
|||||||
# be shown in lights mode! So don't hide it here.
|
# be shown in lights mode! So don't hide it here.
|
||||||
StepsTypesToHide=""
|
StepsTypesToHide=""
|
||||||
|
|
||||||
|
# Score placeholder for ScreenHighScores
|
||||||
|
NoScoreName="STEP"
|
||||||
|
|
||||||
# The number of entries before "Various" is shown on the BPMDisplay, etc.
|
# The number of entries before "Various" is shown on the BPMDisplay, etc.
|
||||||
MaxCourseEntriesBeforeShowVarious=10
|
MaxCourseEntriesBeforeShowVarious=10
|
||||||
|
|
||||||
@@ -1497,6 +1500,11 @@ ArtistOnCommand=visible,false
|
|||||||
ArtistPrependString="/"
|
ArtistPrependString="/"
|
||||||
AfterSetCommand=%TextBannerAfterSet
|
AfterSetCommand=%TextBannerAfterSet
|
||||||
|
|
||||||
|
[TextBannerHighScores]
|
||||||
|
Fallback="TextBanner"
|
||||||
|
AfterSetCommand=%TextBannerHighScoreAfterSet
|
||||||
|
|
||||||
|
|
||||||
[WheelNotifyIcon]
|
[WheelNotifyIcon]
|
||||||
ShowTraining=false
|
ShowTraining=false
|
||||||
BlinkPlayersBest=true
|
BlinkPlayersBest=true
|
||||||
@@ -4503,6 +4511,34 @@ AllowStyleTypes="TwoPlayersTwoSides"
|
|||||||
MinSecondsToStep=0
|
MinSecondsToStep=0
|
||||||
MinSecondsToMusic=0
|
MinSecondsToMusic=0
|
||||||
|
|
||||||
|
[ScreenHighScores]
|
||||||
|
Fallback="ScreenAttract"
|
||||||
|
Class="ScreenHighScores"
|
||||||
|
NextScreen="ScreenInit"
|
||||||
|
PrevScreen="ScreenDemonstration"
|
||||||
|
StartScreen=Branch.TitleMenu()
|
||||||
|
|
||||||
|
TimerSeconds=-1
|
||||||
|
|
||||||
|
HighScoresType="HighScoresType_AllSteps"
|
||||||
|
MaxItemsToShow=50
|
||||||
|
NumColumns=5
|
||||||
|
ColumnDifficulty1="Difficulty_Beginner"
|
||||||
|
ColumnDifficulty2="Difficulty_Easy"
|
||||||
|
ColumnDifficulty3="Difficulty_Medium"
|
||||||
|
ColumnDifficulty4="Difficulty_Hard"
|
||||||
|
ColumnDifficulty5="Difficulty_Challenge"
|
||||||
|
ColumnStepsType1=GAMEMAN:GetFirstStepsTypeForGame(GAMESTATE:GetCurrentGame())
|
||||||
|
ColumnStepsType2=GAMEMAN:GetFirstStepsTypeForGame(GAMESTATE:GetCurrentGame())
|
||||||
|
ColumnStepsType3=GAMEMAN:GetFirstStepsTypeForGame(GAMESTATE:GetCurrentGame())
|
||||||
|
ColumnStepsType4=GAMEMAN:GetFirstStepsTypeForGame(GAMESTATE:GetCurrentGame())
|
||||||
|
ColumnStepsType5=GAMEMAN:GetFirstStepsTypeForGame(GAMESTATE:GetCurrentGame())
|
||||||
|
ScrollerItemsToDraw=7
|
||||||
|
ScrollerSecondsPerItem=0.4
|
||||||
|
ManualScrolling=false
|
||||||
|
ScrollerOnCommand=x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y+36;SetMask,608,40
|
||||||
|
ScrollerItemTransformFunction=function(self,offset,itemIndex,numItems) self:y(46.1*offset) end
|
||||||
|
|
||||||
[ScreenNoise]
|
[ScreenNoise]
|
||||||
Fallback="ScreenAttract"
|
Fallback="ScreenAttract"
|
||||||
Class="ScreenAttract"
|
Class="ScreenAttract"
|
||||||
|
|||||||
|
After Width: | Height: | Size: 878 B |
@@ -0,0 +1,40 @@
|
|||||||
|
local t = LoadFallbackB();
|
||||||
|
|
||||||
|
local StepsType = ToEnumShortString( GAMEMAN:GetFirstStepsTypeForGame(GAMESTATE:GetCurrentGame()) );
|
||||||
|
local stString = THEME:GetString("StepsType",StepsType);
|
||||||
|
|
||||||
|
local NumColumns = THEME:GetMetric(Var "LoadingScreen", "NumColumns");
|
||||||
|
|
||||||
|
t[#t+1] = Def.ActorFrame {
|
||||||
|
InitCommand=cmd(x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y-160);
|
||||||
|
Def.Quad {
|
||||||
|
InitCommand=cmd(zoomto,SCREEN_WIDTH, 56);
|
||||||
|
OnCommand=cmd(diffuse,color("#333333");diffusealpha,0.75;fadebottom,0.35;fadetop,0.35);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
for i=1,NumColumns do
|
||||||
|
local st = THEME:GetMetric(Var "LoadingScreen","ColumnStepsType" .. i);
|
||||||
|
local dc = THEME:GetMetric(Var "LoadingScreen","ColumnDifficulty" .. i);
|
||||||
|
local s = GetCustomDifficulty( st, dc );
|
||||||
|
|
||||||
|
t[#t+1] = Def.ActorFrame {
|
||||||
|
InitCommand=cmd(x,SCREEN_CENTER_X-60 + 80 * (i-1);y,SCREEN_CENTER_Y-160);
|
||||||
|
LoadActor("_difficulty frame") .. {
|
||||||
|
OnCommand=cmd(diffuse,CustomDifficultyToColor(s);zoomtowidth,80);
|
||||||
|
};
|
||||||
|
LoadFont("Common Normal") .. {
|
||||||
|
InitCommand=cmd(uppercase,true;settext,CustomDifficultyToLocalizedString(s));
|
||||||
|
OnCommand=cmd(zoom,0.75;diffuse,CustomDifficultyToColor(s);shadowlength,1);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
end
|
||||||
|
|
||||||
|
t[#t+1] = LoadFont("Common Bold") .. {
|
||||||
|
InitCommand=cmd(settext,stString;x,SCREEN_CENTER_X-220;y,SCREEN_CENTER_Y-160);
|
||||||
|
OnCommand=cmd(zoom,0.75;skewx,-0.125;shadowlength,1);
|
||||||
|
};
|
||||||
|
|
||||||
|
t.OnCommand=cmd(draworder,105);
|
||||||
|
|
||||||
|
return t;
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
_blank
|
||||||
@@ -19,11 +19,17 @@ 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");
|
||||||
|
CurrentSongChangedMessageCommand=cmd(playcommand,"Set");
|
||||||
|
CurrentCourseChangedMessageCommand=cmd(playcommand,"Set");
|
||||||
|
CurrentStepsP1ChangedMessageCommand=cmd(playcommand,"Set");
|
||||||
|
CurrentStepsP2ChangedMessageCommand=cmd(playcommand,"Set");
|
||||||
|
CurrentTraiP1ChangedMessageCommand=cmd(playcommand,"Set");
|
||||||
|
CurrentTraiP2ChangedMessageCommand=cmd(playcommand,"Set");
|
||||||
SetCommand=function(self)
|
SetCommand=function(self)
|
||||||
if GAMESTATE:GetCurrentCourse() then
|
if GAMESTATE:IsEventMode() then
|
||||||
self:settext( GAMESTATE:GetCurrentStageIndex()+1 .. " / " .. GAMESTATE:GetCurrentCourse():GetEstimatedNumStages() );
|
|
||||||
elseif GAMESTATE:IsEventMode() then
|
|
||||||
self:settextf("Stage %s", curStageIndex+1);
|
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());
|
||||||
else
|
else
|
||||||
if THEME:GetMetric(curScreen,"StageDisplayUseShortString") then
|
if THEME:GetMetric(curScreen,"StageDisplayUseShortString") then
|
||||||
self:settextf("%s", ToEnumShortString(curStage));
|
self:settextf("%s", ToEnumShortString(curStage));
|
||||||
|
|||||||
@@ -0,0 +1,104 @@
|
|||||||
|
local t = Def.ActorFrame {
|
||||||
|
FOV=90;
|
||||||
|
InitCommand=cmd(runcommandsonleaves,cmd(ztest,true));
|
||||||
|
};
|
||||||
|
|
||||||
|
t[#t+1] = LoadActor("frame") .. {
|
||||||
|
InitCommand=cmd(diffusealpha,0.25);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
t[#t+1] = Def.TextBanner {
|
||||||
|
InitCommand=cmd(x,-292;Load,"TextBannerHighScores");
|
||||||
|
SetCommand=function(self, params)
|
||||||
|
if params.Song then
|
||||||
|
self:SetFromSong( params.Song );
|
||||||
|
self:diffuse( SONGMAN:GetSongColor(params.Song) );
|
||||||
|
else
|
||||||
|
self:SetFromString( params.Course:GetTitle() );
|
||||||
|
self:diffuse( SONGMAN:GetCourseColor(params.Course) );
|
||||||
|
end
|
||||||
|
end;
|
||||||
|
};
|
||||||
|
|
||||||
|
local NumColumns = THEME:GetMetric(Var "LoadingScreen", "NumColumns");
|
||||||
|
|
||||||
|
local c;
|
||||||
|
local Scores = Def.ActorFrame {
|
||||||
|
InitCommand = function(self)
|
||||||
|
c = self:GetChildren();
|
||||||
|
end;
|
||||||
|
};
|
||||||
|
t[#t+1] = Scores;
|
||||||
|
|
||||||
|
for idx=1,NumColumns do
|
||||||
|
local x_pos = -60 + 80 * (idx-1);
|
||||||
|
Scores[#Scores+1] = LoadFont(Var "LoadingScreen","Name") .. {
|
||||||
|
Name = idx .. "Name";
|
||||||
|
InitCommand=cmd(x,x_pos;y,8;shadowlength,1;maxwidth,68);
|
||||||
|
OnCommand=cmd(zoom,0.75);
|
||||||
|
};
|
||||||
|
Scores[#Scores+1] = LoadFont(Var "LoadingScreen","Score") .. {
|
||||||
|
Name = idx .. "Score";
|
||||||
|
InitCommand=cmd(x,x_pos;y,-9;shadowlength,1;maxwidth,68);
|
||||||
|
OnCommand=cmd(zoom,0.75);
|
||||||
|
};
|
||||||
|
Scores[#Scores+1] = LoadActor("filled") .. {
|
||||||
|
Name = idx .. "Filled";
|
||||||
|
InitCommand=cmd(x,x_pos;);
|
||||||
|
};
|
||||||
|
Scores[#Scores+1] = LoadActor("empty") .. {
|
||||||
|
Name = idx .. "Empty";
|
||||||
|
InitCommand=cmd(x,x_pos;);
|
||||||
|
OnCommand=cmd(zoom,0.75);
|
||||||
|
};
|
||||||
|
|
||||||
|
end
|
||||||
|
|
||||||
|
local sNoScoreName = THEME:GetMetric("Common", "NoScoreName");
|
||||||
|
|
||||||
|
Scores.SetCommand=function(self, params)
|
||||||
|
local pProfile = PROFILEMAN:GetMachineProfile();
|
||||||
|
|
||||||
|
for name, child in pairs(c) do
|
||||||
|
child:visible(false);
|
||||||
|
end
|
||||||
|
for idx=1,NumColumns do
|
||||||
|
c[idx .. "Empty"]:visible(true);
|
||||||
|
end
|
||||||
|
|
||||||
|
local Current = params.Song or params.Course;
|
||||||
|
if Current then
|
||||||
|
for idx, CurrentItem in pairs(params.Entries) do
|
||||||
|
if CurrentItem then
|
||||||
|
local hsl = pProfile:GetHighScoreList(Current, CurrentItem);
|
||||||
|
local hs = hsl and hsl:GetHighScores();
|
||||||
|
--[[Warn( tostring(CurrentItem:GetStepsType()) .. ", " ..
|
||||||
|
tostring(CurrentItem:GetDifficulty()) .. ": " ..
|
||||||
|
tostring(hsl) .. ", " ..
|
||||||
|
tostring(#hs) );]]
|
||||||
|
local name = c[idx .. "Name"];
|
||||||
|
local score = c[idx .. "Score"];
|
||||||
|
local filled = c[idx .. "Filled"];
|
||||||
|
local empty = c[idx .. "Empty"];
|
||||||
|
|
||||||
|
--assert( c[sNameType], sNameType );
|
||||||
|
--assert( c[sScoreType], sScoreType );
|
||||||
|
|
||||||
|
name:visible( true );
|
||||||
|
score:visible( true );
|
||||||
|
filled:visible( true );
|
||||||
|
empty:visible( false );
|
||||||
|
if hs and #hs > 0 then
|
||||||
|
name:settext( hs[1]:GetName() );
|
||||||
|
score:settext( FormatPercentScore( hs[1]:GetPercentDP() ) );
|
||||||
|
else
|
||||||
|
name:settext( sNoScoreName );
|
||||||
|
score:settext( FormatPercentScore( 0 ) );
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end;
|
||||||
|
end
|
||||||
|
end;
|
||||||
|
|
||||||
|
return t;
|
||||||
|
After Width: | Height: | Size: 628 B |
|
After Width: | Height: | Size: 721 B |
|
After Width: | Height: | Size: 3.6 KiB |
@@ -1,9 +1,6 @@
|
|||||||
return Def.CourseContentsList {
|
return Def.CourseContentsList {
|
||||||
MaxSongs = 4;
|
MaxSongs = 4;
|
||||||
NumItemsToDraw = 8; -- xxx: Doesn't scroll anymore.
|
NumItemsToDraw = 8;
|
||||||
--[[ InitCommand=cmd(x,SCREEN_CENTER_X+160;y,SCREEN_CENTER_Y+91);
|
|
||||||
OnCommand=cmd(zoomy,0;bounceend,0.3;zoom,1);
|
|
||||||
OffCommand=cmd(zoomy,1;bouncebegin,0.3;zoomy,0); --]]
|
|
||||||
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)
|
||||||
@@ -11,9 +8,12 @@ return Def.CourseContentsList {
|
|||||||
self:PositionItems();
|
self:PositionItems();
|
||||||
self:SetTransformFromHeight(44);
|
self:SetTransformFromHeight(44);
|
||||||
self:SetCurrentAndDestinationItem(0);
|
self:SetCurrentAndDestinationItem(0);
|
||||||
-- self:SetDestinationItem( self:GetNumItems()-2 );
|
--
|
||||||
|
MESSAGEMAN:Broadcast("SystemMessage",{ Text ="Test" });
|
||||||
|
--
|
||||||
|
self:SetDestinationItem(4);
|
||||||
self:SetLoop(false);
|
self:SetLoop(false);
|
||||||
self:SetMask(270,0);
|
self:SetMask(270,44*4);
|
||||||
end;
|
end;
|
||||||
CurrentTrailP1ChangedMessageCommand=cmd(playcommand,"Set");
|
CurrentTrailP1ChangedMessageCommand=cmd(playcommand,"Set");
|
||||||
CurrentTrailP2ChangedMessageCommand=cmd(playcommand,"Set");
|
CurrentTrailP2ChangedMessageCommand=cmd(playcommand,"Set");
|
||||||
@@ -22,14 +22,11 @@ return Def.CourseContentsList {
|
|||||||
InitCommand=cmd(setsize,270,44);
|
InitCommand=cmd(setsize,270,44);
|
||||||
|
|
||||||
LoadActor(THEME:GetPathG("CourseEntryDisplay","bar")) .. {
|
LoadActor(THEME:GetPathG("CourseEntryDisplay","bar")) .. {
|
||||||
-- InitCommand=cmd(diffusetopedge,Color("Invisible"));
|
|
||||||
SetSongCommand=function(self, params)
|
SetSongCommand=function(self, params)
|
||||||
if params.Difficulty then
|
if params.Difficulty then
|
||||||
-- self:diffuse( SONGMAN:GetSongColor(params.Song) );
|
|
||||||
self:diffuse( CustomDifficultyToColor(params.Difficulty) );
|
self:diffuse( CustomDifficultyToColor(params.Difficulty) );
|
||||||
else
|
else
|
||||||
self:diffuse( color("#FFFFFF") );
|
self:diffuse( color("#FFFFFF") );
|
||||||
-- self:diffuse( CustomDifficultyToColor(params.Difficulty) );
|
|
||||||
end
|
end
|
||||||
|
|
||||||
(cmd(finishtweening;diffusealpha,0;sleep,0.125*params.Number;linear,0.125;diffusealpha,1;linear,0.05;glow,color("1,1,1,0.5");decelerate,0.1;glow,color("1,1,1,0")))(self);
|
(cmd(finishtweening;diffusealpha,0;sleep,0.125*params.Number;linear,0.125;diffusealpha,1;linear,0.05;glow,color("1,1,1,0.5");decelerate,0.1;glow,color("1,1,1,0")))(self);
|
||||||
@@ -68,14 +65,6 @@ return Def.CourseContentsList {
|
|||||||
end;
|
end;
|
||||||
};
|
};
|
||||||
|
|
||||||
--[[ LoadFont("CourseEntryDisplay","number") .. {
|
|
||||||
InitCommand=cmd(x,114+8;y,-12;shadowlength,1);
|
|
||||||
SetSongCommand=function(self, params)
|
|
||||||
self:settext(string.format("#%i", params.Number));
|
|
||||||
|
|
||||||
(cmd(finishtweening;zoom,0.5;zoomy,0.5*1.5;diffusealpha,0;sleep,0.125*params.Number;linear,0.125;diffusealpha,1;linear,0.05;zoomy,0.5*1;zoomx,0.5*1.1;glow,color("1,1,1,0.5");decelerate,0.1;zoom,0.5;glow,color("1,1,1,0")))(self);
|
|
||||||
end;
|
|
||||||
}; --]]
|
|
||||||
LoadFont("CourseEntryDisplay","difficulty") .. {
|
LoadFont("CourseEntryDisplay","difficulty") .. {
|
||||||
Text="0";
|
Text="0";
|
||||||
InitCommand=cmd(x,114;y,0;zoom,0.75;shadowlength,1);
|
InitCommand=cmd(x,114;y,0;zoom,0.75;shadowlength,1);
|
||||||
@@ -86,19 +75,5 @@ return Def.CourseContentsList {
|
|||||||
(cmd(finishtweening;zoomy,0;sleep,0.125*params.Number;linear,0.125;zoomy,1.1;linear,0.05;zoomx,1.1;decelerate,0.1;zoom,1))(self);
|
(cmd(finishtweening;zoomy,0;sleep,0.125*params.Number;linear,0.125;zoomy,1.1;linear,0.05;zoomx,1.1;decelerate,0.1;zoom,1))(self);
|
||||||
end;
|
end;
|
||||||
};
|
};
|
||||||
--[[ LoadFont("Common","normal") .. {
|
|
||||||
OnCommand=cmd(x,0;y,-8;zoom,0.7;shadowlength,0);
|
|
||||||
DifficultyChangedCommand=function(self, params)
|
|
||||||
if params.PlayerNumber ~= GAMESTATE:GetMasterPlayerNumber() then return end
|
|
||||||
self:settext( params.Meter );
|
|
||||||
self:diffuse( CourseDifficultyColors[params.Difficulty] );
|
|
||||||
end;
|
|
||||||
}; --]]
|
|
||||||
|
|
||||||
--[[ LoadFont("Common","normal") .. {
|
|
||||||
OnCommand=cmd(x,SCREEN_CENTER_X-192;y,SCREEN_CENTER_Y-230;horizalign,right;shadowlength,0);
|
|
||||||
SetSongCommand=function(self, params) self:settext(params.Modifiers); end;
|
|
||||||
}; --]]
|
|
||||||
|
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
@@ -2,6 +2,10 @@ local mainMaxWidth = 228; -- zoom w/subtitle is 0.75 (multiply by 1.25)
|
|||||||
local subMaxWidth = 420; -- zoom is 0.6 (multiply zoom,1 value by 1.4)
|
local subMaxWidth = 420; -- zoom is 0.6 (multiply zoom,1 value by 1.4)
|
||||||
local artistMaxWidth = 300/0.8;
|
local artistMaxWidth = 300/0.8;
|
||||||
|
|
||||||
|
local mainMaxWidthHighScore = 192; -- zoom w/subtitle is 0.75 (multiply by 1.25)
|
||||||
|
local subMaxWidthHighScore = 280; -- zoom is 0.6 (multiply zoom,1 value by 1.4)
|
||||||
|
local artistMaxWidthHighScore = 280/0.8;
|
||||||
|
|
||||||
--[[
|
--[[
|
||||||
-- The old (cmd(blah))(Actor) syntax is hard to read.
|
-- The old (cmd(blah))(Actor) syntax is hard to read.
|
||||||
-- This is longer, but much easier to read. - Colby
|
-- This is longer, but much easier to read. - Colby
|
||||||
@@ -38,3 +42,36 @@ function TextBannerAfterSet(self,param)
|
|||||||
Artist:y(10)
|
Artist:y(10)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
function TextBannerHighScoreAfterSet(self,param)
|
||||||
|
local Title = self:GetChild("Title")
|
||||||
|
local Subtitle = self:GetChild("Subtitle")
|
||||||
|
local Artist = self:GetChild("Artist")
|
||||||
|
|
||||||
|
if Subtitle:GetText() == "" then
|
||||||
|
Title:maxwidth(mainMaxWidthHighScore)
|
||||||
|
Title:y(-8)
|
||||||
|
Title:zoom(1)
|
||||||
|
|
||||||
|
-- hide so that the game skips drawing.
|
||||||
|
Subtitle:visible(false)
|
||||||
|
|
||||||
|
Artist:zoom(0.66)
|
||||||
|
Artist:maxwidth(artistMaxWidthHighScore)
|
||||||
|
Artist:y(8)
|
||||||
|
else
|
||||||
|
Title:maxwidth(mainMaxWidthHighScore*1.25)
|
||||||
|
Title:y(-11)
|
||||||
|
Title:zoom(0.75)
|
||||||
|
|
||||||
|
-- subtitle below title
|
||||||
|
Subtitle:visible(true)
|
||||||
|
Subtitle:zoom(0.6)
|
||||||
|
Subtitle:y(0)
|
||||||
|
Subtitle:maxwidth(subMaxWidthHighScore)
|
||||||
|
|
||||||
|
Artist:zoom(0.6)
|
||||||
|
Artist:maxwidth(artistMaxWidthHighScore)
|
||||||
|
Artist:y(10)
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|||||||
@@ -542,6 +542,9 @@ SubtitleOnCommand=horizalign,left;shadowlength,1;
|
|||||||
ArtistOnCommand=horizalign,left;shadowlength,1;skewx,-0.2
|
ArtistOnCommand=horizalign,left;shadowlength,1;skewx,-0.2
|
||||||
ArtistPrependString=""
|
ArtistPrependString=""
|
||||||
|
|
||||||
|
[TextBannerHighScore]
|
||||||
|
Fallback="TextBanner"
|
||||||
|
|
||||||
[WheelNotifyIcon]
|
[WheelNotifyIcon]
|
||||||
|
|
||||||
[Screen]
|
[Screen]
|
||||||
@@ -1384,6 +1387,22 @@ Line18="list,Characters"
|
|||||||
#
|
#
|
||||||
#
|
#
|
||||||
|
|
||||||
|
[ScreenHighScores]
|
||||||
|
Fallback="ScreenWithMenuElements"
|
||||||
|
|
||||||
|
ResetGameState=false
|
||||||
|
AttractVolume=true
|
||||||
|
|
||||||
|
FOV=90
|
||||||
|
|
||||||
|
ScrollerItemsToDraw=9
|
||||||
|
ScrollerOnCommand=x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y;SetMask,624,40;draworder,-5
|
||||||
|
ScrollerItemTransformFunction=function(self,offset,itemIndex,numItems) \
|
||||||
|
self:y(46 * offset); \
|
||||||
|
end;
|
||||||
|
|
||||||
|
HelpOnCommand=visible,false
|
||||||
|
|
||||||
[ScreenRanking]
|
[ScreenRanking]
|
||||||
#
|
#
|
||||||
|
|
||||||
|
|||||||