diff --git a/Themes/HelloWorld/BGAnimations/ScreenTitleMenu underlay.lua b/Themes/HelloWorld/BGAnimations/ScreenTitleMenu underlay.lua index 3b01c1c4aa..a057c0dd24 100644 --- a/Themes/HelloWorld/BGAnimations/ScreenTitleMenu underlay.lua +++ b/Themes/HelloWorld/BGAnimations/ScreenTitleMenu underlay.lua @@ -63,9 +63,9 @@ return Def.ActorFrame { -- Making a cheap reflection effect for the sake of showing off the fov and -- vanishpoint commands on ActorFrames. Def.ActorFrame{ - InitCommand=cmd(fov,45;vanishpoint,SCREEN_LEFT+64,SCREEN_BOTTOM-24;); + InitCommand=cmd(fov,45;vanishpoint,SCREEN_LEFT+64,SCREEN_BOTTOM-20;); LoadActor( "creativecommons" )..{ - InitCommand=cmd(x,SCREEN_LEFT+64;y,SCREEN_BOTTOM-24;valign,0;zoomy,-0.6;rotationx,-60;diffusealpha,0.6;Real;); + InitCommand=cmd(x,SCREEN_LEFT+64;y,SCREEN_BOTTOM-20;valign,0;zoomy,-0.6;rotationx,-60;diffusealpha,0.6;Real;); OnCommand=cmd(croptop,1;fadetop,0;decelerate,0.8;croptop,0;fadetop,1;); }; }; diff --git a/Themes/HelloWorld/BGAnimations/creativecommons.png b/Themes/HelloWorld/BGAnimations/creativecommons.png index dece7939b5..af4b9599d0 100644 Binary files a/Themes/HelloWorld/BGAnimations/creativecommons.png and b/Themes/HelloWorld/BGAnimations/creativecommons.png differ diff --git a/Themes/HelloWorld/Graphics/ReferenceBase ItemFocused (doubleres).png b/Themes/HelloWorld/Graphics/ReferenceBase ItemFocused (doubleres).png new file mode 100644 index 0000000000..4948ad3bf0 Binary files /dev/null and b/Themes/HelloWorld/Graphics/ReferenceBase ItemFocused (doubleres).png differ diff --git a/Themes/HelloWorld/Graphics/ReferenceBase header.lua b/Themes/HelloWorld/Graphics/ReferenceBase header.lua new file mode 100644 index 0000000000..3491c5612f --- /dev/null +++ b/Themes/HelloWorld/Graphics/ReferenceBase header.lua @@ -0,0 +1,23 @@ +local t = Def.ActorFrame{ + Def.Quad{ + InitCommand=cmd(zoomto,SCREEN_WIDTH,96;diffuse,color("#EEF4FFCC")); + }; + Def.ActorFrame{ + InitCommand=cmd(y,12); + LoadFont("_frutiger roman 24px")..{ + Name="Header"; + Text=ScreenString("Header"); + InitCommand=cmd(x,-312;y,-34;halign,0;diffuse,color("#111111FF");diffusetopedge,color("#11111188");shadowlength,-1;shadowcolor,color("#FFFFFF44")); + }; + Def.Quad{ + InitCommand=cmd(zoomto,SCREEN_WIDTH*0.975,2;y,-20;diffuse,color("#111111FF");diffusetopedge,color("#11111188");shadowlength,-1;shadowcolor,color("#FFFFFF44");fadeleft,0.1;faderight,0.625); + }; + LoadFont("_frutiger roman 24px")..{ + Name="Explanation"; + Text=ScreenString("Explanation"); + InitCommand=cmd(x,-312;y,-14;align,0,0;diffuse,color("#111111FF");zoom,0.65;wrapwidthpixels,(SCREEN_WIDTH)); + }; + }; +}; + +return t; \ No newline at end of file diff --git a/Themes/HelloWorld/Graphics/ReferenceBase scroll.lua b/Themes/HelloWorld/Graphics/ReferenceBase scroll.lua new file mode 100644 index 0000000000..0220f83753 --- /dev/null +++ b/Themes/HelloWorld/Graphics/ReferenceBase scroll.lua @@ -0,0 +1,34 @@ +local gc = Var("GameCommand") +local itemName = gc:GetName() + +local t = Def.ActorFrame{ + -- focused frame + LoadActor( THEME:GetPathG("ReferenceBase","ItemFocused") )..{ + GainFocusCommand=cmd(decelerate,0.25;diffusealpha,1); + LoseFocusCommand=cmd(stoptweening;decelerate,0.25;diffusealpha,0); + }; + -- unfocused + LoadActor( THEME:GetPathG("SectionMenu","ItemUnfocused") )..{ + GainFocusCommand=cmd(decelerate,0.25;diffusealpha,0); + LoseFocusCommand=cmd(stoptweening;decelerate,0.25;diffusealpha,1); + }; + + Def.ActorFrame{ + LoadFont("_frutiger roman 24px")..{ + Name="SectionName"; + Text=ScreenString(itemName); + InitCommand=cmd(x,-250;y,-6;halign,0;diffuse,color("#222222FF")); + GainFocusCommand=cmd(decelerate,0.25;diffusealpha,1); + LoseFocusCommand=cmd(stoptweening;decelerate,0.25;diffusealpha,0.5); + }; + LoadFont("_frutiger roman 24px")..{ + Name="SectionDesc"; + Text=ScreenString(itemName.."Desc"); + InitCommand=cmd(x,-248;y,10;align,0,0;diffuse,color("#222222FF");zoom,0.5); + GainFocusCommand=cmd(decelerate,0.25;diffusealpha,1); + LoseFocusCommand=cmd(stoptweening;decelerate,0.25;diffusealpha,0.5); + }; + }; +}; + +return t; \ No newline at end of file diff --git a/Themes/HelloWorld/Languages/en.ini b/Themes/HelloWorld/Languages/en.ini index eeee7a548c..e2a06baf01 100644 --- a/Themes/HelloWorld/Languages/en.ini +++ b/Themes/HelloWorld/Languages/en.ini @@ -35,7 +35,7 @@ CharactersDesc=Three-dimensional characters dancing in Gameplay. Modeling skills [ScreenReferenceMain] Header=Reference -Explanation=This section contains reference material. It is meant for themers who already know what they are looking for. +Explanation=This section contains reference material. It is meant for themers who have some idea of what they are looking for. Screens=Screens ScreensDesc=A reference of all of StepMania 5's available screens. @@ -44,4 +44,20 @@ ManagersDesc=Various things that end in "Manager" (and sometimes not). Classes=Classes ClassesDesc=The classes that make up some of your favorite elements. LuaRef=Lua Reference -LuaRefDesc=Visit the StepMania 5 Lua reference online. \ No newline at end of file +LuaRefDesc=Visit the StepMania 5 Lua reference online. + +[ReferenceScreens] +Header=Screen Reference +Explanation=This is a list of Screens defined in StepMania's code. + +Screen=Screen +ScreenDesc=The base Screen class that every other screen derives from. + +Overlays=Screen Overlays +OverlaysDesc=Overlays that are handled regardless of screen. + +SWME=ScreenWithMenuElements +SWMEDesc=A screen with menu elements. Most other screens are derived from this class. + +Options=ScreenOptions +OptionsDesc=An options screen with various rows. \ No newline at end of file diff --git a/Themes/HelloWorld/metrics.ini b/Themes/HelloWorld/metrics.ini index 56b5b2846f..b0a43b8f75 100644 --- a/Themes/HelloWorld/metrics.ini +++ b/Themes/HelloWorld/metrics.ini @@ -173,7 +173,7 @@ AllowRepeatingInput=true HeaderY=SCREEN_TOP+72 ChoiceNames="Screens,Managers,Classes,LuaRef" -ChoiceScreens="name,Screens" +ChoiceScreens="name,Screens;screen,ReferenceScreens" ChoiceManagers="name,Managers" ChoiceClasses="name,Classes" ChoiceLuaRef="name,LuaRef;urlnoexit,http://kki.ajworld.net/lua/sm5/Lua.xml" @@ -194,11 +194,33 @@ ScrollerTransform=function(self,offset,itemIndex,numItems) self:y((itemIndex-(nu Class="ScreenSelectMaster" Fallback="ScreenSelectMaster" PrevScreen="ScreenReferenceMain" +HeaderY=SCREEN_TOP+72 + +ShowScroller=true +LoopScroller=false +PerChoiceScrollElement=false + +ScrollerX=SCREEN_CENTER_X +ScrollerY=SCREEN_CENTER_Y+48 +ScrollerNumItemsToDraw=10 +ScrollerSecondsPerItem=0.1 +ScrollerTransform=function(self,offset,itemIndex,numItems) self:y((itemIndex-(numItems/2))*64) end ## Screens [ReferenceScreens] Fallback="ReferenceBase" +ChoiceNames="Screen,Overlays,SWME,Options" +# screen,RefScreens-Screen +ChoiceScreen="name,Screen" +# screen,RefScreens-Overlays +ChoiceOverlays="name,Overlays" +# screen,RefScreens-ScreenWithMenuElements +ChoiceSWME="name,SWME" +# screen,RefScreens-ScreenOptions +ChoiceOptions="name,Options" +DefaultChoice="Screen" + ## Managers and other Singletons [ReferenceManagers] Fallback="ReferenceBase" diff --git a/Themes/HelloWorld/screens.txt b/Themes/HelloWorld/screens.txt new file mode 100644 index 0000000000..a046631d70 --- /dev/null +++ b/Themes/HelloWorld/screens.txt @@ -0,0 +1,109 @@ +Starred values appear on the ReferenceScreens list. + +* +ScreenDebugOverlay +ScreenExit +ScreenInstallOverlay +ScreenReloadSongs +ScreenSandbox +ScreenStatsOverlay +ScreenSyncOverlay +ScreenSystemLayer +ScreenTestSound +*ScreenWithMenuElements + + +ScreenEnding +ScreenHighScores +ScreenHowToPlay +ScreenRanking +ScreenUnlockStatus + + +ScreenNetEvaluation + + +ScreenGameplayNormal +ScreenGameplayShared + + +ScreenGameplayLesson +ScreenGameplaySyncMachine +ScreenJukebox + + +ScreenDemonstration + + +ScreenNetRoom +ScreenNetSelectMusic + +* +ScreenMiniMenu +ScreenNetworkOptions +ScreenOptionsCourseOverview +ScreenOptionsEditCourse +ScreenOptionsEditProfile +ScreenOptionsExportPackage +ScreenOptionsManageCourses +ScreenOptionsManageEditSteps +ScreenOptionsManageProfiles +ScreenOptionsMaster +ScreenOptionsCourseOverview +ScreenOptionsMemoryCard +ScreenOptionsToggleSongs +ScreenSMOnlineLogin + + +ScreenSongOptions +ScreenPlayerOptions + + +ScreenServiceAction +ScreenSaveSync + + +ScreenSelectMaster + + +ScreenSelectLanguage +ScreenTitleMenu +ScreenUnlockBrowse + + +ScreenTextEntryVisual + + +ScreenUnlockCelebrate + +* +ScreenAttract +ScreenBookkeeping +ScreenEdit +ScreenEditMenu +ScreenEvaluation +ScreenGameplay +ScreenInstructions +ScreenMapControllers +ScreenNameEntry +ScreenNameEntryTraditional +ScreenNetSelectBase +ScreenOptions +ScreenPackages +ScreenPackagesSSC +ScreenProfileLoad +ScreenProfileSave +ScreenPrompt +ScreenSelect +ScreenSelectCharacter +ScreenSelectMusic +ScreenSelectProfile +ScreenSetTime +ScreenSplash +ScreenTestInput +ScreenTestLights +ScreenTextEntry +ScreenWithMenuElementsSimple + + +ScreenContinue