From 6014c22be6e4f0200f0b1b11b4c6e39ed46e3532 Mon Sep 17 00:00:00 2001 From: AJ Kelly Date: Mon, 1 Mar 2010 00:46:49 -0600 Subject: [PATCH] sm-ssc v1.0 Public Beta 1 docs --- Docs/Changelog_sm-ssc.txt | 52 ++++++++++++++++ Docs/Luadoc/Lua.xml | 49 +++++++++++---- Docs/Luadoc/LuaDocumentation.xml | 79 ++++++++++++++++++------ Docs/Themerdocs/sm-ssc_themeguide.txt | 86 +++++++++++++++++++++++++-- Docs/Userdocs/sm-ssc_beginner.txt | 38 ++++++++++++ Docs/credits.txt | 8 ++- 6 files changed, 274 insertions(+), 38 deletions(-) diff --git a/Docs/Changelog_sm-ssc.txt b/Docs/Changelog_sm-ssc.txt index 146620a2e1..3ba2b14ac2 100644 --- a/Docs/Changelog_sm-ssc.txt +++ b/Docs/Changelog_sm-ssc.txt @@ -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. diff --git a/Docs/Luadoc/Lua.xml b/Docs/Luadoc/Lua.xml index 413ae0bc04..5eea152620 100644 --- a/Docs/Luadoc/Lua.xml +++ b/Docs/Luadoc/Lua.xml @@ -8,6 +8,7 @@ + @@ -16,6 +17,7 @@ + @@ -27,6 +29,7 @@ + @@ -55,9 +58,16 @@ + + + + + + + @@ -75,7 +85,9 @@ + + @@ -96,8 +108,10 @@ + + @@ -132,6 +146,7 @@ + @@ -270,6 +285,7 @@ + @@ -577,6 +593,7 @@ + @@ -717,6 +734,9 @@ + + + @@ -832,6 +852,7 @@ + @@ -969,16 +990,13 @@ - - - @@ -1132,8 +1150,12 @@ + + + + @@ -1259,14 +1281,15 @@ - - - - - - - - + + + + + + + + + @@ -1774,6 +1797,6 @@ - sm-ssc private beta 1.4 - 2010-02-08 + sm-ssc v1.0 beta 1 + 2010-02-28 diff --git a/Docs/Luadoc/LuaDocumentation.xml b/Docs/Luadoc/LuaDocumentation.xml index a97f1e91ca..16ecf5b6dc 100644 --- a/Docs/Luadoc/LuaDocumentation.xml +++ b/Docs/Luadoc/LuaDocumentation.xml @@ -611,6 +611,21 @@ Returns the number of children in the ActorFrame. + + Plays the sCommandName command on the ActorFrame's children. + + + Plays the sCommandName command on the ActorFrame's leaves. + + + Sets if the Actorframe should propagate commands to its children. + + + Runs the commands in cmds on the ActorFrame's children. + + + Runs the commands in cmds on the ActorFrame's leaves. + Sets the ActorFrame's ambient light color to c. @@ -1123,6 +1138,9 @@ The s in a are numbered sequentially starting from 0. Return the number of the current . + + Return the current number of seconds that have passed in the current song. This value can be negative. + Return the current . @@ -1527,21 +1545,39 @@ Returns a command from the specified element and value. + + Returns a command from the specified element and value using NoteSkin sNoteSkin. + Returns a bool from the specified element and value. + + Returns a bool from the specified element and value using NoteSkin sNoteSkin. + Returns a float from the specified element and value. + + Returns a float from the specified element and value using NoteSkin sNoteSkin. + Returns a integer from the specified element and value. + + Returns a integer from the specified element and value using NoteSkin sNoteSkin. + Returns the path for the specified sButton sElement. + + Returns the path for the specified sButton sElement using NoteSkin sNoteSkin. + Returns the actor for the specified sButton sElement. + + Returns the actor for the specified sButton sElement using NoteSkin sNoteSkin. + Returns true if the strName noteskin exists in the current gametype. @@ -1557,7 +1593,7 @@ - Sets the PaneDisplay from the specified PlayerState and PlayerStageStats. + Sets the PercentageDisplay from the specified PlayerState and PlayerStageStats. @@ -1972,6 +2008,11 @@ Pauses or unpauses the game, depending on the value of bPause. + + + Returns the LifeMeter. + + Gets the screen at the top of the screen stack. @@ -2076,12 +2117,6 @@ Returns the path to the song's banner. - - Returns the beat from fElapsedTime. - - - Returns the BPM at fBeat. - Gets the path to the CDTitle. @@ -2097,12 +2132,15 @@ Returns the displayed subtitle of the song. - - Returns the elapsed time from fBeat. - Returns the first beat of the song. + + Returns the genre of the song. + + + Returns the group name that the song is in. + Returns the last beat of the song. @@ -2112,15 +2150,6 @@ Gets the path to the music file. - - Returns the displayed subtitle of the song. - - - Returns the genre of the song. - - - Returns the group name that the song is in. - Returns a Step object if the StepType and Difficulty exist. @@ -2504,15 +2533,27 @@ Returns the minimum and maximum BPM of the song in a table (in that order). + + Returns the beat from fElapsedTime. + + + Returns the BPM at fBeat. + Returns a table of the BPMs as strings. Returns a table of the BPMs and the times they happen as strings with the format "beat=BPM". + + Returns the elapsed time from fBeat. + Returns a table of the Stops and the times they happen as strings with the format "beat=stop seconds". + + Returns a table of the Delays and the times they happen as strings with the format "beat=stop seconds". + Returns true if the TimingData contains BPM changes. diff --git a/Docs/Themerdocs/sm-ssc_themeguide.txt b/Docs/Themerdocs/sm-ssc_themeguide.txt index 44082cc0a3..19b1eb450c 100644 --- a/Docs/Themerdocs/sm-ssc_themeguide.txt +++ b/Docs/Themerdocs/sm-ssc_themeguide.txt @@ -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). \ No newline at end of file +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. \ No newline at end of file diff --git a/Docs/Userdocs/sm-ssc_beginner.txt b/Docs/Userdocs/sm-ssc_beginner.txt index 874a9fa43f..3f19b15605 100644 --- a/Docs/Userdocs/sm-ssc_beginner.txt +++ b/Docs/Userdocs/sm-ssc_beginner.txt @@ -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. diff --git a/Docs/credits.txt b/Docs/credits.txt index cef90c8491..3e71a11f73 100644 --- a/Docs/credits.txt +++ b/Docs/credits.txt @@ -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