new ending screens
@@ -1 +0,0 @@
|
||||
_blank
|
||||
@@ -1,168 +0,0 @@
|
||||
-- I'm not comfortable including assets or code from people who want to keep their
|
||||
-- name a secret. If they believe their contribution places them at any kind of
|
||||
-- risk, then we should be just as wary. Also, it often makes it hard to track
|
||||
-- people down a year or more later if necessary.
|
||||
|
||||
local graphics = {
|
||||
"Lucas “v1ral” Tang",
|
||||
"SPiGuMuS",
|
||||
"Visage",
|
||||
"Ryan “Plaguefox” McKanna",
|
||||
"Lamden “Cloud34” Travis",
|
||||
"Michael “Redcrusher” Curry",
|
||||
"Steve “healing_vision” Klise",
|
||||
"Mauro Panichella",
|
||||
"Popnko",
|
||||
"Griever (Julian)",
|
||||
"Miguel Moore",
|
||||
"Dj “AeON ExOdus” Washington",
|
||||
"Xelf",
|
||||
"James “SPDS” Sanders",
|
||||
"k0ldx",
|
||||
"Daisuke Master",
|
||||
}
|
||||
|
||||
local theme = {
|
||||
"AJ Kelly",
|
||||
"Dan “dieKatze88” Colardeau",
|
||||
"Mike “mDaWg” Calfin",
|
||||
}
|
||||
|
||||
local web = {
|
||||
"Brian “Bork” Bugh",
|
||||
}
|
||||
|
||||
local sound = {
|
||||
"Kyle “KeeL” Ward",
|
||||
"Jim “Izlude” Cabeen",
|
||||
"Sanxion7",
|
||||
}
|
||||
|
||||
local programming = {
|
||||
"Chris Danford",
|
||||
"Frieza",
|
||||
"Glenn Maynard",
|
||||
"Bruno Figueiredo",
|
||||
"Peter “Dro Kulix” May",
|
||||
"Jared “nmspaz” Roberts",
|
||||
"Brendan “binarys” Walker",
|
||||
"Lance “Neovanglist” Gilbert",
|
||||
"Michel Donais",
|
||||
"Ben “Mantis” Nordstrom",
|
||||
"Chris “Parasyte” Gomez",
|
||||
"Michael “dirkthedaring” Patterson",
|
||||
"Sauleil “angedelamort” Lamarre",
|
||||
"Edwin Evans",
|
||||
"Brian “Bork” Bugh",
|
||||
"Joel “Elvis314” Maher",
|
||||
"Garth “Kefabi” Smith",
|
||||
"Pkillah",
|
||||
"Robert Kemmetmueller",
|
||||
"Ben “Shabach” Andersen",
|
||||
"Will “SlinkyWizard” Valladao",
|
||||
"TheChip",
|
||||
"David “WarriorBob” H",
|
||||
"Mike Waltson",
|
||||
"Kevin “Miryokuteki” Slaughter",
|
||||
"Thad “Coderjoe” Ward",
|
||||
"Steve Checkoway",
|
||||
"Sean Burke",
|
||||
"XPort",
|
||||
"Charles Lohr",
|
||||
"Josh “Axlecrusher” Allen",
|
||||
"Jason “Wolfman2000” Felds",
|
||||
"Eric “Subwire” Gustafson",
|
||||
"Mike “Archer” Hawkins",
|
||||
"Colby “shakesoda“ Klein",
|
||||
}
|
||||
|
||||
local thanks = {
|
||||
"SimWolf",
|
||||
"DJ DraftHorse",
|
||||
"Dance With Intensity",
|
||||
"BeMaNiRuler",
|
||||
"DDRLlama",
|
||||
"DDRManiaX",
|
||||
"NMR",
|
||||
"DJ Paranoia",
|
||||
"DJ Yuz",
|
||||
"Reo",
|
||||
"Random Hajile",
|
||||
"Chocobo Ghost",
|
||||
"Tyma",
|
||||
"Deluxe",
|
||||
"Lagged",
|
||||
"The Melting Pot",
|
||||
"DDRJamz Global BBS",
|
||||
"Eric “WaffleKing” Webster",
|
||||
"Gotetsu",
|
||||
"Mark “Foobly” Verrey",
|
||||
"Mandarin Blue",
|
||||
"Kenny “AngelTK” Lai",
|
||||
"curewater",
|
||||
"Bill “DMAshura” Shillito",
|
||||
"Illusionz - Issaquah, WA",
|
||||
"Quarters - Kirkland, WA",
|
||||
"Pier Amusements - Bournemouth, UK",
|
||||
"Westcliff Amusements - Bournemouth, UK",
|
||||
}
|
||||
|
||||
local sections = {
|
||||
{ "☆☆GRAPHICS☆☆", graphics },
|
||||
{ "☆☆THEME CODE☆☆", theme },
|
||||
{ "☆☆WEB DESIGN☆☆", web },
|
||||
{ "☆☆SOUND☆☆", sound },
|
||||
{ "☆☆PROGRAMMING☆☆", programming },
|
||||
{ "☆☆SPECIAL THANKS TO☆☆", thanks },
|
||||
}
|
||||
|
||||
-- To add people or sections modify the above.
|
||||
|
||||
local fontPath = THEME:GetPathF( "ScreenCredits", "titles" )
|
||||
local lineOn = cmd()
|
||||
local sectionOn = cmd(diffuse,1,.5,.5,1)
|
||||
local otherOn = cmd(diffuse,.5,.5,1,1)
|
||||
local t = Def.ActorScroller {
|
||||
SecondsPerItem = 0.40;
|
||||
NumItemsToDraw = 40;
|
||||
TransformFunction = function( self, offset, itemIndex, numItems)
|
||||
self:y(30*offset)
|
||||
end;
|
||||
OnCommand = cmd(scrollwithpadding,12,0);
|
||||
}
|
||||
|
||||
local function AddLine( text, command )
|
||||
local text = Def.BitmapText {
|
||||
_Level = 2;
|
||||
File = fontPath;
|
||||
Text = text or "";
|
||||
OnCommand = command or lineOn;
|
||||
}
|
||||
-- XXX: Hack. Wrap in an ActorFrame so OnCommand works
|
||||
table.insert( t, Def.ActorFrame { text } )
|
||||
end
|
||||
|
||||
-- Add header and padding
|
||||
AddLine( "STEPMANIA TEAM", otherOn )
|
||||
AddLine()
|
||||
AddLine()
|
||||
AddLine()
|
||||
|
||||
-- Add sections with padding.
|
||||
for section in ivalues(sections) do
|
||||
AddLine( section[1], sectionOn )
|
||||
for name in ivalues(section[2]) do
|
||||
AddLine( name )
|
||||
end
|
||||
AddLine()
|
||||
AddLine()
|
||||
AddLine()
|
||||
end
|
||||
|
||||
-- Add more padding and then the join the team.
|
||||
for i=1,13 do AddLine() end
|
||||
|
||||
AddLine( "Join the StepMania team", otherOn )
|
||||
AddLine( "and help us out!" )
|
||||
|
||||
return t;
|
||||
@@ -1,10 +0,0 @@
|
||||
local t = Def.ActorFrame {
|
||||
LoadActor( "song background scroller" ) .. {
|
||||
InitCommand = cmd(x,SCREEN_CENTER_X-160;y,SCREEN_CENTER_Y);
|
||||
};
|
||||
LoadActor( "credits" ) .. {
|
||||
InitCommand = cmd(x,SCREEN_CENTER_X+160;y,SCREEN_CENTER_Y);
|
||||
};
|
||||
}
|
||||
|
||||
return t;
|
||||
@@ -0,0 +1 @@
|
||||
_blank
|
||||
|
After Width: | Height: | Size: 14 KiB |
@@ -0,0 +1,10 @@
|
||||
return Def.ActorFrame {
|
||||
Def.ActorFrame {
|
||||
InitCommand=cmd(x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y+200;draworder,1;);
|
||||
LoadActor("bar") .. {
|
||||
};
|
||||
LoadFont("_venacti Bold 15px") .. {
|
||||
InitCommand=cmd(settext,"Thank you for playing!";horizalign,left;x,-280;shadowlength,0;strokecolor,color("#000000"););
|
||||
};
|
||||
};
|
||||
};
|
||||
|
After Width: | Height: | Size: 77 KiB |
|
After Width: | Height: | Size: 248 KiB |
|
After Width: | Height: | Size: 170 KiB |
@@ -0,0 +1,50 @@
|
||||
local fontPath = THEME:GetPathF( "Common", "normal" )
|
||||
local songs = tableslice( tableshuffle( SONGMAN:GetAllSongs() ), 100 );
|
||||
local spacing_y = 24;
|
||||
local num_items_to_draw = math.ceil( 480 / spacing_y );
|
||||
local num_padding_items = (num_items_to_draw/2)+2;
|
||||
local seconds_per_item = 0.1
|
||||
local begin_fading_out_seconds = (#songs + num_padding_items * 2) * seconds_per_item;
|
||||
|
||||
local t = LoadFallbackB();
|
||||
t[#t+1] = Def.ActorFrame {
|
||||
InitCommand=cmd(x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y;);
|
||||
BeginCommand=function(self)
|
||||
SCREENMAN:GetTopScreen():PostScreenMessage( "SM_BeginFadingOut", begin_fading_out_seconds );
|
||||
end;
|
||||
LoadActor("bg") .. {
|
||||
InitCommand=cmd();
|
||||
};
|
||||
LoadActor("char left") .. {
|
||||
InitCommand=cmd(x,-250+4;y,50+4;);
|
||||
};
|
||||
LoadActor("char right") .. {
|
||||
InitCommand=cmd(x,250+10;y,50+7;);
|
||||
};
|
||||
};
|
||||
|
||||
|
||||
local t2 = Def.ActorScroller {
|
||||
NumItemsToDraw = num_items_to_draw;
|
||||
SecondsPerItem = seconds_per_item;
|
||||
TransformFunction = function( self, offset, itemIndex, numItems )
|
||||
self:y( offset*spacing_y )
|
||||
end;
|
||||
BeginCommand = cmd(x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y;scrollwithpadding,num_padding_items,num_padding_items);
|
||||
}
|
||||
|
||||
for i=1,#songs do
|
||||
local song = songs[i];
|
||||
local c = SONGMAN:GetSongColor( song )
|
||||
local text = Def.BitmapText {
|
||||
_Level = 1;
|
||||
File = fontPath;
|
||||
InitCommand = cmd(settext,song:GetDisplayFullTitle();diffuse,c;strokecolor,color("#575100");shadowlength,0;);
|
||||
}
|
||||
|
||||
table.insert( t2, Def.ActorFrame { text } )
|
||||
end
|
||||
|
||||
t[#t+1] = t2;
|
||||
|
||||
return t;
|
||||
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 487 KiB |
@@ -0,0 +1,102 @@
|
||||
-- I'm not comfortable including assets or code from people who want to keep their
|
||||
-- name a secret. If they believe their contribution places them at any kind of
|
||||
-- risk, then we should be just as wary. Also, it often makes it hard to track
|
||||
-- people down a year or more later if necessary.
|
||||
|
||||
local graphics = {
|
||||
"Chris Danford",
|
||||
"Ryan “Plaguefox” McKanna",
|
||||
}
|
||||
|
||||
local theme = {
|
||||
"Chris Danford",
|
||||
}
|
||||
|
||||
local web = {
|
||||
"Chris Danford",
|
||||
}
|
||||
|
||||
local sound = {
|
||||
"Sanxion7",
|
||||
"Kyle “KaW” Ward",
|
||||
}
|
||||
|
||||
local programming = {
|
||||
"Glenn Maynard",
|
||||
"Chris Danford",
|
||||
"Steve Checkoway",
|
||||
"(remake this list)",
|
||||
}
|
||||
|
||||
local smo = {
|
||||
"Charles Lohr",
|
||||
"Josh Allen",
|
||||
}
|
||||
|
||||
local thanks = {
|
||||
"The players and fans!",
|
||||
}
|
||||
|
||||
local sections = {
|
||||
{ "☆☆GRAPHICS☆☆", graphics },
|
||||
{ "☆☆THEME CODE☆☆", theme },
|
||||
{ "☆☆WEB DESIGN☆☆", web },
|
||||
{ "☆☆SOUND☆☆", sound },
|
||||
{ "☆☆PROGRAMMING☆☆", programming },
|
||||
{ "☆☆STEPMANIA ONLINE☆☆", smo },
|
||||
{ "☆☆SPECIAL THANKS TO☆☆", thanks },
|
||||
}
|
||||
|
||||
-- To add people or sections modify the above.
|
||||
|
||||
local fontPath = THEME:GetPathF( "", "_venacti Bold 15px" )
|
||||
local lineOn = cmd(strokecolor,color("#624e73BB");shadowcolor,color("#000000FF");shadowlengthx,0;shadowlengthy,3;)
|
||||
local sectionOn = cmd(diffuse,1,.5,.5,1;strokecolor,color("#624e73BB");shadowcolor,color("#000000FF");shadowlengthx,0;shadowlengthy,3;)
|
||||
local otherOn = cmd(diffuse,.5,.5,1,1;strokecolor,color("#624e73BB");shadowcolor,color("#000000FF");shadowlengthx,0;shadowlengthy,3;)
|
||||
local item_padding_start = 12;
|
||||
|
||||
local t = Def.ActorScroller {
|
||||
SecondsPerItem = 0.4;
|
||||
NumItemsToDraw = 40;
|
||||
TransformFunction = function( self, offset, itemIndex, numItems)
|
||||
self:y(30*offset)
|
||||
end;
|
||||
OnCommand = cmd(scrollwithpadding,item_padding_start,-0.5);
|
||||
}
|
||||
|
||||
local function AddLine( text, command )
|
||||
if text then text=string.upper(text) end
|
||||
local text = Def.BitmapText {
|
||||
_Level = 2;
|
||||
File = fontPath;
|
||||
Text = text or "";
|
||||
OnCommand = command or lineOn;
|
||||
}
|
||||
-- XXX: Hack. Wrap in an ActorFrame so OnCommand works
|
||||
table.insert( t, Def.ActorFrame { text } )
|
||||
end
|
||||
|
||||
-- Add sections with padding.
|
||||
for section in ivalues(sections) do
|
||||
AddLine( section[1], sectionOn )
|
||||
for name in ivalues(section[2]) do
|
||||
AddLine( name )
|
||||
end
|
||||
AddLine()
|
||||
AddLine()
|
||||
AddLine()
|
||||
end
|
||||
|
||||
-- Add more padding and then the join the team.
|
||||
for i=1,13 do AddLine() end
|
||||
|
||||
AddLine( "Join the StepMania team")
|
||||
AddLine( "and help us out!" )
|
||||
AddLine( "www.stepmania.com", otherOn )
|
||||
|
||||
t.BeginCommand=function(self)
|
||||
SCREENMAN:GetTopScreen():PostScreenMessage( "SM_BeginFadingOut", (t.SecondsPerItem * (#t + item_padding_start) + 5) );
|
||||
end;
|
||||
|
||||
|
||||
return t;
|
||||
@@ -0,0 +1,17 @@
|
||||
local t = LoadFallbackB();
|
||||
t[#t+1] = LoadActor("bg") .. {
|
||||
InitCommand=cmd(x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y;);
|
||||
};
|
||||
t[#t+1] = LoadActor( "song background scroller" ) .. {
|
||||
InitCommand=cmd(x,SCREEN_CENTER_X-174;y,SCREEN_CENTER_Y;);
|
||||
};
|
||||
t[#t+1] = LoadActor( "credits" ) .. {
|
||||
InitCommand=cmd(x,SCREEN_CENTER_X+114;y,SCREEN_CENTER_Y;);
|
||||
};
|
||||
t[#t+1] = LoadActor("team") .. {
|
||||
InitCommand=cmd(x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y-30;);
|
||||
OnCommand=cmd(sleep,1;decelerate,0.7;addx,274;rotationz,90;);
|
||||
};
|
||||
|
||||
|
||||
return t;
|
||||
@@ -1,20 +1,20 @@
|
||||
local template = Def.ActorFrame {
|
||||
Def.Sprite {
|
||||
OnCommand = cmd(LoadBackground,GetRandomSongBackground();scaletoclipped,312,232);
|
||||
};
|
||||
LoadActor( THEME:GetPathG("ScreenCredits", "background frame") );
|
||||
}
|
||||
local t = Def.ActorScroller {
|
||||
SecondsPerItem = 4.25;
|
||||
NumItemsToDraw = 4;
|
||||
TransformFunction = function( self, offset, itemIndex, numItems )
|
||||
self:y(-240*offset)
|
||||
end;
|
||||
OnCommand = cmd(scrollwithpadding,2,3);
|
||||
}
|
||||
|
||||
for i=1,10 do
|
||||
table.insert( t, template );
|
||||
end
|
||||
|
||||
return t;
|
||||
local template = Def.ActorFrame {
|
||||
Def.Sprite {
|
||||
OnCommand = cmd(LoadBackground,GetRandomSongBackground();scaletoclipped,226,165;y,0;);
|
||||
};
|
||||
LoadActor( "background frame" );
|
||||
}
|
||||
local t = Def.ActorScroller {
|
||||
SecondsPerItem = 4.25;
|
||||
NumItemsToDraw = 4;
|
||||
TransformFunction = function( self, offset, itemIndex, numItems )
|
||||
self:y(-188*offset)
|
||||
end;
|
||||
OnCommand = cmd(scrollwithpadding,2,3);
|
||||
}
|
||||
|
||||
for i=1,10 do
|
||||
table.insert( t, template );
|
||||
end
|
||||
|
||||
return t;
|
||||
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 439 KiB |
|
After Width: | Height: | Size: 355 KiB |
@@ -0,0 +1,10 @@
|
||||
local t = LoadFallbackB();
|
||||
t[#t+1] = LoadActor("bg") .. {
|
||||
InitCommand=cmd(x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y;);
|
||||
};
|
||||
t[#t+1] = LoadActor( "picture scroller" ) .. {
|
||||
InitCommand=cmd(x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y-20;);
|
||||
};
|
||||
|
||||
|
||||
return t;
|
||||
|
After Width: | Height: | Size: 296 KiB |
|
After Width: | Height: | Size: 23 KiB |
@@ -0,0 +1,26 @@
|
||||
local names = {
|
||||
{ "chris", "Chris Danford", "Seattle, WA, USA" },
|
||||
{ "glenn", "Glenn Maynard", "Boston, MA, USA" },
|
||||
{ "steve", "Steve Checkoway", "San Diego, CA, USA" },
|
||||
};
|
||||
|
||||
local t = Def.ActorFrame {};
|
||||
for i=1,#names do
|
||||
local name = names[i];
|
||||
t[#t+1] = Def.ActorFrame {
|
||||
OnCommand=cmd(addx,SCREEN_WIDTH;sleep,(i-1)*3;decelerate,0.5;addx,-SCREEN_WIDTH;sleep,2;accelerate,0.5;addx,-SCREEN_WIDTH;);
|
||||
LoadActor( name[1] ) .. {
|
||||
InitCommand = cmd(scaletoclipped,520,342;y,0;);
|
||||
};
|
||||
LoadActor( "picture frame" );
|
||||
LoadFont( "_venacti bold 15px" ) .. {
|
||||
InitCommand=cmd(horizalign,left;x,100;y,138;settext,string.upper(name[2] .. "\n" .. name[3]);strokecolor,color("#00000077"););
|
||||
};
|
||||
};
|
||||
end
|
||||
|
||||
t.BeginCommand=function(self)
|
||||
SCREENMAN:GetTopScreen():PostScreenMessage( "SM_BeginFadingOut", (3 * #names) );
|
||||
end;
|
||||
|
||||
return t;
|
||||
|
After Width: | Height: | Size: 451 KiB |
@@ -1,8 +0,0 @@
|
||||
local t = Def.ActorFrame {
|
||||
LoadActor("gameover.png") .. {
|
||||
InitCommand=cmd(x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y;diffusealpha,0);
|
||||
OnCommand=cmd(linear,0.3;diffusealpha,0.9;sleep,5);
|
||||
};
|
||||
};
|
||||
|
||||
return t;
|
||||
|
Before Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 2.6 KiB |
|
After Width: | Height: | Size: 149 KiB |
@@ -0,0 +1,47 @@
|
||||
local t = Def.ActorFrame {
|
||||
Def.ActorFrame {
|
||||
LoadActor("star field") .. {
|
||||
InitCommand=cmd(x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y;zoom,16;customtexturerect,0,0,16,16;texcoordvelocity,1,0;);
|
||||
};
|
||||
LoadActor("black circle") .. {
|
||||
InitCommand=cmd(x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y);
|
||||
};
|
||||
LoadActor("game star") .. {
|
||||
InitCommand=cmd(x,SCREEN_CENTER_X-130;y,SCREEN_CENTER_Y-50;);
|
||||
OnCommand=cmd(addx,SCREEN_WIDTH;sleep,0.0;decelerate,0.5;addx,-SCREEN_WIDTH;);
|
||||
};
|
||||
LoadActor("over star") .. {
|
||||
InitCommand=cmd(x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y+20;);
|
||||
OnCommand=cmd(addx,SCREEN_WIDTH;sleep,0.2;decelerate,0.5;addx,-SCREEN_WIDTH;);
|
||||
};
|
||||
LoadActor("game text") .. {
|
||||
InitCommand=cmd(x,SCREEN_CENTER_X-60;y,SCREEN_CENTER_Y-50+4;);
|
||||
OnCommand=cmd(addx,SCREEN_WIDTH;sleep,0.5;decelerate,0.5;addx,-SCREEN_WIDTH;);
|
||||
};
|
||||
LoadActor("over text") .. {
|
||||
InitCommand=cmd(x,SCREEN_CENTER_X+66;y,SCREEN_CENTER_Y+20+4;);
|
||||
OnCommand=cmd(addx,SCREEN_WIDTH;sleep,0.7;decelerate,0.5;addx,-SCREEN_WIDTH;);
|
||||
};
|
||||
Def.ActorFrame {
|
||||
InitCommand=cmd(x,SCREEN_CENTER_X+114;y,SCREEN_CENTER_Y-50;);
|
||||
OnCommand=cmd(addx,SCREEN_WIDTH;sleep,1;rotationz,360*2;decelerate,1;addx,-SCREEN_WIDTH;rotationz,0;);
|
||||
|
||||
LoadActor("face open") .. {
|
||||
};
|
||||
LoadActor("face closed") .. {
|
||||
OnCommand=cmd(diffusealpha,0;sleep,3;diffusealpha,1;sleep,0.5;diffusealpha,0;);
|
||||
};
|
||||
Def.ActorFrame {
|
||||
InitCommand=cmd(x,-54;y,-60;zoom,0;sleep,2;bounceend,0.3;zoom,1;);
|
||||
LoadActor("balloon") .. {
|
||||
};
|
||||
LoadFont("_venacti Bold 15px") .. {
|
||||
InitCommand=cmd(y,-5;settext,"See you next time!";diffuse,color("#3f4c72");shadowcolor,color("#dcb2f2aa");wrapwidthpixels,100;skewx,-0.1;shadowlength,2;);
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
};
|
||||
};
|
||||
|
||||
return t;
|
||||
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 5.8 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 6.3 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 5.2 KiB |
|
Before Width: | Height: | Size: 290 KiB |
@@ -1,10 +0,0 @@
|
||||
local t = Def.ActorFrame {
|
||||
LoadActor( "_music scroll background" ) .. {
|
||||
InitCommand = cmd(scale_or_crop_background);
|
||||
};
|
||||
LoadFont( "ScreenMusicScroll", "thanks" ) .. {
|
||||
Text = "Thank you for playing!";
|
||||
InitCommand = cmd(align,0,1;x,SCREEN_LEFT+20;y,SCREEN_BOTTOM-40;zoom,.8)
|
||||
};
|
||||
}
|
||||
return t;
|
||||
@@ -1,27 +0,0 @@
|
||||
local time = THEME:GetMetric( "ScreenMusicScroll", "TimerSeconds" )
|
||||
local num = time * 2
|
||||
local fontPath = THEME:GetPathF( "ScreenMusicScroll", "titles" )
|
||||
|
||||
local t = Def.ActorScroller {
|
||||
NumItemsToDraw = 6;
|
||||
SecondsPerItem = time / num;
|
||||
TransformFunction = function( self, offset, itemIndex, numItems )
|
||||
self:y( offset*80 )
|
||||
end;
|
||||
BeginCommand = cmd(x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y;scrollwithpadding,3,3);
|
||||
}
|
||||
|
||||
for i=1,num do
|
||||
local song = SONGMAN:GetRandomSong()
|
||||
local color = SONGMAN:GetSongColor( song )
|
||||
local text = Def.BitmapText {
|
||||
_Level = 1;
|
||||
File = fontPath;
|
||||
Text = song:GetDisplayFullTitle();
|
||||
OnCommand = cmd(zoom,0.7;diffuse,color);
|
||||
}
|
||||
|
||||
table.insert( t, Def.ActorFrame { text } )
|
||||
end
|
||||
|
||||
return t;
|
||||
@@ -1 +0,0 @@
|
||||
Common normal
|
||||
@@ -1 +0,0 @@
|
||||
common normal
|
||||
@@ -1 +0,0 @@
|
||||
_venacti Bold 24px
|
||||
|
Before Width: | Height: | Size: 2.3 KiB |
@@ -171,8 +171,9 @@ function SelectEndingScreen()
|
||||
end
|
||||
|
||||
local grade = STATSMAN:GetBestFinalGrade()
|
||||
if Grade:Compare( grade, "Grade_Tier03" ) >= 0 then return "ScreenMusicScroll" end
|
||||
return "ScreenCredits"
|
||||
if Grade:Compare( grade, "Grade_Tier03" ) >= 0 then return "ScreenEnding3" end
|
||||
if Grade:Compare( grade, "Grade_Tier05" ) >= 0 then return "ScreenEnding2" end
|
||||
return "ScreenEnding1"
|
||||
end
|
||||
|
||||
function ScreenProfileSaveNextScreen()
|
||||
|
||||
@@ -86,6 +86,15 @@ function tableshuffle( t )
|
||||
return ret
|
||||
end
|
||||
|
||||
function tableslice( t, num )
|
||||
local ret = { }
|
||||
for i=1,table.getn(t) do
|
||||
table.insert( ret, i, t[i] );
|
||||
end
|
||||
return ret
|
||||
end
|
||||
|
||||
|
||||
function GetRandomSongBackground()
|
||||
for i=0,50 do
|
||||
local song = SONGMAN:GetRandomSong()
|
||||
|
||||
@@ -1514,13 +1514,6 @@ WinP2OffCommand=linear,0.7;diffusealpha,0
|
||||
[MultiplayerEvalScoreRow]
|
||||
NumberOnCommandFunction=
|
||||
|
||||
[ScreenMusicScroll]
|
||||
Class="ScreenCredits"
|
||||
Fallback="ScreenCredits"
|
||||
Announce="music scroll"
|
||||
NextScreen="ScreenHighScores"
|
||||
StartScreen=ScreenTitleBranch()
|
||||
|
||||
[EditMenu]
|
||||
EditMode="EditMode_Full"
|
||||
ShowGroups=true
|
||||
@@ -3379,17 +3372,29 @@ Line9="list,Background"
|
||||
Line10="list,SaveScores"
|
||||
StopMusicOnBack=false
|
||||
|
||||
[ScreenCredits]
|
||||
Class="ScreenCredits"
|
||||
[ScreenEnding]
|
||||
Fallback="ScreenAttract"
|
||||
Announce="credits"
|
||||
TimerSeconds=58
|
||||
Class="ScreenEnding"
|
||||
NextScreen="ScreenHighScores"
|
||||
|
||||
[ScreenGameOver]
|
||||
Class="ScreenAttract"
|
||||
Fallback="ScreenAttract"
|
||||
NextScreen="ScreenCompany"
|
||||
Fallback="ScreenEnding"
|
||||
TimerSeconds=10
|
||||
|
||||
[ScreenEnding1]
|
||||
Fallback="ScreenEnding"
|
||||
; decorations send "SM_BeginFadingOut", so timer is disabled
|
||||
TimerSeconds=0
|
||||
|
||||
[ScreenEnding2]
|
||||
Fallback="ScreenEnding"
|
||||
; decorations send "SM_BeginFadingOut", so timer is disabled
|
||||
TimerSeconds=0
|
||||
|
||||
[ScreenEnding3]
|
||||
Fallback="ScreenEnding"
|
||||
; decorations send "SM_BeginFadingOut", so timer is disabled
|
||||
TimerSeconds=0
|
||||
|
||||
[ScreenSelectCharacter]
|
||||
Class="ScreenSelectCharacter"
|
||||
|
||||