hg merge from 24a15ba
@@ -32,9 +32,11 @@ src/libtomcrypt/build-*
|
||||
src/libtomcrypt/Release-*
|
||||
src/libtommath/build-*
|
||||
src/libtommath/Release-*
|
||||
src/*.old
|
||||
ver.cpp
|
||||
lib*_link.a
|
||||
Data/UserPrefs
|
||||
Data/GamePrefs/*.cfg
|
||||
PBProject/Hardware.plist
|
||||
Themes/pump
|
||||
Themes/optical-release
|
||||
@@ -42,6 +44,8 @@ src/version.bin
|
||||
src/verstub.cpp
|
||||
nsis_strings_temp.inc
|
||||
Data/SpeedMods.txt
|
||||
Program/StepMania*.lib
|
||||
crashinfo.txt
|
||||
|
||||
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
|
||||
________________________________________________________________________________
|
||||
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.
|
||||
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
|
||||
--------
|
||||
* [MusicWheelItem] Add OverPart. [freem]
|
||||
@@ -1753,4 +1976,4 @@ ActorScroller changes:
|
||||
--------
|
||||
* Project begins.
|
||||
* Remove ScreenEz2SelectPlayer, which only the Xbox project still referenced.
|
||||
_____________________________________________________________________________
|
||||
_____________________________________________________________________________
|
||||
|
||||
@@ -118,7 +118,7 @@ ________________________________________________________________________________
|
||||
0x05 (005) Game Status Update
|
||||
|
||||
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:
|
||||
[Size] [Description]
|
||||
@@ -155,7 +155,7 @@ Payload:
|
||||
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. 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
|
||||
________________________________________________________________________________
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
<Function name='Brightness'/>
|
||||
<Function name='Center1Player'/>
|
||||
<Function name='CheckpointsTapsSeparateJudgment'/>
|
||||
<Function name='CloseConnection'/>
|
||||
<Function name='Color'/>
|
||||
<Function name='ColorDarkTone'/>
|
||||
<Function name='ColorLightTone'/>
|
||||
@@ -38,11 +39,22 @@
|
||||
<Function name='FormatNumberAndSuffix'/>
|
||||
<Function name='FormatPercentScore'/>
|
||||
<Function name='GameCompatibleModes'/>
|
||||
<Function name='GamePrefAdjustSpeed'/>
|
||||
<Function name='GamePrefAutoSetStyle'/>
|
||||
<Function name='GamePrefComboOnRolls'/>
|
||||
<Function name='GamePrefComboUnderField'/>
|
||||
<Function name='GamePrefNotePosition'/>
|
||||
<Function name='GetCoursesToShowRanking'/>
|
||||
<Function name='GetCustomDifficulty'/>
|
||||
<Function name='GetDefaultArrowSpacing'/>
|
||||
<Function name='GetDefaultOptionLines'/>
|
||||
<Function name='GetDirectRadar'/>
|
||||
<Function name='GetEditModeSubScreens'/>
|
||||
<Function name='GetExtraColorThreshold'/>
|
||||
<Function name='GetGamePref'/>
|
||||
<Function name='GetGamePrefB'/>
|
||||
<Function name='GetGamePrefC'/>
|
||||
<Function name='GetGamePrefN'/>
|
||||
<Function name='GetGradeFromPercent'/>
|
||||
<Function name='GetLifeDifficulty'/>
|
||||
<Function name='GetOSName'/>
|
||||
@@ -55,7 +67,9 @@
|
||||
<Function name='GetSongBackground'/>
|
||||
<Function name='GetTapPosition'/>
|
||||
<Function name='GetThemeAspectRatio'/>
|
||||
<Function name='GetThemePref'/>
|
||||
<Function name='GetTimingDifficulty'/>
|
||||
<Function name='GetTotalItems'/>
|
||||
<Function name='GetUnlockEntryIndexToCelebrate'/>
|
||||
<Function name='GetUserPref'/>
|
||||
<Function name='GetUserPrefB'/>
|
||||
@@ -72,6 +86,7 @@
|
||||
<Function name='Hour'/>
|
||||
<Function name='Hue'/>
|
||||
<Function name='ImmediateHoldLetGo'/>
|
||||
<Function name='InitGamePrefs'/>
|
||||
<Function name='InitUserPrefs'/>
|
||||
<Function name='InitialHoldLife'/>
|
||||
<Function name='IsArcade'/>
|
||||
@@ -79,8 +94,10 @@
|
||||
<Function name='IsHome'/>
|
||||
<Function name='IsNetConnected'/>
|
||||
<Function name='IsNetSMOnline'/>
|
||||
<Function name='IsRoutine'/>
|
||||
<Function name='IsSMOnlineLoggedIn'/>
|
||||
<Function name='IsUsingWideScreen'/>
|
||||
<Function name='IsW1Allowed'/>
|
||||
<Function name='JudgmentLineToColor'/>
|
||||
<Function name='JudgmentLineToLocalizedString'/>
|
||||
<Function name='JudgmentLineToStrokeColor'/>
|
||||
@@ -110,13 +127,17 @@
|
||||
<Function name='PlayerNumberToLocalizedString'/>
|
||||
<Function name='PlayerNumberToString'/>
|
||||
<Function name='PlayerScoreColor'/>
|
||||
<Function name='PrintTable'/>
|
||||
<Function name='ProductID'/>
|
||||
<Function name='ProductVersion'/>
|
||||
<Function name='RadarCategoryToLocalizedString'/>
|
||||
<Function name='ReadGamePrefFromFile'/>
|
||||
<Function name='ReadPrefFromFile'/>
|
||||
<Function name='ReportStyle'/>
|
||||
<Function name='ResolveRelativePath'/>
|
||||
<Function name='RollBodyIncrementsCombo'/>
|
||||
<Function name='RoutineSkinP1'/>
|
||||
<Function name='RoutineSkinP2'/>
|
||||
<Function name='SMOnlineScreen'/>
|
||||
<Function name='Saturation'/>
|
||||
<Function name='ScoreKeeperClass'/>
|
||||
@@ -131,6 +152,8 @@
|
||||
<Function name='SelectMusicOrCourse'/>
|
||||
<Function name='SelectProfileKeys'/>
|
||||
<Function name='Serialize'/>
|
||||
<Function name='SetGamePref'/>
|
||||
<Function name='SetThemePref'/>
|
||||
<Function name='SetUserPref'/>
|
||||
<Function name='ShowHoldJudgments'/>
|
||||
<Function name='ShowStandardDecoration'/>
|
||||
@@ -149,11 +172,13 @@
|
||||
<Function name='TableStringLookup'/>
|
||||
<Function name='TapNoteScoreToLocalizedString'/>
|
||||
<Function name='TextBannerAfterSet'/>
|
||||
<Function name='ThemePrefRow'/>
|
||||
<Function name='ToEnumShortString'/>
|
||||
<Function name='Trace'/>
|
||||
<Function name='TrailToCustomDifficulty'/>
|
||||
<Function name='URLEncode'/>
|
||||
<Function name='UnlockRewardTypeToLocalizedString'/>
|
||||
<Function name='UserPrefAdjustSpeed'/>
|
||||
<Function name='UserPrefAutoSetStyle'/>
|
||||
<Function name='UserPrefComboOnRolls'/>
|
||||
<Function name='UserPrefComboUnderField'/>
|
||||
@@ -163,6 +188,7 @@
|
||||
<Function name='UserPrefLongFail'/>
|
||||
<Function name='UserPrefNotePosition'/>
|
||||
<Function name='UserPrefShowLotsaOptions'/>
|
||||
<Function name='UserPrefSpecialScoringMode'/>
|
||||
<Function name='Var'/>
|
||||
<Function name='VersionDate'/>
|
||||
<Function name='VersionTime'/>
|
||||
@@ -170,6 +196,7 @@
|
||||
<Function name='Weekday'/>
|
||||
<Function name='WideScale'/>
|
||||
<Function name='WrapInActorFrame'/>
|
||||
<Function name='WriteGamePrefToFile'/>
|
||||
<Function name='WritePrefToFile'/>
|
||||
<Function name='Year'/>
|
||||
<Function name='assert'/>
|
||||
@@ -180,6 +207,7 @@
|
||||
<Function name='dofile'/>
|
||||
<Function name='error'/>
|
||||
<Function name='fapproach'/>
|
||||
<Function name='foreach_ordered'/>
|
||||
<Function name='gcinfo'/>
|
||||
<Function name='getenv'/>
|
||||
<Function name='getfenv'/>
|
||||
@@ -286,6 +314,7 @@
|
||||
<Function name='basezoomx'/>
|
||||
<Function name='basezoomy'/>
|
||||
<Function name='basezoomz'/>
|
||||
<Function name='bezier'/>
|
||||
<Function name='blend'/>
|
||||
<Function name='bob'/>
|
||||
<Function name='bounce'/>
|
||||
@@ -493,6 +522,8 @@
|
||||
<Function name='SetFromGameState'/>
|
||||
</Class>
|
||||
<Class base='Sprite' name='Banner'>
|
||||
<Function name='GetPercentScrolling'/>
|
||||
<Function name='GetScrolling'/>
|
||||
<Function name='LoadBackgroundFromUnlockEntry'/>
|
||||
<Function name='LoadBannerFromUnlockEntry'/>
|
||||
<Function name='LoadCardFromCharacter'/>
|
||||
@@ -500,8 +531,10 @@
|
||||
<Function name='LoadFromCourse'/>
|
||||
<Function name='LoadFromSong'/>
|
||||
<Function name='LoadFromSongGroup'/>
|
||||
<Function name='LoadFromSortOrder'/>
|
||||
<Function name='LoadIconFromCharacter'/>
|
||||
<Function name='ScaleToClipped'/>
|
||||
<Function name='SetScrolling'/>
|
||||
<Function name='scaletoclipped'/>
|
||||
</Class>
|
||||
<Class base='Actor' name='BitmapText'>
|
||||
@@ -529,6 +562,7 @@
|
||||
<Function name='GetCharacterDir'/>
|
||||
<Function name='GetCharacterID'/>
|
||||
<Function name='GetDanceAnimationPath'/>
|
||||
<Function name='GetDisplayName'/>
|
||||
<Function name='GetIconPath'/>
|
||||
<Function name='GetModelPath'/>
|
||||
<Function name='GetRestAnimationPath'/>
|
||||
@@ -600,6 +634,7 @@
|
||||
<Function name='Unset'/>
|
||||
</Class>
|
||||
<Class base='ActorFrame' name='FadingBanner'>
|
||||
<Function name='GetLatestIndex'/>
|
||||
<Function name='LoadCardFromCharacter'/>
|
||||
<Function name='LoadFromCourse'/>
|
||||
<Function name='LoadFromSong'/>
|
||||
@@ -608,18 +643,20 @@
|
||||
<Function name='ScaleToClipped'/>
|
||||
<Function name='scaletoclipped'/>
|
||||
</Class>
|
||||
<Class name='Game'>
|
||||
<Function name='GetName'/>
|
||||
</Class>
|
||||
<Class name='GameCommand'>
|
||||
<Function name='GetCharacter'/>
|
||||
<Function name='GetCourse'/>
|
||||
<Function name='GetIndex'/>
|
||||
<Function name='GetMultiPlayer'/>
|
||||
<Function name='GetName'/>
|
||||
<Function name='GetProfileID'/>
|
||||
<Function name='GetScreen'/>
|
||||
<Function name='GetSong'/>
|
||||
<Function name='GetSongGroup'/>
|
||||
<Function name='GetSteps'/>
|
||||
<Function name='GetStyle'/>
|
||||
<Function name='GetText'/>
|
||||
<Function name='GetTrail'/>
|
||||
<Function name='GetUrl'/>
|
||||
</Class>
|
||||
<Class name='GameManager'>
|
||||
@@ -638,6 +675,7 @@
|
||||
<Function name='ClearStageModifiersIllegalForCourse'/>
|
||||
<Function name='EnoughCreditsToJoin'/>
|
||||
<Function name='Env'/>
|
||||
<Function name='GetCharacter'/>
|
||||
<Function name='GetCoinMode'/>
|
||||
<Function name='GetCoins'/>
|
||||
<Function name='GetCoinsNeededToJoin'/>
|
||||
@@ -710,6 +748,7 @@
|
||||
<Function name='PlayersCanJoin'/>
|
||||
<Function name='Reset'/>
|
||||
<Function name='SaveLocalData'/>
|
||||
<Function name='SetCharacter'/>
|
||||
<Function name='SetCurrentCourse'/>
|
||||
<Function name='SetCurrentSong'/>
|
||||
<Function name='SetCurrentSteps'/>
|
||||
@@ -776,10 +815,8 @@
|
||||
<Function name='GetTotalLives'/>
|
||||
</Class>
|
||||
<Class name='MemoryCardManager'>
|
||||
<Function name='GetCardLocked'/>
|
||||
<Function name='GetCardState'/>
|
||||
<Function name='GetName'/>
|
||||
<Function name='IsNameAvailable'/>
|
||||
</Class>
|
||||
<Class base='ActorFrame' name='MenuTimer'>
|
||||
<Function name='GetSeconds'/>
|
||||
@@ -792,9 +829,6 @@
|
||||
<Class name='MessageManager'>
|
||||
<Function name='Broadcast'/>
|
||||
</Class>
|
||||
<Class base='ActorFrame' name='MeterDisplay'>
|
||||
<Function name='SetStreamWidth'/>
|
||||
</Class>
|
||||
<Class base='ActorFrame' name='ModIconRow'>
|
||||
<Function name='Load'/>
|
||||
</Class>
|
||||
@@ -869,6 +903,7 @@
|
||||
<Function name='GetTapNoteScores'/>
|
||||
<Function name='IsDisqualified'/>
|
||||
<Function name='MaxCombo'/>
|
||||
<Function name='SetScore'/>
|
||||
</Class>
|
||||
<Class name='PlayerState'>
|
||||
<Function name='GetHealthState'/>
|
||||
@@ -896,6 +931,7 @@
|
||||
<Function name='GetGoalSeconds'/>
|
||||
<Function name='GetGoalType'/>
|
||||
<Function name='GetHighScoreList'/>
|
||||
<Function name='GetLastUsedHighScoreName'/>
|
||||
<Function name='GetMostPopularCourse'/>
|
||||
<Function name='GetMostPopularSong'/>
|
||||
<Function name='GetNumToasties'/>
|
||||
@@ -923,6 +959,7 @@
|
||||
<Function name='GetWeightPounds'/>
|
||||
<Function name='HasPassedAnyStepsInSong'/>
|
||||
<Function name='IsCodeUnlocked'/>
|
||||
<Function name='SetCharacter'/>
|
||||
<Function name='SetGoalCalories'/>
|
||||
<Function name='SetGoalSeconds'/>
|
||||
<Function name='SetGoalType'/>
|
||||
@@ -939,8 +976,6 @@
|
||||
<Function name='GetProfileDir'/>
|
||||
<Function name='IsPersistentProfile'/>
|
||||
<Function name='IsSongNew'/>
|
||||
<Function name='LastLoadWasFromLastGood'/>
|
||||
<Function name='LastLoadWasTamperedOrCorrupt'/>
|
||||
<Function name='SaveMachineProfile'/>
|
||||
</Class>
|
||||
<Class name='RadarValues'>
|
||||
@@ -959,6 +994,7 @@
|
||||
<Function name='Open'/>
|
||||
<Function name='PutLine'/>
|
||||
<Function name='Read'/>
|
||||
<Function name='ReadBytes'/>
|
||||
<Function name='Seek'/>
|
||||
<Function name='Tell'/>
|
||||
<Function name='Write'/>
|
||||
@@ -990,11 +1026,15 @@
|
||||
<Function name='FinishRenderingTo'/>
|
||||
</Class>
|
||||
<Class base='BitmapText' name='RollingNumbers'>
|
||||
<Function name='Load'/>
|
||||
<Function name='targetnumber'/>
|
||||
</Class>
|
||||
<Class base='BitmapText' name='ScoreDisplayAliveTime'/>
|
||||
<Class base='BitmapText' name='ScoreDisplayCalories'/>
|
||||
<Class base='ScreenWithMenuElements' name='ScreenAttract'/>
|
||||
<Class base='ScreenWithMenuElements' name='ScreenEdit'>
|
||||
<Function name='GetEditState'/>
|
||||
</Class>
|
||||
<Class base='ScreenWithMenuElements' name='ScreenEvaluation'>
|
||||
<Function name='GetStageStats'/>
|
||||
</Class>
|
||||
@@ -1013,6 +1053,7 @@
|
||||
<Class name='ScreenManager'>
|
||||
<Function name='AddNewScreenToTop'/>
|
||||
<Function name='GetTopScreen'/>
|
||||
<Function name='ReloadOverlayScreens'/>
|
||||
<Function name='ScreenClassExists'/>
|
||||
<Function name='ScreenIsPrepped'/>
|
||||
<Function name='SetNewScreen'/>
|
||||
@@ -1060,6 +1101,9 @@
|
||||
<Function name='GetProfileIndex'/>
|
||||
<Function name='SetProfileIndex'/>
|
||||
</Class>
|
||||
<Class base='ScreenWithMenuElements' name='ScreenTextEntry'>
|
||||
<Function name='Load'/>
|
||||
</Class>
|
||||
<Class base='Screen' name='ScreenWithMenuElements'>
|
||||
<Function name='Cancel'/>
|
||||
</Class>
|
||||
@@ -1102,6 +1146,7 @@
|
||||
<Function name='HasStepsType'/>
|
||||
<Function name='HasStepsTypeAndDifficulty'/>
|
||||
<Function name='IsDisplayBpmConstant'/>
|
||||
<Function name='IsDisplayBpmRandom'/>
|
||||
<Function name='IsDisplayBpmSecret'/>
|
||||
<Function name='IsEasy'/>
|
||||
<Function name='IsEnabled'/>
|
||||
@@ -1132,6 +1177,7 @@
|
||||
<Function name='GetSongFromSteps'/>
|
||||
<Function name='GetSongGroupColor'/>
|
||||
<Function name='GetSongGroupNames'/>
|
||||
<Function name='GetSongRank'/>
|
||||
<Function name='GetSongsInGroup'/>
|
||||
<Function name='SetPreferredCourses'/>
|
||||
<Function name='SetPreferredSongs'/>
|
||||
@@ -1150,6 +1196,7 @@
|
||||
<Function name='LoadFromCurrentSongBackground'/>
|
||||
<Function name='LoadFromSongBackground'/>
|
||||
<Function name='LoadFromSongBanner'/>
|
||||
<Function name='SetAllStateDelays'/>
|
||||
<Function name='SetCustomImageRect'/>
|
||||
<Function name='SetEffectMode'/>
|
||||
<Function name='SetTexture'/>
|
||||
@@ -1190,6 +1237,7 @@
|
||||
</Class>
|
||||
<Class name='Steps'>
|
||||
<Function name='GetDescription'/>
|
||||
<Function name='GetAuthorCredit'/>
|
||||
<Function name='GetDifficulty'/>
|
||||
<Function name='GetFilename'/>
|
||||
<Function name='GetHash'/>
|
||||
@@ -1210,9 +1258,11 @@
|
||||
<Function name='setfromgamestate'/>
|
||||
</Class>
|
||||
<Class name='Style'>
|
||||
<Function name='ColumnsPerPlayer'/>
|
||||
<Function name='GetName'/>
|
||||
<Function name='GetStepsType'/>
|
||||
<Function name='GetStyleType'/>
|
||||
<Function name='NeedsZoomOutWith2Players'/>
|
||||
</Class>
|
||||
<Class base='ActorFrame' name='TextBanner'>
|
||||
<Function name='Load'/>
|
||||
@@ -1251,14 +1301,12 @@
|
||||
</Class>
|
||||
<Class name='Trail'>
|
||||
<Function name='GetArtists'/>
|
||||
<Function name='GetDescription'/>
|
||||
<Function name='GetDifficulty'/>
|
||||
<Function name='GetEntries'/>
|
||||
<Function name='GetMeter'/>
|
||||
<Function name='GetRadarValues'/>
|
||||
<Function name='GetStepsType'/>
|
||||
<Function name='GetTrailEntries'/>
|
||||
<Function name='GetTrailEntry'/>
|
||||
<Function name='IsAPlayerEdit'/>
|
||||
</Class>
|
||||
<Class name='TrailEntry'>
|
||||
<Function name='GetNormalModifiers'/>
|
||||
@@ -1426,6 +1474,12 @@
|
||||
<EnumValue name=''EditMode_Home'' value='2'/>
|
||||
<EnumValue name=''EditMode_Full'' value='3'/>
|
||||
</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'>
|
||||
<EnumValue name=''EffectMode_Normal'' value='0'/>
|
||||
<EnumValue name=''EffectMode_Unpremultiply'' value='1'/>
|
||||
@@ -1806,10 +1860,11 @@
|
||||
<EnumValue name=''StepsType_Techno_Single8'' value='25'/>
|
||||
<EnumValue name=''StepsType_Techno_Double4'' value='26'/>
|
||||
<EnumValue name=''StepsType_Techno_Double5'' value='27'/>
|
||||
<EnumValue name=''StepsType_Pnm_Five'' value='28'/>
|
||||
<EnumValue name=''StepsType_Pnm_Nine'' value='29'/>
|
||||
<EnumValue name=''StepsType_Guitar_Five'' value='30'/>
|
||||
<EnumValue name=''StepsType_Lights_Cabinet'' value='31'/>
|
||||
<EnumValue name=''StepsType_Techno_Double8'' value='28'/>
|
||||
<EnumValue name=''StepsType_Pnm_Five'' value='29'/>
|
||||
<EnumValue name=''StepsType_Pnm_Nine'' value='30'/>
|
||||
<EnumValue name=''StepsType_Guitar_Five'' value='31'/>
|
||||
<EnumValue name=''StepsType_Lights_Cabinet'' value='32'/>
|
||||
</Enum>
|
||||
<Enum name='StyleType'>
|
||||
<EnumValue name=''StyleType_OnePlayerOneSide'' value='0'/>
|
||||
@@ -1878,16 +1933,16 @@
|
||||
</Enum>
|
||||
</Enums>
|
||||
<Constants>
|
||||
<Constant name='ASPECT_SCALE_FACTOR' value='854'/>
|
||||
<Constant name='ASPECT_SCALE_FACTOR' value='640'/>
|
||||
<Constant name='NUM_PLAYERS' value='2'/>
|
||||
<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_HEIGHT' value='480'/>
|
||||
<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_WIDTH' value='854'/>
|
||||
<Constant name='SCREEN_WIDTH' value='640'/>
|
||||
<Constant name='PLAYER_1' value=''PlayerNumber_P1''/>
|
||||
<Constant name='PLAYER_2' value=''PlayerNumber_P2''/>
|
||||
<Constant name='_VERSION' value=''Lua 5.1''/>
|
||||
@@ -1896,9 +1951,9 @@
|
||||
<Constant name='left' value=''HorizAlign_Left''/>
|
||||
<Constant name='middle' value=''VertAlign_Middle''/>
|
||||
<Constant name='right' value=''HorizAlign_Right''/>
|
||||
<Constant name='sGame' value=''kb7''/>
|
||||
<Constant name='sGame' value=''dance''/>
|
||||
<Constant name='top' value=''VertAlign_Top''/>
|
||||
</Constants>
|
||||
<Version>sm-ssc v1.0</Version>
|
||||
<Date>2010-09-10</Date>
|
||||
<Version>sm-ssc v1.2.1</Version>
|
||||
<Date>2011-02-10</Date>
|
||||
</Lua>
|
||||
|
||||
@@ -20,7 +20,6 @@
|
||||
<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'>
|
||||
<!-- Global functions -->
|
||||
<GlobalFunctions>
|
||||
@@ -48,6 +47,9 @@
|
||||
<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>.
|
||||
</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'>
|
||||
A generic interface to Lua's garbage collector. Performs different functions based on the value of <code>opt</code>.
|
||||
</Function>
|
||||
@@ -510,12 +512,18 @@
|
||||
<Function name='baserotationz' return='void' arguments='float rot'>
|
||||
Sets the Actor's base Z rotation to <code>rot</code>.
|
||||
</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'>
|
||||
Sets the Actor's base X zoom to <code>zoom</code>.
|
||||
</Function>
|
||||
<Function name='basezoomy' return='void' arguments='float zoom'>
|
||||
Sets the Actor's base Y zoom to <code>zoom</code>.
|
||||
</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'>
|
||||
Sets the Actor to use the specified blend mode.
|
||||
</Function>
|
||||
@@ -657,7 +665,7 @@
|
||||
<Function name='GetEffectDelta' return='float' arguments=''>
|
||||
Returns the Actor's current effect delta.
|
||||
</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).
|
||||
</Function>
|
||||
<Function name='GetGlow' sm-ssc='true' return='color' arguments=''>
|
||||
@@ -711,6 +719,9 @@
|
||||
<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.
|
||||
</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'>
|
||||
[Deprecated] Compatibility alias for the hidden command, which was removed in sm-ssc. Use <Link function='visible' /> instead.
|
||||
</Function>
|
||||
@@ -732,6 +743,12 @@
|
||||
<Function name='name' return='void' arguments='string sName'>
|
||||
Sets the Actor's name to <code>sName</code>.
|
||||
</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'>
|
||||
Plays a command named <code>sCommandName</code>.
|
||||
</Function>
|
||||
@@ -862,6 +879,9 @@
|
||||
Zooms the Actor to <code>zoom</code> scale on the Z axis.
|
||||
</Function>
|
||||
<!-- 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=''>
|
||||
[03 ProductivityHelpers.lua] Centers an Actor on the X axis. (equivalent to <code>x,SCREEN_CENTER_X</code>)
|
||||
</Function>
|
||||
@@ -1101,6 +1121,12 @@
|
||||
</Function>
|
||||
</Class>
|
||||
<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'>
|
||||
Loads the background from an UnlockEntry.
|
||||
</Function>
|
||||
@@ -1122,6 +1148,9 @@
|
||||
<Function name='LoadFromSongGroup' return='void' arguments='string s'>
|
||||
Loads a Banner from a specified Song Group.
|
||||
</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'>
|
||||
Loads an icon from the specified Character.
|
||||
</Function>
|
||||
@@ -1131,6 +1160,9 @@
|
||||
<Function name='ScaleToClipped' return='void' arguments='float fWidth, float fHeight'>
|
||||
See <Link class='Sprite' function='scaletoclipped' />.
|
||||
</Function>
|
||||
<Function name='SetScrolling' sm-ssc='true' return='void' arguments='bool bScroll'>
|
||||
<!-- todo -->
|
||||
</Function>
|
||||
</Class>
|
||||
<Class name='BitmapText'>
|
||||
<Function name='AddAttribute' return='void' arguments='int iPos, Attribute attr'>
|
||||
@@ -1223,6 +1255,9 @@
|
||||
<Function name='GetDanceAnimationPath' sm-ssc='true' return='string' arguments=''>
|
||||
Returns the path of the dancing animation of this character.
|
||||
</Function>
|
||||
<Function name='GetDisplayName' sm-ssc='true' return='string' arguments=''>
|
||||
Returns the character's display name.
|
||||
</Function>
|
||||
<Function name='GetIconPath' return='string' arguments=''>
|
||||
Returns the path to the character's icon.
|
||||
</Function>
|
||||
@@ -1413,6 +1448,12 @@
|
||||
</Function>
|
||||
</Class>
|
||||
<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=''>
|
||||
Returns the index of this item.
|
||||
</Function>
|
||||
@@ -1425,18 +1466,27 @@
|
||||
<Function name='GetProfileID' return='string' arguments=''>
|
||||
Returns any Profile ID that may have been set.
|
||||
</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=''>
|
||||
Returns any Song that may have been set.
|
||||
</Function>
|
||||
<Function name='GetSongGroup' return='string' arguments=''>
|
||||
Returns the name of any song group that may have been set.
|
||||
</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=''>
|
||||
Returns any Style that may have been set.
|
||||
</Function>
|
||||
<Function name='GetText' return='string' arguments=''>
|
||||
Returns the display text.
|
||||
</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=''>
|
||||
Returns any Url that may have been set.
|
||||
</Function>
|
||||
@@ -1479,6 +1529,9 @@
|
||||
<Function name='Env' return='table' arguments=''>
|
||||
Returns the environment table. See <Link class='GameCommand' />.
|
||||
</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'>
|
||||
Returns the current <Link class='ENUM' function='CoinMode' />.
|
||||
</Function>
|
||||
@@ -1710,6 +1763,9 @@
|
||||
<Function name='SaveLocalData' return='void' arguments=''>
|
||||
Saves the bookkeeping and machine profile data.
|
||||
</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'>
|
||||
Sets the current Course to <code>course</code>.
|
||||
</Function>
|
||||
@@ -1860,6 +1916,9 @@
|
||||
<Function name='GetLivesLeft' sm-ssc='true' return='int' arguments=''>
|
||||
Returns the number of lives remaining.
|
||||
</Function>
|
||||
<Function name='GetTotalLives' sm-ssc='true' return='int' arguments=''>
|
||||
|
||||
</Function>
|
||||
</Class>
|
||||
<Class name='MemoryCardManager'>
|
||||
<Function name='GetCardLocked' sm-ssc='true' return='bool' arguments='PlayerNumber pn'>
|
||||
@@ -2109,6 +2168,9 @@
|
||||
<Function name='IsDisqualified' return='bool' arguments=''>
|
||||
Returns <code>true</code> if the player was disqualified from ranking.
|
||||
</Function>
|
||||
<Function name='SetScore' sm-ssc='true' return='void' arguments='int iScore'>
|
||||
Sets the Player's score to <code>iScore</code>.
|
||||
</Function>
|
||||
</Class>
|
||||
<Class name='PlayerState'>
|
||||
<Function name='GetHealthState' sm-ssc='true' return='HealthState' arguments=''>
|
||||
@@ -2250,6 +2312,9 @@
|
||||
<Function name='IsCodeUnlocked' return='bool' arguments='string sUnlockEntryID'>
|
||||
Returns <code>true</code> if the specified code <code>sUnlockEntryID</code> is unlocked.
|
||||
</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'>
|
||||
Sets the goal to <code>iCals</code> calories.
|
||||
</Function>
|
||||
@@ -2353,6 +2418,9 @@
|
||||
<Function name='Read' return='string' arguments=''>
|
||||
Returns a string containing the entire contents of the file.
|
||||
</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=''>
|
||||
Seeks to a position in the file and returns the new position.
|
||||
</Function>
|
||||
@@ -2414,6 +2482,9 @@
|
||||
</Function>
|
||||
</Class>
|
||||
<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'>
|
||||
Sets the target number to <code>f</code>.
|
||||
</Function>
|
||||
@@ -2432,6 +2503,11 @@
|
||||
Posts a message with the text <code>sScreenMsg</code> to the Screen.
|
||||
</Function>
|
||||
</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'>
|
||||
<Function name='GetStageStats' return='StageStats' arguments=''>
|
||||
Returns the current StageStats.
|
||||
@@ -2475,6 +2551,9 @@
|
||||
<Function name='GetTopScreen' return='Screen' arguments=''>
|
||||
Gets the screen at the top of the screen stack.
|
||||
</Function>
|
||||
<Function name='ReloadOverlayScreens' sm-ssc='true' return='void' arguments=''>
|
||||
Reloads any loaded overlay screens.
|
||||
</Function>
|
||||
<Function name='ScreenClassExists' return='bool' arguments='string s'>
|
||||
Returns <code>true</code> if screen class <code>s</code> exists.
|
||||
</Function>
|
||||
@@ -2581,6 +2660,14 @@
|
||||
Sets the profile index of Player <code>pn</code> to <code>iProfileIndex</code>.
|
||||
</Function>
|
||||
</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'>
|
||||
<Function name='Cancel' return='void' arguments=''>
|
||||
Tells the screen to go to the previous screen.
|
||||
@@ -2698,6 +2785,9 @@
|
||||
<Function name='IsDisplayBpmConstant' sm-ssc='true' return='bool' arguments=''>
|
||||
Returns <code>true</code> if the song's DisplayBPM is constant.
|
||||
</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=''>
|
||||
Returns <code>true</code> if the song's DisplayBPM is secret.
|
||||
</Function>
|
||||
@@ -2737,7 +2827,7 @@
|
||||
Returns an array of all the installed songs.
|
||||
</Function>
|
||||
<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 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)
|
||||
@@ -2773,7 +2863,7 @@
|
||||
Returns a random song.
|
||||
</Function>
|
||||
<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 name='GetSongFromSteps' return='Song' arguments='Steps st'>
|
||||
Returns a Song given a set of Steps <code>st</code>.
|
||||
@@ -2785,6 +2875,9 @@
|
||||
<Function name='GetSongGroupNames' sm-ssc='true' return='{string}' arguments=''>
|
||||
Returns a table containing all of the song group names.
|
||||
</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'>
|
||||
Returns a table containing all of the songs in group <code>sGroupName</code>.
|
||||
</Function>
|
||||
@@ -2872,6 +2965,9 @@
|
||||
<Function name='cropto' theme='_fallback' return='void' arguments='float fWidth, float fHeight'>
|
||||
[01 alias.lua] Alias for CropTo.
|
||||
</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 name='StageStats'>
|
||||
<Function name='AllFailed' return='bool' arguments=''>
|
||||
@@ -2937,6 +3033,9 @@
|
||||
<Function name='GetDescription' return='string' arguments=''>
|
||||
Returns the Steps description.
|
||||
</Function>
|
||||
<Function name='GetAuthorCredit' return='string' arguments=''>
|
||||
Returns the author that made that particular Steps pattern.
|
||||
</Function>
|
||||
<Function name='GetDifficulty' return='Difficulty' arguments=''>
|
||||
Returns the Steps difficulty.
|
||||
</Function>
|
||||
@@ -2983,6 +3082,9 @@
|
||||
</Function>
|
||||
</Class>
|
||||
<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=''>
|
||||
Returns the name of the Style.
|
||||
</Function>
|
||||
@@ -2992,6 +3094,9 @@
|
||||
<Function name='GetStyleType' return='StyleType' arguments=''>
|
||||
Returns the StyleType for this Style.
|
||||
</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 name='TextBanner'>
|
||||
<Function name='Load' return='void' arguments='string sMetricsGroup'>
|
||||
@@ -3093,7 +3198,7 @@
|
||||
<Function name='GetDifficulty' return='Difficulty' arguments=''>
|
||||
Returns the Trail's difficulty.
|
||||
</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.
|
||||
</Function>
|
||||
<Function name='GetMeter' return='int' arguments=''>
|
||||
@@ -3120,7 +3225,7 @@
|
||||
Returns the Steps used in this TrailEntry.
|
||||
</Function>
|
||||
<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>
|
||||
</Class>
|
||||
<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 }
|
||||
button Tap Note
|
||||
button Tap Mine
|
||||
@@ -35,6 +35,8 @@ button Roll Body Inactive
|
||||
button Roll Bottomcap Inactive
|
||||
button Roll Tail Inactive
|
||||
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
{ button }
|
||||
--dance--
|
||||
Left
|
||||
@@ -51,6 +53,15 @@ Center
|
||||
DownLeft
|
||||
DownRight
|
||||
|
||||
--kb7--
|
||||
Key1
|
||||
Key2
|
||||
Key3
|
||||
Key4
|
||||
Key5
|
||||
Key6
|
||||
Key7
|
||||
|
||||
--ez2--
|
||||
FootUpLeft
|
||||
FootUpRight
|
||||
@@ -68,7 +79,14 @@ UpRight
|
||||
Right
|
||||
|
||||
--ds3ddx--
|
||||
|
||||
HandLeft
|
||||
FootDownLeft
|
||||
FootUpLeft
|
||||
HandUp
|
||||
HandDown
|
||||
FootUpRight
|
||||
FootDownRight
|
||||
HandRight
|
||||
|
||||
--beat--
|
||||
Key1
|
||||
@@ -82,11 +100,32 @@ Scratch up
|
||||
Scratch down
|
||||
|
||||
--maniax--
|
||||
|
||||
HandUpLeft
|
||||
HandUpRight
|
||||
HandLrLeft
|
||||
HandLrRight
|
||||
|
||||
--techno--
|
||||
Left
|
||||
Right
|
||||
Up
|
||||
Down
|
||||
UpLeft
|
||||
UpRight
|
||||
Center
|
||||
DownLeft
|
||||
DownRight
|
||||
|
||||
--popn--
|
||||
Left White
|
||||
Left Yellow
|
||||
Left Green
|
||||
Left Blue
|
||||
Red
|
||||
Right Blue
|
||||
Right Green
|
||||
Right Yellow
|
||||
Right White
|
||||
|
||||
--guitar-- (not enabled yet)
|
||||
Fret1
|
||||
@@ -95,4 +134,12 @@ Fret3
|
||||
Fret4
|
||||
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
|
||||
|
||||
cesarmades
|
||||
* Pump/cmd noteskin
|
||||
* Pump/cmd-* noteskins
|
||||
|
||||
David Santamaría Rogado (howl)
|
||||
* Various patches (see Changelog_sm-ssc.txt for more details and links)
|
||||
@@ -106,6 +106,9 @@ juanelote
|
||||
* [SongManager] GetSongGroupByIndex function
|
||||
* [MusicWheel] JumpToNextGroup/JumpToPrevGroup logic modifications
|
||||
|
||||
NitroX72
|
||||
* Pump/frame noteskin
|
||||
|
||||
==the beta testers==
|
||||
[SSC Beta Testing Team]
|
||||
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 = 2 };
|
||||
};
|
||||
--InitCommand=cmd(rotationy,180);
|
||||
};
|
||||
@@ -1,3 +1 @@
|
||||
return NOTESKIN:LoadActor("DownLeft","Tap Note")..{
|
||||
--InitCommand=cmd(rotationy,180);
|
||||
};
|
||||
return NOTESKIN:LoadActor("DownLeft","Tap Note")..{};
|
||||
@@ -36,13 +36,14 @@ Noteskin.ElementRedirs = {
|
||||
["Roll Bottomcap Inactive"] = "Hold Bottomcap Active";
|
||||
["Roll Tail Inactive"] = "Hold Tail Active";
|
||||
}
|
||||
Noteskin.ButtonRedirs = {
|
||||
-- explicit, n/w
|
||||
--[[Noteskin.ButtonRedirs = {
|
||||
Center = "Center";
|
||||
UpLeft = "UpLeft";
|
||||
UpRight = "UpRight";
|
||||
DownLeft = "DownLeft";
|
||||
DownRight = "DownRight";
|
||||
}
|
||||
}]]
|
||||
Noteskin.BaseRotX = {
|
||||
Center = 0;
|
||||
UpLeft = 0;
|
||||
@@ -57,7 +58,23 @@ Noteskin.BaseRotY = {
|
||||
DownLeft = 0;
|
||||
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 sButton = Var "Button"
|
||||
local sElement = Var "Element"
|
||||
@@ -76,7 +93,6 @@ local function func()
|
||||
ElementToLoad = sElement
|
||||
end
|
||||
|
||||
--update: ahora receptor también
|
||||
if sElement == "Explosion"
|
||||
or sElement == "Tap Lift"
|
||||
or sElement == "Tap Mine"
|
||||
@@ -84,11 +100,10 @@ local function func()
|
||||
then
|
||||
sButton = "UpLeft"
|
||||
end
|
||||
local path = NOTESKIN:GetPath(Noteskin.ButtonRedirs[sButton],ElementToLoad)
|
||||
--Graficos separados para holds y rolls
|
||||
--if string.find(sElement,"Hold") or string.find(sElement,"Roll") then
|
||||
if ( string.find(sElement,"Hold") or string.find(sElement,"Roll") ) and not ( string.find(sElement,"Head") or string.find(sElement,"Tail") ) then
|
||||
--if ( string.find(sElement,"Hold") or string.find(sElement,"Roll") ) and ( string.find(sElement,"Body") ) then
|
||||
local path = NOTESKIN:GetPath(sButton,ElementToLoad)
|
||||
if ( string.find(sElement,"Hold") or string.find(sElement,"Roll") )
|
||||
and not ( string.find(sElement,"Head") or string.find(sElement,"Tail") )
|
||||
then
|
||||
path = NOTESKIN:GetPath(sButton,ElementToLoad)
|
||||
end
|
||||
|
||||
@@ -100,6 +115,7 @@ local function func()
|
||||
if bRotate then
|
||||
t.BaseRotationX=Noteskin.BaseRotX[sButton]
|
||||
t.BaseRotationY=Noteskin.BaseRotY[sButton]
|
||||
t.BaseRotationZ=Noteskin.BaseRotZ[sButton]
|
||||
end
|
||||
|
||||
return t
|
||||
|
||||
@@ -38,23 +38,7 @@ return Def.ActorFrame {
|
||||
};
|
||||
--thing...
|
||||
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);
|
||||
};
|
||||
--[[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 --
|
||||
NOTESKIN:LoadActor("Center", "Outline Receptor")..{
|
||||
Name="Outline";
|
||||
Condition=Var "Button" == "Center";
|
||||
Name="Outline Full";
|
||||
Condition=Var "Button" == "Center" and GAMESTATE:GetCurrentStyle():GetStepsType() ~= 'StepsType_Pump_Halfdouble';
|
||||
--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")..{
|
||||
Name="Base";
|
||||
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")..{
|
||||
Name="Glow";
|
||||
Frames = { { Frame = 1 } };
|
||||
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")..{
|
||||
|
||||
@@ -4,5 +4,4 @@ return NOTESKIN:LoadActor("UpLeft", "Ready Receptor")..{
|
||||
{ Frame = 1 };
|
||||
{ Frame = 2 };
|
||||
};
|
||||
--InitCommand=cmd(rotationy,180);
|
||||
};
|
||||
@@ -1,4 +1 @@
|
||||
return NOTESKIN:LoadActor("UpLeft","Tap Note")..{
|
||||
--InitCommand=cmd(rotationy,180);
|
||||
--BaseRotationY=180;
|
||||
};
|
||||
return NOTESKIN:LoadActor("UpLeft","Tap Note")..{};
|
||||
|
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 |