hg merge from 24a15ba
@@ -32,9 +32,11 @@ src/libtomcrypt/build-*
|
|||||||
src/libtomcrypt/Release-*
|
src/libtomcrypt/Release-*
|
||||||
src/libtommath/build-*
|
src/libtommath/build-*
|
||||||
src/libtommath/Release-*
|
src/libtommath/Release-*
|
||||||
|
src/*.old
|
||||||
ver.cpp
|
ver.cpp
|
||||||
lib*_link.a
|
lib*_link.a
|
||||||
Data/UserPrefs
|
Data/UserPrefs
|
||||||
|
Data/GamePrefs/*.cfg
|
||||||
PBProject/Hardware.plist
|
PBProject/Hardware.plist
|
||||||
Themes/pump
|
Themes/pump
|
||||||
Themes/optical-release
|
Themes/optical-release
|
||||||
@@ -42,6 +44,8 @@ src/version.bin
|
|||||||
src/verstub.cpp
|
src/verstub.cpp
|
||||||
nsis_strings_temp.inc
|
nsis_strings_temp.inc
|
||||||
Data/SpeedMods.txt
|
Data/SpeedMods.txt
|
||||||
|
Program/StepMania*.lib
|
||||||
|
crashinfo.txt
|
||||||
|
|
||||||
syntax: regexp
|
syntax: regexp
|
||||||
.*\#.*\#$
|
.*\#.*\#$
|
||||||
|
|||||||
@@ -1 +1,50 @@
|
|||||||
Place announcer folders in this directory.
|
Place announcer folders in this directory.
|
||||||
|
|
||||||
|
[Announcer format]
|
||||||
|
sm-ssc's announcers look for certain names. These can either be a single sound,
|
||||||
|
or a folder containing many sounds (of which one is picked at random).
|
||||||
|
|
||||||
|
[Announcer calls]
|
||||||
|
Grouped by Screen/Element that calls them, though only the sound/folder name for
|
||||||
|
each item is important.
|
||||||
|
|
||||||
|
ScreenWithMenuElements
|
||||||
|
* (ScreenName) intro
|
||||||
|
|
||||||
|
ScreenTitleMenu
|
||||||
|
* title menu game name
|
||||||
|
|
||||||
|
ScreenSelect
|
||||||
|
* (ScreenName) IdleComment
|
||||||
|
|
||||||
|
ScreenSelectMusic
|
||||||
|
* select music intro
|
||||||
|
* select music comment general
|
||||||
|
* select music comment hard
|
||||||
|
* select music comment new
|
||||||
|
* select music comment repeat
|
||||||
|
* select course comment general
|
||||||
|
|
||||||
|
ScreenGameplay
|
||||||
|
* gameplay intro
|
||||||
|
* gameplay ready
|
||||||
|
* gameplay here we go normal
|
||||||
|
* gameplay here we go final
|
||||||
|
* gameplay here we go extra
|
||||||
|
* gameplay comment hot
|
||||||
|
* gameplay comment danger
|
||||||
|
* gameplay comment good
|
||||||
|
* gameplay comment oni
|
||||||
|
* gameplay (100-1000) combo
|
||||||
|
* gameplay combo stopped
|
||||||
|
* gameplay combo overflow
|
||||||
|
* gameplay battle trick level(1-3)
|
||||||
|
* gameplay battle damage level(1-3)
|
||||||
|
* gameplay extra
|
||||||
|
* gameplay cleared
|
||||||
|
* gameplay failed
|
||||||
|
* gameplay oni failed
|
||||||
|
* gameplay oni failed halfway
|
||||||
|
|
||||||
|
MenuTimer
|
||||||
|
* hurry up
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
.ssc Format Changelog
|
||||||
|
________________________________________________________________________________
|
||||||
|
In case anyone else wishes to implement the .ssc format in their own simulator,
|
||||||
|
a changelog is provided here between each version.
|
||||||
|
|
||||||
|
Notice: .ssc is not a finalized format at the moment. There are plans for a
|
||||||
|
change to JSON, but it is unsure if this will be done.
|
||||||
|
|
||||||
|
Implement .ssc at your own risk.
|
||||||
|
________________________________________________________________________________
|
||||||
|
|
||||||
|
[v0.51] - AJ
|
||||||
|
* Move VERSION tag to the first line.
|
||||||
|
* Limit VERSION tag to two decimal places.
|
||||||
|
|
||||||
|
[v0.5] - Wolfman2000
|
||||||
|
* Initial MSD-based version.
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
sm-ssc Changelog
|
sm-ssc Changelog
|
||||||
________________________________________________________________________________
|
________________________________________________________________________________
|
||||||
The sm-ssc changelog mostly deals with source code-related changes,
|
The sm-ssc changelog mostly deals with source code-related changes,
|
||||||
as theme changes happen at a rapid pace.
|
as theme changes happen at a faster pace.
|
||||||
|
|
||||||
Changes are grouped by date.
|
Changes are grouped by date.
|
||||||
Not all changes are documented, for various reasons.
|
Not all changes are documented, for various reasons.
|
||||||
@@ -10,9 +10,232 @@ supported but exist anyways.)
|
|||||||
_____________________________________________________________________________
|
_____________________________________________________________________________
|
||||||
|
|
||||||
================================================================================
|
================================================================================
|
||||||
sm-ssc v1.2 | 201012xx
|
sm-ssc v1.2.2 | 201102??
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
20110213
|
||||||
|
--------
|
||||||
|
* Life Difficulty 4 is now as difficult as Life 6 was. [AJ]
|
||||||
|
Change name of the life difficulty options:
|
||||||
|
Old: 1, 2, 3, 4, 5, 6, 7
|
||||||
|
New: 1.2, 1.0, 0.8, 0.6, 0.4, 0.33, 0.25
|
||||||
|
|
||||||
|
20110212
|
||||||
|
--------
|
||||||
|
* [PlayerOptions] Added metrics to allow changing how often random modifiers
|
||||||
|
activate in the proper setting. At this time, the mods to be activated have
|
||||||
|
NOT been changed. [Wolfman2000]
|
||||||
|
* [ArrowEffects] Allow the Boomerang, Expand, Tipsy, Drunk, Tornado, Beat, and
|
||||||
|
Mini modifiers to be customized by metrics. As usual, change at your own
|
||||||
|
risk here. [Wolfman2000]
|
||||||
|
* Started the process of doxygen'ing the code. Goodness knows we need more
|
||||||
|
documentation on here. For the most part, don't expect comments on
|
||||||
|
particular files, though this may change. [Wolfman2000]
|
||||||
|
* [TimingData] Fix getting a Stop or Delay at a row if one of each occupies
|
||||||
|
the same row. This may need some extra testing. [Wolfman2000]
|
||||||
|
|
||||||
|
20110211
|
||||||
|
--------
|
||||||
|
* Introduced the .ssc file format for future features and expansion. All .sm
|
||||||
|
files will still work, and will still be generated when saved in the editor.
|
||||||
|
At this point, saving to the DWI format is being deprecated. [Wolfman2000]
|
||||||
|
|
||||||
|
================================================================================
|
||||||
|
sm-ssc v1.2.1 | 20110210
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
20110210
|
||||||
|
--------
|
||||||
|
* Had to go back on the ScreenNetSelectMusic controls commit. My apologies. [AJ]
|
||||||
|
|
||||||
|
20110209
|
||||||
|
--------
|
||||||
|
* [ScreenOptionsMemoryCard] Added three strings: "(no label)", "size ???", and
|
||||||
|
"%dMB". [AJ]
|
||||||
|
* [ScreenSelectMusic] Added RouletteTimerSeconds metric. [AJ]
|
||||||
|
* [ArrowEffects] Added QuantizeArrowYPosition metric. [AJ]
|
||||||
|
|
||||||
|
20110208
|
||||||
|
--------
|
||||||
|
* [ScreenNetSelectMusic] Added MusicWheelType metric. [AJ]
|
||||||
|
|
||||||
|
20110201
|
||||||
|
--------
|
||||||
|
* [Song] Added IsDisplayBpmRandom Lua binding. [AJ]
|
||||||
|
|
||||||
|
20110130
|
||||||
|
--------
|
||||||
|
* [ScreenSelectMaster] Only run cursor commands on players if they exist. [AJ]
|
||||||
|
|
||||||
|
20110118
|
||||||
|
--------
|
||||||
|
* [ScreenEdit] Move editing Timing Data to their own mini menu. [Wolfman2000]
|
||||||
|
* Implement #TICKCOUNTS tag for better checkpoint behavior.
|
||||||
|
This officially deprecates the CheckpointsUseTimeSignatures metric for
|
||||||
|
the CheckpointsUseTickcounts metric. [Wolfman2000]
|
||||||
|
* [NoteField] Add metrics for more flexible TimingData labels. [Wolfman2000]
|
||||||
|
|
||||||
|
20110116
|
||||||
|
--------
|
||||||
|
* [ScreenEdit] Allow editing TimeSignatureSegments one fractional half at
|
||||||
|
a time. [Wolfman2000]
|
||||||
|
|
||||||
|
20110115
|
||||||
|
--------
|
||||||
|
* [ArrowEffects] Allow modifying modifier characteristics in the metrics.
|
||||||
|
At present, Blink, Boost, Brake, and Wave can have modifications.
|
||||||
|
[Wolfman2000]
|
||||||
|
* [Player] Allow Combo Stopped message to be flexible via metrics. The
|
||||||
|
default is 50, as it was before. [Wolfman2000]
|
||||||
|
* [Player] Allow the default attack times for both random and mine attacks
|
||||||
|
to be changed. [Wolfman2000]
|
||||||
|
* [NoteField] Allow for adjustable fade fail time (for AJ). [Wolfman2000]
|
||||||
|
* [MenuTimer] Allow the hurry up transition to be adjusted. [Wolfman2000]
|
||||||
|
* [MusicWheel] Added RouletteColor, RandomColor, and PortalColor metrics. [freem]
|
||||||
|
* Fix a bug with VisualDelaySeconds where choosing -1 would lead to it being +1. [freem]
|
||||||
|
|
||||||
|
20110112
|
||||||
|
--------
|
||||||
|
* [PlayerStageStats] Change score to an unsigned long from a signed int. [FSX]
|
||||||
|
* Noteskin changes. [Daisuke Master]
|
||||||
|
* [SpecialScoring] MIGS scoring, improved SN and SN2 scoring. [FSX]
|
||||||
|
* [RageFile] Added ReadBytes() Lua binding. [FSX]
|
||||||
|
* [NetworkSyncManager] Added CloseConnection() Lua binding. [freem]
|
||||||
|
* [ScreenTextEntry] Added Load(TextEntrySettings) Lua binding. [freem]
|
||||||
|
TextEntrySettings is implemented similar to the Attributes in BitmapText.
|
||||||
|
local teSettings = {
|
||||||
|
SendOnPop = "", -- ScreenMessage to send on pop (optional, "SM_None" if omitted)
|
||||||
|
Question = "", -- The question to display
|
||||||
|
InitialAnswer = "", -- Initial answer text
|
||||||
|
MaxInputLength = 0, -- Maximum amount of characters
|
||||||
|
Password = false, -- Mask character input (optional)
|
||||||
|
Validate = nil, -- Validation function; function(answer, errorOut), must return boolean, string.
|
||||||
|
OnOK = nil, -- On OK; function(answer)
|
||||||
|
OnCancel = nil, -- On Cancel; function()
|
||||||
|
ValidateAppend = nil, -- Validate appending a character; function(answer,append), must return boolean
|
||||||
|
FormatAnswerForDisplay = nil, -- Format answer for display; function(answer), must return string
|
||||||
|
};
|
||||||
|
|
||||||
|
20110111
|
||||||
|
--------
|
||||||
|
* [ScreenManager] Added ReloadOverlayScreens() Lua binding. [freem]
|
||||||
|
|
||||||
|
20110110
|
||||||
|
--------
|
||||||
|
* [Character] Added GetDisplayName Lua binding. [freem]
|
||||||
|
* Make sure that DELAYS come first if STOPS share the same beat. [Wolfman2000]
|
||||||
|
|
||||||
|
20110109
|
||||||
|
--------
|
||||||
|
* Add the semicolon and apostrophe keys as alternatives to the Page Up and Page
|
||||||
|
Down keys in the editor, mainly for laptop users. [Wolfman2000]
|
||||||
|
* Removed Song sample length limitations. [freem]
|
||||||
|
* Removed hard-coded values from the Step Editor. Now TimeSignatures are used
|
||||||
|
in place of these former constants. [Wolfman2000]
|
||||||
|
* [RoomWheel] Various metrics changes: [freem]
|
||||||
|
* Removed TextWidth/DescWidth metrics.
|
||||||
|
* "Desc" is now "Description". (DescX -> DescriptionX)
|
||||||
|
* Removed hardcoded commands (shadowlength,0;maxwidth,[max width metric];halign,0).
|
||||||
|
|
||||||
|
================================================================================
|
||||||
|
sm-ssc v1.2 | 20110107
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
20110107
|
||||||
|
--------
|
||||||
|
* Fix PrefsManager init list not being in order [vyhd]
|
||||||
|
* Add hack to ThemeManager to make GetThemeName() work intuitively for Scripts dirs [vyhd]
|
||||||
|
* [SongManager] Check the root Songs/ folder for extra stage course files. [freem]
|
||||||
|
* Make routine mode use ScreenGameplayShared instead of ScreenGameplay. [freem]
|
||||||
|
* Make pump-routine spacing the same as pump-double spacing. [FSX]
|
||||||
|
|
||||||
|
20110106
|
||||||
|
--------
|
||||||
|
* [SpecialScoring] Fix some minor issues [FSX]
|
||||||
|
* New pump routine noteskins [cesarmades]
|
||||||
|
|
||||||
|
20110102
|
||||||
|
--------
|
||||||
|
* Fix routine mode saving in the editor. [Wolfman2000]
|
||||||
|
|
||||||
|
20110101
|
||||||
|
--------
|
||||||
|
* [Screen] Added HandleBackButton metric; useful for custom menus that need to
|
||||||
|
use the Back button for more user-friendly canceling. [freem]
|
||||||
|
|
||||||
|
20101230
|
||||||
|
--------
|
||||||
|
* [StepsDisplay] Make the StepsType react to SetMessage as well. [freem]
|
||||||
|
|
||||||
|
20101229
|
||||||
|
--------
|
||||||
|
* [ScreenHowToPlay] Replaced LOAD_ALL_COMMANDS_AND_SET_XY_AND_ON_COMMAND macro
|
||||||
|
calls with ActorUtil::LoadAllCommandsAndSetXY(). Fixes an odd bug I ran into
|
||||||
|
during the porting of DDR 5th Mix. [freem]
|
||||||
|
* [ScreenInstallOverlay] Added bare DownloadFinished message. [freem]
|
||||||
|
|
||||||
|
20101228
|
||||||
|
--------
|
||||||
|
* [ScreenHowToPlay] Have Character ignore the Miss steps instead of trying to
|
||||||
|
hit them. [freem]
|
||||||
|
|
||||||
|
20101227
|
||||||
|
--------
|
||||||
|
* [ScreenHowToPlay] Added CharacterName metric, which will force the Character
|
||||||
|
that shows up. [freem]
|
||||||
|
|
||||||
|
20101226
|
||||||
|
--------
|
||||||
|
* [ScreenEdit] Added GetEditState Lua binding. [freem]
|
||||||
|
* [ScreenNetSelectMusic] StepsDisplay changed to load from StepsDisplayNet. [freem]
|
||||||
|
* [RoomWheelItem] Added OverPart (just like in MusicWheelItem). [freem]
|
||||||
|
* [SongManager] Added GetSongRank(Song) Lua binding. [freem]
|
||||||
|
* Changed Steps picking logic in ScreenGameplaySyncMachine; now playable Steps
|
||||||
|
are chosen, instead of whatever NoteData happens to be first.
|
||||||
|
Also added pump-single data to ScreenGameplaySyncMachine music.sm. [freem]
|
||||||
|
* [Banner, FadingBanner] Various changes: [freem]
|
||||||
|
* Removed (now unused) All Music banner.
|
||||||
|
* Fixed swapped ScrollRandom and ScrollRoulette metrics.
|
||||||
|
* [Banner] Added GetScrolling(), GetPercentScrolling() and
|
||||||
|
SetScrolling(bool,float) Lua bindings.
|
||||||
|
* [FadingBanner] Added GetLatestIndex() Lua binding. [freem]
|
||||||
|
|
||||||
|
20101225
|
||||||
|
--------
|
||||||
|
* Fixed Life difficulty scale being 0. [Daisuke Master]
|
||||||
|
|
||||||
|
20101223
|
||||||
|
--------
|
||||||
|
* Added Banners for most SortOrders. (Group is excluded (song group banners
|
||||||
|
still work), as is Recent (which has no sections).) [freem]
|
||||||
|
|
||||||
|
20101222
|
||||||
|
--------
|
||||||
|
* Added Shift+Ctrl+F2 shortcut for reloading overlay screens (and metrics) [freem]
|
||||||
|
|
||||||
|
20101221
|
||||||
|
--------
|
||||||
|
* SM5SVN r28586: Only unload fonts if not used by the next screen. [shakesoda]
|
||||||
|
* [ScreenSelectMaster] Fix DoSwitchAnyways to actually work again.
|
||||||
|
* [ScreenInstallOverlay] Installs won't jump to SelMusic on Gameplay or System
|
||||||
|
Menus (e.g. Edit Mode) anymore on download completion. [freem]
|
||||||
|
|
||||||
|
20101220
|
||||||
|
--------
|
||||||
|
* [Actor] Add bezier. (_fallback/02 Actor.lua) [FSX]
|
||||||
|
* [MessageManager] Added MenuStartP1 and MenuStartP2 messages. [freem]
|
||||||
|
* [ScreenSelectMaster] Broadcast MenuStartP# messages; allow themers to handle
|
||||||
|
the MenuStartP# messageitems. [freem]
|
||||||
|
|
||||||
|
20101219
|
||||||
|
--------
|
||||||
|
* [WheelNotifyIcon] add BlinkPlayersBest metric. [freem]
|
||||||
|
* [GameCommand] Add GetScreen, GetSteps, GetCourse, GetTrail, and GetCharacter
|
||||||
|
Lua bindings. [freem]
|
||||||
|
* [StreamDisplay] Remove UseThreePartMethod.
|
||||||
|
* [Style] Add ColumnsPerPlayer and NeedsZoomOutWith2Players bindings. [freem]
|
||||||
|
* [Profile] Add GetLastUsedHighScoreName Lua binding. [freem]
|
||||||
|
|
||||||
20101218
|
20101218
|
||||||
--------
|
--------
|
||||||
* [MusicWheelItem] Add OverPart. [freem]
|
* [MusicWheelItem] Add OverPart. [freem]
|
||||||
|
|||||||
@@ -118,7 +118,7 @@ ________________________________________________________________________________
|
|||||||
0x05 (005) Game Status Update
|
0x05 (005) Game Status Update
|
||||||
|
|
||||||
The payload changes between protocols, and it will likely have to change again
|
The payload changes between protocols, and it will likely have to change again
|
||||||
to acconut for some more StepIDs.
|
to account for some more StepIDs.
|
||||||
|
|
||||||
Payload:
|
Payload:
|
||||||
[Size] [Description]
|
[Size] [Description]
|
||||||
@@ -155,7 +155,7 @@ Payload:
|
|||||||
32767 would be DEAD on the note
|
32767 would be DEAD on the note
|
||||||
If the user is hitting late, the # will be higher.
|
If the user is hitting late, the # will be higher.
|
||||||
It if the user is exactly 0.25 seconds off, the number will be
|
It if the user is exactly 0.25 seconds off, the number will be
|
||||||
different by 500. With this pattern 0.5 gives a difference of 1000.
|
different by 500. With this pattern 0.5 seconds gives a difference of 1000.
|
||||||
|
|
||||||
Expected response: None
|
Expected response: None
|
||||||
________________________________________________________________________________
|
________________________________________________________________________________
|
||||||
|
|||||||
@@ -10,6 +10,7 @@
|
|||||||
<Function name='Brightness'/>
|
<Function name='Brightness'/>
|
||||||
<Function name='Center1Player'/>
|
<Function name='Center1Player'/>
|
||||||
<Function name='CheckpointsTapsSeparateJudgment'/>
|
<Function name='CheckpointsTapsSeparateJudgment'/>
|
||||||
|
<Function name='CloseConnection'/>
|
||||||
<Function name='Color'/>
|
<Function name='Color'/>
|
||||||
<Function name='ColorDarkTone'/>
|
<Function name='ColorDarkTone'/>
|
||||||
<Function name='ColorLightTone'/>
|
<Function name='ColorLightTone'/>
|
||||||
@@ -38,11 +39,22 @@
|
|||||||
<Function name='FormatNumberAndSuffix'/>
|
<Function name='FormatNumberAndSuffix'/>
|
||||||
<Function name='FormatPercentScore'/>
|
<Function name='FormatPercentScore'/>
|
||||||
<Function name='GameCompatibleModes'/>
|
<Function name='GameCompatibleModes'/>
|
||||||
|
<Function name='GamePrefAdjustSpeed'/>
|
||||||
|
<Function name='GamePrefAutoSetStyle'/>
|
||||||
|
<Function name='GamePrefComboOnRolls'/>
|
||||||
|
<Function name='GamePrefComboUnderField'/>
|
||||||
|
<Function name='GamePrefNotePosition'/>
|
||||||
<Function name='GetCoursesToShowRanking'/>
|
<Function name='GetCoursesToShowRanking'/>
|
||||||
<Function name='GetCustomDifficulty'/>
|
<Function name='GetCustomDifficulty'/>
|
||||||
|
<Function name='GetDefaultArrowSpacing'/>
|
||||||
<Function name='GetDefaultOptionLines'/>
|
<Function name='GetDefaultOptionLines'/>
|
||||||
|
<Function name='GetDirectRadar'/>
|
||||||
<Function name='GetEditModeSubScreens'/>
|
<Function name='GetEditModeSubScreens'/>
|
||||||
<Function name='GetExtraColorThreshold'/>
|
<Function name='GetExtraColorThreshold'/>
|
||||||
|
<Function name='GetGamePref'/>
|
||||||
|
<Function name='GetGamePrefB'/>
|
||||||
|
<Function name='GetGamePrefC'/>
|
||||||
|
<Function name='GetGamePrefN'/>
|
||||||
<Function name='GetGradeFromPercent'/>
|
<Function name='GetGradeFromPercent'/>
|
||||||
<Function name='GetLifeDifficulty'/>
|
<Function name='GetLifeDifficulty'/>
|
||||||
<Function name='GetOSName'/>
|
<Function name='GetOSName'/>
|
||||||
@@ -55,7 +67,9 @@
|
|||||||
<Function name='GetSongBackground'/>
|
<Function name='GetSongBackground'/>
|
||||||
<Function name='GetTapPosition'/>
|
<Function name='GetTapPosition'/>
|
||||||
<Function name='GetThemeAspectRatio'/>
|
<Function name='GetThemeAspectRatio'/>
|
||||||
|
<Function name='GetThemePref'/>
|
||||||
<Function name='GetTimingDifficulty'/>
|
<Function name='GetTimingDifficulty'/>
|
||||||
|
<Function name='GetTotalItems'/>
|
||||||
<Function name='GetUnlockEntryIndexToCelebrate'/>
|
<Function name='GetUnlockEntryIndexToCelebrate'/>
|
||||||
<Function name='GetUserPref'/>
|
<Function name='GetUserPref'/>
|
||||||
<Function name='GetUserPrefB'/>
|
<Function name='GetUserPrefB'/>
|
||||||
@@ -72,6 +86,7 @@
|
|||||||
<Function name='Hour'/>
|
<Function name='Hour'/>
|
||||||
<Function name='Hue'/>
|
<Function name='Hue'/>
|
||||||
<Function name='ImmediateHoldLetGo'/>
|
<Function name='ImmediateHoldLetGo'/>
|
||||||
|
<Function name='InitGamePrefs'/>
|
||||||
<Function name='InitUserPrefs'/>
|
<Function name='InitUserPrefs'/>
|
||||||
<Function name='InitialHoldLife'/>
|
<Function name='InitialHoldLife'/>
|
||||||
<Function name='IsArcade'/>
|
<Function name='IsArcade'/>
|
||||||
@@ -79,8 +94,10 @@
|
|||||||
<Function name='IsHome'/>
|
<Function name='IsHome'/>
|
||||||
<Function name='IsNetConnected'/>
|
<Function name='IsNetConnected'/>
|
||||||
<Function name='IsNetSMOnline'/>
|
<Function name='IsNetSMOnline'/>
|
||||||
|
<Function name='IsRoutine'/>
|
||||||
<Function name='IsSMOnlineLoggedIn'/>
|
<Function name='IsSMOnlineLoggedIn'/>
|
||||||
<Function name='IsUsingWideScreen'/>
|
<Function name='IsUsingWideScreen'/>
|
||||||
|
<Function name='IsW1Allowed'/>
|
||||||
<Function name='JudgmentLineToColor'/>
|
<Function name='JudgmentLineToColor'/>
|
||||||
<Function name='JudgmentLineToLocalizedString'/>
|
<Function name='JudgmentLineToLocalizedString'/>
|
||||||
<Function name='JudgmentLineToStrokeColor'/>
|
<Function name='JudgmentLineToStrokeColor'/>
|
||||||
@@ -110,13 +127,17 @@
|
|||||||
<Function name='PlayerNumberToLocalizedString'/>
|
<Function name='PlayerNumberToLocalizedString'/>
|
||||||
<Function name='PlayerNumberToString'/>
|
<Function name='PlayerNumberToString'/>
|
||||||
<Function name='PlayerScoreColor'/>
|
<Function name='PlayerScoreColor'/>
|
||||||
|
<Function name='PrintTable'/>
|
||||||
<Function name='ProductID'/>
|
<Function name='ProductID'/>
|
||||||
<Function name='ProductVersion'/>
|
<Function name='ProductVersion'/>
|
||||||
<Function name='RadarCategoryToLocalizedString'/>
|
<Function name='RadarCategoryToLocalizedString'/>
|
||||||
|
<Function name='ReadGamePrefFromFile'/>
|
||||||
<Function name='ReadPrefFromFile'/>
|
<Function name='ReadPrefFromFile'/>
|
||||||
<Function name='ReportStyle'/>
|
<Function name='ReportStyle'/>
|
||||||
<Function name='ResolveRelativePath'/>
|
<Function name='ResolveRelativePath'/>
|
||||||
<Function name='RollBodyIncrementsCombo'/>
|
<Function name='RollBodyIncrementsCombo'/>
|
||||||
|
<Function name='RoutineSkinP1'/>
|
||||||
|
<Function name='RoutineSkinP2'/>
|
||||||
<Function name='SMOnlineScreen'/>
|
<Function name='SMOnlineScreen'/>
|
||||||
<Function name='Saturation'/>
|
<Function name='Saturation'/>
|
||||||
<Function name='ScoreKeeperClass'/>
|
<Function name='ScoreKeeperClass'/>
|
||||||
@@ -131,6 +152,8 @@
|
|||||||
<Function name='SelectMusicOrCourse'/>
|
<Function name='SelectMusicOrCourse'/>
|
||||||
<Function name='SelectProfileKeys'/>
|
<Function name='SelectProfileKeys'/>
|
||||||
<Function name='Serialize'/>
|
<Function name='Serialize'/>
|
||||||
|
<Function name='SetGamePref'/>
|
||||||
|
<Function name='SetThemePref'/>
|
||||||
<Function name='SetUserPref'/>
|
<Function name='SetUserPref'/>
|
||||||
<Function name='ShowHoldJudgments'/>
|
<Function name='ShowHoldJudgments'/>
|
||||||
<Function name='ShowStandardDecoration'/>
|
<Function name='ShowStandardDecoration'/>
|
||||||
@@ -149,11 +172,13 @@
|
|||||||
<Function name='TableStringLookup'/>
|
<Function name='TableStringLookup'/>
|
||||||
<Function name='TapNoteScoreToLocalizedString'/>
|
<Function name='TapNoteScoreToLocalizedString'/>
|
||||||
<Function name='TextBannerAfterSet'/>
|
<Function name='TextBannerAfterSet'/>
|
||||||
|
<Function name='ThemePrefRow'/>
|
||||||
<Function name='ToEnumShortString'/>
|
<Function name='ToEnumShortString'/>
|
||||||
<Function name='Trace'/>
|
<Function name='Trace'/>
|
||||||
<Function name='TrailToCustomDifficulty'/>
|
<Function name='TrailToCustomDifficulty'/>
|
||||||
<Function name='URLEncode'/>
|
<Function name='URLEncode'/>
|
||||||
<Function name='UnlockRewardTypeToLocalizedString'/>
|
<Function name='UnlockRewardTypeToLocalizedString'/>
|
||||||
|
<Function name='UserPrefAdjustSpeed'/>
|
||||||
<Function name='UserPrefAutoSetStyle'/>
|
<Function name='UserPrefAutoSetStyle'/>
|
||||||
<Function name='UserPrefComboOnRolls'/>
|
<Function name='UserPrefComboOnRolls'/>
|
||||||
<Function name='UserPrefComboUnderField'/>
|
<Function name='UserPrefComboUnderField'/>
|
||||||
@@ -163,6 +188,7 @@
|
|||||||
<Function name='UserPrefLongFail'/>
|
<Function name='UserPrefLongFail'/>
|
||||||
<Function name='UserPrefNotePosition'/>
|
<Function name='UserPrefNotePosition'/>
|
||||||
<Function name='UserPrefShowLotsaOptions'/>
|
<Function name='UserPrefShowLotsaOptions'/>
|
||||||
|
<Function name='UserPrefSpecialScoringMode'/>
|
||||||
<Function name='Var'/>
|
<Function name='Var'/>
|
||||||
<Function name='VersionDate'/>
|
<Function name='VersionDate'/>
|
||||||
<Function name='VersionTime'/>
|
<Function name='VersionTime'/>
|
||||||
@@ -170,6 +196,7 @@
|
|||||||
<Function name='Weekday'/>
|
<Function name='Weekday'/>
|
||||||
<Function name='WideScale'/>
|
<Function name='WideScale'/>
|
||||||
<Function name='WrapInActorFrame'/>
|
<Function name='WrapInActorFrame'/>
|
||||||
|
<Function name='WriteGamePrefToFile'/>
|
||||||
<Function name='WritePrefToFile'/>
|
<Function name='WritePrefToFile'/>
|
||||||
<Function name='Year'/>
|
<Function name='Year'/>
|
||||||
<Function name='assert'/>
|
<Function name='assert'/>
|
||||||
@@ -180,6 +207,7 @@
|
|||||||
<Function name='dofile'/>
|
<Function name='dofile'/>
|
||||||
<Function name='error'/>
|
<Function name='error'/>
|
||||||
<Function name='fapproach'/>
|
<Function name='fapproach'/>
|
||||||
|
<Function name='foreach_ordered'/>
|
||||||
<Function name='gcinfo'/>
|
<Function name='gcinfo'/>
|
||||||
<Function name='getenv'/>
|
<Function name='getenv'/>
|
||||||
<Function name='getfenv'/>
|
<Function name='getfenv'/>
|
||||||
@@ -286,6 +314,7 @@
|
|||||||
<Function name='basezoomx'/>
|
<Function name='basezoomx'/>
|
||||||
<Function name='basezoomy'/>
|
<Function name='basezoomy'/>
|
||||||
<Function name='basezoomz'/>
|
<Function name='basezoomz'/>
|
||||||
|
<Function name='bezier'/>
|
||||||
<Function name='blend'/>
|
<Function name='blend'/>
|
||||||
<Function name='bob'/>
|
<Function name='bob'/>
|
||||||
<Function name='bounce'/>
|
<Function name='bounce'/>
|
||||||
@@ -493,6 +522,8 @@
|
|||||||
<Function name='SetFromGameState'/>
|
<Function name='SetFromGameState'/>
|
||||||
</Class>
|
</Class>
|
||||||
<Class base='Sprite' name='Banner'>
|
<Class base='Sprite' name='Banner'>
|
||||||
|
<Function name='GetPercentScrolling'/>
|
||||||
|
<Function name='GetScrolling'/>
|
||||||
<Function name='LoadBackgroundFromUnlockEntry'/>
|
<Function name='LoadBackgroundFromUnlockEntry'/>
|
||||||
<Function name='LoadBannerFromUnlockEntry'/>
|
<Function name='LoadBannerFromUnlockEntry'/>
|
||||||
<Function name='LoadCardFromCharacter'/>
|
<Function name='LoadCardFromCharacter'/>
|
||||||
@@ -500,8 +531,10 @@
|
|||||||
<Function name='LoadFromCourse'/>
|
<Function name='LoadFromCourse'/>
|
||||||
<Function name='LoadFromSong'/>
|
<Function name='LoadFromSong'/>
|
||||||
<Function name='LoadFromSongGroup'/>
|
<Function name='LoadFromSongGroup'/>
|
||||||
|
<Function name='LoadFromSortOrder'/>
|
||||||
<Function name='LoadIconFromCharacter'/>
|
<Function name='LoadIconFromCharacter'/>
|
||||||
<Function name='ScaleToClipped'/>
|
<Function name='ScaleToClipped'/>
|
||||||
|
<Function name='SetScrolling'/>
|
||||||
<Function name='scaletoclipped'/>
|
<Function name='scaletoclipped'/>
|
||||||
</Class>
|
</Class>
|
||||||
<Class base='Actor' name='BitmapText'>
|
<Class base='Actor' name='BitmapText'>
|
||||||
@@ -529,6 +562,7 @@
|
|||||||
<Function name='GetCharacterDir'/>
|
<Function name='GetCharacterDir'/>
|
||||||
<Function name='GetCharacterID'/>
|
<Function name='GetCharacterID'/>
|
||||||
<Function name='GetDanceAnimationPath'/>
|
<Function name='GetDanceAnimationPath'/>
|
||||||
|
<Function name='GetDisplayName'/>
|
||||||
<Function name='GetIconPath'/>
|
<Function name='GetIconPath'/>
|
||||||
<Function name='GetModelPath'/>
|
<Function name='GetModelPath'/>
|
||||||
<Function name='GetRestAnimationPath'/>
|
<Function name='GetRestAnimationPath'/>
|
||||||
@@ -600,6 +634,7 @@
|
|||||||
<Function name='Unset'/>
|
<Function name='Unset'/>
|
||||||
</Class>
|
</Class>
|
||||||
<Class base='ActorFrame' name='FadingBanner'>
|
<Class base='ActorFrame' name='FadingBanner'>
|
||||||
|
<Function name='GetLatestIndex'/>
|
||||||
<Function name='LoadCardFromCharacter'/>
|
<Function name='LoadCardFromCharacter'/>
|
||||||
<Function name='LoadFromCourse'/>
|
<Function name='LoadFromCourse'/>
|
||||||
<Function name='LoadFromSong'/>
|
<Function name='LoadFromSong'/>
|
||||||
@@ -608,18 +643,20 @@
|
|||||||
<Function name='ScaleToClipped'/>
|
<Function name='ScaleToClipped'/>
|
||||||
<Function name='scaletoclipped'/>
|
<Function name='scaletoclipped'/>
|
||||||
</Class>
|
</Class>
|
||||||
<Class name='Game'>
|
|
||||||
<Function name='GetName'/>
|
|
||||||
</Class>
|
|
||||||
<Class name='GameCommand'>
|
<Class name='GameCommand'>
|
||||||
|
<Function name='GetCharacter'/>
|
||||||
|
<Function name='GetCourse'/>
|
||||||
<Function name='GetIndex'/>
|
<Function name='GetIndex'/>
|
||||||
<Function name='GetMultiPlayer'/>
|
<Function name='GetMultiPlayer'/>
|
||||||
<Function name='GetName'/>
|
<Function name='GetName'/>
|
||||||
<Function name='GetProfileID'/>
|
<Function name='GetProfileID'/>
|
||||||
|
<Function name='GetScreen'/>
|
||||||
<Function name='GetSong'/>
|
<Function name='GetSong'/>
|
||||||
<Function name='GetSongGroup'/>
|
<Function name='GetSongGroup'/>
|
||||||
|
<Function name='GetSteps'/>
|
||||||
<Function name='GetStyle'/>
|
<Function name='GetStyle'/>
|
||||||
<Function name='GetText'/>
|
<Function name='GetText'/>
|
||||||
|
<Function name='GetTrail'/>
|
||||||
<Function name='GetUrl'/>
|
<Function name='GetUrl'/>
|
||||||
</Class>
|
</Class>
|
||||||
<Class name='GameManager'>
|
<Class name='GameManager'>
|
||||||
@@ -638,6 +675,7 @@
|
|||||||
<Function name='ClearStageModifiersIllegalForCourse'/>
|
<Function name='ClearStageModifiersIllegalForCourse'/>
|
||||||
<Function name='EnoughCreditsToJoin'/>
|
<Function name='EnoughCreditsToJoin'/>
|
||||||
<Function name='Env'/>
|
<Function name='Env'/>
|
||||||
|
<Function name='GetCharacter'/>
|
||||||
<Function name='GetCoinMode'/>
|
<Function name='GetCoinMode'/>
|
||||||
<Function name='GetCoins'/>
|
<Function name='GetCoins'/>
|
||||||
<Function name='GetCoinsNeededToJoin'/>
|
<Function name='GetCoinsNeededToJoin'/>
|
||||||
@@ -710,6 +748,7 @@
|
|||||||
<Function name='PlayersCanJoin'/>
|
<Function name='PlayersCanJoin'/>
|
||||||
<Function name='Reset'/>
|
<Function name='Reset'/>
|
||||||
<Function name='SaveLocalData'/>
|
<Function name='SaveLocalData'/>
|
||||||
|
<Function name='SetCharacter'/>
|
||||||
<Function name='SetCurrentCourse'/>
|
<Function name='SetCurrentCourse'/>
|
||||||
<Function name='SetCurrentSong'/>
|
<Function name='SetCurrentSong'/>
|
||||||
<Function name='SetCurrentSteps'/>
|
<Function name='SetCurrentSteps'/>
|
||||||
@@ -776,10 +815,8 @@
|
|||||||
<Function name='GetTotalLives'/>
|
<Function name='GetTotalLives'/>
|
||||||
</Class>
|
</Class>
|
||||||
<Class name='MemoryCardManager'>
|
<Class name='MemoryCardManager'>
|
||||||
<Function name='GetCardLocked'/>
|
|
||||||
<Function name='GetCardState'/>
|
<Function name='GetCardState'/>
|
||||||
<Function name='GetName'/>
|
<Function name='GetName'/>
|
||||||
<Function name='IsNameAvailable'/>
|
|
||||||
</Class>
|
</Class>
|
||||||
<Class base='ActorFrame' name='MenuTimer'>
|
<Class base='ActorFrame' name='MenuTimer'>
|
||||||
<Function name='GetSeconds'/>
|
<Function name='GetSeconds'/>
|
||||||
@@ -792,9 +829,6 @@
|
|||||||
<Class name='MessageManager'>
|
<Class name='MessageManager'>
|
||||||
<Function name='Broadcast'/>
|
<Function name='Broadcast'/>
|
||||||
</Class>
|
</Class>
|
||||||
<Class base='ActorFrame' name='MeterDisplay'>
|
|
||||||
<Function name='SetStreamWidth'/>
|
|
||||||
</Class>
|
|
||||||
<Class base='ActorFrame' name='ModIconRow'>
|
<Class base='ActorFrame' name='ModIconRow'>
|
||||||
<Function name='Load'/>
|
<Function name='Load'/>
|
||||||
</Class>
|
</Class>
|
||||||
@@ -869,6 +903,7 @@
|
|||||||
<Function name='GetTapNoteScores'/>
|
<Function name='GetTapNoteScores'/>
|
||||||
<Function name='IsDisqualified'/>
|
<Function name='IsDisqualified'/>
|
||||||
<Function name='MaxCombo'/>
|
<Function name='MaxCombo'/>
|
||||||
|
<Function name='SetScore'/>
|
||||||
</Class>
|
</Class>
|
||||||
<Class name='PlayerState'>
|
<Class name='PlayerState'>
|
||||||
<Function name='GetHealthState'/>
|
<Function name='GetHealthState'/>
|
||||||
@@ -896,6 +931,7 @@
|
|||||||
<Function name='GetGoalSeconds'/>
|
<Function name='GetGoalSeconds'/>
|
||||||
<Function name='GetGoalType'/>
|
<Function name='GetGoalType'/>
|
||||||
<Function name='GetHighScoreList'/>
|
<Function name='GetHighScoreList'/>
|
||||||
|
<Function name='GetLastUsedHighScoreName'/>
|
||||||
<Function name='GetMostPopularCourse'/>
|
<Function name='GetMostPopularCourse'/>
|
||||||
<Function name='GetMostPopularSong'/>
|
<Function name='GetMostPopularSong'/>
|
||||||
<Function name='GetNumToasties'/>
|
<Function name='GetNumToasties'/>
|
||||||
@@ -923,6 +959,7 @@
|
|||||||
<Function name='GetWeightPounds'/>
|
<Function name='GetWeightPounds'/>
|
||||||
<Function name='HasPassedAnyStepsInSong'/>
|
<Function name='HasPassedAnyStepsInSong'/>
|
||||||
<Function name='IsCodeUnlocked'/>
|
<Function name='IsCodeUnlocked'/>
|
||||||
|
<Function name='SetCharacter'/>
|
||||||
<Function name='SetGoalCalories'/>
|
<Function name='SetGoalCalories'/>
|
||||||
<Function name='SetGoalSeconds'/>
|
<Function name='SetGoalSeconds'/>
|
||||||
<Function name='SetGoalType'/>
|
<Function name='SetGoalType'/>
|
||||||
@@ -939,8 +976,6 @@
|
|||||||
<Function name='GetProfileDir'/>
|
<Function name='GetProfileDir'/>
|
||||||
<Function name='IsPersistentProfile'/>
|
<Function name='IsPersistentProfile'/>
|
||||||
<Function name='IsSongNew'/>
|
<Function name='IsSongNew'/>
|
||||||
<Function name='LastLoadWasFromLastGood'/>
|
|
||||||
<Function name='LastLoadWasTamperedOrCorrupt'/>
|
|
||||||
<Function name='SaveMachineProfile'/>
|
<Function name='SaveMachineProfile'/>
|
||||||
</Class>
|
</Class>
|
||||||
<Class name='RadarValues'>
|
<Class name='RadarValues'>
|
||||||
@@ -959,6 +994,7 @@
|
|||||||
<Function name='Open'/>
|
<Function name='Open'/>
|
||||||
<Function name='PutLine'/>
|
<Function name='PutLine'/>
|
||||||
<Function name='Read'/>
|
<Function name='Read'/>
|
||||||
|
<Function name='ReadBytes'/>
|
||||||
<Function name='Seek'/>
|
<Function name='Seek'/>
|
||||||
<Function name='Tell'/>
|
<Function name='Tell'/>
|
||||||
<Function name='Write'/>
|
<Function name='Write'/>
|
||||||
@@ -990,11 +1026,15 @@
|
|||||||
<Function name='FinishRenderingTo'/>
|
<Function name='FinishRenderingTo'/>
|
||||||
</Class>
|
</Class>
|
||||||
<Class base='BitmapText' name='RollingNumbers'>
|
<Class base='BitmapText' name='RollingNumbers'>
|
||||||
|
<Function name='Load'/>
|
||||||
<Function name='targetnumber'/>
|
<Function name='targetnumber'/>
|
||||||
</Class>
|
</Class>
|
||||||
<Class base='BitmapText' name='ScoreDisplayAliveTime'/>
|
<Class base='BitmapText' name='ScoreDisplayAliveTime'/>
|
||||||
<Class base='BitmapText' name='ScoreDisplayCalories'/>
|
<Class base='BitmapText' name='ScoreDisplayCalories'/>
|
||||||
<Class base='ScreenWithMenuElements' name='ScreenAttract'/>
|
<Class base='ScreenWithMenuElements' name='ScreenAttract'/>
|
||||||
|
<Class base='ScreenWithMenuElements' name='ScreenEdit'>
|
||||||
|
<Function name='GetEditState'/>
|
||||||
|
</Class>
|
||||||
<Class base='ScreenWithMenuElements' name='ScreenEvaluation'>
|
<Class base='ScreenWithMenuElements' name='ScreenEvaluation'>
|
||||||
<Function name='GetStageStats'/>
|
<Function name='GetStageStats'/>
|
||||||
</Class>
|
</Class>
|
||||||
@@ -1013,6 +1053,7 @@
|
|||||||
<Class name='ScreenManager'>
|
<Class name='ScreenManager'>
|
||||||
<Function name='AddNewScreenToTop'/>
|
<Function name='AddNewScreenToTop'/>
|
||||||
<Function name='GetTopScreen'/>
|
<Function name='GetTopScreen'/>
|
||||||
|
<Function name='ReloadOverlayScreens'/>
|
||||||
<Function name='ScreenClassExists'/>
|
<Function name='ScreenClassExists'/>
|
||||||
<Function name='ScreenIsPrepped'/>
|
<Function name='ScreenIsPrepped'/>
|
||||||
<Function name='SetNewScreen'/>
|
<Function name='SetNewScreen'/>
|
||||||
@@ -1060,6 +1101,9 @@
|
|||||||
<Function name='GetProfileIndex'/>
|
<Function name='GetProfileIndex'/>
|
||||||
<Function name='SetProfileIndex'/>
|
<Function name='SetProfileIndex'/>
|
||||||
</Class>
|
</Class>
|
||||||
|
<Class base='ScreenWithMenuElements' name='ScreenTextEntry'>
|
||||||
|
<Function name='Load'/>
|
||||||
|
</Class>
|
||||||
<Class base='Screen' name='ScreenWithMenuElements'>
|
<Class base='Screen' name='ScreenWithMenuElements'>
|
||||||
<Function name='Cancel'/>
|
<Function name='Cancel'/>
|
||||||
</Class>
|
</Class>
|
||||||
@@ -1102,6 +1146,7 @@
|
|||||||
<Function name='HasStepsType'/>
|
<Function name='HasStepsType'/>
|
||||||
<Function name='HasStepsTypeAndDifficulty'/>
|
<Function name='HasStepsTypeAndDifficulty'/>
|
||||||
<Function name='IsDisplayBpmConstant'/>
|
<Function name='IsDisplayBpmConstant'/>
|
||||||
|
<Function name='IsDisplayBpmRandom'/>
|
||||||
<Function name='IsDisplayBpmSecret'/>
|
<Function name='IsDisplayBpmSecret'/>
|
||||||
<Function name='IsEasy'/>
|
<Function name='IsEasy'/>
|
||||||
<Function name='IsEnabled'/>
|
<Function name='IsEnabled'/>
|
||||||
@@ -1132,6 +1177,7 @@
|
|||||||
<Function name='GetSongFromSteps'/>
|
<Function name='GetSongFromSteps'/>
|
||||||
<Function name='GetSongGroupColor'/>
|
<Function name='GetSongGroupColor'/>
|
||||||
<Function name='GetSongGroupNames'/>
|
<Function name='GetSongGroupNames'/>
|
||||||
|
<Function name='GetSongRank'/>
|
||||||
<Function name='GetSongsInGroup'/>
|
<Function name='GetSongsInGroup'/>
|
||||||
<Function name='SetPreferredCourses'/>
|
<Function name='SetPreferredCourses'/>
|
||||||
<Function name='SetPreferredSongs'/>
|
<Function name='SetPreferredSongs'/>
|
||||||
@@ -1150,6 +1196,7 @@
|
|||||||
<Function name='LoadFromCurrentSongBackground'/>
|
<Function name='LoadFromCurrentSongBackground'/>
|
||||||
<Function name='LoadFromSongBackground'/>
|
<Function name='LoadFromSongBackground'/>
|
||||||
<Function name='LoadFromSongBanner'/>
|
<Function name='LoadFromSongBanner'/>
|
||||||
|
<Function name='SetAllStateDelays'/>
|
||||||
<Function name='SetCustomImageRect'/>
|
<Function name='SetCustomImageRect'/>
|
||||||
<Function name='SetEffectMode'/>
|
<Function name='SetEffectMode'/>
|
||||||
<Function name='SetTexture'/>
|
<Function name='SetTexture'/>
|
||||||
@@ -1190,6 +1237,7 @@
|
|||||||
</Class>
|
</Class>
|
||||||
<Class name='Steps'>
|
<Class name='Steps'>
|
||||||
<Function name='GetDescription'/>
|
<Function name='GetDescription'/>
|
||||||
|
<Function name='GetAuthorCredit'/>
|
||||||
<Function name='GetDifficulty'/>
|
<Function name='GetDifficulty'/>
|
||||||
<Function name='GetFilename'/>
|
<Function name='GetFilename'/>
|
||||||
<Function name='GetHash'/>
|
<Function name='GetHash'/>
|
||||||
@@ -1210,9 +1258,11 @@
|
|||||||
<Function name='setfromgamestate'/>
|
<Function name='setfromgamestate'/>
|
||||||
</Class>
|
</Class>
|
||||||
<Class name='Style'>
|
<Class name='Style'>
|
||||||
|
<Function name='ColumnsPerPlayer'/>
|
||||||
<Function name='GetName'/>
|
<Function name='GetName'/>
|
||||||
<Function name='GetStepsType'/>
|
<Function name='GetStepsType'/>
|
||||||
<Function name='GetStyleType'/>
|
<Function name='GetStyleType'/>
|
||||||
|
<Function name='NeedsZoomOutWith2Players'/>
|
||||||
</Class>
|
</Class>
|
||||||
<Class base='ActorFrame' name='TextBanner'>
|
<Class base='ActorFrame' name='TextBanner'>
|
||||||
<Function name='Load'/>
|
<Function name='Load'/>
|
||||||
@@ -1251,14 +1301,12 @@
|
|||||||
</Class>
|
</Class>
|
||||||
<Class name='Trail'>
|
<Class name='Trail'>
|
||||||
<Function name='GetArtists'/>
|
<Function name='GetArtists'/>
|
||||||
<Function name='GetDescription'/>
|
|
||||||
<Function name='GetDifficulty'/>
|
<Function name='GetDifficulty'/>
|
||||||
<Function name='GetEntries'/>
|
|
||||||
<Function name='GetMeter'/>
|
<Function name='GetMeter'/>
|
||||||
<Function name='GetRadarValues'/>
|
<Function name='GetRadarValues'/>
|
||||||
<Function name='GetStepsType'/>
|
<Function name='GetStepsType'/>
|
||||||
|
<Function name='GetTrailEntries'/>
|
||||||
<Function name='GetTrailEntry'/>
|
<Function name='GetTrailEntry'/>
|
||||||
<Function name='IsAPlayerEdit'/>
|
|
||||||
</Class>
|
</Class>
|
||||||
<Class name='TrailEntry'>
|
<Class name='TrailEntry'>
|
||||||
<Function name='GetNormalModifiers'/>
|
<Function name='GetNormalModifiers'/>
|
||||||
@@ -1426,6 +1474,12 @@
|
|||||||
<EnumValue name=''EditMode_Home'' value='2'/>
|
<EnumValue name=''EditMode_Home'' value='2'/>
|
||||||
<EnumValue name=''EditMode_Full'' value='3'/>
|
<EnumValue name=''EditMode_Full'' value='3'/>
|
||||||
</Enum>
|
</Enum>
|
||||||
|
<Enum name='EditState'>
|
||||||
|
<EnumValue name=''EditState_Edit'' value='0'/>
|
||||||
|
<EnumValue name=''EditState_Record'' value='1'/>
|
||||||
|
<EnumValue name=''EditState_RecordPaused'' value='2'/>
|
||||||
|
<EnumValue name=''EditState_Playing'' value='3'/>
|
||||||
|
</Enum>
|
||||||
<Enum name='EffectMode'>
|
<Enum name='EffectMode'>
|
||||||
<EnumValue name=''EffectMode_Normal'' value='0'/>
|
<EnumValue name=''EffectMode_Normal'' value='0'/>
|
||||||
<EnumValue name=''EffectMode_Unpremultiply'' value='1'/>
|
<EnumValue name=''EffectMode_Unpremultiply'' value='1'/>
|
||||||
@@ -1806,10 +1860,11 @@
|
|||||||
<EnumValue name=''StepsType_Techno_Single8'' value='25'/>
|
<EnumValue name=''StepsType_Techno_Single8'' value='25'/>
|
||||||
<EnumValue name=''StepsType_Techno_Double4'' value='26'/>
|
<EnumValue name=''StepsType_Techno_Double4'' value='26'/>
|
||||||
<EnumValue name=''StepsType_Techno_Double5'' value='27'/>
|
<EnumValue name=''StepsType_Techno_Double5'' value='27'/>
|
||||||
<EnumValue name=''StepsType_Pnm_Five'' value='28'/>
|
<EnumValue name=''StepsType_Techno_Double8'' value='28'/>
|
||||||
<EnumValue name=''StepsType_Pnm_Nine'' value='29'/>
|
<EnumValue name=''StepsType_Pnm_Five'' value='29'/>
|
||||||
<EnumValue name=''StepsType_Guitar_Five'' value='30'/>
|
<EnumValue name=''StepsType_Pnm_Nine'' value='30'/>
|
||||||
<EnumValue name=''StepsType_Lights_Cabinet'' value='31'/>
|
<EnumValue name=''StepsType_Guitar_Five'' value='31'/>
|
||||||
|
<EnumValue name=''StepsType_Lights_Cabinet'' value='32'/>
|
||||||
</Enum>
|
</Enum>
|
||||||
<Enum name='StyleType'>
|
<Enum name='StyleType'>
|
||||||
<EnumValue name=''StyleType_OnePlayerOneSide'' value='0'/>
|
<EnumValue name=''StyleType_OnePlayerOneSide'' value='0'/>
|
||||||
@@ -1878,16 +1933,16 @@
|
|||||||
</Enum>
|
</Enum>
|
||||||
</Enums>
|
</Enums>
|
||||||
<Constants>
|
<Constants>
|
||||||
<Constant name='ASPECT_SCALE_FACTOR' value='854'/>
|
<Constant name='ASPECT_SCALE_FACTOR' value='640'/>
|
||||||
<Constant name='NUM_PLAYERS' value='2'/>
|
<Constant name='NUM_PLAYERS' value='2'/>
|
||||||
<Constant name='SCREEN_BOTTOM' value='480'/>
|
<Constant name='SCREEN_BOTTOM' value='480'/>
|
||||||
<Constant name='SCREEN_CENTER_X' value='427'/>
|
<Constant name='SCREEN_CENTER_X' value='320'/>
|
||||||
<Constant name='SCREEN_CENTER_Y' value='240'/>
|
<Constant name='SCREEN_CENTER_Y' value='240'/>
|
||||||
<Constant name='SCREEN_HEIGHT' value='480'/>
|
<Constant name='SCREEN_HEIGHT' value='480'/>
|
||||||
<Constant name='SCREEN_LEFT' value='0'/>
|
<Constant name='SCREEN_LEFT' value='0'/>
|
||||||
<Constant name='SCREEN_RIGHT' value='854'/>
|
<Constant name='SCREEN_RIGHT' value='640'/>
|
||||||
<Constant name='SCREEN_TOP' value='0'/>
|
<Constant name='SCREEN_TOP' value='0'/>
|
||||||
<Constant name='SCREEN_WIDTH' value='854'/>
|
<Constant name='SCREEN_WIDTH' value='640'/>
|
||||||
<Constant name='PLAYER_1' value=''PlayerNumber_P1''/>
|
<Constant name='PLAYER_1' value=''PlayerNumber_P1''/>
|
||||||
<Constant name='PLAYER_2' value=''PlayerNumber_P2''/>
|
<Constant name='PLAYER_2' value=''PlayerNumber_P2''/>
|
||||||
<Constant name='_VERSION' value=''Lua 5.1''/>
|
<Constant name='_VERSION' value=''Lua 5.1''/>
|
||||||
@@ -1896,9 +1951,9 @@
|
|||||||
<Constant name='left' value=''HorizAlign_Left''/>
|
<Constant name='left' value=''HorizAlign_Left''/>
|
||||||
<Constant name='middle' value=''VertAlign_Middle''/>
|
<Constant name='middle' value=''VertAlign_Middle''/>
|
||||||
<Constant name='right' value=''HorizAlign_Right''/>
|
<Constant name='right' value=''HorizAlign_Right''/>
|
||||||
<Constant name='sGame' value=''kb7''/>
|
<Constant name='sGame' value=''dance''/>
|
||||||
<Constant name='top' value=''VertAlign_Top''/>
|
<Constant name='top' value=''VertAlign_Top''/>
|
||||||
</Constants>
|
</Constants>
|
||||||
<Version>sm-ssc v1.0</Version>
|
<Version>sm-ssc v1.2.1</Version>
|
||||||
<Date>2010-09-10</Date>
|
<Date>2011-02-10</Date>
|
||||||
</Lua>
|
</Lua>
|
||||||
|
|||||||
@@ -20,7 +20,6 @@
|
|||||||
<Link class='ENUM' function='CoinMode' /> -> CoinMode
|
<Link class='ENUM' function='CoinMode' /> -> CoinMode
|
||||||
-->
|
-->
|
||||||
|
|
||||||
|
|
||||||
<Documentation xmlns='http://www.stepmania.com' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.stepmania.com Lua.xsd'>
|
<Documentation xmlns='http://www.stepmania.com' xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xsi:schemaLocation='http://www.stepmania.com Lua.xsd'>
|
||||||
<!-- Global functions -->
|
<!-- Global functions -->
|
||||||
<GlobalFunctions>
|
<GlobalFunctions>
|
||||||
@@ -48,6 +47,9 @@
|
|||||||
<Function name='clamp' return='float' arguments='float fValue, float fLow, float fHigh'>
|
<Function name='clamp' return='float' arguments='float fValue, float fLow, float fHigh'>
|
||||||
CLAMP is an all-female Japanese mangaka group that formed in the mid 1980s. Erm, I mean... Clamps <code>fValue</code> between <code>fLow</code> and <code>fHigh</code>.
|
CLAMP is an all-female Japanese mangaka group that formed in the mid 1980s. Erm, I mean... Clamps <code>fValue</code> between <code>fLow</code> and <code>fHigh</code>.
|
||||||
</Function>
|
</Function>
|
||||||
|
<Function name='CloseConnection' sm-ssc='true' return='void' arguments=''>
|
||||||
|
Closes any connection to an online server.
|
||||||
|
</Function>
|
||||||
<Function name='collectgarbage' return='void' arguments='string opt, float arg'>
|
<Function name='collectgarbage' return='void' arguments='string opt, float arg'>
|
||||||
A generic interface to Lua's garbage collector. Performs different functions based on the value of <code>opt</code>.
|
A generic interface to Lua's garbage collector. Performs different functions based on the value of <code>opt</code>.
|
||||||
</Function>
|
</Function>
|
||||||
@@ -510,12 +512,18 @@
|
|||||||
<Function name='baserotationz' return='void' arguments='float rot'>
|
<Function name='baserotationz' return='void' arguments='float rot'>
|
||||||
Sets the Actor's base Z rotation to <code>rot</code>.
|
Sets the Actor's base Z rotation to <code>rot</code>.
|
||||||
</Function>
|
</Function>
|
||||||
|
<Function name='basezoom' sm-ssc='true' return='void' arguments='float zoom'>
|
||||||
|
Sets the Actor's base zoom to <code>zoom</code>.
|
||||||
|
</Function>
|
||||||
<Function name='basezoomx' return='void' arguments='float zoom'>
|
<Function name='basezoomx' return='void' arguments='float zoom'>
|
||||||
Sets the Actor's base X zoom to <code>zoom</code>.
|
Sets the Actor's base X zoom to <code>zoom</code>.
|
||||||
</Function>
|
</Function>
|
||||||
<Function name='basezoomy' return='void' arguments='float zoom'>
|
<Function name='basezoomy' return='void' arguments='float zoom'>
|
||||||
Sets the Actor's base Y zoom to <code>zoom</code>.
|
Sets the Actor's base Y zoom to <code>zoom</code>.
|
||||||
</Function>
|
</Function>
|
||||||
|
<Function name='basezoomz' sm-ssc='true' return='void' arguments='float zoom'>
|
||||||
|
Sets the Actor's base Z zoom to <code>zoom</code>.
|
||||||
|
</Function>
|
||||||
<Function name='blend' return='void' arguments='BlendMode mode'>
|
<Function name='blend' return='void' arguments='BlendMode mode'>
|
||||||
Sets the Actor to use the specified blend mode.
|
Sets the Actor to use the specified blend mode.
|
||||||
</Function>
|
</Function>
|
||||||
@@ -657,7 +665,7 @@
|
|||||||
<Function name='GetEffectDelta' return='float' arguments=''>
|
<Function name='GetEffectDelta' return='float' arguments=''>
|
||||||
Returns the Actor's current effect delta.
|
Returns the Actor's current effect delta.
|
||||||
</Function>
|
</Function>
|
||||||
<Function name='geteffectfagnitude' return='float' arguments=''>
|
<Function name='geteffectmagnitude' return='float' arguments=''>
|
||||||
Returns the Actor's current effect magnitude as three floats (not one; I hate Lua.xsd).
|
Returns the Actor's current effect magnitude as three floats (not one; I hate Lua.xsd).
|
||||||
</Function>
|
</Function>
|
||||||
<Function name='GetGlow' sm-ssc='true' return='color' arguments=''>
|
<Function name='GetGlow' sm-ssc='true' return='color' arguments=''>
|
||||||
@@ -711,6 +719,9 @@
|
|||||||
<Function name='halign' return='void' arguments='float fAlign'>
|
<Function name='halign' return='void' arguments='float fAlign'>
|
||||||
Set the fractional horizontal alignment of the Actor according to <code>fAlign</code> which should be a float in the range 0..1. An alignment of 0 is left aligned while an alignment of 1 is right aligned. See <Link function='horizalign' /> for the common case.
|
Set the fractional horizontal alignment of the Actor according to <code>fAlign</code> which should be a float in the range 0..1. An alignment of 0 is left aligned while an alignment of 1 is right aligned. See <Link function='horizalign' /> for the common case.
|
||||||
</Function>
|
</Function>
|
||||||
|
<Function name='hibernate' return='void' arguments='float fTime'>
|
||||||
|
Hides the Actor for the specified amount of time.
|
||||||
|
</Function>
|
||||||
<Function name='hidden' return='void' theme='_fallback' arguments='bool b'>
|
<Function name='hidden' return='void' theme='_fallback' arguments='bool b'>
|
||||||
[Deprecated] Compatibility alias for the hidden command, which was removed in sm-ssc. Use <Link function='visible' /> instead.
|
[Deprecated] Compatibility alias for the hidden command, which was removed in sm-ssc. Use <Link function='visible' /> instead.
|
||||||
</Function>
|
</Function>
|
||||||
@@ -732,6 +743,12 @@
|
|||||||
<Function name='name' return='void' arguments='string sName'>
|
<Function name='name' return='void' arguments='string sName'>
|
||||||
Sets the Actor's name to <code>sName</code>.
|
Sets the Actor's name to <code>sName</code>.
|
||||||
</Function>
|
</Function>
|
||||||
|
<Function name='pause' return='void' arguments=''>
|
||||||
|
Stops the Actor's movement. (Usually used for Sprites or Models.)
|
||||||
|
</Function>
|
||||||
|
<Function name='play' return='void' arguments=''>
|
||||||
|
Starts the Actor's movement. (Usually used for Sprites or Models.)
|
||||||
|
</Function>
|
||||||
<Function name='playcommand' return='void' arguments='string sCommandName'>
|
<Function name='playcommand' return='void' arguments='string sCommandName'>
|
||||||
Plays a command named <code>sCommandName</code>.
|
Plays a command named <code>sCommandName</code>.
|
||||||
</Function>
|
</Function>
|
||||||
@@ -862,6 +879,9 @@
|
|||||||
Zooms the Actor to <code>zoom</code> scale on the Z axis.
|
Zooms the Actor to <code>zoom</code> scale on the Z axis.
|
||||||
</Function>
|
</Function>
|
||||||
<!-- addons from scripts that come with sm-ssc (non-compat) -->
|
<!-- addons from scripts that come with sm-ssc (non-compat) -->
|
||||||
|
<Function name='bezier' theme='_fallback' return='void' arguments=''>
|
||||||
|
[02 Actor.lua]
|
||||||
|
</Function>
|
||||||
<Function name='CenterX' theme='_fallback' return='void' arguments=''>
|
<Function name='CenterX' theme='_fallback' return='void' arguments=''>
|
||||||
[03 ProductivityHelpers.lua] Centers an Actor on the X axis. (equivalent to <code>x,SCREEN_CENTER_X</code>)
|
[03 ProductivityHelpers.lua] Centers an Actor on the X axis. (equivalent to <code>x,SCREEN_CENTER_X</code>)
|
||||||
</Function>
|
</Function>
|
||||||
@@ -1101,6 +1121,12 @@
|
|||||||
</Function>
|
</Function>
|
||||||
</Class>
|
</Class>
|
||||||
<Class name='Banner'>
|
<Class name='Banner'>
|
||||||
|
<Function name='GetScrolling' sm-ssc='true' return='bool' arguments=''>
|
||||||
|
Returns <code>true</code> if the Banner is currently scrolling.
|
||||||
|
</Function>
|
||||||
|
<Function name='GetPercentScrolling' sm-ssc='true' return='float' arguments=''>
|
||||||
|
<!-- todo -->
|
||||||
|
</Function>
|
||||||
<Function name='LoadBackgroundFromUnlockEntry' return='void' arguments='UnlockEntry pUE'>
|
<Function name='LoadBackgroundFromUnlockEntry' return='void' arguments='UnlockEntry pUE'>
|
||||||
Loads the background from an UnlockEntry.
|
Loads the background from an UnlockEntry.
|
||||||
</Function>
|
</Function>
|
||||||
@@ -1122,6 +1148,9 @@
|
|||||||
<Function name='LoadFromSongGroup' return='void' arguments='string s'>
|
<Function name='LoadFromSongGroup' return='void' arguments='string s'>
|
||||||
Loads a Banner from a specified Song Group.
|
Loads a Banner from a specified Song Group.
|
||||||
</Function>
|
</Function>
|
||||||
|
<Function name='LoadFromSortOrder' return='void' arguments='SortOrder so'>
|
||||||
|
Loads a Banner from a specified SortOrder.
|
||||||
|
</Function>
|
||||||
<Function name='LoadIconFromCharacter' return='void' arguments='Character pCharacter'>
|
<Function name='LoadIconFromCharacter' return='void' arguments='Character pCharacter'>
|
||||||
Loads an icon from the specified Character.
|
Loads an icon from the specified Character.
|
||||||
</Function>
|
</Function>
|
||||||
@@ -1131,6 +1160,9 @@
|
|||||||
<Function name='ScaleToClipped' return='void' arguments='float fWidth, float fHeight'>
|
<Function name='ScaleToClipped' return='void' arguments='float fWidth, float fHeight'>
|
||||||
See <Link class='Sprite' function='scaletoclipped' />.
|
See <Link class='Sprite' function='scaletoclipped' />.
|
||||||
</Function>
|
</Function>
|
||||||
|
<Function name='SetScrolling' sm-ssc='true' return='void' arguments='bool bScroll'>
|
||||||
|
<!-- todo -->
|
||||||
|
</Function>
|
||||||
</Class>
|
</Class>
|
||||||
<Class name='BitmapText'>
|
<Class name='BitmapText'>
|
||||||
<Function name='AddAttribute' return='void' arguments='int iPos, Attribute attr'>
|
<Function name='AddAttribute' return='void' arguments='int iPos, Attribute attr'>
|
||||||
@@ -1223,6 +1255,9 @@
|
|||||||
<Function name='GetDanceAnimationPath' sm-ssc='true' return='string' arguments=''>
|
<Function name='GetDanceAnimationPath' sm-ssc='true' return='string' arguments=''>
|
||||||
Returns the path of the dancing animation of this character.
|
Returns the path of the dancing animation of this character.
|
||||||
</Function>
|
</Function>
|
||||||
|
<Function name='GetDisplayName' sm-ssc='true' return='string' arguments=''>
|
||||||
|
Returns the character's display name.
|
||||||
|
</Function>
|
||||||
<Function name='GetIconPath' return='string' arguments=''>
|
<Function name='GetIconPath' return='string' arguments=''>
|
||||||
Returns the path to the character's icon.
|
Returns the path to the character's icon.
|
||||||
</Function>
|
</Function>
|
||||||
@@ -1413,6 +1448,12 @@
|
|||||||
</Function>
|
</Function>
|
||||||
</Class>
|
</Class>
|
||||||
<Class name='GameCommand'>
|
<Class name='GameCommand'>
|
||||||
|
<Function name='GetCharacter' sm-ssc='true' return='Character' arguments=''>
|
||||||
|
Returns any Character associated with this item (or <code>nil</code> if there isn't one).
|
||||||
|
</Function>
|
||||||
|
<Function name='GetCourse' sm-ssc='true' return='Course' arguments=''>
|
||||||
|
Returns any Course that may have been set.
|
||||||
|
</Function>
|
||||||
<Function name='GetIndex' return='int' arguments=''>
|
<Function name='GetIndex' return='int' arguments=''>
|
||||||
Returns the index of this item.
|
Returns the index of this item.
|
||||||
</Function>
|
</Function>
|
||||||
@@ -1425,18 +1466,27 @@
|
|||||||
<Function name='GetProfileID' return='string' arguments=''>
|
<Function name='GetProfileID' return='string' arguments=''>
|
||||||
Returns any Profile ID that may have been set.
|
Returns any Profile ID that may have been set.
|
||||||
</Function>
|
</Function>
|
||||||
|
<Function name='GetScreen' sm-ssc='true' return='string' arguments=''>
|
||||||
|
Returns any screen that may have been set as a string.
|
||||||
|
</Function>
|
||||||
<Function name='GetSong' return='Song' arguments=''>
|
<Function name='GetSong' return='Song' arguments=''>
|
||||||
Returns any Song that may have been set.
|
Returns any Song that may have been set.
|
||||||
</Function>
|
</Function>
|
||||||
<Function name='GetSongGroup' return='string' arguments=''>
|
<Function name='GetSongGroup' return='string' arguments=''>
|
||||||
Returns the name of any song group that may have been set.
|
Returns the name of any song group that may have been set.
|
||||||
</Function>
|
</Function>
|
||||||
|
<Function name='GetSteps' sm-ssc='true' return='Steps' arguments=''>
|
||||||
|
Returns any Steps that may have been set.
|
||||||
|
</Function>
|
||||||
<Function name='GetStyle' return='Style' arguments=''>
|
<Function name='GetStyle' return='Style' arguments=''>
|
||||||
Returns any Style that may have been set.
|
Returns any Style that may have been set.
|
||||||
</Function>
|
</Function>
|
||||||
<Function name='GetText' return='string' arguments=''>
|
<Function name='GetText' return='string' arguments=''>
|
||||||
Returns the display text.
|
Returns the display text.
|
||||||
</Function>
|
</Function>
|
||||||
|
<Function name='GetTrail' sm-ssc='true' return='Trail' arguments=''>
|
||||||
|
Returns any Trail that may have been set.
|
||||||
|
</Function>
|
||||||
<Function name='GetUrl' sm-ssc='true' return='string' arguments=''>
|
<Function name='GetUrl' sm-ssc='true' return='string' arguments=''>
|
||||||
Returns any Url that may have been set.
|
Returns any Url that may have been set.
|
||||||
</Function>
|
</Function>
|
||||||
@@ -1479,6 +1529,9 @@
|
|||||||
<Function name='Env' return='table' arguments=''>
|
<Function name='Env' return='table' arguments=''>
|
||||||
Returns the environment table. See <Link class='GameCommand' />.
|
Returns the environment table. See <Link class='GameCommand' />.
|
||||||
</Function>
|
</Function>
|
||||||
|
<Function name='GetCharacter' sm-ssc='true' return='Character' arguments='PlayerNumber pn'>
|
||||||
|
Returns the current <Link class='Character' /> for the specified <Link class='ENUM' function='PlayerNumber' />.
|
||||||
|
</Function>
|
||||||
<Function name='GetCoinMode' return='CoinMode'>
|
<Function name='GetCoinMode' return='CoinMode'>
|
||||||
Returns the current <Link class='ENUM' function='CoinMode' />.
|
Returns the current <Link class='ENUM' function='CoinMode' />.
|
||||||
</Function>
|
</Function>
|
||||||
@@ -1710,6 +1763,9 @@
|
|||||||
<Function name='SaveLocalData' return='void' arguments=''>
|
<Function name='SaveLocalData' return='void' arguments=''>
|
||||||
Saves the bookkeeping and machine profile data.
|
Saves the bookkeeping and machine profile data.
|
||||||
</Function>
|
</Function>
|
||||||
|
<Function name='SetCharacter' sm-ssc='true' return='void' arguments='PlayerNumber pn, string sCharID'>
|
||||||
|
Sets the current <Link class='Character' /> for the specified <Link class='ENUM' function='PlayerNumber' />.
|
||||||
|
</Function>
|
||||||
<Function name='SetCurrentCourse' return='void' arguments='Course course'>
|
<Function name='SetCurrentCourse' return='void' arguments='Course course'>
|
||||||
Sets the current Course to <code>course</code>.
|
Sets the current Course to <code>course</code>.
|
||||||
</Function>
|
</Function>
|
||||||
@@ -1860,6 +1916,9 @@
|
|||||||
<Function name='GetLivesLeft' sm-ssc='true' return='int' arguments=''>
|
<Function name='GetLivesLeft' sm-ssc='true' return='int' arguments=''>
|
||||||
Returns the number of lives remaining.
|
Returns the number of lives remaining.
|
||||||
</Function>
|
</Function>
|
||||||
|
<Function name='GetTotalLives' sm-ssc='true' return='int' arguments=''>
|
||||||
|
|
||||||
|
</Function>
|
||||||
</Class>
|
</Class>
|
||||||
<Class name='MemoryCardManager'>
|
<Class name='MemoryCardManager'>
|
||||||
<Function name='GetCardLocked' sm-ssc='true' return='bool' arguments='PlayerNumber pn'>
|
<Function name='GetCardLocked' sm-ssc='true' return='bool' arguments='PlayerNumber pn'>
|
||||||
@@ -2109,6 +2168,9 @@
|
|||||||
<Function name='IsDisqualified' return='bool' arguments=''>
|
<Function name='IsDisqualified' return='bool' arguments=''>
|
||||||
Returns <code>true</code> if the player was disqualified from ranking.
|
Returns <code>true</code> if the player was disqualified from ranking.
|
||||||
</Function>
|
</Function>
|
||||||
|
<Function name='SetScore' sm-ssc='true' return='void' arguments='int iScore'>
|
||||||
|
Sets the Player's score to <code>iScore</code>.
|
||||||
|
</Function>
|
||||||
</Class>
|
</Class>
|
||||||
<Class name='PlayerState'>
|
<Class name='PlayerState'>
|
||||||
<Function name='GetHealthState' sm-ssc='true' return='HealthState' arguments=''>
|
<Function name='GetHealthState' sm-ssc='true' return='HealthState' arguments=''>
|
||||||
@@ -2250,6 +2312,9 @@
|
|||||||
<Function name='IsCodeUnlocked' return='bool' arguments='string sUnlockEntryID'>
|
<Function name='IsCodeUnlocked' return='bool' arguments='string sUnlockEntryID'>
|
||||||
Returns <code>true</code> if the specified code <code>sUnlockEntryID</code> is unlocked.
|
Returns <code>true</code> if the specified code <code>sUnlockEntryID</code> is unlocked.
|
||||||
</Function>
|
</Function>
|
||||||
|
<Function name='SetCharacter' sm-ssc='true' return='void' arguments='string sCharID'>
|
||||||
|
Sets the current <Link class='Character' /> for the Profile.
|
||||||
|
</Function>
|
||||||
<Function name='SetGoalCalories' return='void' arguments='int iCals'>
|
<Function name='SetGoalCalories' return='void' arguments='int iCals'>
|
||||||
Sets the goal to <code>iCals</code> calories.
|
Sets the goal to <code>iCals</code> calories.
|
||||||
</Function>
|
</Function>
|
||||||
@@ -2353,6 +2418,9 @@
|
|||||||
<Function name='Read' return='string' arguments=''>
|
<Function name='Read' return='string' arguments=''>
|
||||||
Returns a string containing the entire contents of the file.
|
Returns a string containing the entire contents of the file.
|
||||||
</Function>
|
</Function>
|
||||||
|
<Function name='ReadBytes' sm-ssc='true' return='string' arguments='int length'>
|
||||||
|
Returns <code>length</code> bytes from the RageFile's current position.
|
||||||
|
</Function>
|
||||||
<Function name='Seek' return='int' arguments=''>
|
<Function name='Seek' return='int' arguments=''>
|
||||||
Seeks to a position in the file and returns the new position.
|
Seeks to a position in the file and returns the new position.
|
||||||
</Function>
|
</Function>
|
||||||
@@ -2414,6 +2482,9 @@
|
|||||||
</Function>
|
</Function>
|
||||||
</Class>
|
</Class>
|
||||||
<Class name='RollingNumbers'>
|
<Class name='RollingNumbers'>
|
||||||
|
<Function name='Load' sm-ssc='true' return='void' arguments='string sGroupName'>
|
||||||
|
Loads the metrics for this RollingNumbers from <code>sGroupName</code>.
|
||||||
|
</Function>
|
||||||
<Function name='targetnumber' return='void' arguments='float f'>
|
<Function name='targetnumber' return='void' arguments='float f'>
|
||||||
Sets the target number to <code>f</code>.
|
Sets the target number to <code>f</code>.
|
||||||
</Function>
|
</Function>
|
||||||
@@ -2432,6 +2503,11 @@
|
|||||||
Posts a message with the text <code>sScreenMsg</code> to the Screen.
|
Posts a message with the text <code>sScreenMsg</code> to the Screen.
|
||||||
</Function>
|
</Function>
|
||||||
</Class>
|
</Class>
|
||||||
|
<Class name='ScreenEdit'>
|
||||||
|
<Function name='GetEditState' sm-ssc='true' return='EditState' arguments=''>
|
||||||
|
Returns the current <Link class='ENUM' function='EditState' />.
|
||||||
|
</Function>
|
||||||
|
</Class>
|
||||||
<Class name='ScreenEvaluation'>
|
<Class name='ScreenEvaluation'>
|
||||||
<Function name='GetStageStats' return='StageStats' arguments=''>
|
<Function name='GetStageStats' return='StageStats' arguments=''>
|
||||||
Returns the current StageStats.
|
Returns the current StageStats.
|
||||||
@@ -2475,6 +2551,9 @@
|
|||||||
<Function name='GetTopScreen' return='Screen' arguments=''>
|
<Function name='GetTopScreen' return='Screen' arguments=''>
|
||||||
Gets the screen at the top of the screen stack.
|
Gets the screen at the top of the screen stack.
|
||||||
</Function>
|
</Function>
|
||||||
|
<Function name='ReloadOverlayScreens' sm-ssc='true' return='void' arguments=''>
|
||||||
|
Reloads any loaded overlay screens.
|
||||||
|
</Function>
|
||||||
<Function name='ScreenClassExists' return='bool' arguments='string s'>
|
<Function name='ScreenClassExists' return='bool' arguments='string s'>
|
||||||
Returns <code>true</code> if screen class <code>s</code> exists.
|
Returns <code>true</code> if screen class <code>s</code> exists.
|
||||||
</Function>
|
</Function>
|
||||||
@@ -2581,6 +2660,14 @@
|
|||||||
Sets the profile index of Player <code>pn</code> to <code>iProfileIndex</code>.
|
Sets the profile index of Player <code>pn</code> to <code>iProfileIndex</code>.
|
||||||
</Function>
|
</Function>
|
||||||
</Class>
|
</Class>
|
||||||
|
<Class name='ScreenTextEntry'>
|
||||||
|
<Description>
|
||||||
|
See the Changelog for details on TextEntrySetting's format.
|
||||||
|
</Description>
|
||||||
|
<Function name='Load' sm-ssc='true' return='void' arguments='TextEntrySettings args'>
|
||||||
|
Sets up a ScreenTextEntry's values.
|
||||||
|
</Function>
|
||||||
|
</Class>
|
||||||
<Class name='ScreenWithMenuElements'>
|
<Class name='ScreenWithMenuElements'>
|
||||||
<Function name='Cancel' return='void' arguments=''>
|
<Function name='Cancel' return='void' arguments=''>
|
||||||
Tells the screen to go to the previous screen.
|
Tells the screen to go to the previous screen.
|
||||||
@@ -2698,6 +2785,9 @@
|
|||||||
<Function name='IsDisplayBpmConstant' sm-ssc='true' return='bool' arguments=''>
|
<Function name='IsDisplayBpmConstant' sm-ssc='true' return='bool' arguments=''>
|
||||||
Returns <code>true</code> if the song's DisplayBPM is constant.
|
Returns <code>true</code> if the song's DisplayBPM is constant.
|
||||||
</Function>
|
</Function>
|
||||||
|
<Function name='IsDisplayBpmRandom' sm-ssc='true' return='bool' arguments=''>
|
||||||
|
Returns <code>true</code> if the song's DisplayBPM is random.
|
||||||
|
</Function>
|
||||||
<Function name='IsDisplayBpmSecret' sm-ssc='true' return='bool' arguments=''>
|
<Function name='IsDisplayBpmSecret' sm-ssc='true' return='bool' arguments=''>
|
||||||
Returns <code>true</code> if the song's DisplayBPM is secret.
|
Returns <code>true</code> if the song's DisplayBPM is secret.
|
||||||
</Function>
|
</Function>
|
||||||
@@ -2737,7 +2827,7 @@
|
|||||||
Returns an array of all the installed songs.
|
Returns an array of all the installed songs.
|
||||||
</Function>
|
</Function>
|
||||||
<Function name='GetCourseColor' return='color' arguments='Course c'>
|
<Function name='GetCourseColor' return='color' arguments='Course c'>
|
||||||
Returns the course color of course <code>c</code>.
|
Returns the course color of Course <code>c</code>.
|
||||||
</Function>
|
</Function>
|
||||||
<Function name='GetExtraStageInfo' return='various' arguments='bool bExtra2, Style s'>
|
<Function name='GetExtraStageInfo' return='various' arguments='bool bExtra2, Style s'>
|
||||||
Returns the extra stage info (Song, Steps) for the specified Style <code>s</code>. (If <code>bExtra2</code> is true, it will use the second Extra Stage data instead of the first. Again, Lua.xsd sucks)
|
Returns the extra stage info (Song, Steps) for the specified Style <code>s</code>. (If <code>bExtra2</code> is true, it will use the second Extra Stage data instead of the first. Again, Lua.xsd sucks)
|
||||||
@@ -2773,7 +2863,7 @@
|
|||||||
Returns a random song.
|
Returns a random song.
|
||||||
</Function>
|
</Function>
|
||||||
<Function name='GetSongColor' return='color' arguments='Song s'>
|
<Function name='GetSongColor' return='color' arguments='Song s'>
|
||||||
Returns the song color of song <code>s</code>.
|
Returns the song color of Song <code>s</code>.
|
||||||
</Function>
|
</Function>
|
||||||
<Function name='GetSongFromSteps' return='Song' arguments='Steps st'>
|
<Function name='GetSongFromSteps' return='Song' arguments='Steps st'>
|
||||||
Returns a Song given a set of Steps <code>st</code>.
|
Returns a Song given a set of Steps <code>st</code>.
|
||||||
@@ -2785,6 +2875,9 @@
|
|||||||
<Function name='GetSongGroupNames' sm-ssc='true' return='{string}' arguments=''>
|
<Function name='GetSongGroupNames' sm-ssc='true' return='{string}' arguments=''>
|
||||||
Returns a table containing all of the song group names.
|
Returns a table containing all of the song group names.
|
||||||
</Function>
|
</Function>
|
||||||
|
<Function name='GetSongRank' sm-ssc='true' return='int' arguments='Song s'>
|
||||||
|
Returns the rank (popularity) of Song <code>s</code>.
|
||||||
|
</Function>
|
||||||
<Function name='GetSongsInGroup' sm-ssc='true' return='{Song}' arguments='string sGroupName'>
|
<Function name='GetSongsInGroup' sm-ssc='true' return='{Song}' arguments='string sGroupName'>
|
||||||
Returns a table containing all of the songs in group <code>sGroupName</code>.
|
Returns a table containing all of the songs in group <code>sGroupName</code>.
|
||||||
</Function>
|
</Function>
|
||||||
@@ -2872,6 +2965,9 @@
|
|||||||
<Function name='cropto' theme='_fallback' return='void' arguments='float fWidth, float fHeight'>
|
<Function name='cropto' theme='_fallback' return='void' arguments='float fWidth, float fHeight'>
|
||||||
[01 alias.lua] Alias for CropTo.
|
[01 alias.lua] Alias for CropTo.
|
||||||
</Function>
|
</Function>
|
||||||
|
<Function name='SetAllStateDelays' sm-ssc='true' return='void' arguments='float fRate'>
|
||||||
|
Sets all the state delays to <code>fRate</code>. Useful for Sprites that need to change by BPM (e.g. Tran from DDR 5th Mix, the cube from DS EuroMix 2).
|
||||||
|
</Function>
|
||||||
</Class>
|
</Class>
|
||||||
<Class name='StageStats'>
|
<Class name='StageStats'>
|
||||||
<Function name='AllFailed' return='bool' arguments=''>
|
<Function name='AllFailed' return='bool' arguments=''>
|
||||||
@@ -2937,6 +3033,9 @@
|
|||||||
<Function name='GetDescription' return='string' arguments=''>
|
<Function name='GetDescription' return='string' arguments=''>
|
||||||
Returns the Steps description.
|
Returns the Steps description.
|
||||||
</Function>
|
</Function>
|
||||||
|
<Function name='GetAuthorCredit' return='string' arguments=''>
|
||||||
|
Returns the author that made that particular Steps pattern.
|
||||||
|
</Function>
|
||||||
<Function name='GetDifficulty' return='Difficulty' arguments=''>
|
<Function name='GetDifficulty' return='Difficulty' arguments=''>
|
||||||
Returns the Steps difficulty.
|
Returns the Steps difficulty.
|
||||||
</Function>
|
</Function>
|
||||||
@@ -2983,6 +3082,9 @@
|
|||||||
</Function>
|
</Function>
|
||||||
</Class>
|
</Class>
|
||||||
<Class name='Style'>
|
<Class name='Style'>
|
||||||
|
<Function name='ColumnsPerPlayer' sm-ssc='true' return='int' arguments=''>
|
||||||
|
Returns the number of total tracks this Style contains (e.g. 4 for dance-versus, but 8 for dance-double).
|
||||||
|
</Function>
|
||||||
<Function name='GetName' return='string' arguments=''>
|
<Function name='GetName' return='string' arguments=''>
|
||||||
Returns the name of the Style.
|
Returns the name of the Style.
|
||||||
</Function>
|
</Function>
|
||||||
@@ -2992,6 +3094,9 @@
|
|||||||
<Function name='GetStyleType' return='StyleType' arguments=''>
|
<Function name='GetStyleType' return='StyleType' arguments=''>
|
||||||
Returns the StyleType for this Style.
|
Returns the StyleType for this Style.
|
||||||
</Function>
|
</Function>
|
||||||
|
<Function name='NeedsZoomOutWith2Players' sm-ssc='true' return='bool' arguments=''>
|
||||||
|
Returns <code>true</code> if the Style needs to be zoomed out with two players.
|
||||||
|
</Function>
|
||||||
</Class>
|
</Class>
|
||||||
<Class name='TextBanner'>
|
<Class name='TextBanner'>
|
||||||
<Function name='Load' return='void' arguments='string sMetricsGroup'>
|
<Function name='Load' return='void' arguments='string sMetricsGroup'>
|
||||||
@@ -3093,7 +3198,7 @@
|
|||||||
<Function name='GetDifficulty' return='Difficulty' arguments=''>
|
<Function name='GetDifficulty' return='Difficulty' arguments=''>
|
||||||
Returns the Trail's difficulty.
|
Returns the Trail's difficulty.
|
||||||
</Function>
|
</Function>
|
||||||
<Function name='GetEntries' sm-ssc='true' return='{TrailEntry}' arguments=''>
|
<Function name='GetTrailEntries' sm-ssc='true' return='{TrailEntry}' arguments=''>
|
||||||
Returns a table of TrailEntry items.
|
Returns a table of TrailEntry items.
|
||||||
</Function>
|
</Function>
|
||||||
<Function name='GetMeter' return='int' arguments=''>
|
<Function name='GetMeter' return='int' arguments=''>
|
||||||
@@ -3120,7 +3225,7 @@
|
|||||||
Returns the Steps used in this TrailEntry.
|
Returns the Steps used in this TrailEntry.
|
||||||
</Function>
|
</Function>
|
||||||
<Function name='IsSecret' sm-ssc='true' return='bool' arguments=''>
|
<Function name='IsSecret' sm-ssc='true' return='bool' arguments=''>
|
||||||
(why'd I think this was a good idea when we have CourseEntry:IsSecret?)
|
(why'd I think this was a good idea when we have <Link class='CourseEntry' function='IsSecret' />?)
|
||||||
</Function>
|
</Function>
|
||||||
</Class>
|
</Class>
|
||||||
<Class name='UnlockEntry'>
|
<Class name='UnlockEntry'>
|
||||||
|
|||||||
@@ -1,455 +0,0 @@
|
|||||||
|
|
||||||
PRELIMINARY - - - - - - - - 05/03/2004
|
|
||||||
Protocol version 4
|
|
||||||
But 0x04 will be its version for inter-protocol purposes.
|
|
||||||
|
|
||||||
This protocol is only intended to replace current protocol. Because current protocol
|
|
||||||
not expanable
|
|
||||||
|
|
||||||
SMLAN PROTCOL TCP/8765
|
|
||||||
|
|
||||||
Protcol is entirelly packaged in EzSockets Data Packets (use send and receive packet)
|
|
||||||
|
|
||||||
This will prevent any out-of-sync errors with future or past versions.
|
|
||||||
|
|
||||||
The protocol is impervious to fragmented, or bonded TCP packets.
|
|
||||||
|
|
||||||
Basic Representation:
|
|
||||||
|
|
||||||
Octet 0123 4 5
|
|
||||||
+----+-+---//--+
|
|
||||||
|ssss|C|Payload|
|
|
||||||
+----+-+---//--+
|
|
||||||
|
|
||||||
ssss - size of packet, handled by ezsockets (if you're using C++)
|
|
||||||
C - Command.
|
|
||||||
Payload - variable size based on command
|
|
||||||
|
|
||||||
The payload may contain more data than expected, i.e. new protocol version.
|
|
||||||
|
|
||||||
|
|
||||||
In the following protocol, the term size means the size of the chunk of data.
|
|
||||||
If the "size" is "NT" then that means it's a null-terminating string.
|
|
||||||
"MSN" most significant 4 bits (byte/16)
|
|
||||||
"LSN" least significant 4 bits (byte%16)
|
|
||||||
|
|
||||||
|
|
||||||
Note: Primary player is 0x0, secondary player is 0x1
|
|
||||||
|
|
||||||
CLIENT to SERVER protocol:
|
|
||||||
|
|
||||||
000: No Operation
|
|
||||||
Desc: This command will cause server to respond with a no op response.
|
|
||||||
Payload: None
|
|
||||||
Response: Server 001
|
|
||||||
|
|
||||||
001: No Operation Response
|
|
||||||
Desc: This command is used to respond to a no operation.
|
|
||||||
Payload: None
|
|
||||||
Response: None
|
|
||||||
|
|
||||||
002: Hello
|
|
||||||
Desc: This is the first packet from a client to server, stating below
|
|
||||||
information (NOTE: Names are no longer sent in this packet)
|
|
||||||
Payload:
|
|
||||||
Size Description:
|
|
||||||
1 Client protocol version
|
|
||||||
NT Name of build of StepMania
|
|
||||||
Response: Server 002
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
003: Game Start Request
|
|
||||||
Desc: This command is called once after most loading is done, and
|
|
||||||
again immediately before the sound starts.
|
|
||||||
Payload:
|
|
||||||
Size Description
|
|
||||||
MSN Primary player difficulty (feet) (0 for no player)
|
|
||||||
LSN Secondary player difficulty (feet) (0 for no player)
|
|
||||||
MSN Primary player difficulty (0=Beginner, 1=easy, etc.)
|
|
||||||
LSN Second player difficulty (0=Beginner, 1=easy, etc.)
|
|
||||||
MSN Start Position (0 is pre-sync, 1 is for sync)
|
|
||||||
LSN Reserved
|
|
||||||
NT Song Title
|
|
||||||
NT Song Subtitle
|
|
||||||
NT Song Artist
|
|
||||||
NT Course Title (If none exists; make it just a null)
|
|
||||||
NT Song Options (in string-format)
|
|
||||||
NT Primary Player's options (Null if non-existant)
|
|
||||||
NT Secondary Player's Options (Null if non-existant)
|
|
||||||
|
|
||||||
Response: Server 003
|
|
||||||
|
|
||||||
|
|
||||||
004: Game Over Notice
|
|
||||||
Desc: This command is sent when end of game is encounterd
|
|
||||||
Payload: None.
|
|
||||||
Response: None.
|
|
||||||
|
|
||||||
005: Game Status update
|
|
||||||
Desc: Updates game info for each step
|
|
||||||
Payload:
|
|
||||||
Size Description
|
|
||||||
MSN Player #
|
|
||||||
Protocol <= 2
|
|
||||||
LSN StepID
|
|
||||||
1: Miss
|
|
||||||
2: W5
|
|
||||||
3: W4
|
|
||||||
4: W3
|
|
||||||
5: W2
|
|
||||||
6: W1
|
|
||||||
7: LetGo
|
|
||||||
8: Held
|
|
||||||
Protocol >= 3
|
|
||||||
LSN StepID
|
|
||||||
1: HitMine
|
|
||||||
2: AvoidMine
|
|
||||||
3: Miss
|
|
||||||
4: W5
|
|
||||||
5: W4
|
|
||||||
6: W3
|
|
||||||
7: W2
|
|
||||||
8: W1
|
|
||||||
9: LetGo
|
|
||||||
10: Held
|
|
||||||
|
|
||||||
MSN Projected Grade (StepMania enum int)
|
|
||||||
LSN Reserved
|
|
||||||
4 Net-order long containing score.
|
|
||||||
2 Net-order int containing combo.
|
|
||||||
2 Net-order int containing health.
|
|
||||||
2 Net-order # containing offset
|
|
||||||
32767 would be DEAD on the note
|
|
||||||
If the user is hitting late, the # will be higher
|
|
||||||
It if the user is exactly 0.25 seconds off, the
|
|
||||||
number will be different by 500, if 0.5, it will be
|
|
||||||
different by 1000.
|
|
||||||
Response: None.
|
|
||||||
|
|
||||||
006: Style Update (PLEASE NOTE THIS HAS NOTHING TO DO WITH SERVER COMMAND 6)
|
|
||||||
Desc: This is sent when a style is chosen.
|
|
||||||
Size:
|
|
||||||
1 # of enabled players (1 means 1, 2 means 2)
|
|
||||||
1 Player # (0 means 1st, 1 means 2nd)
|
|
||||||
NT Player Name for #
|
|
||||||
(Additional player's and #'s) (enabled players ONLY)
|
|
||||||
|
|
||||||
Response: None
|
|
||||||
|
|
||||||
007: Chat message
|
|
||||||
Desc: The user typed a message for general chat.
|
|
||||||
Size:
|
|
||||||
NT Message
|
|
||||||
|
|
||||||
008: Request Start Game and Tell server existance/non existance of song.
|
|
||||||
Desc: The user selected a song on a Net-enabled selection
|
|
||||||
Size:
|
|
||||||
1 Usage of message
|
|
||||||
0: (in response to server 8) User has specified song
|
|
||||||
1: (in response to server 8) User does NOT have specified song
|
|
||||||
2: User requested a start game on given song
|
|
||||||
NT Song Title (As gotten by GetTranslitMainTitle)
|
|
||||||
NT Song Artist (As Gotten by GetTranslitArtist)
|
|
||||||
NT Song Subtitle (As gotten by GetTranslitSubTitle)
|
|
||||||
|
|
||||||
009: //Reserved
|
|
||||||
|
|
||||||
010: User entered/exited Network Music Selection Screen
|
|
||||||
Size:
|
|
||||||
1
|
|
||||||
0: exited ScreenNetSelectMusic
|
|
||||||
1: entered ScreenNetSelectMusic
|
|
||||||
2: **Not Sent**
|
|
||||||
3: entered options screen
|
|
||||||
4: exited the evaluation screen
|
|
||||||
5: entered evaluation screen
|
|
||||||
6: exited ScreenNetRoom
|
|
||||||
7: entered ScreenNetRoom
|
|
||||||
|
|
||||||
011: User has changed player options
|
|
||||||
Size:
|
|
||||||
NT Player 0's options
|
|
||||||
NT Player 1's options
|
|
||||||
|
|
||||||
|
|
||||||
012: SMOnline Packet. //SPECIAL CASE!!!
|
|
||||||
NOTE: The smonline packet is not defined here.
|
|
||||||
The SMLan packet 12 is a wrapper for the SMOnline packet.
|
|
||||||
This is so that we can have "protection" of sorts when
|
|
||||||
it comes to the coding of SMOnline, so we don't have to
|
|
||||||
use the lower level commands when dealing with SMOnline.
|
|
||||||
Size:
|
|
||||||
1 SMOnline command //This used to say 2, but it looks like 1 in all cases
|
|
||||||
<VARIABLE> SMOnline data
|
|
||||||
|
|
||||||
|
|
||||||
013: Reserved
|
|
||||||
|
|
||||||
SERVER to CLIENT protocol: (begins at 128)
|
|
||||||
|
|
||||||
NOTE: Server responses always add 128, thus a server response for no operation
|
|
||||||
is 128, not 000
|
|
||||||
|
|
||||||
000(128):No Operation
|
|
||||||
Desc: This command will cause server to respond with a no op response.
|
|
||||||
Payload: None
|
|
||||||
Response: Server 001
|
|
||||||
|
|
||||||
001(129):No Operation Response
|
|
||||||
Desc: This command is used to respond to a no operation.
|
|
||||||
Payload: None
|
|
||||||
Response: None
|
|
||||||
|
|
||||||
002(130):Server Hello Response
|
|
||||||
Desc: This introduces the server.
|
|
||||||
Payload:
|
|
||||||
Size Description
|
|
||||||
1 Server protocol version //NOTE: if protocol version is 128+, then this
|
|
||||||
server is an SMOnline server
|
|
||||||
NT Server Name
|
|
||||||
4 Random key ( at the moment only used for an alternate login method )
|
|
||||||
|
|
||||||
003(131):Allow Start
|
|
||||||
Desc: This will cause the client to start the game.
|
|
||||||
Payload: None
|
|
||||||
Response: None
|
|
||||||
|
|
||||||
004(132):Game over stats
|
|
||||||
Desc: this packet is send in response to the game over packet
|
|
||||||
it contains information regarding how well each player did.
|
|
||||||
Payload:
|
|
||||||
1 # of players sent in this packet (active players)
|
|
||||||
The way this works is to send every player's info for a given
|
|
||||||
field. Like every player's score will be sent first, then every
|
|
||||||
player's grade.
|
|
||||||
1 First player's player ID
|
|
||||||
<Other player's IDs>
|
|
||||||
4 Score
|
|
||||||
<Other player's scores>
|
|
||||||
1 Grade
|
|
||||||
<Other player's Grades>
|
|
||||||
1 Difficulty (0=beginner, 1=light, etc.)
|
|
||||||
<Other player's difficulties>
|
|
||||||
|
|
||||||
#this next chunk of step types is actually reversed
|
|
||||||
2 miss
|
|
||||||
<Other player's misses>
|
|
||||||
2 boo
|
|
||||||
<Other player's boos>
|
|
||||||
2 good (All players)
|
|
||||||
2 great (All players)
|
|
||||||
2 perfect (All players)
|
|
||||||
2 marvelous (All players)
|
|
||||||
|
|
||||||
2 ok (All players)
|
|
||||||
2 max_combo (All players)
|
|
||||||
NT Player's options
|
|
||||||
<Other player's options>
|
|
||||||
|
|
||||||
|
|
||||||
005:(133)Scoreboard update
|
|
||||||
Desc: This will update the client's scoreboard.
|
|
||||||
Payload:
|
|
||||||
Size
|
|
||||||
1 Which section
|
|
||||||
0: Names
|
|
||||||
1: Combos
|
|
||||||
2: Projected Grades
|
|
||||||
1 # of players to display
|
|
||||||
|
|
||||||
If Names, then:
|
|
||||||
1 Player in first place's index
|
|
||||||
1 Player in second place's index
|
|
||||||
...
|
|
||||||
1 Last player's index
|
|
||||||
If Combos, then:
|
|
||||||
2 First player's combo
|
|
||||||
2 Second Player's combo
|
|
||||||
...
|
|
||||||
2 Last player's combo
|
|
||||||
If Project grades
|
|
||||||
1 Player 1's grade (in the same format used when reporting projected grades)
|
|
||||||
1 Player 2's grade
|
|
||||||
...
|
|
||||||
1 Last player's projected grade
|
|
||||||
|
|
||||||
|
|
||||||
006:(134)System Message (PLEASE NOTE THIS HAS NOTHING TO DO WITH CLIENT COMMAND 6)
|
|
||||||
Desc: Send system message to user
|
|
||||||
Payload:
|
|
||||||
Size Description
|
|
||||||
NT Message
|
|
||||||
|
|
||||||
007:(135)Chat Message
|
|
||||||
Desc: Add a chat message to the chat window on some StepMania screens.
|
|
||||||
Payload:
|
|
||||||
Size Description
|
|
||||||
NT Message
|
|
||||||
|
|
||||||
008:(136)Tell client to start song/ask if client has song
|
|
||||||
Desc: The user selected a song on a Net-enabled selection
|
|
||||||
Size:
|
|
||||||
1 Usage of message
|
|
||||||
0: See if client has song
|
|
||||||
1: See if client has song, if so, scroll to song
|
|
||||||
2: See if client has song, if so, scroll to song, and play that song
|
|
||||||
3: Blindly start song
|
|
||||||
NT Song Title (As gotten by GetTranslitMainTitle)
|
|
||||||
NT Song Artist (As Gotten by GetTranslitArtist)
|
|
||||||
NT Song Subtitle (As gotten by GetTranslitSubTitle)
|
|
||||||
|
|
||||||
009:(137)Update user list
|
|
||||||
Desc: This sends all the users currently connected
|
|
||||||
Size:
|
|
||||||
1 Max # of players
|
|
||||||
1 # of players in this packet
|
|
||||||
1 Player 0's status
|
|
||||||
NT Player 0's name (if there is no player here... make it a null (""))
|
|
||||||
1 Player 1's status
|
|
||||||
NT Player 1's name
|
|
||||||
...
|
|
||||||
1 Last player's status
|
|
||||||
NT Last player's name
|
|
||||||
Status:
|
|
||||||
0 Inative (no info on this user yet)
|
|
||||||
1 Active (you know who it is)
|
|
||||||
2 In Selection Screen
|
|
||||||
3 In Options
|
|
||||||
4 In Evaluation
|
|
||||||
|
|
||||||
010:(138)Force change to Networking select music screen.
|
|
||||||
Size:
|
|
||||||
NT Set Specified gametype
|
|
||||||
NT Set Specified style
|
|
||||||
|
|
||||||
011:(139)Reserved
|
|
||||||
|
|
||||||
|
|
||||||
012:(140)SMOnline Packet. //SPECIAL CASE!!!
|
|
||||||
NOTE: The smonline packet is not defined here.
|
|
||||||
The SMLan packet 12 is a wrapper for the SMOnline packet.
|
|
||||||
This is so that we can have "protection" of sorts when
|
|
||||||
it comes to the coding of SMOnline, so we don't have to
|
|
||||||
use the lower level commands when dealing with SMOnline.
|
|
||||||
Size:
|
|
||||||
1 SMOnline command
|
|
||||||
<VARIABLE> SMOnline data
|
|
||||||
|
|
||||||
|
|
||||||
013:(141)Formatted information packet
|
|
||||||
Desc: Send formatted information regarding the server back to the player.
|
|
||||||
NOTE: The purpose of this function is alternatively to be a broadcast
|
|
||||||
packet. (You can expect it via UDP broadcast)
|
|
||||||
Size:
|
|
||||||
NT Server Name
|
|
||||||
2 Port the server is listening on
|
|
||||||
2 Number of players connected
|
|
||||||
|
|
||||||
014:(142)Attack Client
|
|
||||||
Size:
|
|
||||||
1 Player Number
|
|
||||||
4 Time to Last (in MS)
|
|
||||||
NT Text describing modifiers.
|
|
||||||
|
|
||||||
----------------------------------------------------------------
|
|
||||||
Client SMOnline packets:
|
|
||||||
000: Send Login Information
|
|
||||||
Size:
|
|
||||||
1 Player Number
|
|
||||||
1 Encryption text
|
|
||||||
0: MD5 hash
|
|
||||||
1: MD5 ( MD5 hash + salt ) (salt is plain text, base 10 string )
|
|
||||||
NT Username
|
|
||||||
NT Password
|
|
||||||
|
|
||||||
Note: The client is not permitted to use method (1) for authentication
|
|
||||||
if the salt it received from the server is 0
|
|
||||||
|
|
||||||
001: User asks to enter room
|
|
||||||
Size:
|
|
||||||
1 Enter/Exit?
|
|
||||||
0: User wishes to exit room
|
|
||||||
1: User wishes to enter room
|
|
||||||
NT Room Name (Used when entering rooms)
|
|
||||||
NT Password (Empty if password not used)
|
|
||||||
|
|
||||||
002: Create a new Room
|
|
||||||
Size:
|
|
||||||
1 Room Type
|
|
||||||
0: Normal room (has sub rooms)
|
|
||||||
1: Game room (no sub rooms)
|
|
||||||
NT Room Title
|
|
||||||
NT Room Description
|
|
||||||
NT Room Password (blank if no password)
|
|
||||||
|
|
||||||
003: Requests Room Info
|
|
||||||
Size:
|
|
||||||
NT Room Name
|
|
||||||
|
|
||||||
|
|
||||||
Server SMOnline packets:
|
|
||||||
000: Login Response
|
|
||||||
1 Approval Status
|
|
||||||
0: Approved
|
|
||||||
1: Approval Failed
|
|
||||||
NT Login response (plain text)
|
|
||||||
|
|
||||||
001: Room Update (Changing rooms)
|
|
||||||
Size:
|
|
||||||
1 Type of update
|
|
||||||
0: Change Room Title
|
|
||||||
1: Update List of other rooms (or games)
|
|
||||||
|
|
||||||
If Room Title Update:
|
|
||||||
NT Room Title
|
|
||||||
NT Room Description
|
|
||||||
1 Type of room:
|
|
||||||
0: Chat room
|
|
||||||
1: Game room
|
|
||||||
1 Allows creation of sub room.
|
|
||||||
0: Does not allow creation of subrooms
|
|
||||||
1: Allows creation of subrooms
|
|
||||||
|
|
||||||
If Room List Update:
|
|
||||||
1 Number of rooms
|
|
||||||
NT Room1 Title
|
|
||||||
NT Room1 Description
|
|
||||||
NT Room2 Title
|
|
||||||
NT Room2 Description
|
|
||||||
...
|
|
||||||
NT RoomN Title
|
|
||||||
NT RoomN Description
|
|
||||||
|
|
||||||
Room Status appended for reverse compatibility
|
|
||||||
1 Room1 Status
|
|
||||||
0: Normal Room
|
|
||||||
1: Unused
|
|
||||||
2: Room in game
|
|
||||||
3: First stage of song selection has been done
|
|
||||||
4: Second stage of song selection has been done
|
|
||||||
1 Room2 Status
|
|
||||||
...
|
|
||||||
1 RoomN Status
|
|
||||||
|
|
||||||
Room Flags appended for reverse compatibility
|
|
||||||
1 Room1 Flags
|
|
||||||
bit 0: Passworded if true
|
|
||||||
1 Room2 Status
|
|
||||||
...
|
|
||||||
1 RoomN Status
|
|
||||||
|
|
||||||
002: Request general information from server.
|
|
||||||
1 Format for stats
|
|
||||||
0: Normal unformatted stats
|
|
||||||
|
|
||||||
003: Room Info
|
|
||||||
Size:
|
|
||||||
NT Last Song Title
|
|
||||||
NT Last Song Subtitle
|
|
||||||
NT Last Song Artist
|
|
||||||
1 Num Players
|
|
||||||
1 Max Players
|
|
||||||
NT Player1 Name
|
|
||||||
...
|
|
||||||
NT PlayerN Name
|
|
||||||
@@ -0,0 +1,47 @@
|
|||||||
|
$INFORMATION:maintitle:subtitle:artist:genre:credit;
|
||||||
|
$TRANSLITS:main:sub:artist;
|
||||||
|
$GRAPHICS:banner:background:disc:cdtitle;
|
||||||
|
$MUSIC:music-file:base-track:intro-file:lyrics;
|
||||||
|
// should be used if a intro file is not defined
|
||||||
|
$SAMPLEPREVIEW:start:length;
|
||||||
|
$DISPLAYBPM:[from:to]|[one]|[show yes/no];
|
||||||
|
$BGCHANGES:
|
||||||
|
beat=file:p,r,o,p,s
|
||||||
|
;
|
||||||
|
$FGCHANGES:;
|
||||||
|
$KEYSOUNDS:;
|
||||||
|
|
||||||
|
// cache tags here
|
||||||
|
$CACHE:
|
||||||
|
firstbeat:
|
||||||
|
lastbeat:
|
||||||
|
songfilename:
|
||||||
|
hasmusic:
|
||||||
|
hasbanner
|
||||||
|
;
|
||||||
|
|
||||||
|
// note data
|
||||||
|
#NOTEDATA#
|
||||||
|
$META:
|
||||||
|
STEPSTYPE=stepstype:
|
||||||
|
DIFFICULTY=difficulty:
|
||||||
|
DESCRIPTION=description:
|
||||||
|
METER=meter:
|
||||||
|
RADARVALUES=r,a,d,a,r,v,a,l,u,e,s;
|
||||||
|
$TIMINGDATA:
|
||||||
|
BPM=bpms:
|
||||||
|
SPEED=speed:
|
||||||
|
STOPS=stops:
|
||||||
|
DELAYS=delays:
|
||||||
|
TIMESIGNATURES=timesigs;
|
||||||
|
$NOTES:
|
||||||
|
00000
|
||||||
|
00000
|
||||||
|
00000
|
||||||
|
00000
|
||||||
|
,
|
||||||
|
00000
|
||||||
|
00000
|
||||||
|
00000
|
||||||
|
00000
|
||||||
|
;
|
||||||
@@ -0,0 +1,59 @@
|
|||||||
|
// sm-ssc step chart/msd5 hacky file format doc.
|
||||||
|
// based off of .sm, which was based off of DWI's modified MSD format.
|
||||||
|
#TITLE:;
|
||||||
|
#SUBTITLE:;
|
||||||
|
#ARTIST:;
|
||||||
|
#TITLETRANSLIT:;
|
||||||
|
#SUBTITLETRANSLIT:;
|
||||||
|
#ARTISTTRANSLIT:;
|
||||||
|
#GENRE:;
|
||||||
|
#CREDIT:;
|
||||||
|
#BANNER:;
|
||||||
|
#BACKGROUND:;
|
||||||
|
#LYRICSPATH:;
|
||||||
|
#CDTITLE:;
|
||||||
|
#MUSIC:;
|
||||||
|
#INSTRUMENTTRACK:;
|
||||||
|
#MUSICLENGTH:;
|
||||||
|
#OFFSET:;
|
||||||
|
#STOPS:;
|
||||||
|
#DELAYS:;
|
||||||
|
#BPMS:;
|
||||||
|
#TIMESIGNATURES:;
|
||||||
|
#LASTBEATHINT:;
|
||||||
|
#SAMPLESTART:;
|
||||||
|
#SAMPLELENGTH:;
|
||||||
|
#DISPLAYBPM:[xxx][xxx:xxx]|[*];
|
||||||
|
#SELECTABLE:;
|
||||||
|
#BGCHANGES:;
|
||||||
|
#FGCHANGES:;
|
||||||
|
#KEYSOUNDS:;
|
||||||
|
#ATTACKS:;
|
||||||
|
|
||||||
|
// stored in cache
|
||||||
|
#FIRSTBEAT:; // calculated
|
||||||
|
#LASTBEAT:; // calculated
|
||||||
|
#SONGFILENAME:;
|
||||||
|
#MUSICBYTES:; // ignored by loader
|
||||||
|
#HASMUSIC:;
|
||||||
|
#HASBANNER:;
|
||||||
|
|
||||||
|
// begin
|
||||||
|
#NOTEDATA# // marks a new note data section
|
||||||
|
// information from #NOTES moved here
|
||||||
|
#STEPSTYPE:;
|
||||||
|
#DESCRIPTION:;
|
||||||
|
#DIFFICULTY:;
|
||||||
|
#METER:;
|
||||||
|
#RADARVALUES:;
|
||||||
|
#CREDIT:;
|
||||||
|
|
||||||
|
// steps-based timingdata
|
||||||
|
#STOPS:;
|
||||||
|
#DELAYS:;
|
||||||
|
#BPMS:;
|
||||||
|
#TIMESIGNATURES:;
|
||||||
|
#LASTBEATHINT:;
|
||||||
|
|
||||||
|
// actual step data
|
||||||
|
#NOTES:;
|
||||||
@@ -1,14 +0,0 @@
|
|||||||
Code that uses ScreenTextEntry::TextEntry()
|
|
||||||
-------------------------------------------
|
|
||||||
RoomWheel.cpp
|
|
||||||
ScreenEdit.cpp
|
|
||||||
ScreenEditMenu.cpp
|
|
||||||
ScreenNetRoom.cpp
|
|
||||||
ScreenNetworkOptions.cpp
|
|
||||||
ScreenOptionsCourseOverview.cpp
|
|
||||||
ScreenOptionsManageCourses.cpp
|
|
||||||
ScreenOptionsManageEditSteps.cpp
|
|
||||||
ScreenOptionsManageProfiles.cpp
|
|
||||||
ScreenOptionsReviewWorkout.cpp
|
|
||||||
ScreenPackages.cpp
|
|
||||||
ScreenTestFonts.cpp
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
Noteskin elements Reference:
|
[Noteskin Elements Reference]
|
||||||
{ Taps }
|
{ Taps }
|
||||||
button Tap Note
|
button Tap Note
|
||||||
button Tap Mine
|
button Tap Mine
|
||||||
@@ -35,6 +35,8 @@ button Roll Body Inactive
|
|||||||
button Roll Bottomcap Inactive
|
button Roll Bottomcap Inactive
|
||||||
button Roll Tail Inactive
|
button Roll Tail Inactive
|
||||||
|
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
{ button }
|
{ button }
|
||||||
--dance--
|
--dance--
|
||||||
Left
|
Left
|
||||||
@@ -51,6 +53,15 @@ Center
|
|||||||
DownLeft
|
DownLeft
|
||||||
DownRight
|
DownRight
|
||||||
|
|
||||||
|
--kb7--
|
||||||
|
Key1
|
||||||
|
Key2
|
||||||
|
Key3
|
||||||
|
Key4
|
||||||
|
Key5
|
||||||
|
Key6
|
||||||
|
Key7
|
||||||
|
|
||||||
--ez2--
|
--ez2--
|
||||||
FootUpLeft
|
FootUpLeft
|
||||||
FootUpRight
|
FootUpRight
|
||||||
@@ -68,7 +79,14 @@ UpRight
|
|||||||
Right
|
Right
|
||||||
|
|
||||||
--ds3ddx--
|
--ds3ddx--
|
||||||
|
HandLeft
|
||||||
|
FootDownLeft
|
||||||
|
FootUpLeft
|
||||||
|
HandUp
|
||||||
|
HandDown
|
||||||
|
FootUpRight
|
||||||
|
FootDownRight
|
||||||
|
HandRight
|
||||||
|
|
||||||
--beat--
|
--beat--
|
||||||
Key1
|
Key1
|
||||||
@@ -82,11 +100,32 @@ Scratch up
|
|||||||
Scratch down
|
Scratch down
|
||||||
|
|
||||||
--maniax--
|
--maniax--
|
||||||
|
HandUpLeft
|
||||||
|
HandUpRight
|
||||||
|
HandLrLeft
|
||||||
|
HandLrRight
|
||||||
|
|
||||||
--techno--
|
--techno--
|
||||||
|
Left
|
||||||
|
Right
|
||||||
|
Up
|
||||||
|
Down
|
||||||
|
UpLeft
|
||||||
|
UpRight
|
||||||
|
Center
|
||||||
|
DownLeft
|
||||||
|
DownRight
|
||||||
|
|
||||||
--popn--
|
--popn--
|
||||||
|
Left White
|
||||||
|
Left Yellow
|
||||||
|
Left Green
|
||||||
|
Left Blue
|
||||||
|
Red
|
||||||
|
Right Blue
|
||||||
|
Right Green
|
||||||
|
Right Yellow
|
||||||
|
Right White
|
||||||
|
|
||||||
--guitar-- (not enabled yet)
|
--guitar-- (not enabled yet)
|
||||||
Fret1
|
Fret1
|
||||||
@@ -96,3 +135,11 @@ Fret4
|
|||||||
Fret5
|
Fret5
|
||||||
|
|
||||||
--lights-- (rofl)
|
--lights-- (rofl)
|
||||||
|
MarqueeUpLeft
|
||||||
|
MarqueeUpRight
|
||||||
|
MarqueeLrLeft
|
||||||
|
MarqueeLrRight
|
||||||
|
ButtonsLeft
|
||||||
|
ButtonsRight
|
||||||
|
BassLeft
|
||||||
|
BassRight
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
-- how to connect to a server with the new ScreenTextEntry Lua bindings
|
||||||
|
-- (this is the base code; I'll come up with a full tutorial later.)
|
||||||
|
SCREENMAN:AddNewScreenToTop("ScreenTextEntry");
|
||||||
|
local serverSettings = {
|
||||||
|
Question = "Connect to server:",
|
||||||
|
MaxInputLength = 255,
|
||||||
|
OnOK = function(answer)
|
||||||
|
if IsNetConnected() then
|
||||||
|
-- close connection before connecting to new server
|
||||||
|
CloseConnection()
|
||||||
|
end
|
||||||
|
|
||||||
|
-- connect to server
|
||||||
|
ConnectToServer(answer)
|
||||||
|
end,
|
||||||
|
};
|
||||||
|
SCREENMAN:GetTopScreen():Load(serverSettings);
|
||||||
@@ -0,0 +1,88 @@
|
|||||||
|
ThemePrefs, v0.7
|
||||||
|
----------------
|
||||||
|
|
||||||
|
ThemePrefs is a system for handling theme-specific preferences in a standard,
|
||||||
|
efficient, and predictable way. All you do, basically, is declare a table of
|
||||||
|
preferences and options and use GetThemePref(name) to get your preference
|
||||||
|
values as needed. This system will handle all disk I/O as well.
|
||||||
|
|
||||||
|
Additionally, it can work in combination with ThemePrefsRows to generate
|
||||||
|
OptionsRows for all preferences, saving you (most of) the trouble with
|
||||||
|
integrating it into your theme. More on that later.
|
||||||
|
|
||||||
|
The prefs are written, using IniFile, into Save/ThemePrefs.ini, written under
|
||||||
|
the section corresponding to your theme name (if ThemeInfo exists, it will
|
||||||
|
use the Name field listed there; otherwise, it will use the folder name).
|
||||||
|
|
||||||
|
----------------------
|
||||||
|
Section 1: Declaration
|
||||||
|
----------------------
|
||||||
|
|
||||||
|
To declare preferences for your theme to use, make a table with named
|
||||||
|
tables in it; its name is used for the preference, and the tables hold
|
||||||
|
the options for that preference. All you need to know for now is that
|
||||||
|
Default is required; for more options, check ThemePrefsRows.
|
||||||
|
|
||||||
|
After the table is declared, pass it to the function ThemePrefs.InitAll().
|
||||||
|
(If you're planning not to use any OptionsRows at all, you can just use
|
||||||
|
ThemePrefs.Init() to save some processing time, but seriously give the
|
||||||
|
ThemePrefsRows system a look before you disregard it.)
|
||||||
|
|
||||||
|
[code]
|
||||||
|
local Prefs =
|
||||||
|
{
|
||||||
|
BoolPref = { Default = false },
|
||||||
|
IntPref = { Default = 3 },
|
||||||
|
}
|
||||||
|
|
||||||
|
ThemePrefs.InitAll( Prefs )
|
||||||
|
[/code]
|
||||||
|
|
||||||
|
If your theme is "default", this will generate a ThemePrefs.ini like so:
|
||||||
|
|
||||||
|
[default]
|
||||||
|
BoolPref=false
|
||||||
|
IntPref=3
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Section 2: Usage
|
||||||
|
----------------
|
||||||
|
|
||||||
|
You can access the value with ThemePrefs.Get(name) or GetThemePref(name):
|
||||||
|
both calls work identically. The return type will be based on whatever you set
|
||||||
|
it to, but the subsystem will always try number, then bool, then string, in
|
||||||
|
that order. Use true and false for bools, not 1 and 0.
|
||||||
|
|
||||||
|
For example, if you wanted to branch something in the metrics based on
|
||||||
|
the value of BoolPref (which is a boolean), you could use the following:
|
||||||
|
|
||||||
|
NextScreen=GetThemePref('BoolPref') and "ScreenTrue" or "ScreenFalse"
|
||||||
|
|
||||||
|
If you want to set a preference value for some reason, you can use either
|
||||||
|
ThemePrefs.Set(name, value) or SetThemePref(name, value), but the point of
|
||||||
|
this API is to simplify and standardize prefs handling, so you really should
|
||||||
|
not need it. (Use ThemePrefsRows instead.)
|
||||||
|
|
||||||
|
-----------------------
|
||||||
|
Section 3: Localization
|
||||||
|
-----------------------
|
||||||
|
|
||||||
|
ThemePrefs has two strings that can be localized, to be placed under
|
||||||
|
[ThemePrefs] in the appropriate language INI.
|
||||||
|
|
||||||
|
IniFileMissing - displayed when IniFile.lua is not found, which means
|
||||||
|
ThemePrefs cannot be loaded from or written to disk
|
||||||
|
|
||||||
|
UnknownPreference - displayed when an attempt is made to read or write
|
||||||
|
a preference that does not exist in the system. Uses %s for the
|
||||||
|
name of the unknown preference.
|
||||||
|
|
||||||
|
---------------------
|
||||||
|
Section 4: Disclaimer
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
Though this is working fine so far, it is still experimental! If you run
|
||||||
|
into problems, or have suggestions, comments, questions, etc., please talk
|
||||||
|
to "vyhd" in #sm-ssc on irc.badnik.net, as it's his code to maintain; he
|
||||||
|
hates subjecting other people to his code (and occasionally vice versa),
|
||||||
|
but will gladly address concerns that come up.
|
||||||
@@ -0,0 +1,145 @@
|
|||||||
|
ThemePrefsRows, v0.5
|
||||||
|
--------------------
|
||||||
|
|
||||||
|
ThemePrefsRows is an optional system that works with ThemePrefs to generate
|
||||||
|
Lua-based OptionsRows for every preference used in the system. All you do is
|
||||||
|
declare a table of preferences and pass it to ThemePrefs.InitAll(), which will
|
||||||
|
also initialize ThemePrefs. Note that you do need to add an entry for each
|
||||||
|
preference in [OptionTitles] and [OptionExplanations] to give the row its name
|
||||||
|
and describe what it does; I hope to find a (clean) way to do it from Lua.
|
||||||
|
|
||||||
|
----------------------
|
||||||
|
Section 1: Declaration
|
||||||
|
----------------------
|
||||||
|
|
||||||
|
Declaring preferences is the same basic concept as ThemePrefs; see that doc
|
||||||
|
for the basics. So I'll go into the stuff that's important to this API.
|
||||||
|
|
||||||
|
As mentioned in ThemePrefs, the table contains options. The possible options
|
||||||
|
and their types are outlaid here. (The pref's type is defined by Default.)
|
||||||
|
|
||||||
|
Default: whatever the value is set to by default. For sanity's sake, you
|
||||||
|
should have this in your Choices table.
|
||||||
|
|
||||||
|
Choices (table): an indexed array containing all the possible OptionsRow
|
||||||
|
choices. If you're using a Values table, the array values should be
|
||||||
|
strings. If not, you can use any type that can cast to a string.
|
||||||
|
|
||||||
|
Values (table): indexed array of the pref's type containing the value used when
|
||||||
|
the Choices entry with the same index is chosen in the row. If that
|
||||||
|
confused you, don't worry: it'll make more sense in the example.
|
||||||
|
This is optional, if your pref type can cast to strings.
|
||||||
|
|
||||||
|
Params (table): optional modifications to the OptionsRow. I'll cover this in
|
||||||
|
more detail in a later section. You probably won't need it.
|
||||||
|
|
||||||
|
To make this clearer, have an example of a valid prefs table:
|
||||||
|
|
||||||
|
[code]
|
||||||
|
local prefs =
|
||||||
|
{
|
||||||
|
BoolPref =
|
||||||
|
{
|
||||||
|
Default = false,
|
||||||
|
Choices = { "On", "Off" },
|
||||||
|
Values = { true, false },
|
||||||
|
},
|
||||||
|
|
||||||
|
IntPref =
|
||||||
|
{
|
||||||
|
Default = 3,
|
||||||
|
Choices = { 1, 2, 3, 4, 5 },
|
||||||
|
Params = { SelectType = "ShowOneInRow" }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ThemePrefs.InitAll( prefs )
|
||||||
|
[/code]
|
||||||
|
|
||||||
|
So when "On" is selected, BoolPref will be set to true, and selecting "Off"
|
||||||
|
will set it false. Simple enough, yeah? This will scale to any type you like.
|
||||||
|
Enumerations, strings, whatever.
|
||||||
|
|
||||||
|
-----------------
|
||||||
|
Section 2: Params
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
We did promise a more in-depth look at Params, so here it is.
|
||||||
|
|
||||||
|
The following arguments and values are currently accepted for Params:
|
||||||
|
|
||||||
|
LayoutType (string): "ShowAllInRow" (default), "ShowOneInRow".
|
||||||
|
|
||||||
|
ExportOnChange (bool): currently disabled in the source, but available to
|
||||||
|
set in case it's enabled later. If true, the Save function (which
|
||||||
|
handles actually setting the preference) is called whenever a value
|
||||||
|
is changed rather than when the screen changes.
|
||||||
|
|
||||||
|
EnabledForPlayers (function): has 'self' as an argument, returns a table of
|
||||||
|
PlayerNumbers who are allowed to select stuff. Not important yet.
|
||||||
|
|
||||||
|
ReloadRowMessages (table): contains an indexed array of strings. Whenever
|
||||||
|
any of the messages in this table are broadcast, the Load function
|
||||||
|
(which loads the list of possible options and sets the selected
|
||||||
|
value/s) is called again.
|
||||||
|
|
||||||
|
LoadSelections (function): takes self, list, pn, overrides the default
|
||||||
|
function. This is advanced usage, so you should probably know
|
||||||
|
what you're doing to use it. Probably unnecessary.
|
||||||
|
|
||||||
|
SaveSelections (function): takes self, list, pn, and overrides the default
|
||||||
|
function. This is advanced as well, for the same reasons. Fortunately,
|
||||||
|
you probably won't need it.
|
||||||
|
|
||||||
|
----------------
|
||||||
|
Section 3: Usage
|
||||||
|
----------------
|
||||||
|
|
||||||
|
To get the OptionsRow for the preference you want, use ThemePrefRow(name)
|
||||||
|
or ThemePrefsRows.GetRow(name); they're the same function. You'd use this
|
||||||
|
as, for example in the metrics:
|
||||||
|
|
||||||
|
Line1="lua,ThemePrefRow('BoolPref')"
|
||||||
|
|
||||||
|
Unfortunately, you do need to do some more work with the Language INIs too.
|
||||||
|
For each declared preference, you need an entry under [OptionTitles] for its
|
||||||
|
title and an entry under [OptionExplanations] for its description. The key for
|
||||||
|
both is the name of the preference. With the above example, that'd be e.g.
|
||||||
|
|
||||||
|
[OptionTitles]
|
||||||
|
(...)
|
||||||
|
BoolPref=BoolPref
|
||||||
|
IntPref=IntPref
|
||||||
|
|
||||||
|
[OptionExplanations]
|
||||||
|
(...)
|
||||||
|
BoolPref=Toggles a simple boolean preference between true and false.
|
||||||
|
IntPref=Sets an integer value between 1 and 5.
|
||||||
|
|
||||||
|
-----------------------
|
||||||
|
Section 4: Localization
|
||||||
|
-----------------------
|
||||||
|
|
||||||
|
ThemePrefsRows has three themable strings:
|
||||||
|
|
||||||
|
NoDefaultInValues - if the default value isn't actually in choices or values,
|
||||||
|
this is displayed. Takes %s for the affected preference's name.
|
||||||
|
|
||||||
|
TypeMismatch - if the default type and a value type mismatch, this is shown.
|
||||||
|
Takes %s, %d, and %s for the default's type, the index of the
|
||||||
|
mismatching value, and the value's type respectively.
|
||||||
|
|
||||||
|
ChoicesSizeMismatch - if the Choices and Values arrays have different
|
||||||
|
lengths, this is displayed. Takes %d and %d for the size of
|
||||||
|
Choices and Values, respectively.
|
||||||
|
|
||||||
|
---------------------
|
||||||
|
Section 5: Disclaimer
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
This isn't as tested as I'd like. For this version, it remains experimental.
|
||||||
|
Quite experimental. If you run into problems, please let me know so I can
|
||||||
|
fix them.
|
||||||
|
|
||||||
|
Please direct all questions, comments, complaints, bug reports, etc. to "vyhd"
|
||||||
|
in #sm-ssc on irc.badnik.net or whatever other form of communication you like.
|
||||||
@@ -1 +0,0 @@
|
|||||||
If you are using Windows Vista or Windows 7, please do not install StepMania SSC into the Program Files directory.
|
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
[IMPORTANT INSTALL NOTE]
|
||||||
|
If you are using Windows Vista or Windows 7, please do not install StepMania SSC into the Program Files directory.
|
||||||
|
|
||||||
|
[Using Google Chrome?]
|
||||||
|
If you are using Google Chrome as your primary web browser, you will have to perform some extra steps to get stepmania:// URI handling to work:
|
||||||
|
|
||||||
|
Find yout user data
|
||||||
|
Windows XP: C:\Documents and Settings\<USERNAME>\Local Settings\Application Data\Google\Chrome\User Data
|
||||||
|
Windows Vista/7: C:\Users\<USERNAME>\AppData\Local\Google\Chrome\User Data
|
||||||
|
|
||||||
|
Add your protocol to the 'Local State' file under the 'protocol_handler' section, as such:
|
||||||
|
"protocol_handler": {
|
||||||
|
"excluded_schemes": {
|
||||||
|
...
|
||||||
|
"stepmania": false,
|
||||||
|
...
|
||||||
|
}
|
||||||
@@ -59,7 +59,7 @@ Kaox
|
|||||||
* Pump/default noteskin
|
* Pump/default noteskin
|
||||||
|
|
||||||
cesarmades
|
cesarmades
|
||||||
* Pump/cmd noteskin
|
* Pump/cmd-* noteskins
|
||||||
|
|
||||||
David Santamaría Rogado (howl)
|
David Santamaría Rogado (howl)
|
||||||
* Various patches (see Changelog_sm-ssc.txt for more details and links)
|
* Various patches (see Changelog_sm-ssc.txt for more details and links)
|
||||||
@@ -106,6 +106,9 @@ juanelote
|
|||||||
* [SongManager] GetSongGroupByIndex function
|
* [SongManager] GetSongGroupByIndex function
|
||||||
* [MusicWheel] JumpToNextGroup/JumpToPrevGroup logic modifications
|
* [MusicWheel] JumpToNextGroup/JumpToPrevGroup logic modifications
|
||||||
|
|
||||||
|
NitroX72
|
||||||
|
* Pump/frame noteskin
|
||||||
|
|
||||||
==the beta testers==
|
==the beta testers==
|
||||||
[SSC Beta Testing Team]
|
[SSC Beta Testing Team]
|
||||||
KeithD
|
KeithD
|
||||||
|
|||||||
|
After Width: | Height: | Size: 3.8 KiB |
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 66 KiB |
|
After Width: | Height: | Size: 33 KiB |
|
After Width: | Height: | Size: 3.8 KiB |
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 65 KiB |
|
After Width: | Height: | Size: 28 KiB |
|
After Width: | Height: | Size: 3.8 KiB |
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 70 KiB |
|
After Width: | Height: | Size: 28 KiB |
|
After Width: | Height: | Size: 3.7 KiB |
|
After Width: | Height: | Size: 42 KiB |
|
After Width: | Height: | Size: 76 KiB |
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 3.7 KiB |
|
After Width: | Height: | Size: 42 KiB |
|
After Width: | Height: | Size: 77 KiB |
|
After Width: | Height: | Size: 29 KiB |
|
After Width: | Height: | Size: 3.8 KiB |
|
After Width: | Height: | Size: 21 KiB |
|
After Width: | Height: | Size: 66 KiB |
|
After Width: | Height: | Size: 31 KiB |
|
After Width: | Height: | Size: 3.7 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 65 KiB |
|
After Width: | Height: | Size: 28 KiB |
|
After Width: | Height: | Size: 3.8 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 70 KiB |
|
After Width: | Height: | Size: 27 KiB |
@@ -0,0 +1,11 @@
|
|||||||
|
local Noteskin = ... or {}
|
||||||
|
|
||||||
|
Noteskin.PartsToRotate = {
|
||||||
|
--["elemenu"] = true|false;
|
||||||
|
["Roll Head Active"] = false;
|
||||||
|
["Roll Head Inactive"] = false;
|
||||||
|
--
|
||||||
|
["Tap Note"] = false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return Noteskin
|
||||||
|
After Width: | Height: | Size: 3.7 KiB |
|
After Width: | Height: | Size: 38 KiB |
|
After Width: | Height: | Size: 76 KiB |
|
After Width: | Height: | Size: 28 KiB |
|
After Width: | Height: | Size: 3.8 KiB |
|
After Width: | Height: | Size: 38 KiB |
|
After Width: | Height: | Size: 76 KiB |
|
After Width: | Height: | Size: 28 KiB |
@@ -0,0 +1,2 @@
|
|||||||
|
[Global]
|
||||||
|
FallbackNoteSkin=cmd
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
_blank
|
||||||
@@ -4,5 +4,4 @@ return NOTESKIN:LoadActor("DownLeft", "Ready Receptor")..{
|
|||||||
{ Frame = 1 };
|
{ Frame = 1 };
|
||||||
{ Frame = 2 };
|
{ Frame = 2 };
|
||||||
};
|
};
|
||||||
--InitCommand=cmd(rotationy,180);
|
|
||||||
};
|
};
|
||||||
@@ -1,3 +1 @@
|
|||||||
return NOTESKIN:LoadActor("DownLeft","Tap Note")..{
|
return NOTESKIN:LoadActor("DownLeft","Tap Note")..{};
|
||||||
--InitCommand=cmd(rotationy,180);
|
|
||||||
};
|
|
||||||
@@ -36,13 +36,14 @@ Noteskin.ElementRedirs = {
|
|||||||
["Roll Bottomcap Inactive"] = "Hold Bottomcap Active";
|
["Roll Bottomcap Inactive"] = "Hold Bottomcap Active";
|
||||||
["Roll Tail Inactive"] = "Hold Tail Active";
|
["Roll Tail Inactive"] = "Hold Tail Active";
|
||||||
}
|
}
|
||||||
Noteskin.ButtonRedirs = {
|
-- explicit, n/w
|
||||||
|
--[[Noteskin.ButtonRedirs = {
|
||||||
Center = "Center";
|
Center = "Center";
|
||||||
UpLeft = "UpLeft";
|
UpLeft = "UpLeft";
|
||||||
UpRight = "UpRight";
|
UpRight = "UpRight";
|
||||||
DownLeft = "DownLeft";
|
DownLeft = "DownLeft";
|
||||||
DownRight = "DownRight";
|
DownRight = "DownRight";
|
||||||
}
|
}]]
|
||||||
Noteskin.BaseRotX = {
|
Noteskin.BaseRotX = {
|
||||||
Center = 0;
|
Center = 0;
|
||||||
UpLeft = 0;
|
UpLeft = 0;
|
||||||
@@ -57,7 +58,23 @@ Noteskin.BaseRotY = {
|
|||||||
DownLeft = 0;
|
DownLeft = 0;
|
||||||
DownRight = 180;
|
DownRight = 180;
|
||||||
}
|
}
|
||||||
|
Noteskin.BaseRotZ = {
|
||||||
|
Center = 0;
|
||||||
|
UpLeft = 0;
|
||||||
|
UpRight = 0;
|
||||||
|
DownLeft = 0;
|
||||||
|
DownRight = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
--[[--------------------------------------------------------------------------
|
||||||
|
DONT EDIT THE FUNCTION, DON'T COPY AND PASTE THE WHOLE NOTESKIN.LUA
|
||||||
|
JUST MAKE A NEW ONE AND GRAB WHATEVER IS USEFUL FOR YOUR NOTESKIN.
|
||||||
|
phew~
|
||||||
|
|
||||||
|
See cmd-routine-p* noteskin.lua for a simple and clear example on
|
||||||
|
how to do this properly, notice how the rest of the noteskins just
|
||||||
|
have graphics and at least a metrics.ini with few things
|
||||||
|
--]]--------------------------------------------------------------------------
|
||||||
local function func()
|
local function func()
|
||||||
local sButton = Var "Button"
|
local sButton = Var "Button"
|
||||||
local sElement = Var "Element"
|
local sElement = Var "Element"
|
||||||
@@ -76,7 +93,6 @@ local function func()
|
|||||||
ElementToLoad = sElement
|
ElementToLoad = sElement
|
||||||
end
|
end
|
||||||
|
|
||||||
--update: ahora receptor también
|
|
||||||
if sElement == "Explosion"
|
if sElement == "Explosion"
|
||||||
or sElement == "Tap Lift"
|
or sElement == "Tap Lift"
|
||||||
or sElement == "Tap Mine"
|
or sElement == "Tap Mine"
|
||||||
@@ -84,11 +100,10 @@ local function func()
|
|||||||
then
|
then
|
||||||
sButton = "UpLeft"
|
sButton = "UpLeft"
|
||||||
end
|
end
|
||||||
local path = NOTESKIN:GetPath(Noteskin.ButtonRedirs[sButton],ElementToLoad)
|
local path = NOTESKIN:GetPath(sButton,ElementToLoad)
|
||||||
--Graficos separados para holds y rolls
|
if ( string.find(sElement,"Hold") or string.find(sElement,"Roll") )
|
||||||
--if string.find(sElement,"Hold") or string.find(sElement,"Roll") then
|
and not ( string.find(sElement,"Head") or string.find(sElement,"Tail") )
|
||||||
if ( string.find(sElement,"Hold") or string.find(sElement,"Roll") ) and not ( string.find(sElement,"Head") or string.find(sElement,"Tail") ) then
|
then
|
||||||
--if ( string.find(sElement,"Hold") or string.find(sElement,"Roll") ) and ( string.find(sElement,"Body") ) then
|
|
||||||
path = NOTESKIN:GetPath(sButton,ElementToLoad)
|
path = NOTESKIN:GetPath(sButton,ElementToLoad)
|
||||||
end
|
end
|
||||||
|
|
||||||
@@ -100,6 +115,7 @@ local function func()
|
|||||||
if bRotate then
|
if bRotate then
|
||||||
t.BaseRotationX=Noteskin.BaseRotX[sButton]
|
t.BaseRotationX=Noteskin.BaseRotX[sButton]
|
||||||
t.BaseRotationY=Noteskin.BaseRotY[sButton]
|
t.BaseRotationY=Noteskin.BaseRotY[sButton]
|
||||||
|
t.BaseRotationZ=Noteskin.BaseRotZ[sButton]
|
||||||
end
|
end
|
||||||
|
|
||||||
return t
|
return t
|
||||||
|
|||||||
@@ -38,23 +38,7 @@ return Def.ActorFrame {
|
|||||||
};
|
};
|
||||||
--thing...
|
--thing...
|
||||||
Def.Quad {
|
Def.Quad {
|
||||||
InitCommand=cmd(zoomto,60,4800;diffusealpha,0);
|
InitCommand=cmd(zoomto,50,5000;diffusealpha,0);
|
||||||
HitMineCommand=cmd(finishtweening;diffusealpha,1;linear,0.3;diffusealpha,0);
|
HitMineCommand=cmd(finishtweening;diffusealpha,1;linear,0.3;diffusealpha,0);
|
||||||
};
|
};
|
||||||
--[[Def.Quad {
|
|
||||||
InitCommand=function(self)
|
|
||||||
local style = GAMESTATE:GetCurrentStyle()GetStyleType()
|
|
||||||
local maxzoom = SCREEN_WIDTH
|
|
||||||
if style == 'StyleType_OnePlayerTwoSides' then
|
|
||||||
maxzoom = 320
|
|
||||||
end
|
|
||||||
|
|
||||||
self:diffuse(1,1,1,0);
|
|
||||||
self:zoomx(maxzoom);
|
|
||||||
self:zoomy(SCREEN_HEIGHT*5)
|
|
||||||
end;
|
|
||||||
--cmd(diffuse,1,1,1,0;zoomy,SCREEN_HEIGHT*100);
|
|
||||||
HitMineCommand=function(self) MESSAGEMAN:BroadCast("AMineWasHit"); end;
|
|
||||||
--cmd(finishtweening;diffusealpha,1;linear,0.3;diffusealpha,0);
|
|
||||||
};]]
|
|
||||||
}
|
}
|
||||||
@@ -19,20 +19,26 @@ return Def.ActorFrame {
|
|||||||
|
|
||||||
-- LAYERS --
|
-- LAYERS --
|
||||||
NOTESKIN:LoadActor("Center", "Outline Receptor")..{
|
NOTESKIN:LoadActor("Center", "Outline Receptor")..{
|
||||||
Name="Outline";
|
Name="Outline Full";
|
||||||
Condition=Var "Button" == "Center";
|
Condition=Var "Button" == "Center" and GAMESTATE:GetCurrentStyle():GetStepsType() ~= 'StepsType_Pump_Halfdouble';
|
||||||
--InitCommand=cmd(x,96);
|
--InitCommand=cmd(x,96);
|
||||||
};
|
};
|
||||||
|
NOTESKIN:LoadActor("DownLeft", "Outline Receptor")..{
|
||||||
|
Name="Outline Half";
|
||||||
|
Condition=Var "Button" == "DownLeft" and GAMESTATE:GetCurrentStyle():GetStepsType() == 'StepsType_Pump_Halfdouble';
|
||||||
|
--InitCommand=cmd(x,96);
|
||||||
|
};
|
||||||
|
|
||||||
NOTESKIN:LoadActor(Var "Button", "Ready Receptor")..{
|
NOTESKIN:LoadActor(Var "Button", "Ready Receptor")..{
|
||||||
Name="Base";
|
Name="Base";
|
||||||
Frames = { { Frame = 0 } };
|
Frames = { { Frame = 0 } };
|
||||||
--PressCommand=cmd(finishtweening;glow,1,1,1,1;linear,0.1;glow,1,1,1,0);
|
PressCommand=cmd(finishtweening;linear,0.05;zoom,0.9;linear,0.1;zoom,1);
|
||||||
};
|
};
|
||||||
NOTESKIN:LoadActor(Var "Button", "Ready Receptor")..{
|
NOTESKIN:LoadActor(Var "Button", "Ready Receptor")..{
|
||||||
Name="Glow";
|
Name="Glow";
|
||||||
Frames = { { Frame = 1 } };
|
Frames = { { Frame = 1 } };
|
||||||
InitCommand=cmd(blend,'BlendMode_Add');
|
InitCommand=cmd(blend,'BlendMode_Add');
|
||||||
--PressCommand=cmd(finishtweening;linear,0.05;zoom,0.9;linear,0.1;zoom,1);
|
PressCommand=cmd(finishtweening;linear,0.05;zoom,0.9;linear,0.1;zoom,1);
|
||||||
};
|
};
|
||||||
--[[
|
--[[
|
||||||
NOTESKIN:LoadActor(Var "Button", "Ready Receptor")..{
|
NOTESKIN:LoadActor(Var "Button", "Ready Receptor")..{
|
||||||
|
|||||||
@@ -4,5 +4,4 @@ return NOTESKIN:LoadActor("UpLeft", "Ready Receptor")..{
|
|||||||
{ Frame = 1 };
|
{ Frame = 1 };
|
||||||
{ Frame = 2 };
|
{ Frame = 2 };
|
||||||
};
|
};
|
||||||
--InitCommand=cmd(rotationy,180);
|
|
||||||
};
|
};
|
||||||
@@ -1,4 +1 @@
|
|||||||
return NOTESKIN:LoadActor("UpLeft","Tap Note")..{
|
return NOTESKIN:LoadActor("UpLeft","Tap Note")..{};
|
||||||
--InitCommand=cmd(rotationy,180);
|
|
||||||
--BaseRotationY=180;
|
|
||||||
};
|
|
||||||
|
After Width: | Height: | Size: 2.9 KiB |
|
After Width: | Height: | Size: 3.8 KiB |
@@ -0,0 +1 @@
|
|||||||
|
_blank
|
||||||
|
After Width: | Height: | Size: 7.7 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 2.8 KiB |
|
After Width: | Height: | Size: 3.6 KiB |
|
After Width: | Height: | Size: 3.1 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 2.8 KiB |
|
After Width: | Height: | Size: 3.5 KiB |
|
After Width: | Height: | Size: 3.1 KiB |
|
After Width: | Height: | Size: 2.8 KiB |
|
After Width: | Height: | Size: 3.5 KiB |
|
After Width: | Height: | Size: 3.1 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 14 KiB |
|
After Width: | Height: | Size: 2.8 KiB |
|
After Width: | Height: | Size: 3.5 KiB |
|
After Width: | Height: | Size: 3.1 KiB |
@@ -0,0 +1,10 @@
|
|||||||
|
[NoteDisplay]
|
||||||
|
TapNoteAnimationLength=0.333
|
||||||
|
TapMineAnimationLength=0.333
|
||||||
|
TapLiftAnimationLength=0.333
|
||||||
|
TapFakeAnimationLength=0.333
|
||||||
|
HoldHeadAnimationLength=0.333
|
||||||
|
HoldTopCapAnimationLength=0.333
|
||||||
|
HoldBottomCapAnimationLength=0.333
|
||||||
|
HoldBodyAnimationLength=0.333
|
||||||
|
HoldTailAnimationLength=0.333
|
||||||
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 18 KiB |
|
After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 9.2 KiB |
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 838 B |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 855 B |