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; end;
Branch = { 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() AfterProfileLoad = function()
return "ScreenSelectProfile" return "ScreenSelectProfile"
end, end,
+50 -30
View File
@@ -1302,8 +1302,8 @@ Class="ScreenAttract"
Fallback="ScreenAttract" Fallback="ScreenAttract"
# #
PrevScreen="ScreenInit" PrevScreen="ScreenInit"
NextScreen="ScreenTitleMenu" NextScreen=Branch.TitleMenu()
StartScreen="ScreenTitleMenu" StartScreen=Branch.TitleMenu()
# #
ForceTimer=true ForceTimer=true
TimerSeconds=5 TimerSeconds=5
@@ -1318,7 +1318,7 @@ Fallback="ScreenSelectMaster"
PrevScreen="ScreenInit" PrevScreen="ScreenInit"
NextScreen="ScreenInit" NextScreen="ScreenInit"
# #
CoinModeChangeScreen=Branch.TitleMenu CoinModeChangeScreen=Branch.TitleMenu()
# #
ScreenOnCommand=lockinput,0 ScreenOnCommand=lockinput,0
LightsMode="LightsMode_Joining" LightsMode="LightsMode_Joining"
@@ -1407,13 +1407,14 @@ LogoOffCommand=
[ScreenTitleJoin] [ScreenTitleJoin]
Fallback="ScreenTitleMenu" Fallback="ScreenTitleMenu"
ChoiceNames="1"
[ScreenQuickSetupOverview] [ScreenQuickSetupOverview]
Class="ScreenSelectMaster" Class="ScreenSelectMaster"
Fallback="ScreenSelectMaster" Fallback="ScreenSelectMaster"
# #
NextScreen=Branch.QuickSetupA NextScreen=Branch.QuickSetupA
PrevScreen=Branch.TitleMenu PrevScreen=Branch.TitleMenu()
# #
TimerSeconds=-1 TimerSeconds=-1
# #
@@ -1481,7 +1482,7 @@ ChoiceBack="name,Back;screen,".. Branch.QuickSetupC
Class="ScreenSelectMaster" Class="ScreenSelectMaster"
Fallback="ScreenQuickSetupOverview" Fallback="ScreenQuickSetupOverview"
# #
NextScreen=Branch.TitleMenu NextScreen=Branch.TitleMenu()
PrevScreen=Branch.QuickSetupD PrevScreen=Branch.QuickSetupD
# #
DefaultChoice="Set" DefaultChoice="Set"
@@ -1495,7 +1496,7 @@ Fallback="ScreenWithMenuElementsBlank"
# #
NextScreen=Branch.AfterProfileLoad() NextScreen=Branch.AfterProfileLoad()
#~ NextScreen="ScreenSelectProfile" #~ NextScreen="ScreenSelectProfile"
PrevScreen="ScreenTitleMenu" PrevScreen=Branch.TitleMenu()
# #
TimerSeconds=-1 TimerSeconds=-1
# #
@@ -1506,7 +1507,7 @@ Fallback="ScreenWithMenuElements"
Class="ScreenSelectProfile" Class="ScreenSelectProfile"
# #
NextScreen=Branch.AfterSelectProfile() NextScreen=Branch.AfterSelectProfile()
PrevScreen="ScreenTitleMenu" PrevScreen=Branch.TitleMenu()
StartScreen=Branch.AfterSelectProfile() StartScreen=Branch.AfterSelectProfile()
# #
TimerSeconds=40 TimerSeconds=40
@@ -1525,7 +1526,7 @@ Class="ScreenSelectMaster"
Fallback="ScreenSelectMaster" Fallback="ScreenSelectMaster"
# #
NextScreen=Branch.AfterSelectPlayMode() NextScreen=Branch.AfterSelectPlayMode()
PrevScreen="ScreenTitleMenu" PrevScreen=Branch.TitleMenu()
# #
TimerSeconds=40 TimerSeconds=40
# #
@@ -1559,7 +1560,7 @@ Class="ScreenSelectMaster"
Fallback="ScreenSelectMaster" Fallback="ScreenSelectMaster"
# #
NextScreen=Branch.GetGameInformationScreen NextScreen=Branch.GetGameInformationScreen
PrevScreen=Branch.TitleMenu PrevScreen=Branch.TitleMenu()
# #
TimerSeconds=40 TimerSeconds=40
# #
@@ -1581,7 +1582,7 @@ Class="ScreenSelectMaster"
Fallback="ScreenSelectMaster" Fallback="ScreenSelectMaster"
# #
NextScreen=Branch.GetGameInformationScreen NextScreen=Branch.GetGameInformationScreen
PrevScreen=Branch.TitleMenu PrevScreen=Branch.TitleMenu()
# #
PerChoiceScrollElement=false PerChoiceScrollElement=false
PerChoiceIconElement=false PerChoiceIconElement=false
@@ -1595,7 +1596,7 @@ Fallback="ScreenSelectMaster"
# #
#~ NextScreen="ScreenSelectMusic" #~ NextScreen="ScreenSelectMusic"
NextScreen=GAMESTATE:IsCourseMode() and "ScreenSelectCourse" or "ScreenSelectMusic" NextScreen=GAMESTATE:IsCourseMode() and "ScreenSelectCourse" or "ScreenSelectMusic"
PrevScreen="ScreenTitleMenu" PrevScreen=Branch.TitleMenu()
# #
TimerSeconds=15 TimerSeconds=15
# #
@@ -1615,7 +1616,7 @@ Class="ScreenSelectMusic"
Fallback="ScreenWithMenuElements" Fallback="ScreenWithMenuElements"
# #
NextScreen=Branch.PlayerOptions() NextScreen=Branch.PlayerOptions()
PrevScreen="ScreenTitleMenu" PrevScreen=Branch.TitleMenu()
# #
MusicWheelType="MusicWheel" MusicWheelType="MusicWheel"
Codes="" Codes=""
@@ -2163,8 +2164,8 @@ CursorOnCommand=visible,false
[ScreenOptionsService] [ScreenOptionsService]
Class="ScreenOptionsMaster" Class="ScreenOptionsMaster"
Fallback="ScreenOptionsSimpleService" Fallback="ScreenOptionsSimpleService"
NextScreen="ScreenTitleMenu" NextScreen=Branch.TitleMenu()
PrevScreen="ScreenTitleMenu" PrevScreen=Branch.TitleMenu()
LineNames="SD,1,2,Sync,13,3,10,11,4,12,6,5,Theme,8,9" LineNames="SD,1,2,Sync,13,3,10,11,4,12,6,5,Theme,8,9"
Line1="gamecommand;screen,ScreenMapControllers;name,Key Joy Mappings" Line1="gamecommand;screen,ScreenMapControllers;name,Key Joy Mappings"
Line2="gamecommand;screen,ScreenTestInput;name,Test Input" Line2="gamecommand;screen,ScreenTestInput;name,Test Input"
@@ -2309,8 +2310,8 @@ PrevScreen="ScreenOptionsService"
[ScreenOptionsSystemDirection] [ScreenOptionsSystemDirection]
Fallback="ScreenOptionsServiceChild" Fallback="ScreenOptionsServiceChild"
PrevScreen=Branch.TitleMenu PrevScreen=Branch.TitleMenu()
NextScreen=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" 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" Line1="conf,Windowed"
Line2="conf,DisplayResolution" Line2="conf,DisplayResolution"
@@ -2440,8 +2441,8 @@ Fallback="ScreenOptionsServiceChild"
[ScreenSelectGame] [ScreenSelectGame]
Fallback="ScreenOptionsServiceChild" Fallback="ScreenOptionsServiceChild"
PrevScreen="ScreenTitleMenu" PrevScreen=Branch.TitleMenu()
NextScreen="ScreenTitleMenu" NextScreen=Branch.TitleMenu()
LineNames="1" LineNames="1"
Line1="conf,Game" Line1="conf,Game"
@@ -2468,12 +2469,12 @@ PageOnCommand=visible,false
[ScreenReloadSongs] [ScreenReloadSongs]
Class="ScreenReloadSongs" Class="ScreenReloadSongs"
Fallback="Screen" Fallback="Screen"
NextScreen="ScreenTitleMenu" NextScreen=Branch.TitleMenu()
[ScreenSelectGame] [ScreenSelectGame]
Fallback="ScreenOptionsServiceChild" Fallback="ScreenOptionsServiceChild"
PrevScreen="ScreenOptionsService" PrevScreen="ScreenOptionsService"
NextScreen="ScreenTitleMenu" NextScreen=Branch.TitleMenu()
LineNames="1" LineNames="1"
Line1="conf,Game" Line1="conf,Game"
@@ -2974,7 +2975,7 @@ Class="ScreenProfileSave"
Fallback="ScreenWithMenuElementsBlank" Fallback="ScreenWithMenuElementsBlank"
# #
NextScreen=Branch.AfterProfileSave() NextScreen=Branch.AfterProfileSave()
PrevScreen="ScreenTitleMenu" PrevScreen=Branch.TitleMenu()
# #
TimerSeconds=-1 TimerSeconds=-1
[ScreenProfileSaveSummary] [ScreenProfileSaveSummary]
@@ -2986,9 +2987,9 @@ PrevScreen="ScreenGameOver"
Class="ScreenEnding" Class="ScreenEnding"
Fallback="ScreenAttract" Fallback="ScreenAttract"
# #
PrevScreen="ScreenTitleMenu" PrevScreen=Branch.TitleMenu()
NextScreen="ScreenTitleMenu" NextScreen=Branch.TitleMenu()
StartScreen="ScreenTitleMenu" StartScreen=Branch.TitleMenu()
# #
TimerSeconds=10 TimerSeconds=10
# #
@@ -3047,8 +3048,8 @@ Answer3Of3OffCommand=
Class="ScreenOptionsMaster" Class="ScreenOptionsMaster"
Fallback="ScreenOptionsSimpleService" Fallback="ScreenOptionsSimpleService"
; This NextScreen is only used for the "exit" choice. ; This NextScreen is only used for the "exit" choice.
NextScreen="ScreenTitleMenu" NextScreen=Branch.TitleMenu()
PrevScreen="ScreenTitleMenu" PrevScreen=Branch.TitleMenu()
#LineNames="1,2,3,4,5,6" #LineNames="1,2,3,4,5,6"
LineNames="1,2,3" LineNames="1,2,3"
Line1="gamecommand;screen,ScreenEditMenu;name,Edit Songs/Steps" Line1="gamecommand;screen,ScreenEditMenu;name,Edit Songs/Steps"
@@ -3106,7 +3107,7 @@ Fallback="TextBanner"
Fallback="ScreenWithMenuElements" Fallback="ScreenWithMenuElements"
Class="ScreenEditMenu" Class="ScreenEditMenu"
NextScreen="ScreenEdit" NextScreen="ScreenEdit"
PrevScreen="ScreenTitleMenu" PrevScreen=Branch.TitleMenu()
EditMenuType="EditMenu" EditMenuType="EditMenu"
ExplanationX=SCREEN_CENTER_X ExplanationX=SCREEN_CENTER_X
ExplanationY=SCREEN_BOTTOM-56 ExplanationY=SCREEN_BOTTOM-56
@@ -3301,7 +3302,7 @@ ComboOnCommand=visible,false
Class="ScreenSMOnlineLogin" Class="ScreenSMOnlineLogin"
Fallback="ScreenOptionsServiceChild" Fallback="ScreenOptionsServiceChild"
NextScreen=Branch.AfterSMOLogin NextScreen=Branch.AfterSMOLogin
PrevScreen="ScreenTitleMenu" PrevScreen=Branch.TitleMenu()
ShowStyleIcon=false ShowStyleIcon=false
TimerSeconds=-1 TimerSeconds=-1
ShowHelp=false ShowHelp=false
@@ -3354,7 +3355,7 @@ Class="ScreenNetSelectMusic"
Fallback="ScreenNetSelectBase" Fallback="ScreenNetSelectBase"
PrevScreen="ScreenNetRoom" PrevScreen="ScreenNetRoom"
NextScreen="ScreenStageInformation" NextScreen="ScreenStageInformation"
NoSongsScreen="ScreenTitleMenu" NoSongsScreen=Branch.TitleMenu()
RoomSelectScreen="ScreenNetRoom" RoomSelectScreen="ScreenNetRoom"
ShowStyleIcon=false ShowStyleIcon=false
@@ -3422,7 +3423,7 @@ HelpText=Screen.String("HelpTextNetSelectMusic");
[ScreenNetRoom] [ScreenNetRoom]
Class="ScreenNetRoom" Class="ScreenNetRoom"
Fallback="ScreenNetSelectBase" Fallback="ScreenNetSelectBase"
PrevScreen="ScreenTitleMenu" PrevScreen=Branch.TitleMenu()
# XXX # XXX
NextScreen="ScreenGameplayBranch" NextScreen="ScreenGameplayBranch"
MusicSelectScreen="ScreenNetSelectMusic" MusicSelectScreen="ScreenNetSelectMusic"
@@ -3548,3 +3549,22 @@ UserDX=0
UserDY=24 UserDY=24
UserOnCommand= 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 CurrentGametype=Current Gametype: %s
LifeDifficulty=Life Difficulty: %s LifeDifficulty=Life Difficulty: %s
TimingDifficulty=Timing 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] [ScreenQuickSetupOverview]
Explanation=Quick Setup provides a easy way to set commonly-changed and useful preferences. Explanation=Quick Setup provides a easy way to set commonly-changed and useful preferences.
[ScreenProfileLoad] [ScreenProfileLoad]
+29
View File
@@ -739,6 +739,7 @@ DefaultChoice="1"
#DisabledChoices="Setup" #DisabledChoices="Setup"
#ChoiceSetup="text,Setup" #ChoiceSetup="text,Setup"
ChoiceSetup="screen,ScreenQuickSetupOverview;text,Setup" ChoiceSetup="screen,ScreenQuickSetupOverview;text,Setup"
[ScreenQuickSetupOverview] [ScreenQuickSetupOverview]
IconStartX=SCREEN_CENTER_X-160 IconStartX=SCREEN_CENTER_X-160
IconStartY=SCREEN_BOTTOM-60 IconStartY=SCREEN_BOTTOM-60
@@ -1583,3 +1584,31 @@ SmallBanner3X=SCREEN_CENTER_X
SmallBanner3Y=SCREEN_TOP+180 SmallBanner3Y=SCREEN_TOP+180
SmallBanner3OnCommand=zoom,0.5 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