281 lines
6.7 KiB
INI
281 lines
6.7 KiB
INI
# Hello World
|
|
# (and other sm-ssc theming examples)
|
|
# A theme by various contributors. Sign your comments if you wish.
|
|
|
|
# contributors:
|
|
# AJ Kelly of the Spinal Shark Collective (http://ssc.ajworld.net/)
|
|
|
|
################################################################################
|
|
#
|
|
[Common]
|
|
# InitialScreen defines the starting screen of the theme.
|
|
# It can either be a string or a Lua function that returns a string.
|
|
InitialScreen="ScreenTitleMenu"
|
|
|
|
################################################################################
|
|
# [base] Base Screens aren't concrete, but are referenced by concrete screens.
|
|
|
|
# Pretty much every screen derives from this one. Adding decorations to it is
|
|
# one of the first things a themer does.
|
|
[ScreenWithMenuElements]
|
|
ShowHeader=true
|
|
HeaderX=SCREEN_CENTER_X
|
|
HeaderY=SCREEN_TOP+24
|
|
HeaderOnCommand=draworder,100
|
|
|
|
ShowFooter=false
|
|
FooterX=SCREEN_CENTER_X
|
|
FooterY=SCREEN_BOTTOM-24
|
|
FooterOnCommand=draworder,100
|
|
|
|
ShowCreditDisplay=false
|
|
|
|
################################################################################
|
|
# [overlay] Overlay screens sit on top of everything.
|
|
|
|
################################################################################
|
|
# [core] Core Screens; these are the concrete implementations.
|
|
|
|
# ScreenTitleMenu is the first screen you see in this theme, thanks to the
|
|
# [Common] InitialScreen metric being changed.
|
|
[ScreenTitleMenu]
|
|
# PrevScreen is set to make sure nothing gets messed up.
|
|
PrevScreen="ScreenTitleMenu"
|
|
# These settings are used to disable the attract sequence:
|
|
IdleTimeoutSeconds=-1
|
|
IdleTimeoutScreen="ScreenTitleMenu"
|
|
|
|
# no header or footer here
|
|
ShowHeader=false
|
|
ShowFooter=false
|
|
|
|
# These settings define what options appear on the menu and what commands are
|
|
# run when they are selected:
|
|
ChoiceNames="1,2,3,4,5"
|
|
Choice1="text,Guide;screen,ScreenGuideMain"
|
|
Choice2="text,Reference;screen,ScreenReferenceMain"
|
|
Choice3="text,Tutorial;"
|
|
Choice4="text,Options;screen,ScreenOptionsService;"
|
|
Choice5="text,Exit;screen,ScreenExit;"
|
|
|
|
# These control the placement of the items, as well as the list:
|
|
ScrollerX=SCREEN_RIGHT-44
|
|
ScrollerY=SCREEN_CENTER_Y+32
|
|
ScrollerOnCommand=addx,SCREEN_CENTER_X;decelerate,0.8;addx,-SCREEN_CENTER_X
|
|
ScrollerTransform=function(self,offset,itemIndex,numItems) self:y(27*offset) end
|
|
|
|
[ScreenOptionsService]
|
|
# dummying out ScreenInit
|
|
NextScreen="ScreenTitleMenu"
|
|
PrevScreen="ScreenTitleMenu"
|
|
################################################################################
|
|
# [guide] The guide splits the elements of StepMania theming into different sections.
|
|
# It acts as an introduction to all of the concepts in modern StepMania theming.
|
|
# All guide pages aside from ScreenGuideMain MUST be prefixed with "Guide" in
|
|
# order to differentiate them from the core screens.
|
|
[ScreenGuideMain]
|
|
Class="ScreenSelectMaster"
|
|
Fallback="ScreenSelectMaster"
|
|
PrevScreen="ScreenTitleMenu"
|
|
AllowRepeatingInput=true
|
|
|
|
# modifying header position
|
|
HeaderY=SCREEN_TOP+72
|
|
|
|
ChoiceNames="Metrics,Fonts,Graphics,BGAnims,Sounds,Scripts,Other,NoteSkins,Announcers,Characters"
|
|
ChoiceMetrics="name,Metrics"
|
|
ChoiceFonts="name,Fonts"
|
|
ChoiceGraphics="name,Graphics"
|
|
ChoiceBGAnims="name,BGAnims"
|
|
ChoiceSounds="name,Sounds"
|
|
ChoiceScripts="name,Scripts"
|
|
ChoiceOther="name,Other"
|
|
ChoiceNoteSkins="name,NoteSkins"
|
|
ChoiceAnnouncers="name,Announcers"
|
|
ChoiceCharacters="name,Characters"
|
|
DefaultChoice="Metrics"
|
|
|
|
ShowScroller=true
|
|
LoopScroller=false
|
|
PerChoiceScrollElement=false
|
|
|
|
ScrollerX=SCREEN_CENTER_X
|
|
ScrollerY=SCREEN_CENTER_Y*0.775
|
|
ScrollerNumItemsToDraw=10
|
|
ScrollerSecondsPerItem=0.1
|
|
ScrollerTransform=function(self,offset,itemIndex,numItems) self:y((itemIndex-(numItems/2))+offset*64) end
|
|
|
|
# guide base screen (sets up things I don't want to retype a lot -aj) #
|
|
[GuideBase]
|
|
Class="ScreenSelectMaster"
|
|
Fallback="ScreenSelectMaster"
|
|
|
|
## Metrics
|
|
[GuideMetrics]
|
|
Fallback="GuideBase"
|
|
|
|
## Fonts
|
|
[GuideFonts]
|
|
Fallback="GuideBase"
|
|
|
|
## Graphics
|
|
[GuideGraphics]
|
|
Fallback="GuideBase"
|
|
|
|
## BGAnimations
|
|
[GuideBGA]
|
|
Fallback="GuideBase"
|
|
### Decorations (simpler)
|
|
### Overlay/Underlay (can be more complex)
|
|
|
|
## Sounds
|
|
[GuideSounds]
|
|
Fallback="GuideBase"
|
|
|
|
## Scripts
|
|
[GuideScripts]
|
|
Fallback="GuideBase"
|
|
|
|
## the Other folder
|
|
[GuideOther]
|
|
Fallback="GuideBase"
|
|
### HowToPlay steps
|
|
### PreferredSort
|
|
|
|
# And then there are the things that are related to theming:
|
|
## NoteSkins
|
|
[GuideNoteSkins]
|
|
Fallback="GuideBase"
|
|
|
|
## Announcers
|
|
[GuideAnnouncers]
|
|
Fallback="GuideBase"
|
|
|
|
## Characters
|
|
[GuideCharacters]
|
|
Fallback="GuideBase"
|
|
|
|
################################################################################
|
|
# [ref] The reference section contains a complete listing of commands and examples of how they work. #
|
|
# All reference pages aside from ScreenReferenceMain MUST be prefixed with "Reference"
|
|
# in order to differentiate them from the core screens.
|
|
[ScreenReferenceMain]
|
|
Class="ScreenSelectMaster"
|
|
Fallback="ScreenSelectMaster"
|
|
PrevScreen="ScreenTitleMenu"
|
|
AllowRepeatingInput=true
|
|
|
|
# modifying header position
|
|
HeaderY=SCREEN_TOP+72
|
|
|
|
ChoiceNames="Screens,Managers,Classes"
|
|
ChoiceScreens="name,Screens"
|
|
ChoiceManagers="name,Managers"
|
|
ChoiceClasses="name,Classes"
|
|
DefaultChoice="Screens"
|
|
|
|
ShowScroller=true
|
|
LoopScroller=false
|
|
PerChoiceScrollElement=false
|
|
|
|
ScrollerX=SCREEN_CENTER_X
|
|
ScrollerY=SCREEN_CENTER_Y+32
|
|
ScrollerNumItemsToDraw=10
|
|
ScrollerSecondsPerItem=0.1
|
|
ScrollerTransform=function(self,offset,itemIndex,numItems) self:y((itemIndex-(numItems/2))*64) end
|
|
|
|
# reference base screen (sets up things I don't want to retype a lot -aj) #
|
|
[ReferenceBase]
|
|
Class="ScreenSelectMaster"
|
|
Fallback="ScreenSelectMaster"
|
|
|
|
## Screens
|
|
[ReferenceScreens]
|
|
Fallback="ReferenceBase"
|
|
|
|
## Managers and other Singletons
|
|
[ReferenceManagers]
|
|
Fallback="ReferenceBase"
|
|
|
|
#@# STEPMANIA ROBOT MASTERS
|
|
### ANNOUNCER [man]
|
|
[ReferenceAnnouncerMan]
|
|
|
|
### CHARMAN
|
|
[ReferenceCharMan]
|
|
|
|
### FILEMAN
|
|
[ReferenceFileMan]
|
|
|
|
### GAMEMAN
|
|
[ReferenceGameMan]
|
|
|
|
### GAMESOUNDMAN
|
|
[ReferenceGameSoundMan]
|
|
|
|
### GAMESTATE
|
|
[ReferenceGameState]
|
|
|
|
### MEMCARDMAN
|
|
[ReferenceMemCardMan]
|
|
|
|
### MESSAGEMAN
|
|
[ReferenceMessageMan]
|
|
|
|
### NOTESKIN [man]
|
|
[ReferenceNoteskinMan]
|
|
|
|
### PREFSMAN
|
|
[ReferencePrefsMan]
|
|
|
|
### PROFILEMAN
|
|
[ReferenceProfileMan]
|
|
|
|
### SCREENMAN
|
|
[ReferenceScreenMan]
|
|
|
|
### SONGMAN
|
|
[ReferenceSongMan]
|
|
|
|
### STATSMAN
|
|
[ReferenceStatsMan]
|
|
|
|
### THEME [man]
|
|
[ReferenceThemeMan]
|
|
|
|
### UNLOCKMAN
|
|
[ReferenceUnlockMan]
|
|
|
|
## Classes
|
|
[ReferenceClasses]
|
|
Fallback="ReferenceBase"
|
|
|
|
### Actor
|
|
[ReferenceActor]
|
|
#### many sub-things
|
|
|
|
### ActorFrame
|
|
[ReferenceActorFrame]
|
|
|
|
### Banner
|
|
[ReferenceBanner]
|
|
|
|
### Song
|
|
[ReferenceSong]
|
|
|
|
### Steps
|
|
[ReferenceSteps]
|
|
|
|
### Course
|
|
[ReferenceCourse]
|
|
|
|
### Trail
|
|
[ReferenceTrail]
|
|
|
|
### and a ton of missing stuff
|
|
|
|
################################################################################
|
|
# [tutor] Tutorials are guides to implementing specific things #
|
|
[ScreenTutorialMain]
|
|
|
|
# todo: figure out what tutorials |