sm-ssc v1.0 Public Beta 1 docs
This commit is contained in:
@@ -9,6 +9,58 @@ Not all changes are documented, for various reasons.
|
||||
supported but exist anyways.)
|
||||
_____________________________________________________________________________
|
||||
|
||||
sm-ssc v1.0 Public Beta 1 | 20100228
|
||||
------------------------------------
|
||||
This represents the first public version of sm-ssc. The previously publicly
|
||||
available release was not the official public beta version, but was released
|
||||
for more people to get their hands on it for testing.
|
||||
|
||||
sm-ssc v1.0 Public Beta 1 has 111 Lua bindings that you currently can't find in
|
||||
StepMania 4 alpha versions as of 2010/02/28. That doesn't include the various
|
||||
helper functions available to you in scripts via the fallback theme, either. :)
|
||||
|
||||
20100228
|
||||
--------
|
||||
* Applied stutter fix hack by Henke37
|
||||
(src: http://www.pasteall.org/11353/diff)
|
||||
* [ScreenPackages] Some strings that were once hardcoded are now not:
|
||||
"VisitURL", "DL @ %d KB/s", "Failed.", "Invalid URL.", "File Already Exists",
|
||||
"Failed to connect.", "Header Sent.", "Waiting for header."
|
||||
* Allow multiple random modifiers to be listed in RandomModifiers.txt.
|
||||
The random number generation for RandomModifiers has also changed.
|
||||
|
||||
20100227
|
||||
--------
|
||||
* [GameState] add GetCurMusicSeconds binding. Values can be negative,
|
||||
so watch out when using.
|
||||
|
||||
20100226
|
||||
--------
|
||||
* rework some bindings to match SM4:
|
||||
GetBPMAtBeat, GetBeatFromElapsedTime, and GetElapsedTimeFromBeat have
|
||||
moved from Song to TimingData.
|
||||
If you were using these against the Song, they will fail in your theme.
|
||||
|
||||
* [TimingData] GetStops only returns Stops now (and not Delays).
|
||||
If you want Delays, there is a new GetDelays() binding, which works
|
||||
like GetStops.
|
||||
|
||||
20100225
|
||||
--------
|
||||
* Added ToastyDropped message. [Midiman]
|
||||
|
||||
20100223
|
||||
--------
|
||||
* [Player] CheckpointsFlashOnHold metric added. Fixes issue 16.
|
||||
|
||||
|
||||
20100222
|
||||
--------
|
||||
* [CodeDetector] NextBannerGroup and NextBannerGroup2 were previously used
|
||||
for MusicBannerWheel, which is currently not used in sm-ssc. These codes
|
||||
have been changed to NextGroup and PrevGroup. The codes switch between
|
||||
groups as you would expect.
|
||||
|
||||
20100219
|
||||
--------
|
||||
* sm4svn r28313: don't filter NoteSkins at a PrefsManager/NoteSkinManager level.
|
||||
|
||||
+36
-13
@@ -8,6 +8,7 @@
|
||||
<Function name='Basename'/>
|
||||
<Function name='BoostColor'/>
|
||||
<Function name='Brightness'/>
|
||||
<Function name='CheckpointsTapsSeparateJudgment'/>
|
||||
<Function name='Color'/>
|
||||
<Function name='ColorDarkTone'/>
|
||||
<Function name='ColorLightTone'/>
|
||||
@@ -16,6 +17,7 @@
|
||||
<Function name='ColorToHex'/>
|
||||
<Function name='ComboContinue'/>
|
||||
<Function name='ComboMaintain'/>
|
||||
<Function name='ComboPerRow'/>
|
||||
<Function name='ComboTransformCommand'/>
|
||||
<Function name='ConnectToServer'/>
|
||||
<Function name='CourseDifficultyToLocalizedString'/>
|
||||
@@ -27,6 +29,7 @@
|
||||
<Function name='DayOfMonth'/>
|
||||
<Function name='DayOfYear'/>
|
||||
<Function name='DeepCopy'/>
|
||||
<Function name='FailCombo'/>
|
||||
<Function name='FindSelection'/>
|
||||
<Function name='FindValue'/>
|
||||
<Function name='FormatNumSongsPlayed'/>
|
||||
@@ -55,9 +58,16 @@
|
||||
<Function name='HSVA'/>
|
||||
<Function name='HSVToColor'/>
|
||||
<Function name='HSVToHex'/>
|
||||
<Function name='HitCombo'/>
|
||||
<Function name='HoldHeadStep'/>
|
||||
<Function name='HoldJudgmentFail'/>
|
||||
<Function name='HoldJudgmentPass'/>
|
||||
<Function name='HoldTiming'/>
|
||||
<Function name='Hour'/>
|
||||
<Function name='Hue'/>
|
||||
<Function name='ImmediateHoldLetGo'/>
|
||||
<Function name='InitUserPrefs'/>
|
||||
<Function name='InitialHoldLife'/>
|
||||
<Function name='IsHighDefinition'/>
|
||||
<Function name='IsNetConnected'/>
|
||||
<Function name='IsNetSMOnline'/>
|
||||
@@ -75,7 +85,9 @@
|
||||
<Function name='LoadFont'/>
|
||||
<Function name='LoadSongBackground'/>
|
||||
<Function name='LocalizeOptionItem'/>
|
||||
<Function name='MaxHoldLife'/>
|
||||
<Function name='Minute'/>
|
||||
<Function name='MissCombo'/>
|
||||
<Function name='MonthOfYear'/>
|
||||
<Function name='MonthToLocalizedString'/>
|
||||
<Function name='MonthToString'/>
|
||||
@@ -96,8 +108,10 @@
|
||||
<Function name='ReadPrefFromFile'/>
|
||||
<Function name='ReportStyle'/>
|
||||
<Function name='ResolveRelativePath'/>
|
||||
<Function name='RollBodyIncrementsCombo'/>
|
||||
<Function name='SMOnlineScreen'/>
|
||||
<Function name='Saturation'/>
|
||||
<Function name='ScoreMissedHoldsAndRolls'/>
|
||||
<Function name='Second'/>
|
||||
<Function name='SecondsToHHMMSS'/>
|
||||
<Function name='SecondsToMMSS'/>
|
||||
@@ -132,6 +146,7 @@
|
||||
<Function name='UserPrefAutoSetStyle'/>
|
||||
<Function name='UserPrefGameplayShowScore'/>
|
||||
<Function name='UserPrefGameplayShowStepsDisplay'/>
|
||||
<Function name='UserPrefLongFail'/>
|
||||
<Function name='UserPrefShowLotsaOptions'/>
|
||||
<Function name='Var'/>
|
||||
<Function name='VersionCheck'/>
|
||||
@@ -270,6 +285,7 @@
|
||||
<Function name='diffuseupperleft'/>
|
||||
<Function name='diffuseupperright'/>
|
||||
<Function name='draworder'/>
|
||||
<Function name='drop'/>
|
||||
<Function name='ease'/>
|
||||
<Function name='effectclock'/>
|
||||
<Function name='effectcolor1'/>
|
||||
@@ -577,6 +593,7 @@
|
||||
<Function name='GetCoins'/>
|
||||
<Function name='GetCoinsNeededToJoin'/>
|
||||
<Function name='GetCourseSongIndex'/>
|
||||
<Function name='GetCurMusicSeconds'/>
|
||||
<Function name='GetCurrentCourse'/>
|
||||
<Function name='GetCurrentGame'/>
|
||||
<Function name='GetCurrentSong'/>
|
||||
@@ -717,6 +734,9 @@
|
||||
<Class name='MessageManager'>
|
||||
<Function name='Broadcast'/>
|
||||
</Class>
|
||||
<Class base='ActorFrame' name='MeterDisplay'>
|
||||
<Function name='SetStreamWidth'/>
|
||||
</Class>
|
||||
<Class base='ActorFrame' name='ModIconRow'>
|
||||
<Function name='Load'/>
|
||||
</Class>
|
||||
@@ -832,6 +852,7 @@
|
||||
<Function name='GetTotalStepsWithTopGrade'/>
|
||||
<Function name='GetTotalTapsAndHolds'/>
|
||||
<Function name='GetTotalTrailsWithTopGrade'/>
|
||||
<Function name='GetUserData'/>
|
||||
<Function name='GetWeightPounds'/>
|
||||
<Function name='HasPassedAnyStepsInSong'/>
|
||||
<Function name='IsCodeUnlocked'/>
|
||||
@@ -969,16 +990,13 @@
|
||||
<Class base='ScreenWithMenuElements' name='ScreenWithMenuElementsSimple'/>
|
||||
<Class name='Song'>
|
||||
<Function name='GetAllSteps'/>
|
||||
<Function name='GetBPMAtBeat'/>
|
||||
<Function name='GetBackgroundPath'/>
|
||||
<Function name='GetBannerPath'/>
|
||||
<Function name='GetBeatFromElapsedTime'/>
|
||||
<Function name='GetCDTitlePath'/>
|
||||
<Function name='GetDisplayArtist'/>
|
||||
<Function name='GetDisplayFullTitle'/>
|
||||
<Function name='GetDisplayMainTitle'/>
|
||||
<Function name='GetDisplaySubTitle'/>
|
||||
<Function name='GetElapsedTimeFromBeat'/>
|
||||
<Function name='GetFirstBeat'/>
|
||||
<Function name='GetGenre'/>
|
||||
<Function name='GetGroupName'/>
|
||||
@@ -1132,8 +1150,12 @@
|
||||
</Class>
|
||||
<Class name='TimingData'>
|
||||
<Function name='GetActualBPM'/>
|
||||
<Function name='GetBPMAtBeat'/>
|
||||
<Function name='GetBPMs'/>
|
||||
<Function name='GetBPMsAndTimes'/>
|
||||
<Function name='GetBeatFromElapsedTime'/>
|
||||
<Function name='GetDelays'/>
|
||||
<Function name='GetElapsedTimeFromBeat'/>
|
||||
<Function name='GetStops'/>
|
||||
<Function name='HasBPMChanges'/>
|
||||
<Function name='HasStops'/>
|
||||
@@ -1259,14 +1281,15 @@
|
||||
<Enum name='BlendMode'>
|
||||
<EnumValue name=''BlendMode_Normal'' value='0'/>
|
||||
<EnumValue name=''BlendMode_Add'' value='1'/>
|
||||
<EnumValue name=''BlendMode_Modulate'' value='2'/>
|
||||
<EnumValue name=''BlendMode_CopySrc'' value='3'/>
|
||||
<EnumValue name=''BlendMode_AlphaMask'' value='4'/>
|
||||
<EnumValue name=''BlendMode_AlphaKnockOut'' value='5'/>
|
||||
<EnumValue name=''BlendMode_AlphaMultiply'' value='6'/>
|
||||
<EnumValue name=''BlendMode_WeightedMultiply'' value='7'/>
|
||||
<EnumValue name=''BlendMode_InvertDest'' value='8'/>
|
||||
<EnumValue name=''BlendMode_NoEffect'' value='9'/>
|
||||
<EnumValue name=''BlendMode_Subtract'' value='2'/>
|
||||
<EnumValue name=''BlendMode_Modulate'' value='3'/>
|
||||
<EnumValue name=''BlendMode_CopySrc'' value='4'/>
|
||||
<EnumValue name=''BlendMode_AlphaMask'' value='5'/>
|
||||
<EnumValue name=''BlendMode_AlphaKnockOut'' value='6'/>
|
||||
<EnumValue name=''BlendMode_AlphaMultiply'' value='7'/>
|
||||
<EnumValue name=''BlendMode_WeightedMultiply'' value='8'/>
|
||||
<EnumValue name=''BlendMode_InvertDest'' value='9'/>
|
||||
<EnumValue name=''BlendMode_NoEffect'' value='10'/>
|
||||
</Enum>
|
||||
<Enum name='CoinMode'>
|
||||
<EnumValue name=''CoinMode_Home'' value='0'/>
|
||||
@@ -1774,6 +1797,6 @@
|
||||
<Constant name='sGame' value=''dance''/>
|
||||
<Constant name='top' value=''VertAlign_Top''/>
|
||||
</Constants>
|
||||
<Version>sm-ssc private beta 1.4</Version>
|
||||
<Date>2010-02-08</Date>
|
||||
<Version>sm-ssc v1.0 beta 1</Version>
|
||||
<Date>2010-02-28</Date>
|
||||
</Lua>
|
||||
|
||||
@@ -611,6 +611,21 @@
|
||||
<Function name='GetNumChildren' return='int' arguments=''>
|
||||
Returns the number of children in the ActorFrame.
|
||||
</Function>
|
||||
<Function name='playcommandonchildren' return='void' arguments='string sCommandName'>
|
||||
Plays the <code>sCommandName</code> command on the ActorFrame's children.
|
||||
</Function>
|
||||
<Function name='playcommandonleaves' return='void' arguments='string sCommandName'>
|
||||
Plays the <code>sCommandName</code> command on the ActorFrame's leaves.
|
||||
</Function>
|
||||
<Function name='propagate' return='void' arguments='bool bPropagate'>
|
||||
Sets if the Actorframe should propagate commands to its children.
|
||||
</Function>
|
||||
<Function name='RunCommandsOnChildren' return='void' arguments='LuaReference cmds'>
|
||||
Runs the commands in <code>cmds</code> on the ActorFrame's children.
|
||||
</Function>
|
||||
<Function name='runcommandsonleaves' return='void' arguments='LuaReference cmds'>
|
||||
Runs the commands in <code>cmds</code> on the ActorFrame's leaves.
|
||||
</Function>
|
||||
<Function name='SetAmbientLightColor' sm-ssc='true' return='void' arguments='Color c'>
|
||||
Sets the ActorFrame's ambient light color to <code>c</code>.
|
||||
</Function>
|
||||
@@ -1123,6 +1138,9 @@
|
||||
The <Link class='Song' />s in a <Link class='Course' /> are numbered sequentially
|
||||
starting from 0. Return the number of the current <Link class='Song' />.
|
||||
</Function>
|
||||
<Function name='GetCurMusicSeconds' sm-ssc='true' return='float' arguments=''>
|
||||
Return the current number of seconds that have passed in the current song. This value can be negative.
|
||||
</Function>
|
||||
<Function name='GetCurrentCourse' return='Course' arguments=''>
|
||||
Return the current <Link class='Course' />.
|
||||
</Function>
|
||||
@@ -1527,21 +1545,39 @@
|
||||
<Function name='GetMetricA' return='ActorCommand' arguments='string sElement, string sValue'>
|
||||
Returns a command from the specified element and value.
|
||||
</Function>
|
||||
<Function name='GetMetricAForNoteSkin' return='ActorCommand' arguments='string sElement, string sValue, string sNoteSkin'>
|
||||
Returns a command from the specified element and value using NoteSkin <code>sNoteSkin</code>.
|
||||
</Function>
|
||||
<Function name='GetMetricB' return='bool' arguments='string sElement, string sValue'>
|
||||
Returns a bool from the specified element and value.
|
||||
</Function>
|
||||
<Function name='GetMetricBForNoteSkin' return='bool' arguments='string sElement, string sValue, string sNoteSkin'>
|
||||
Returns a bool from the specified element and value using NoteSkin <code>sNoteSkin</code>.
|
||||
</Function>
|
||||
<Function name='GetMetricF' return='float' arguments='string sElement, string sValue'>
|
||||
Returns a float from the specified element and value.
|
||||
</Function>
|
||||
<Function name='GetMetricFForNoteSkin' return='float' arguments='string sElement, string sValue, string sNoteSkin'>
|
||||
Returns a float from the specified element and value using NoteSkin <code>sNoteSkin</code>.
|
||||
</Function>
|
||||
<Function name='GetMetricI' return='int' arguments='string sElement, string sValue'>
|
||||
Returns a integer from the specified element and value.
|
||||
</Function>
|
||||
<Function name='GetMetricIForNoteSkin' return='int' arguments='string sElement, string sValue, string sNoteSkin'>
|
||||
Returns a integer from the specified element and value using NoteSkin <code>sNoteSkin</code>.
|
||||
</Function>
|
||||
<Function name='GetPath' return='string' arguments='string sButton, string sElement'>
|
||||
Returns the path for the specified <code>sButton sElement</code>.
|
||||
</Function>
|
||||
<Function name='GetPathForNoteSkin' return='string' arguments='string sButton, string sElement, string sNoteSkin'>
|
||||
Returns the path for the specified <code>sButton sElement</code> using NoteSkin <code>sNoteSkin</code>.
|
||||
</Function>
|
||||
<Function name='LoadActor' return='Actor' arguments='string sButton, string sElement'>
|
||||
Returns the actor for the specified <code>sButton sElement</code>.
|
||||
</Function>
|
||||
<Function name='LoadActorForNoteSkin' return='Actor' arguments='string sButton, string sElement, string sNoteSkin'>
|
||||
Returns the actor for the specified <code>sButton sElement</code> using NoteSkin <code>sNoteSkin</code>.
|
||||
</Function>
|
||||
<!-- sm-ssc additions -->
|
||||
<Function name='DoesNoteSkinExist' sm-ssc='true' return='bool' arguments='string strName'>
|
||||
Returns <code>true</code> if the <code>strName</code> noteskin exists in the current gametype.
|
||||
@@ -1557,7 +1593,7 @@
|
||||
</Class>
|
||||
<Class name='PercentageDisplay'>
|
||||
<Function name='LoadFromStats' return='void' arguments='PlayerState pPlayerState, PlayerStageStats pPlayerStageStats'>
|
||||
Sets the PaneDisplay from the specified PlayerState and PlayerStageStats.
|
||||
Sets the PercentageDisplay from the specified PlayerState and PlayerStageStats.
|
||||
</Function>
|
||||
</Class>
|
||||
<Class name='PlayerInfo'>
|
||||
@@ -1972,6 +2008,11 @@
|
||||
Pauses or unpauses the game, depending on the value of <code>bPause</code>.
|
||||
</Function>
|
||||
</Class>
|
||||
<Class name='ScreenHowToPlay'>
|
||||
<Function name='GetLifeMeter' return='LifeMeter' arguments=''>
|
||||
Returns the LifeMeter.
|
||||
</Function>
|
||||
</Class>
|
||||
<Class name='ScreenManager'>
|
||||
<Function name='GetTopScreen' return='Screen' arguments=''>
|
||||
Gets the screen at the top of the screen stack.
|
||||
@@ -2076,12 +2117,6 @@
|
||||
<Function name='GetBannerPath' return='string' arguments=''>
|
||||
Returns the path to the song's banner.
|
||||
</Function>
|
||||
<Function name='GetBeatFromElapsedTime' sm-ssc='true' return='float' arguments='float fElapsedTime'>
|
||||
Returns the beat from <code>fElapsedTime</code>.
|
||||
</Function>
|
||||
<Function name='GetBPMAtBeat' sm-ssc='true' return='float' arguments='float fBeat'>
|
||||
Returns the BPM at <code>fBeat</code>.
|
||||
</Function>
|
||||
<Function name='GetCDTitlePath' sm-ssc='true' return='string' arguments=''>
|
||||
Gets the path to the CDTitle.
|
||||
</Function>
|
||||
@@ -2097,12 +2132,15 @@
|
||||
<Function name='GetDisplaySubTitle' return='string' arguments=''>
|
||||
Returns the displayed subtitle of the song.
|
||||
</Function>
|
||||
<Function name='GetElapsedTimeFromBeat' return='float' arguments='float fBeat'>
|
||||
Returns the elapsed time from <code>fBeat</code>.
|
||||
</Function>
|
||||
<Function name='GetFirstBeat' return='float' arguments=''>
|
||||
Returns the first beat of the song.
|
||||
</Function>
|
||||
<Function name='GetGenre' return='string' arguments=''>
|
||||
Returns the genre of the song.
|
||||
</Function>
|
||||
<Function name='GetGroupName' return='string' arguments=''>
|
||||
Returns the group name that the song is in.
|
||||
</Function>
|
||||
<Function name='GetLastBeat' return='float' arguments=''>
|
||||
Returns the last beat of the song.
|
||||
</Function>
|
||||
@@ -2112,15 +2150,6 @@
|
||||
<Function name='GetMusicPath' sm-ssc='true' return='string' arguments=''>
|
||||
Gets the path to the music file.
|
||||
</Function>
|
||||
<Function name='GetTranslitSubTitle' return='string' arguments=''>
|
||||
Returns the displayed subtitle of the song.
|
||||
</Function>
|
||||
<Function name='GetGenre' return='string' arguments=''>
|
||||
Returns the genre of the song.
|
||||
</Function>
|
||||
<Function name='GetGroupName' return='string' arguments=''>
|
||||
Returns the group name that the song is in.
|
||||
</Function>
|
||||
<Function name='GetOneSteps' return='Steps' arguments='StepsType st, Difficulty d'>
|
||||
Returns a Step object if the StepType and Difficulty exist.
|
||||
</Function>
|
||||
@@ -2504,15 +2533,27 @@
|
||||
<Function name='GetActualBPM' sm-ssc='true' return='{float}' arguments=''>
|
||||
Returns the minimum and maximum BPM of the song in a table (in that order).
|
||||
</Function>
|
||||
<Function name='GetBeatFromElapsedTime' sm-ssc='true' return='float' arguments='float fElapsedTime'>
|
||||
Returns the beat from <code>fElapsedTime</code>.
|
||||
</Function>
|
||||
<Function name='GetBPMAtBeat' sm-ssc='true' return='float' arguments='float fBeat'>
|
||||
Returns the BPM at <code>fBeat</code>.
|
||||
</Function>
|
||||
<Function name='GetBPMs' sm-ssc='true' return='{string}' arguments=''>
|
||||
Returns a table of the BPMs as strings.
|
||||
</Function>
|
||||
<Function name='GetBPMsAndTimes' sm-ssc='true' return='{string}' arguments=''>
|
||||
Returns a table of the BPMs and the times they happen as strings with the format "<code>beat=BPM</code>".
|
||||
</Function>
|
||||
<Function name='GetElapsedTimeFromBeat' return='float' arguments='float fBeat'>
|
||||
Returns the elapsed time from <code>fBeat</code>.
|
||||
</Function>
|
||||
<Function name='GetStops' sm-ssc='true' return='{string}' arguments=''>
|
||||
Returns a table of the Stops and the times they happen as strings with the format "<code>beat=stop seconds</code>".
|
||||
</Function>
|
||||
<Function name='GetDelays' sm-ssc='true' return='{string}' arguments=''>
|
||||
Returns a table of the Delays and the times they happen as strings with the format "<code>beat=stop seconds</code>".
|
||||
</Function>
|
||||
<Function name='HasBPMChanges' sm-ssc='true' return='bool' arguments=''>
|
||||
Returns <code>true</code> if the TimingData contains BPM changes.
|
||||
</Function>
|
||||
|
||||
@@ -19,8 +19,9 @@ ii. Requirements
|
||||
1. Metrics and Languages
|
||||
2. BGAnimations
|
||||
3. Graphics
|
||||
4. Fonts, Sound
|
||||
5. Scripts
|
||||
4. Fonts
|
||||
5. Sounds
|
||||
6. Scripts
|
||||
X. Making Your First sm-ssc Theme
|
||||
1. Setup
|
||||
2.
|
||||
@@ -31,7 +32,6 @@ ii. Requirements
|
||||
In order to follow along with this guide, you will need the following:
|
||||
|
||||
* sm-ssc (our fork of StepMania 4)
|
||||
Right now, it's in private beta. If you have it, you're lucky.
|
||||
* A decent text editor (syntax highlighting is a plus)
|
||||
* A decent graphics editor (for any graphics changes you want to make)
|
||||
* A decent sound editor (in case you want to edit sounds)
|
||||
@@ -112,7 +112,7 @@ ________________________________________________________________________________
|
||||
Unless you are a very fast learner and can learn by looking at other people's
|
||||
code, you are probably wanting to know more about the elements in detail.
|
||||
|
||||
2.1 Metrics and Languages
|
||||
2.1 Metrics and Languages ______________________________________________________
|
||||
These two are grouped together since they both use ini files. This means the
|
||||
layout of the file will contain groups, keys, and values.
|
||||
|
||||
@@ -124,4 +124,80 @@ In StepMania, most groups are Screens.
|
||||
|
||||
The Languages folder contains strings that StepMania displays when your theme
|
||||
is used. Chances are, if you want to edit the text of something, there's an
|
||||
entry for it in one of the Language files (en.ini, usually).
|
||||
entry for it in one of the Language files (en.ini, usually).
|
||||
|
||||
By leaving out a key in your custom language, you tell StepMania to look in
|
||||
the default language (typically en.ini)
|
||||
|
||||
2.2. BGAnimations ______________________________________________________________
|
||||
|
||||
|
||||
There are multiple names StepMania recognizes for BGAnimation folders. Some
|
||||
screens won't support all of these.
|
||||
================================================================================
|
||||
ScreenExample in - Played when the screen is transitioning in.
|
||||
ScreenExample background - Background of the screen.
|
||||
ScreenExample underlay - Shows over the background, but under decorations and overlay.
|
||||
ScreenExample decorations - Newly added in StepMania 4 alphas.
|
||||
ScreenExample overlay - Shows over everything, usually.
|
||||
ScreenExample out - Played when the screen is transitioning out.
|
||||
ScreenExample cancel - Played when the screen is canceled.
|
||||
================================================================================
|
||||
|
||||
In StepMania 4 alphas and sm-ssc, BGAnimations are done with Lua.
|
||||
A sample Lua BGAnimation follows:
|
||||
=[begin code example]===========================================================
|
||||
return Def.ActorFrame{
|
||||
Def.Quad{
|
||||
InitCommand=cmd(FullScreen;diffuse,color("#FFFFFF");diffusebottomedge,color("#AAAAAA"););
|
||||
};
|
||||
};
|
||||
=[end code example]=============================================================
|
||||
This will make a Quad (an untextured square) that fills the screen and fades from
|
||||
white to light grey. It is best used as a background. You can try this example
|
||||
out yourself by making a new folder in the Themes directory and putting this code
|
||||
in ScreenTitleMenu background.lua;
|
||||
The folder setup would end up like so:
|
||||
sm-ssc/
|
||||
Themes/
|
||||
MyCoolTheme/
|
||||
BGAnimations/
|
||||
ScreenTitleMenu background.lua
|
||||
|
||||
Now open up sm-ssc and change the theme (or pass in --theme="MyCoolTheme",
|
||||
replacing "MyCoolTheme" with your theme's folder name), and head to the title menu.
|
||||
|
||||
2.3. Graphics __________________________________________________________________
|
||||
The Graphics folder contains various files StepMania calls on. For example, the
|
||||
header and footer are found here, along with Common window icon and others.
|
||||
|
||||
The Graphics folder is also where Decorations expects to find files to load when
|
||||
you use StandardDecorationFromFileOptional([MetricsName],[Filename]).
|
||||
|
||||
2.4. Fonts _____________________________________________________________________
|
||||
StepMania fonts are a combination of images containing various characters, and
|
||||
an ini file that defines the font metrics, such as spacing, character widths,
|
||||
character mappings, and so on.
|
||||
|
||||
Fonts are typically generated with Texture Font Generator (which is included
|
||||
with sm-ssc) or Bitmap Font Builder, both programs being Windows only. If you
|
||||
aren't on Windows, your choices are then limited to whatever image editor you
|
||||
can find (typically Photoshop or The GIMP).
|
||||
|
||||
fontini.txt in the ThemerDocs folder contains a list of all the known
|
||||
font .ini values. It lacks explanation, however.
|
||||
|
||||
[Common]
|
||||
CapitalsOnly
|
||||
RightToLeft
|
||||
DefaultStrokeColor
|
||||
|
||||
2.5. Sounds ____________________________________________________________________
|
||||
|
||||
|
||||
sm-ssc can load Lua files as music, allowing for conditional music/sounds.
|
||||
|
||||
2.6. Scripts ___________________________________________________________________
|
||||
Scripts allow you to define functions which can then be referenced in Metrics
|
||||
and BGAnimations. Scripts can also store values and do other nice things, some
|
||||
of which is outside of the scope of this guide.
|
||||
@@ -180,6 +180,9 @@ The StepMania 4.0 alpha 4 Options Menu:
|
||||
* Profiles
|
||||
* Reload Songs/Courses
|
||||
|
||||
sm-ssc changes this up again, making the "Options" item on the Title Menu go
|
||||
to System Direction (mostly-used options), leaving the normal options menu to
|
||||
the Scroll Lock key. Blame Midiman. :)
|
||||
--------------------------------------------------------------------------------
|
||||
2.2.1: Frequently Asked Questions that can be Solved by Changing the Configuration
|
||||
--------------------------------------------------------------------------------
|
||||
@@ -316,7 +319,10 @@ StepMania\
|
||||
--------------------------------------------------------------------------------
|
||||
2.3.2: Installing Noteskins/New Gametypes
|
||||
--------------------------------------------------------------------------------
|
||||
NoteSkins change the appearance of the arrows. They are also linked with getting
|
||||
other gametypes supported in StepMania.
|
||||
|
||||
The noteskin installation process looks something like this:
|
||||
StepMania\
|
||||
NoteSkins\
|
||||
(gametype)\
|
||||
@@ -325,10 +331,42 @@ StepMania\
|
||||
(gametype2)\
|
||||
default\
|
||||
|
||||
"gametype"/"gametype2" etc. can be any one of the following:
|
||||
dance (typically 4 panels)
|
||||
pump (typically 5 panels)
|
||||
para (5 receptors)
|
||||
techno (4, 5, and 8 panel modes)
|
||||
beat (5 and 7 key modes with a turntable on each)
|
||||
popn (5 and 9 line modes)
|
||||
kb7 (6 or 7 keys depending on when you try to use it)
|
||||
|
||||
--------------------------------------------------------------------------------
|
||||
2.3.3: Installing Themes
|
||||
--------------------------------------------------------------------------------
|
||||
Depending on if the theme is packaged in a SMZip or not, you have a few options.
|
||||
|
||||
If it is in a .smzip, you can put it in the Packages directory:
|
||||
StepMania/
|
||||
Packages/
|
||||
MyTheme.smzip
|
||||
and StepMania will automatically read it.
|
||||
On Windows, you can double click on the .smzip file to install it in your user
|
||||
packages directory. THIS IS NOT RECOMMENDED BECAUSE IT CAUSES CONFUSION.
|
||||
|
||||
Since .smzip files are really .zip files, you could also extract them in the
|
||||
StepMania root folder.
|
||||
|
||||
If the themer has not packaged the theme in a .smzip, then you have to look
|
||||
inside the archive to see how the directory layout looks.
|
||||
1) Themes folder
|
||||
If it has a themes folder when you open it up, extract in the StepMania root
|
||||
folder, like you would a .smzip file.
|
||||
2) Theme name as a folder
|
||||
This one will have to be extracted in the Themes directory. You will get a
|
||||
new folder with the files.
|
||||
3) A bunch of folders + metrics.ini
|
||||
The themer was lazy; you're going to have to make a folder in the Themes
|
||||
directory and extract the theme in there.
|
||||
|
||||
When in doubt, read any documentation that comes with the theme for proper
|
||||
installation instructions.
|
||||
|
||||
+7
-1
@@ -18,12 +18,14 @@ shakesoda
|
||||
* Theme edits
|
||||
|
||||
==other contributors==
|
||||
(in no particular order aside from having SM team at the top)
|
||||
|
||||
StepMania Team
|
||||
* Keeping StepMania 4 alive with changes, and providing a nice codebase for
|
||||
us to work with.
|
||||
|
||||
Aldo_MX
|
||||
* Code (Pump it Up delays), ideas, and support.
|
||||
* Code (Pump it Up delays, among others), ideas, and support.
|
||||
|
||||
Jason Reid (jnr)
|
||||
* Tested building sm-ssc on FreeBSD, provided fixes.
|
||||
@@ -57,6 +59,10 @@ galopin
|
||||
FSX
|
||||
* [Player] ScoreMissedHoldsAndRolls metric
|
||||
|
||||
Henke37
|
||||
* [MovieTexture_FFMpeg] Stutter fix
|
||||
(http://www.pasteall.org/11353/diff)
|
||||
|
||||
==the beta testers==
|
||||
[SSC Beta Testing Team]
|
||||
KeithD
|
||||
|
||||
Reference in New Issue
Block a user