The beginning of arcade mode stuff. Mainly only deals with TitleJoin and Demonstration at the moment and pretty much assumes Event Mode is on.

This commit is contained in:
AJ Kelly
2010-05-15 15:56:45 -05:00
parent fff7a64f71
commit dd5fa35ff0
7 changed files with 163 additions and 33 deletions
+13 -1
View File
@@ -25,7 +25,19 @@ function SelectMusicOrCourse()
end;
Branch = {
TitleMenu = "ScreenTitleMenu",
TitleMenu = function()
-- home mode is the most assumed use of sm-ssc.
if GAMESTATE:GetCoinMode() == "CoinMode_Home" then return "ScreenTitleMenu" end;
-- arcade junk:
if GAMESTATE:GetCoinsNeededToJoin() > GAMESTATE:GetCoins() then
-- if no credits are inserted, don't show the Join screen. SM4 has
-- this as the initial screen, but that means we'd be stuck in a
-- loop with ScreenInit. No good.
return "ScreenDemonstration";
else
return "ScreenTitleJoin"
end;
end,
AfterProfileLoad = function()
return "ScreenSelectProfile"
end,
+51 -31
View File
@@ -1302,8 +1302,8 @@ Class="ScreenAttract"
Fallback="ScreenAttract"
#
PrevScreen="ScreenInit"
NextScreen="ScreenTitleMenu"
StartScreen="ScreenTitleMenu"
NextScreen=Branch.TitleMenu()
StartScreen=Branch.TitleMenu()
#
ForceTimer=true
TimerSeconds=5
@@ -1318,7 +1318,7 @@ Fallback="ScreenSelectMaster"
PrevScreen="ScreenInit"
NextScreen="ScreenInit"
#
CoinModeChangeScreen=Branch.TitleMenu
CoinModeChangeScreen=Branch.TitleMenu()
#
ScreenOnCommand=lockinput,0
LightsMode="LightsMode_Joining"
@@ -1407,13 +1407,14 @@ LogoOffCommand=
[ScreenTitleJoin]
Fallback="ScreenTitleMenu"
ChoiceNames="1"
[ScreenQuickSetupOverview]
Class="ScreenSelectMaster"
Fallback="ScreenSelectMaster"
#
NextScreen=Branch.QuickSetupA
PrevScreen=Branch.TitleMenu
PrevScreen=Branch.TitleMenu()
#
TimerSeconds=-1
#
@@ -1481,7 +1482,7 @@ ChoiceBack="name,Back;screen,".. Branch.QuickSetupC
Class="ScreenSelectMaster"
Fallback="ScreenQuickSetupOverview"
#
NextScreen=Branch.TitleMenu
NextScreen=Branch.TitleMenu()
PrevScreen=Branch.QuickSetupD
#
DefaultChoice="Set"
@@ -1495,7 +1496,7 @@ Fallback="ScreenWithMenuElementsBlank"
#
NextScreen=Branch.AfterProfileLoad()
#~ NextScreen="ScreenSelectProfile"
PrevScreen="ScreenTitleMenu"
PrevScreen=Branch.TitleMenu()
#
TimerSeconds=-1
#
@@ -1506,7 +1507,7 @@ Fallback="ScreenWithMenuElements"
Class="ScreenSelectProfile"
#
NextScreen=Branch.AfterSelectProfile()
PrevScreen="ScreenTitleMenu"
PrevScreen=Branch.TitleMenu()
StartScreen=Branch.AfterSelectProfile()
#
TimerSeconds=40
@@ -1525,7 +1526,7 @@ Class="ScreenSelectMaster"
Fallback="ScreenSelectMaster"
#
NextScreen=Branch.AfterSelectPlayMode()
PrevScreen="ScreenTitleMenu"
PrevScreen=Branch.TitleMenu()
#
TimerSeconds=40
#
@@ -1559,7 +1560,7 @@ Class="ScreenSelectMaster"
Fallback="ScreenSelectMaster"
#
NextScreen=Branch.GetGameInformationScreen
PrevScreen=Branch.TitleMenu
PrevScreen=Branch.TitleMenu()
#
TimerSeconds=40
#
@@ -1581,7 +1582,7 @@ Class="ScreenSelectMaster"
Fallback="ScreenSelectMaster"
#
NextScreen=Branch.GetGameInformationScreen
PrevScreen=Branch.TitleMenu
PrevScreen=Branch.TitleMenu()
#
PerChoiceScrollElement=false
PerChoiceIconElement=false
@@ -1595,7 +1596,7 @@ Fallback="ScreenSelectMaster"
#
#~ NextScreen="ScreenSelectMusic"
NextScreen=GAMESTATE:IsCourseMode() and "ScreenSelectCourse" or "ScreenSelectMusic"
PrevScreen="ScreenTitleMenu"
PrevScreen=Branch.TitleMenu()
#
TimerSeconds=15
#
@@ -1615,7 +1616,7 @@ Class="ScreenSelectMusic"
Fallback="ScreenWithMenuElements"
#
NextScreen=Branch.PlayerOptions()
PrevScreen="ScreenTitleMenu"
PrevScreen=Branch.TitleMenu()
#
MusicWheelType="MusicWheel"
Codes=""
@@ -2163,8 +2164,8 @@ CursorOnCommand=visible,false
[ScreenOptionsService]
Class="ScreenOptionsMaster"
Fallback="ScreenOptionsSimpleService"
NextScreen="ScreenTitleMenu"
PrevScreen="ScreenTitleMenu"
NextScreen=Branch.TitleMenu()
PrevScreen=Branch.TitleMenu()
LineNames="SD,1,2,Sync,13,3,10,11,4,12,6,5,Theme,8,9"
Line1="gamecommand;screen,ScreenMapControllers;name,Key Joy Mappings"
Line2="gamecommand;screen,ScreenTestInput;name,Test Input"
@@ -2309,8 +2310,8 @@ PrevScreen="ScreenOptionsService"
[ScreenOptionsSystemDirection]
Fallback="ScreenOptionsServiceChild"
PrevScreen=Branch.TitleMenu
NextScreen=Branch.TitleMenu
PrevScreen=Branch.TitleMenu()
NextScreen=Branch.TitleMenu()
LineNames="1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22"
Line1="conf,Windowed"
Line2="conf,DisplayResolution"
@@ -2440,8 +2441,8 @@ Fallback="ScreenOptionsServiceChild"
[ScreenSelectGame]
Fallback="ScreenOptionsServiceChild"
PrevScreen="ScreenTitleMenu"
NextScreen="ScreenTitleMenu"
PrevScreen=Branch.TitleMenu()
NextScreen=Branch.TitleMenu()
LineNames="1"
Line1="conf,Game"
@@ -2468,12 +2469,12 @@ PageOnCommand=visible,false
[ScreenReloadSongs]
Class="ScreenReloadSongs"
Fallback="Screen"
NextScreen="ScreenTitleMenu"
NextScreen=Branch.TitleMenu()
[ScreenSelectGame]
Fallback="ScreenOptionsServiceChild"
PrevScreen="ScreenOptionsService"
NextScreen="ScreenTitleMenu"
NextScreen=Branch.TitleMenu()
LineNames="1"
Line1="conf,Game"
@@ -2974,7 +2975,7 @@ Class="ScreenProfileSave"
Fallback="ScreenWithMenuElementsBlank"
#
NextScreen=Branch.AfterProfileSave()
PrevScreen="ScreenTitleMenu"
PrevScreen=Branch.TitleMenu()
#
TimerSeconds=-1
[ScreenProfileSaveSummary]
@@ -2986,9 +2987,9 @@ PrevScreen="ScreenGameOver"
Class="ScreenEnding"
Fallback="ScreenAttract"
#
PrevScreen="ScreenTitleMenu"
NextScreen="ScreenTitleMenu"
StartScreen="ScreenTitleMenu"
PrevScreen=Branch.TitleMenu()
NextScreen=Branch.TitleMenu()
StartScreen=Branch.TitleMenu()
#
TimerSeconds=10
#
@@ -3047,8 +3048,8 @@ Answer3Of3OffCommand=
Class="ScreenOptionsMaster"
Fallback="ScreenOptionsSimpleService"
; This NextScreen is only used for the "exit" choice.
NextScreen="ScreenTitleMenu"
PrevScreen="ScreenTitleMenu"
NextScreen=Branch.TitleMenu()
PrevScreen=Branch.TitleMenu()
#LineNames="1,2,3,4,5,6"
LineNames="1,2,3"
Line1="gamecommand;screen,ScreenEditMenu;name,Edit Songs/Steps"
@@ -3106,7 +3107,7 @@ Fallback="TextBanner"
Fallback="ScreenWithMenuElements"
Class="ScreenEditMenu"
NextScreen="ScreenEdit"
PrevScreen="ScreenTitleMenu"
PrevScreen=Branch.TitleMenu()
EditMenuType="EditMenu"
ExplanationX=SCREEN_CENTER_X
ExplanationY=SCREEN_BOTTOM-56
@@ -3301,7 +3302,7 @@ ComboOnCommand=visible,false
Class="ScreenSMOnlineLogin"
Fallback="ScreenOptionsServiceChild"
NextScreen=Branch.AfterSMOLogin
PrevScreen="ScreenTitleMenu"
PrevScreen=Branch.TitleMenu()
ShowStyleIcon=false
TimerSeconds=-1
ShowHelp=false
@@ -3354,7 +3355,7 @@ Class="ScreenNetSelectMusic"
Fallback="ScreenNetSelectBase"
PrevScreen="ScreenNetRoom"
NextScreen="ScreenStageInformation"
NoSongsScreen="ScreenTitleMenu"
NoSongsScreen=Branch.TitleMenu()
RoomSelectScreen="ScreenNetRoom"
ShowStyleIcon=false
@@ -3422,7 +3423,7 @@ HelpText=Screen.String("HelpTextNetSelectMusic");
[ScreenNetRoom]
Class="ScreenNetRoom"
Fallback="ScreenNetSelectBase"
PrevScreen="ScreenTitleMenu"
PrevScreen=Branch.TitleMenu()
# XXX
NextScreen="ScreenGameplayBranch"
MusicSelectScreen="ScreenNetSelectMusic"
@@ -3547,4 +3548,23 @@ UsersBG2OffCommand=
UserDX=0
UserDY=24
UserOnCommand=
UserOffCommand=
UserOffCommand=
# some arcade mode things
[ScreenDemonstration]
Fallback="ScreenGameplay"
Class="ScreenDemonstration"
#
NextScreen="ScreenInit"
StartScreen=Branch.TitleMenu()
PlayMusic=false
SecondsToShow=60
LightsMode="LightsMode_Demonstration"
DifficultiesToShow="easy,medium"
ShowCourseModifiersProbability=0
AllowAdvancedModifiers=false
AllowStyleTypes="TwoPlayersTwoSides"
MinSecondsToStep=0
MinSecondsToMusic=0
@@ -0,0 +1,6 @@
return Def.ActorFrame{
Def.Quad{
InitCommand=cmd(FullScreen;diffuse,color("0,0,0,1");cropbottom,1;fadebottom,1);
OnCommand=cmd(decelerate,0.5;cropbottom,0;fadebottom,0);
};
};
@@ -0,0 +1,43 @@
local t = Def.ActorFrame{
Def.Quad{
Name="TopFrame";
InitCommand=cmd(CenterX;y,SCREEN_TOP;valign,0;zoomto,SCREEN_WIDTH,SCREEN_HEIGHT*0.15;diffuse,color("0.1,0.1,0.1,1");fadebottom,0.5);
};
Def.Quad{
Name="BotFrame";
InitCommand=cmd(CenterX;y,SCREEN_BOTTOM;valign,1;zoomto,SCREEN_WIDTH,SCREEN_HEIGHT*0.15;diffuse,color("0.1,0.1,0.1,1");fadetop,0.5);
};
Def.ActorFrame{
Name="MiddleSection";
InitCommand=cmd(CenterX;y,SCREEN_CENTER_Y*1.35);
Def.Quad{
Name="Frame";
InitCommand=cmd(zoomto,SCREEN_WIDTH,0;diffuse,color("0.1,0.1,0.1,0.75");fadebottom,0.25;fadetop,0.25;);
OnCommand=cmd(smooth,0.75;zoomtoheight,64;);
};
LoadFont("Common normal")..{
Text=Screen.String("Demonstration");
InitCommand=cmd(diffusealpha,0;strokecolor,color("0,0,0,0.5"));
OnCommand=cmd(smooth,0.75;diffusealpha,1;diffuseshift;effectcolor1,HSV(38,0.45,0.95));
};
};
LoadFont("Common normal")..{
Name="SongTitle";
InitCommand=cmd(x,SCREEN_WIDTH*2;y,SCREEN_TOP+20;);
BeginCommand=function(self)
local song = GAMESTATE:GetCurrentSong();
local text = "";
if song then
text = song:GetDisplayArtist().." / "..song:GetDisplayFullTitle().." [from "..song:GetGroupName().."]";
end;
self:settext(text);
end;
OnCommand=cmd(queuecommand,"Scroll");
ScrollCommand=cmd(linear,10;x,-SCREEN_WIDTH*2;sleep,1;x,SCREEN_WIDTH*2;queuecommand,"Scroll");
};
};
return t;
@@ -0,0 +1,11 @@
local t = Def.ActorFrame{};
-- todo: add event mode indicators and such
if GAMESTATE:IsEventMode() then
t[#t+1] = LoadFont("Common normal")..{
Text=Screen.String("EventMode");
InitCommand=cmd(CenterX;y,SCREEN_BOTTOM-72;zoom,0.75;diffuse,HSV(56,0.8,1));
};
end;
return t;
+9
View File
@@ -10,6 +10,15 @@ Connected to %s=Connected to %s
CurrentGametype=Current Gametype: %s
LifeDifficulty=Life Difficulty: %s
TimingDifficulty=Timing Difficulty: %s
[ScreenTitleJoin]
HelpText=Press &START; to Play
EventMode=Event Mode
JointPremiumMain=Joint Premium
JointPremiumSecondary=Two players can play with one credit!
DoublesPremiumMain=Doubles Premium
DoublesPremiumSecondary=Play doubles for one credit!
[ScreenDemonstration]
Demonstration=Demonstration
[ScreenQuickSetupOverview]
Explanation=Quick Setup provides a easy way to set commonly-changed and useful preferences.
[ScreenProfileLoad]
+30 -1
View File
@@ -739,6 +739,7 @@ DefaultChoice="1"
#DisabledChoices="Setup"
#ChoiceSetup="text,Setup"
ChoiceSetup="screen,ScreenQuickSetupOverview;text,Setup"
[ScreenQuickSetupOverview]
IconStartX=SCREEN_CENTER_X-160
IconStartY=SCREEN_BOTTOM-60
@@ -1582,4 +1583,32 @@ SmallBanner2OffCommand=
SmallBanner3X=SCREEN_CENTER_X
SmallBanner3Y=SCREEN_TOP+180
SmallBanner3OnCommand=zoom,0.5
SmallBanner3OffCommand=
SmallBanner3OffCommand=
# arcade stuff
[ScreenTitleJoin]
HelpText=Screen.String("HelpTextTitleJoin")
HelpY=SCREEN_CENTER_Y+100
HelpOnCommand=zoom,1;strokecolor,color("0.125,0.125,0.125,0.5");queuecommand,"Anim"
LogoX=SCREEN_CENTER_X
LogoY=SCREEN_CENTER_Y-28
LogoOnCommand=bob;effectperiod,4;effectmagnitude,0,5.25,0;zoom,0;bounceend,0.35;zoom,0.75
LogoOffCommand=stopeffect;bouncebegin,0.35;rotationz,360;zoom,0
VersionInfoX=SCREEN_CENTER_X+114
VersionInfoY=SCREEN_CENTER_Y+44
VersionInfoOnCommand=settext,ProductVersion();horizalign,right;vertalign,bottom;bob;effectperiod,4;effectmagnitude,0,5.25,0;zoom,0;bounceend,0.35;zoom,0.65;shadowlength,1;shadowcolor,color("0.2,0.2,0.2,0.925");
ScrollerOnCommand=visible,false;
[ScreenDemonstration]
SongMeterDisplayP1OnCommand=visible,false
SongMeterDisplayP2OnCommand=visible,false
LifeP1OnCommand=visible,false
LifeP2OnCommand=visible,false
ScoreP1OnCommand=visible,false
ScoreP2OnCommand=visible,false
StepsDisplayP1OnCommand=zoomy,0;linear,0.3;zoomy,1;sleep,3;smooth,0.5;y,SCREEN_BOTTOM-20;zoomy,0
StepsDisplayP2OnCommand=zoomy,0;linear,0.3;zoomy,1;sleep,3;smooth,0.5;y,SCREEN_BOTTOM-20;zoomy,0
ShowBPMDisplay=false