hg merge
@@ -12,6 +12,7 @@ tests/*.err
|
|||||||
*.idb
|
*.idb
|
||||||
*.pdb
|
*.pdb
|
||||||
*.exp
|
*.exp
|
||||||
|
___*
|
||||||
.hg
|
.hg
|
||||||
.hgignore
|
.hgignore
|
||||||
.hgtags
|
.hgtags
|
||||||
@@ -24,6 +25,7 @@ Thumbs.db
|
|||||||
*.mode1v3
|
*.mode1v3
|
||||||
*.exe
|
*.exe
|
||||||
*.vdi
|
*.vdi
|
||||||
|
Docs/doxygen
|
||||||
PBProject/build
|
PBProject/build
|
||||||
Xcode/build
|
Xcode/build
|
||||||
src/build-*
|
src/build-*
|
||||||
|
|||||||
@@ -9,6 +9,9 @@ change to JSON, but it is unsure if this will be done.
|
|||||||
Implement .ssc at your own risk.
|
Implement .ssc at your own risk.
|
||||||
________________________________________________________________________________
|
________________________________________________________________________________
|
||||||
|
|
||||||
|
[v0.52] - AJ
|
||||||
|
* Add CHARTSTYLE tag to NoteData section.
|
||||||
|
|
||||||
[v0.51] - AJ
|
[v0.51] - AJ
|
||||||
* Move VERSION tag to the first line.
|
* Move VERSION tag to the first line.
|
||||||
* Limit VERSION tag to two decimal places.
|
* Limit VERSION tag to two decimal places.
|
||||||
|
|||||||
@@ -10,9 +10,57 @@ supported but exist anyways.)
|
|||||||
_____________________________________________________________________________
|
_____________________________________________________________________________
|
||||||
|
|
||||||
================================================================================
|
================================================================================
|
||||||
sm-ssc v1.2.2 | 201102??
|
sm-ssc v1.2.3 | 201102??
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
20110222
|
||||||
|
--------
|
||||||
|
* [ScreenEdit] Display the Player Number for Routine mode. [Wolfman2000]
|
||||||
|
* [ScreenEdit] Add format string metrics for the right hand side of the editor.
|
||||||
|
[Wolfman2000]
|
||||||
|
* [ScreenGameplaySyncMachine] Allow themes to use either .ssc or .sm files. [AJ]
|
||||||
|
|
||||||
|
20110221
|
||||||
|
--------
|
||||||
|
* Reverted ArrowSpacing back to 64 (which was the previous value).
|
||||||
|
Please re-adjust your speed mods accordingly. [AJ]
|
||||||
|
* [OptionRow] Added GetLayoutType() and GetSelectType() Lua bindings. [AJ]
|
||||||
|
* Fix .sm-style edits not being loaded. [AJ]
|
||||||
|
* [Common] Added OperatorMenuScreen metric. [AJ]
|
||||||
|
|
||||||
|
================================================================================
|
||||||
|
sm-ssc v1.2.2 | 20110220
|
||||||
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
20110219
|
||||||
|
--------
|
||||||
|
* [BPMDisplay] Added FormatString metric. [AJ]
|
||||||
|
* [GrooveRadar] Changed "Label#OffsetX/Y" metrics to "Label#X/Y". [AJ]
|
||||||
|
* [GrooveRadar] Fixed RadarFrame from not running commands on RadarFrame base. [AJ]
|
||||||
|
* [GrooveRadar] Removed RadarFrameTweenOnScreen and RadarFrameTweenOffScreen metrics. (Themers: Use RadarFrameOnCommand and RadarFrameOffCommand instead) [AJ]
|
||||||
|
* [GrooveRadar] Removed non-working PreDelayOnCommand, PostDelayOnCommand. (Themers: Use Label#OnCommand and Label#OffCommand instead.) [AJ]
|
||||||
|
* [ScreenOptions] Renamed "GetCurrentRow" Lua binding to "GetCurrentRowIndex". [AJ]
|
||||||
|
* [OptionRow] Added FirstItemGoesDown(), GetChoiceInRowWithFocus(PlayerNumber),
|
||||||
|
GetName(), GetNumChoices(), GetRowTitle(), HasFocus(PlayerNumber),
|
||||||
|
and OneChoiceForAllPlayers() Lua bindings. [AJ]
|
||||||
|
* [ScreenOptions] Added Change message (params: RowIndex, ChangedToExit). [AJ]
|
||||||
|
* [ScreenOptions] Added FocusedItemEndsScreen(PlayerNumber) and GetOptionRow(int)
|
||||||
|
Lua bindings. [AJ]
|
||||||
|
* [ScreenPlayerOptions] now derives from ScreenOptions, allowing it to get the
|
||||||
|
new ScreenOptions bindings. [AJ]
|
||||||
|
|
||||||
|
20110218
|
||||||
|
--------
|
||||||
|
* [WheelBase] Added SetOpenSection Lua binding. [AJ]
|
||||||
|
|
||||||
|
20110217
|
||||||
|
--------
|
||||||
|
* Allowed refreshing of Fonts again. [AJ]
|
||||||
|
|
||||||
|
20110214
|
||||||
|
--------
|
||||||
|
* Added #CHARTSTYLE to .ssc format, mainly meant for Pad/Keyboard distinctions. [AJ]
|
||||||
|
|
||||||
20110213
|
20110213
|
||||||
--------
|
--------
|
||||||
* Life Difficulty 4 is now as difficult as Life 6 was. [AJ]
|
* Life Difficulty 4 is now as difficult as Life 6 was. [AJ]
|
||||||
|
|||||||
@@ -39,7 +39,6 @@
|
|||||||
<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='GamePrefAutoSetStyle'/>
|
||||||
<Function name='GamePrefComboOnRolls'/>
|
<Function name='GamePrefComboOnRolls'/>
|
||||||
<Function name='GamePrefComboUnderField'/>
|
<Function name='GamePrefComboUnderField'/>
|
||||||
@@ -775,8 +774,6 @@
|
|||||||
<Class base='ActorFrame' name='GrooveRadar'>
|
<Class base='ActorFrame' name='GrooveRadar'>
|
||||||
<Function name='SetEmpty'/>
|
<Function name='SetEmpty'/>
|
||||||
<Function name='SetFromRadarValues'/>
|
<Function name='SetFromRadarValues'/>
|
||||||
<Function name='tweenoffscreen'/>
|
|
||||||
<Function name='tweenonscreen'/>
|
|
||||||
</Class>
|
</Class>
|
||||||
<Class base='BitmapText' name='HelpDisplay'>
|
<Class base='BitmapText' name='HelpDisplay'>
|
||||||
<Function name='SetSecsBetweenSwitches'/>
|
<Function name='SetSecsBetweenSwitches'/>
|
||||||
@@ -856,6 +853,15 @@
|
|||||||
<Function name='LoadActor'/>
|
<Function name='LoadActor'/>
|
||||||
<Function name='LoadActorForNoteSkin'/>
|
<Function name='LoadActorForNoteSkin'/>
|
||||||
</Class>
|
</Class>
|
||||||
|
<Class base='ActorFrame' name='OptionRow'>
|
||||||
|
<Function name='FirstItemGoesDown'/>
|
||||||
|
<Function name='GetChoiceInRowWithFocus'/>
|
||||||
|
<Function name='GetName'/>
|
||||||
|
<Function name='GetNumChoices'/>
|
||||||
|
<Function name='GetRowTitle'/>
|
||||||
|
<Function name='HasFocus'/>
|
||||||
|
<Function name='OneChoiceForAllPlayers'/>
|
||||||
|
</Class>
|
||||||
<Class base='ActorFrame' name='PaneDisplay'>
|
<Class base='ActorFrame' name='PaneDisplay'>
|
||||||
<Function name='SetFromGameState'/>
|
<Function name='SetFromGameState'/>
|
||||||
</Class>
|
</Class>
|
||||||
@@ -1074,9 +1080,11 @@
|
|||||||
</Class>
|
</Class>
|
||||||
<Class base='ScreenWithMenuElements' name='ScreenOptions'>
|
<Class base='ScreenWithMenuElements' name='ScreenOptions'>
|
||||||
<Function name='AllAreOnLastRow'/>
|
<Function name='AllAreOnLastRow'/>
|
||||||
<Function name='GetCurrentRow'/>
|
<Function name='FocusedItemEndsScreen'/>
|
||||||
|
<Function name='GetCurrentRowIndex'/>
|
||||||
|
<Function name='GetOptionRow'/>
|
||||||
</Class>
|
</Class>
|
||||||
<Class base='ScreenWithMenuElements' name='ScreenPlayerOptions'>
|
<Class base='ScreenOptions' name='ScreenPlayerOptions'>
|
||||||
<Function name='GetGoToOptions'/>
|
<Function name='GetGoToOptions'/>
|
||||||
</Class>
|
</Class>
|
||||||
<Class base='ScreenWithMenuElements' name='ScreenProfileLoad'>
|
<Class base='ScreenWithMenuElements' name='ScreenProfileLoad'>
|
||||||
@@ -1236,8 +1244,8 @@
|
|||||||
<Function name='Reset'/>
|
<Function name='Reset'/>
|
||||||
</Class>
|
</Class>
|
||||||
<Class name='Steps'>
|
<Class name='Steps'>
|
||||||
<Function name='GetDescription'/>
|
|
||||||
<Function name='GetAuthorCredit'/>
|
<Function name='GetAuthorCredit'/>
|
||||||
|
<Function name='GetDescription'/>
|
||||||
<Function name='GetDifficulty'/>
|
<Function name='GetDifficulty'/>
|
||||||
<Function name='GetFilename'/>
|
<Function name='GetFilename'/>
|
||||||
<Function name='GetHash'/>
|
<Function name='GetHash'/>
|
||||||
@@ -1348,6 +1356,7 @@
|
|||||||
<Function name='GetWheelItem'/>
|
<Function name='GetWheelItem'/>
|
||||||
<Function name='IsLocked'/>
|
<Function name='IsLocked'/>
|
||||||
<Function name='IsSettled'/>
|
<Function name='IsSettled'/>
|
||||||
|
<Function name='SetOpenSection'/>
|
||||||
</Class>
|
</Class>
|
||||||
<Class base='ActorFrame' name='WorkoutGraph'>
|
<Class base='ActorFrame' name='WorkoutGraph'>
|
||||||
<Function name='SetFromCurrentWorkout'/>
|
<Function name='SetFromCurrentWorkout'/>
|
||||||
@@ -1954,6 +1963,6 @@
|
|||||||
<Constant name='sGame' value=''dance''/>
|
<Constant name='sGame' value=''dance''/>
|
||||||
<Constant name='top' value=''VertAlign_Top''/>
|
<Constant name='top' value=''VertAlign_Top''/>
|
||||||
</Constants>
|
</Constants>
|
||||||
<Version>sm-ssc v1.2.1</Version>
|
<Version>sm-ssc v1.2.2</Version>
|
||||||
<Date>2011-02-10</Date>
|
<Date>2011-02-21</Date>
|
||||||
</Lua>
|
</Lua>
|
||||||
|
|||||||
@@ -2038,6 +2038,29 @@
|
|||||||
Returns a table of noteskin names for the current gametype.
|
Returns a table of noteskin names for the current gametype.
|
||||||
</Function>
|
</Function>
|
||||||
</Class>
|
</Class>
|
||||||
|
<Class name='OptionRow'>
|
||||||
|
<Function name='FirstItemGoesDown' sm-ssc='true' return='bool' arguments=''>
|
||||||
|
Returns <code>true</code> if the first item in the row goes down.
|
||||||
|
</Function>
|
||||||
|
<Function name='GetChoiceInRowWithFocus' sm-ssc='true' return='int' arguments='PlayerNumber pn'>
|
||||||
|
Returns an index of the choice in the row that player <code>pn</code> is on.
|
||||||
|
</Function>
|
||||||
|
<Function name='GetName' sm-ssc='true' return='string' arguments=''>
|
||||||
|
Returns the name of the OptionRow.
|
||||||
|
</Function>
|
||||||
|
<Function name='GetNumChoices' sm-ssc='true' return='int' arguments=''>
|
||||||
|
Returns the number of choices in this OptionRow.
|
||||||
|
</Function>
|
||||||
|
<Function name='GetRowTitle' sm-ssc='true' return='string' arguments=''>
|
||||||
|
Returns the row title string.
|
||||||
|
</Function>
|
||||||
|
<Function name='HasFocus' sm-ssc='true' return='bool' arguments='PlayerNumber pn'>
|
||||||
|
Returns <code>true</code> if this row is focused by player <code>pn</code>.
|
||||||
|
</Function>
|
||||||
|
<Function name='OneChoiceForAllPlayers' sm-ssc='true' return='bool' arguments=''>
|
||||||
|
Returns <code>true</code> if this row forces one choice on all players.
|
||||||
|
</Function>
|
||||||
|
</Class>
|
||||||
<Class name='PaneDisplay'>
|
<Class name='PaneDisplay'>
|
||||||
<Function name='SetFromGameState' return='void' arguments=''>
|
<Function name='SetFromGameState' return='void' arguments=''>
|
||||||
Sets the PaneDisplay from the GameState.
|
Sets the PaneDisplay from the GameState.
|
||||||
@@ -2604,8 +2627,14 @@
|
|||||||
<Function name='AllAreOnLastRow' return='bool' sm-ssc='true' arguments=''>
|
<Function name='AllAreOnLastRow' return='bool' sm-ssc='true' arguments=''>
|
||||||
Returns <code>true</code> if all active players are on the last options row.
|
Returns <code>true</code> if all active players are on the last options row.
|
||||||
</Function>
|
</Function>
|
||||||
<Function name='GetCurrentRow' return='int' arguments='PlayerNumber pn'>
|
<Function name='FocusedItemEndsScreen' return='bool' sm-ssc='true' arguments='PlayerNumber pn'>
|
||||||
Returns the current row that player <code>pn</code> is on.
|
Returns <code>true</code> if the specified player is on an items that ends the screen.
|
||||||
|
</Function>
|
||||||
|
<Function name='GetCurrentRowIndex' renamed='true' return='int' arguments='PlayerNumber pn'>
|
||||||
|
Returns the current row that player <code>pn</code> is on. (Was previously <code>GetCurrentRow</code>.)
|
||||||
|
</Function>
|
||||||
|
<Function name='GetOptionRow' sm-ssc='true' return='OptionRow' arguments='int iRow'>
|
||||||
|
Returns the specified OptionRow.
|
||||||
</Function>
|
</Function>
|
||||||
</Class>
|
</Class>
|
||||||
<Class name='ScreenPlayerOptions'>
|
<Class name='ScreenPlayerOptions'>
|
||||||
@@ -3325,6 +3354,9 @@
|
|||||||
<Function name='Move' sm-ssc='true' return='void' arguments='int n'>
|
<Function name='Move' sm-ssc='true' return='void' arguments='int n'>
|
||||||
Moves the wheel by <code>n</code>.
|
Moves the wheel by <code>n</code>.
|
||||||
</Function>
|
</Function>
|
||||||
|
<Function name='SetOpenSection' sm-ssc='true' return='void' arguments='string sSection'>
|
||||||
|
Attempts to set the open section to <code>sSection</code>.
|
||||||
|
</Function>
|
||||||
</Class>
|
</Class>
|
||||||
<Class name='WorkoutGraph'>
|
<Class name='WorkoutGraph'>
|
||||||
<Function name='SetFromCurrentWorkout' return='void' arguments=''>
|
<Function name='SetFromCurrentWorkout' return='void' arguments=''>
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
_Tap Mine
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
_Tap Mine
|
||||||
@@ -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
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
[Global]
|
||||||
|
FallbackNoteSkin=cmd
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
Center Tap Note (doubleres) 3x2.png
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
DownLeft Tap Note (doubleres) 3x2.png
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
DownRight Tap Note (doubleres) 3x2.png
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
UpLeft Tap Note (doubleres) 3x2.png
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
UpRight Tap Note (doubleres) 3x2.png
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
Center Tap Note 5x1 (doubleres).png
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
DownLeft Tap Note 6x1 (doubleres).png
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
DownRight Tap Note 6x1 (doubleres).png
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
UpLeft Tap Note 6x1 (doubleres).png
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
UpRight Tap Note 6x1 (doubleres).png
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
Center Tap Note 3x2.png
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
return NOTESKIN:LoadActor("Center","Tap Note")..{
|
||||||
|
InitCommand=cmd(pulse;effectclock,"beat";effecttiming,1,0.5,1,0.5;effectmagnitude,0.5,0.5,0.5);
|
||||||
|
};
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
DownLeft Tap Note 3x2.png
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
return NOTESKIN:LoadActor("DownLeft","Tap Note")..{
|
||||||
|
InitCommand=cmd(pulse;effectclock,"beat";effecttiming,1,0.5,1,0.5;effectmagnitude,0.5,0.5,0.5)
|
||||||
|
};
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
DownRight Tap Note 3x2.png
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
return NOTESKIN:LoadActor("DownRight","Tap Note")..{
|
||||||
|
InitCommand=cmd(pulse;effectclock,"beat";effecttiming,1,0.5,1,0.5;effectmagnitude,0.5,0.5,0.5)
|
||||||
|
};
|
||||||
@@ -20,6 +20,7 @@ Noteskin.ElementRedirs = {
|
|||||||
["Roll Head Active"] = "Roll Head Active";
|
["Roll Head Active"] = "Roll Head Active";
|
||||||
["Roll Head Inactive"] = "Roll Head Active";
|
["Roll Head Inactive"] = "Roll Head Active";
|
||||||
["Tap Fake"] = "Tap Note";
|
["Tap Fake"] = "Tap Note";
|
||||||
|
["Tap Lift"] = "Tap Note";
|
||||||
--
|
--
|
||||||
["Hold Topcap Inactive"] = "Hold Topcap Active";
|
["Hold Topcap Inactive"] = "Hold Topcap Active";
|
||||||
["Hold Body Inactive"] = "Hold Body Active";
|
["Hold Body Inactive"] = "Hold Body Active";
|
||||||
@@ -94,7 +95,6 @@ local function func()
|
|||||||
end
|
end
|
||||||
|
|
||||||
if sElement == "Explosion"
|
if sElement == "Explosion"
|
||||||
or sElement == "Tap Lift"
|
|
||||||
or sElement == "Tap Mine"
|
or sElement == "Tap Mine"
|
||||||
or sElement == "Receptor"
|
or sElement == "Receptor"
|
||||||
then
|
then
|
||||||
|
|||||||
@@ -0,0 +1 @@
|
|||||||
|
UpLeft Tap Note 3x2.png
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
return NOTESKIN:LoadActor("UpLeft","Tap Note")..{
|
||||||
|
InitCommand=cmd(pulse;effectclock,"beat";effecttiming,1,0.5,1,0.5;effectmagnitude,0.5,0.5,0.5)
|
||||||
|
};
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
UpRight Tap Note 3x2.png
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
return NOTESKIN:LoadActor("UpRight","Tap Note")..{
|
||||||
|
InitCommand=cmd(pulse;effectclock,"beat";effecttiming,1,0.5,1,0.5;effectmagnitude,0.5,0.5,0.5)
|
||||||
|
};
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
Center Tap Note 8x1 (doubleres).png
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
DownLeft Tap Note 8x1 (doubleres).png
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
DownRight Tap Note 8x1 (doubleres).png
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
UpLeft Tap Note 8x1 (doubleres).png
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
UpRight Tap Note 8x1 (doubleres).png
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
Center Tap Note 3x2.png
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
DownLeft Tap Note 3x2.png
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
DownRight Tap Note 3x2.png
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
UpLeft Tap Note 3x2.png
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
UpRight Tap Note 3x2.png
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
_Center Tap Note 6x8.png
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
_DownLeft Tap Note 6x8.png
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
_UpLeft Tap Note 6x8.png
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
Center Tap Note 8x1.png
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
DownLeft Tap Note 8x1.png
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
DownRight Tap Note 8x1.png
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
UpLeft Tap Note 8x1.png
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
UpRight Tap Note 8x1.png
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
return Def.Quad{
|
||||||
|
InitCommand=cmd(FullScreen;diffuse,color("#fffdf200"));
|
||||||
|
OnCommand=cmd(decelerate,1;diffusealpha,1);
|
||||||
|
};
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
return Def.ActorFrame{
|
||||||
|
Def.Quad{
|
||||||
|
InitCommand=cmd(FullScreen;diffuse,color("#fffdf200"));
|
||||||
|
OnCommand=cmd(sleep,1.125;decelerate,0.875;diffusealpha,1);
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,72 @@
|
|||||||
|
-- This file returns an ActorFrame that holds a few objects.
|
||||||
|
|
||||||
|
-- Since I like to collapse similar code, here is a simple example:
|
||||||
|
local lineWidth = SCREEN_WIDTH*0.9;
|
||||||
|
-- previously, I had this set to SCREEN_WIDTH*0.8 in each of the
|
||||||
|
-- Def.Quad blocks below. Now I just use lineWidth and I get two advantages:
|
||||||
|
-- 1) I can change it and it takes effect in multiple places.
|
||||||
|
-- 2) I get a human readable name out of it.
|
||||||
|
-- It makes your code easier to read and work with.
|
||||||
|
|
||||||
|
local lineTime = 0.625;
|
||||||
|
-- same with this code.
|
||||||
|
|
||||||
|
return Def.ActorFrame {
|
||||||
|
Def.ActorFrame{
|
||||||
|
Name="Flourishes";
|
||||||
|
-- it has to be 0.05 since 0.9 uses up space on both sides.
|
||||||
|
InitCommand=cmd(x,SCREEN_LEFT+(SCREEN_WIDTH*0.05);y,SCREEN_CENTER_Y;);
|
||||||
|
|
||||||
|
Def.Quad{
|
||||||
|
Name="Red";
|
||||||
|
InitCommand=cmd(horizalign,left;zoomto,0,4;diffuse,color("#DA8989");diffuserightedge,color("#FFBBBB"));
|
||||||
|
OnCommand=cmd(sleep,0.1;linear,lineTime;zoomx,lineWidth);
|
||||||
|
};
|
||||||
|
|
||||||
|
Def.Quad{
|
||||||
|
Name="Yellow";
|
||||||
|
InitCommand=cmd(y,4;horizalign,left;zoomto,0,4;diffuse,color("#DAD989");diffuserightedge,color("#FFFCBB"));
|
||||||
|
OnCommand=cmd(sleep,0.05;linear,lineTime;zoomx,lineWidth);
|
||||||
|
};
|
||||||
|
|
||||||
|
Def.Quad{
|
||||||
|
Name="Blue";
|
||||||
|
InitCommand=cmd(y,8;horizalign,left;zoomto,0,4;diffuse,color("#89C6DA");diffuserightedge,color("#BBEEFF"));
|
||||||
|
OnCommand=cmd(linear,lineTime;zoomx,lineWidth);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
-- LoadActor() is used to automatically load objects.
|
||||||
|
-- You'll be using it a lot.
|
||||||
|
|
||||||
|
-- THEME:GetPathG() gets a file from the Graphics folder.
|
||||||
|
-- What graphic depends on the arguments.
|
||||||
|
-- There must always be two, and there usually is a space between the
|
||||||
|
-- first and second, unless you perform a trick like this:
|
||||||
|
LoadActor( THEME:GetPathG("","_common/_logo") ) .. {
|
||||||
|
-- the InitCommand puts the logo 44 pixels above vertical center
|
||||||
|
-- and moves it 60 pixels to the left of horizontal center.
|
||||||
|
-- diffusealpha,0 makes the object invisible,
|
||||||
|
-- which is handy for transitions...
|
||||||
|
InitCommand=cmd(x,SCREEN_CENTER_X*0.8125;y,SCREEN_CENTER_Y-44;diffusealpha,0;);
|
||||||
|
-- ...as we see in the OnCommand. linear means to perform the next
|
||||||
|
-- commands over a span of time (in seconds).
|
||||||
|
-- diffusealpha,1 makes the logo fade in when applied here.
|
||||||
|
OnCommand=cmd(linear,0.5;diffusealpha,1;);
|
||||||
|
};
|
||||||
|
|
||||||
|
-- Creative Commons logo, using a local file in the same directory:
|
||||||
|
LoadActor( "creativecommons" )..{
|
||||||
|
InitCommand=cmd(x,SCREEN_LEFT+64;y,SCREEN_BOTTOM-48;Real);
|
||||||
|
OnCommand=cmd(addy,32;cropbottom,1;fadebottom,1;decelerate,0.8;cropbottom,0;fadebottom,0;addy,-32);
|
||||||
|
};
|
||||||
|
-- Making a cheap reflection effect for the sake of showing off the fov and
|
||||||
|
-- vanishpoint commands on ActorFrames.
|
||||||
|
Def.ActorFrame{
|
||||||
|
InitCommand=cmd(fov,45;vanishpoint,SCREEN_LEFT+64,SCREEN_BOTTOM-24;);
|
||||||
|
LoadActor( "creativecommons" )..{
|
||||||
|
InitCommand=cmd(x,SCREEN_LEFT+64;y,SCREEN_BOTTOM-24;valign,0;zoomy,-0.6;rotationx,-60;diffusealpha,0.6;Real;);
|
||||||
|
OnCommand=cmd(croptop,1;fadetop,0;decelerate,0.8;croptop,0;fadetop,1;);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
-- this file returns a single quad that represents the background of most screens in the theme.
|
||||||
|
return Def.Quad{
|
||||||
|
-- FullScreen is defined in Themes/_fallback/Scripts/02 Actor.lua in sm-ssc.
|
||||||
|
|
||||||
|
-- colors can either be entered as hex ("#FFFFFFFF") or 0..1 ("1.0,1.0,1.0,1.0")
|
||||||
|
-- where the values are Red, Green, Blue, and Alpha (transparency).
|
||||||
|
InitCommand=cmd(FullScreen;diffuse,color("#fffdf2"));
|
||||||
|
};
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
ScreenWithMenuElements out
|
||||||
@@ -0,0 +1,8 @@
|
|||||||
|
-- ScreenWithMenuElements decorations is a very important file, as it will put a
|
||||||
|
-- decorations layer on pretty much every screen.
|
||||||
|
local t = Def.ActorFrame{};
|
||||||
|
|
||||||
|
t[#t+1] = StandardDecorationFromFileOptional("Header","Header");
|
||||||
|
--t[#t+1] = StandardDecorationFromFileOptional("Footer","Footer");
|
||||||
|
|
||||||
|
return t;
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
return Def.ActorFrame{
|
||||||
|
Def.Quad{
|
||||||
|
InitCommand=cmd(FullScreen;diffuse,color("#fffdf2FF"));
|
||||||
|
OnCommand=cmd(decelerate,0.75;diffusealpha,0);
|
||||||
|
};
|
||||||
|
};
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
return Def.ActorFrame{
|
||||||
|
Def.Quad{
|
||||||
|
InitCommand=cmd(FullScreen;diffuse,color("#fffdf200"));
|
||||||
|
OnCommand=cmd(decelerate,0.875;diffusealpha,1);
|
||||||
|
};
|
||||||
|
}
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
local time = ...
|
||||||
|
if not time then time = 1.0 end
|
||||||
|
|
||||||
|
return Def.Actor{ OnCommand=cmd(sleep,time); };
|
||||||
|
After Width: | Height: | Size: 2.1 KiB |
|
After Width: | Height: | Size: 10 KiB |
|
After Width: | Height: | Size: 35 KiB |
|
After Width: | Height: | Size: 34 KiB |
@@ -0,0 +1,392 @@
|
|||||||
|
[main]
|
||||||
|
Baseline=23
|
||||||
|
Top=6
|
||||||
|
LineSpacing=28
|
||||||
|
DrawExtraPixelsLeft=1
|
||||||
|
DrawExtraPixelsRight=0
|
||||||
|
AdvanceExtraPixels=0
|
||||||
|
0=10
|
||||||
|
1=10
|
||||||
|
2=10
|
||||||
|
3=10
|
||||||
|
4=10
|
||||||
|
5=10
|
||||||
|
6=10
|
||||||
|
7=10
|
||||||
|
8=10
|
||||||
|
9=10
|
||||||
|
10=10
|
||||||
|
11=10
|
||||||
|
12=10
|
||||||
|
13=10
|
||||||
|
14=10
|
||||||
|
15=10
|
||||||
|
16=10
|
||||||
|
17=10
|
||||||
|
18=10
|
||||||
|
19=10
|
||||||
|
20=10
|
||||||
|
21=10
|
||||||
|
22=10
|
||||||
|
23=10
|
||||||
|
24=10
|
||||||
|
25=10
|
||||||
|
26=10
|
||||||
|
27=10
|
||||||
|
28=10
|
||||||
|
29=10
|
||||||
|
30=10
|
||||||
|
31=10
|
||||||
|
32=7
|
||||||
|
33=9
|
||||||
|
34=13
|
||||||
|
35=13
|
||||||
|
36=13
|
||||||
|
37=24
|
||||||
|
38=17
|
||||||
|
39=7
|
||||||
|
40=8
|
||||||
|
41=8
|
||||||
|
42=13
|
||||||
|
43=14
|
||||||
|
44=7
|
||||||
|
45=8
|
||||||
|
46=7
|
||||||
|
47=7
|
||||||
|
48=13
|
||||||
|
49=13
|
||||||
|
50=13
|
||||||
|
51=13
|
||||||
|
52=13
|
||||||
|
53=13
|
||||||
|
54=13
|
||||||
|
55=13
|
||||||
|
56=13
|
||||||
|
57=13
|
||||||
|
58=7
|
||||||
|
59=7
|
||||||
|
60=14
|
||||||
|
61=14
|
||||||
|
62=14
|
||||||
|
63=12
|
||||||
|
64=19
|
||||||
|
65=17
|
||||||
|
66=15
|
||||||
|
67=15
|
||||||
|
68=17
|
||||||
|
69=13
|
||||||
|
70=12
|
||||||
|
71=17
|
||||||
|
72=17
|
||||||
|
73=7
|
||||||
|
74=9
|
||||||
|
75=16
|
||||||
|
76=12
|
||||||
|
77=23
|
||||||
|
78=17
|
||||||
|
79=19
|
||||||
|
80=13
|
||||||
|
81=19
|
||||||
|
82=15
|
||||||
|
83=12
|
||||||
|
84=13
|
||||||
|
85=17
|
||||||
|
86=16
|
||||||
|
87=24
|
||||||
|
88=16
|
||||||
|
89=16
|
||||||
|
90=13
|
||||||
|
91=8
|
||||||
|
92=7
|
||||||
|
93=8
|
||||||
|
94=14
|
||||||
|
95=12
|
||||||
|
96=7
|
||||||
|
97=13
|
||||||
|
98=15
|
||||||
|
99=11
|
||||||
|
100=15
|
||||||
|
101=13
|
||||||
|
102=9
|
||||||
|
103=15
|
||||||
|
104=15
|
||||||
|
105=7
|
||||||
|
106=7
|
||||||
|
107=13
|
||||||
|
108=7
|
||||||
|
109=21
|
||||||
|
110=15
|
||||||
|
111=15
|
||||||
|
112=15
|
||||||
|
113=15
|
||||||
|
114=9
|
||||||
|
115=9
|
||||||
|
116=9
|
||||||
|
117=15
|
||||||
|
118=12
|
||||||
|
119=20
|
||||||
|
120=12
|
||||||
|
121=12
|
||||||
|
122=12
|
||||||
|
123=8
|
||||||
|
124=5
|
||||||
|
125=8
|
||||||
|
126=14
|
||||||
|
127=10
|
||||||
|
128=13
|
||||||
|
129=10
|
||||||
|
130=7
|
||||||
|
131=13
|
||||||
|
132=13
|
||||||
|
133=24
|
||||||
|
134=13
|
||||||
|
135=13
|
||||||
|
136=7
|
||||||
|
137=24
|
||||||
|
138=12
|
||||||
|
139=7
|
||||||
|
140=23
|
||||||
|
141=10
|
||||||
|
142=13
|
||||||
|
143=10
|
||||||
|
144=10
|
||||||
|
145=7
|
||||||
|
146=7
|
||||||
|
147=13
|
||||||
|
148=13
|
||||||
|
149=12
|
||||||
|
150=12
|
||||||
|
151=24
|
||||||
|
152=7
|
||||||
|
153=24
|
||||||
|
154=9
|
||||||
|
155=7
|
||||||
|
156=23
|
||||||
|
157=12
|
||||||
|
158=10
|
||||||
|
159=16
|
||||||
|
160=7
|
||||||
|
161=9
|
||||||
|
162=13
|
||||||
|
163=13
|
||||||
|
164=13
|
||||||
|
165=13
|
||||||
|
166=5
|
||||||
|
167=13
|
||||||
|
168=7
|
||||||
|
169=19
|
||||||
|
170=9
|
||||||
|
171=13
|
||||||
|
172=14
|
||||||
|
173=8
|
||||||
|
174=19
|
||||||
|
175=7
|
||||||
|
176=10
|
||||||
|
177=14
|
||||||
|
178=9
|
||||||
|
179=9
|
||||||
|
180=7
|
||||||
|
181=15
|
||||||
|
182=14
|
||||||
|
183=7
|
||||||
|
184=7
|
||||||
|
185=9
|
||||||
|
186=10
|
||||||
|
187=13
|
||||||
|
188=20
|
||||||
|
189=20
|
||||||
|
190=20
|
||||||
|
191=12
|
||||||
|
192=17
|
||||||
|
193=17
|
||||||
|
194=17
|
||||||
|
195=17
|
||||||
|
196=17
|
||||||
|
197=17
|
||||||
|
198=23
|
||||||
|
199=15
|
||||||
|
200=13
|
||||||
|
201=13
|
||||||
|
202=13
|
||||||
|
203=13
|
||||||
|
204=7
|
||||||
|
205=7
|
||||||
|
206=7
|
||||||
|
207=7
|
||||||
|
208=17
|
||||||
|
209=17
|
||||||
|
210=19
|
||||||
|
211=19
|
||||||
|
212=19
|
||||||
|
213=19
|
||||||
|
214=19
|
||||||
|
215=14
|
||||||
|
216=19
|
||||||
|
217=17
|
||||||
|
218=17
|
||||||
|
219=17
|
||||||
|
220=17
|
||||||
|
221=16
|
||||||
|
222=13
|
||||||
|
223=15
|
||||||
|
224=13
|
||||||
|
225=13
|
||||||
|
226=13
|
||||||
|
227=13
|
||||||
|
228=13
|
||||||
|
229=13
|
||||||
|
230=21
|
||||||
|
231=11
|
||||||
|
232=13
|
||||||
|
233=13
|
||||||
|
234=13
|
||||||
|
235=13
|
||||||
|
236=7
|
||||||
|
237=7
|
||||||
|
238=7
|
||||||
|
239=7
|
||||||
|
240=15
|
||||||
|
241=15
|
||||||
|
242=15
|
||||||
|
243=15
|
||||||
|
244=15
|
||||||
|
245=15
|
||||||
|
246=15
|
||||||
|
247=14
|
||||||
|
248=15
|
||||||
|
249=15
|
||||||
|
250=15
|
||||||
|
251=15
|
||||||
|
252=15
|
||||||
|
253=12
|
||||||
|
254=15
|
||||||
|
255=12
|
||||||
|
[alt]
|
||||||
|
0=10
|
||||||
|
1=10
|
||||||
|
2=10
|
||||||
|
3=10
|
||||||
|
4=10
|
||||||
|
5=10
|
||||||
|
6=10
|
||||||
|
7=10
|
||||||
|
8=10
|
||||||
|
9=10
|
||||||
|
10=10
|
||||||
|
11=10
|
||||||
|
12=10
|
||||||
|
13=10
|
||||||
|
14=10
|
||||||
|
15=10
|
||||||
|
16=10
|
||||||
|
17=10
|
||||||
|
18=10
|
||||||
|
19=10
|
||||||
|
20=10
|
||||||
|
21=10
|
||||||
|
22=10
|
||||||
|
23=10
|
||||||
|
24=10
|
||||||
|
25=10
|
||||||
|
26=10
|
||||||
|
27=10
|
||||||
|
28=10
|
||||||
|
29=10
|
||||||
|
30=10
|
||||||
|
31=10
|
||||||
|
32=7
|
||||||
|
33=12
|
||||||
|
34=7
|
||||||
|
35=12
|
||||||
|
36=13
|
||||||
|
37=10
|
||||||
|
38=11
|
||||||
|
39=13
|
||||||
|
40=7
|
||||||
|
41=12
|
||||||
|
42=11
|
||||||
|
43=9
|
||||||
|
44=11
|
||||||
|
45=8
|
||||||
|
46=13
|
||||||
|
47=11
|
||||||
|
48=10
|
||||||
|
49=11
|
||||||
|
50=7
|
||||||
|
51=7
|
||||||
|
52=7
|
||||||
|
53=7
|
||||||
|
54=9
|
||||||
|
55=7
|
||||||
|
56=7
|
||||||
|
57=9
|
||||||
|
58=9
|
||||||
|
59=7
|
||||||
|
60=8
|
||||||
|
61=7
|
||||||
|
62=12
|
||||||
|
63=8
|
||||||
|
64=13
|
||||||
|
65=17
|
||||||
|
66=17
|
||||||
|
67=12
|
||||||
|
68=17
|
||||||
|
69=10
|
||||||
|
70=12
|
||||||
|
71=15
|
||||||
|
72=12
|
||||||
|
73=13
|
||||||
|
74=11
|
||||||
|
75=13
|
||||||
|
76=11
|
||||||
|
77=7
|
||||||
|
78=7
|
||||||
|
79=13
|
||||||
|
80=13
|
||||||
|
81=13
|
||||||
|
82=13
|
||||||
|
83=19
|
||||||
|
84=19
|
||||||
|
85=13
|
||||||
|
86=19
|
||||||
|
87=14
|
||||||
|
88=13
|
||||||
|
89=12
|
||||||
|
90=17
|
||||||
|
91=12
|
||||||
|
92=17
|
||||||
|
93=16
|
||||||
|
94=9
|
||||||
|
95=15
|
||||||
|
96=7
|
||||||
|
97=13
|
||||||
|
98=13
|
||||||
|
99=11
|
||||||
|
100=13
|
||||||
|
101=5
|
||||||
|
102=9
|
||||||
|
103=11
|
||||||
|
104=9
|
||||||
|
105=13
|
||||||
|
106=10
|
||||||
|
107=13
|
||||||
|
108=10
|
||||||
|
109=7
|
||||||
|
110=7
|
||||||
|
111=13
|
||||||
|
112=11
|
||||||
|
113=11
|
||||||
|
114=11
|
||||||
|
115=15
|
||||||
|
116=15
|
||||||
|
117=11
|
||||||
|
118=15
|
||||||
|
119=14
|
||||||
|
120=7
|
||||||
|
121=11
|
||||||
|
122=15
|
||||||
|
123=11
|
||||||
|
124=15
|
||||||
|
125=12
|
||||||
|
126=6
|
||||||
|
127=7
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
local t = Def.ActorFrame{
|
||||||
|
Def.Quad{
|
||||||
|
InitCommand=cmd(zoomto,SCREEN_WIDTH,120;diffuse,color("#EEF4FFCC"));
|
||||||
|
};
|
||||||
|
Def.ActorFrame{
|
||||||
|
InitCommand=cmd(y,16);
|
||||||
|
LoadFont("_frutiger roman 24px")..{
|
||||||
|
Name="Header";
|
||||||
|
Text=THEME:GetString("ScreenGuideMain","Header");
|
||||||
|
InitCommand=cmd(x,-312;y,-50;halign,0;diffuse,color("#111111FF");diffusetopedge,color("#11111188");shadowlength,-1;shadowcolor,color("#FFFFFF44"));
|
||||||
|
};
|
||||||
|
Def.Quad{
|
||||||
|
InitCommand=cmd(zoomto,SCREEN_WIDTH*0.975,2;y,-32;diffuse,color("#111111FF");diffusetopedge,color("#11111188");shadowlength,-1;shadowcolor,color("#FFFFFF44");fadeleft,0.1;faderight,0.625);
|
||||||
|
};
|
||||||
|
LoadFont("_frutiger roman 24px")..{
|
||||||
|
Name="Header";
|
||||||
|
Text=THEME:GetString("ScreenGuideMain","Explanation");
|
||||||
|
InitCommand=cmd(x,-312;y,-24;align,0,0;diffuse,color("#111111FF");zoom,0.65;wrapwidthpixels,(SCREEN_WIDTH)*1.45);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
return t;
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
local gc = Var("GameCommand")
|
||||||
|
local itemName = gc:GetName()
|
||||||
|
|
||||||
|
local t = Def.ActorFrame{
|
||||||
|
-- focused frame
|
||||||
|
LoadActor( THEME:GetPathG("SectionMenu","ItemFocused") )..{
|
||||||
|
GainFocusCommand=cmd(decelerate,0.5;diffusealpha,1);
|
||||||
|
LoseFocusCommand=cmd(stoptweening;decelerate,0.5;diffusealpha,0);
|
||||||
|
};
|
||||||
|
-- unfocused
|
||||||
|
LoadActor( THEME:GetPathG("SectionMenu","ItemUnfocused") )..{
|
||||||
|
GainFocusCommand=cmd(decelerate,0.5;diffusealpha,0);
|
||||||
|
LoseFocusCommand=cmd(stoptweening;decelerate,0.5;diffusealpha,1);
|
||||||
|
};
|
||||||
|
|
||||||
|
LoadActor( THEME:GetPathG("_section", "Guide") )..{
|
||||||
|
InitCommand=cmd(x,-250;y,-24;Real;halign,0);
|
||||||
|
GainFocusCommand=cmd(decelerate,0.5;diffusealpha,0.9);
|
||||||
|
LoseFocusCommand=cmd(stoptweening;decelerate,0.5;diffusealpha,0.45);
|
||||||
|
};
|
||||||
|
|
||||||
|
Def.ActorFrame{
|
||||||
|
LoadFont("_frutiger roman 24px")..{
|
||||||
|
Name="SectionName";
|
||||||
|
Text=THEME:GetString("ScreenGuideMain",itemName);
|
||||||
|
InitCommand=cmd(x,-250;y,-6;halign,0;diffuse,color("#222222FF"));
|
||||||
|
GainFocusCommand=cmd(decelerate,0.5;diffusealpha,1);
|
||||||
|
LoseFocusCommand=cmd(stoptweening;decelerate,0.5;diffusealpha,0.5);
|
||||||
|
};
|
||||||
|
LoadFont("_frutiger roman 24px")..{
|
||||||
|
Name="SectionDesc";
|
||||||
|
Text=THEME:GetString("ScreenGuideMain",itemName.."Desc");
|
||||||
|
InitCommand=cmd(x,-248;y,10;align,0,0;diffuse,color("#222222FF");zoom,0.5);
|
||||||
|
GainFocusCommand=cmd(decelerate,0.5;diffusealpha,1);
|
||||||
|
LoseFocusCommand=cmd(stoptweening;decelerate,0.5;diffusealpha,0.5);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
return t;
|
||||||
@@ -0,0 +1,23 @@
|
|||||||
|
local t = Def.ActorFrame{
|
||||||
|
Def.Quad{
|
||||||
|
InitCommand=cmd(zoomto,SCREEN_WIDTH,96;diffuse,color("#EEF4FFCC"));
|
||||||
|
};
|
||||||
|
Def.ActorFrame{
|
||||||
|
InitCommand=cmd(y,12);
|
||||||
|
LoadFont("_frutiger roman 24px")..{
|
||||||
|
Name="Header";
|
||||||
|
Text=THEME:GetString("ScreenReferenceMain","Header");
|
||||||
|
InitCommand=cmd(x,-312;y,-34;halign,0;diffuse,color("#111111FF");diffusetopedge,color("#11111188");shadowlength,-1;shadowcolor,color("#FFFFFF44"));
|
||||||
|
};
|
||||||
|
Def.Quad{
|
||||||
|
InitCommand=cmd(zoomto,SCREEN_WIDTH*0.975,2;y,-20;diffuse,color("#111111FF");diffusetopedge,color("#11111188");shadowlength,-1;shadowcolor,color("#FFFFFF44");fadeleft,0.1;faderight,0.625);
|
||||||
|
};
|
||||||
|
LoadFont("_frutiger roman 24px")..{
|
||||||
|
Name="Header";
|
||||||
|
Text=THEME:GetString("ScreenReferenceMain","Explanation");
|
||||||
|
InitCommand=cmd(x,-312;y,-14;align,0,0;diffuse,color("#111111FF");zoom,0.65;wrapwidthpixels,(SCREEN_WIDTH)*1.45);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
return t;
|
||||||
@@ -0,0 +1,40 @@
|
|||||||
|
local gc = Var("GameCommand")
|
||||||
|
local itemName = gc:GetName()
|
||||||
|
|
||||||
|
local t = Def.ActorFrame{
|
||||||
|
-- focused frame
|
||||||
|
LoadActor( THEME:GetPathG("SectionMenu","ItemFocused") )..{
|
||||||
|
GainFocusCommand=cmd(decelerate,0.5;diffusealpha,1);
|
||||||
|
LoseFocusCommand=cmd(stoptweening;decelerate,0.5;diffusealpha,0);
|
||||||
|
};
|
||||||
|
-- unfocused
|
||||||
|
LoadActor( THEME:GetPathG("SectionMenu","ItemUnfocused") )..{
|
||||||
|
GainFocusCommand=cmd(decelerate,0.5;diffusealpha,0);
|
||||||
|
LoseFocusCommand=cmd(stoptweening;decelerate,0.5;diffusealpha,1);
|
||||||
|
};
|
||||||
|
|
||||||
|
LoadActor( THEME:GetPathG("_section", "Reference") )..{
|
||||||
|
InitCommand=cmd(x,-250;y,-24;Real;halign,0);
|
||||||
|
GainFocusCommand=cmd(decelerate,0.5;diffusealpha,0.9);
|
||||||
|
LoseFocusCommand=cmd(stoptweening;decelerate,0.5;diffusealpha,0.45);
|
||||||
|
};
|
||||||
|
|
||||||
|
Def.ActorFrame{
|
||||||
|
LoadFont("_frutiger roman 24px")..{
|
||||||
|
Name="SectionName";
|
||||||
|
Text=THEME:GetString("ScreenReferenceMain",itemName);
|
||||||
|
InitCommand=cmd(x,-250;y,-6;halign,0;diffuse,color("#222222FF"));
|
||||||
|
GainFocusCommand=cmd(decelerate,0.5;diffusealpha,1);
|
||||||
|
LoseFocusCommand=cmd(stoptweening;decelerate,0.5;diffusealpha,0.5);
|
||||||
|
};
|
||||||
|
LoadFont("_frutiger roman 24px")..{
|
||||||
|
Name="SectionDesc";
|
||||||
|
Text=THEME:GetString("ScreenReferenceMain",itemName.."Desc");
|
||||||
|
InitCommand=cmd(x,-248;y,10;align,0,0;diffuse,color("#222222FF");zoom,0.5);
|
||||||
|
GainFocusCommand=cmd(decelerate,0.5;diffusealpha,1);
|
||||||
|
LoseFocusCommand=cmd(stoptweening;decelerate,0.5;diffusealpha,0.5);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
return t;
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
-- This file is used to define how the items should look on ScreenTitleMenu.
|
||||||
|
-- The syntax is different because I took this code from moonlight. :)
|
||||||
|
|
||||||
|
--[[
|
||||||
|
Concepts used:
|
||||||
|
* THEME:GetString(screen,string)
|
||||||
|
* zoom
|
||||||
|
* shadowlength
|
||||||
|
* diffuse
|
||||||
|
* halign (0 = left, 0.5 = middle, 1 = right)
|
||||||
|
* strokecolor
|
||||||
|
* stoptweening
|
||||||
|
* accelerate
|
||||||
|
--]]
|
||||||
|
|
||||||
|
-- this is used as a shorthand for GameCommand.
|
||||||
|
local gc = Var("GameCommand")
|
||||||
|
|
||||||
|
local t = Def.ActorFrame{
|
||||||
|
LoadFont( "_frutiger roman" ) ..{
|
||||||
|
-- This line tries to find a corresponding line in the current language
|
||||||
|
-- ini file; If it doesn't, (and you haven't disabled error messages,)
|
||||||
|
-- then an error will pop up telling you where you need to add the
|
||||||
|
-- string.
|
||||||
|
Text=THEME:GetString( 'ScreenTitleMenu', gc:GetText() );
|
||||||
|
InitCommand=cmd(zoom,0.85;y,-1;shadowlength,0;diffuse,color("#000000");halign,1;strokecolor,color("0,0,0,0"););
|
||||||
|
DisabledCommand=cmd( diffuse,color("0.45,0,0,1") );
|
||||||
|
GainFocusCommand=cmd(stoptweening;accelerate,0.15;diffuse,color("#000000");strokecolor,color("0.85,0.9,1,0.75"););
|
||||||
|
LoseFocusCommand=cmd(stoptweening;accelerate,0.2;diffuse,color("#888888");strokecolor,color("0,0,0,0"););
|
||||||
|
OffFocusedCommand=cmd(sleep,1;decelerate,1;addx,-32;diffuse,color("#FF0000"););
|
||||||
|
OffUnfocusedCommand=cmd(sleep,0.2*gc:GetIndex();linear,0.5;addx,SCREEN_CENTER_X;);
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
|
return t;
|
||||||
@@ -0,0 +1,4 @@
|
|||||||
|
-- temporary
|
||||||
|
local t = Def.ActorFrame{};
|
||||||
|
|
||||||
|
return t;
|
||||||
|
After Width: | Height: | Size: 1.1 KiB |
|
After Width: | Height: | Size: 1.0 KiB |
|
After Width: | Height: | Size: 8.2 KiB |
|
After Width: | Height: | Size: 267 B |
|
After Width: | Height: | Size: 297 B |
|
After Width: | Height: | Size: 313 B |
@@ -0,0 +1,43 @@
|
|||||||
|
[Common]
|
||||||
|
WindowTitle=Hello World (and other sm-ssc theming examples)
|
||||||
|
|
||||||
|
[ScreenTitleMenu]
|
||||||
|
Guide=Guide
|
||||||
|
Reference=Reference
|
||||||
|
Tutorial=Tutorials
|
||||||
|
|
||||||
|
[ScreenGuideMain]
|
||||||
|
Header=Guide
|
||||||
|
Explanation=The Guide section is meant for beginners who may not know the ins and outs of the StepMania theming system. It is also useful for themers coming from earlier versions of StepMania, as some things have changed in sm-ssc.
|
||||||
|
|
||||||
|
Metrics=Metrics
|
||||||
|
MetricsDesc=Metrics and Languages (since they're similar).
|
||||||
|
Fonts=Fonts
|
||||||
|
FontsDesc=Dealing with fonts.
|
||||||
|
Graphics=Graphics
|
||||||
|
GraphicsDesc=The Graphics folder and what goes in there.
|
||||||
|
BGAnims=BGAnimations
|
||||||
|
BGAnimsDesc=Bee Gees animations
|
||||||
|
Sounds=Sounds
|
||||||
|
SoundsDesc=Music and sound effects.
|
||||||
|
Scripts=Scripts
|
||||||
|
ScriptsDesc=Lua scripting.
|
||||||
|
Other=Other
|
||||||
|
OtherDesc=Things like PreferredSort and ScreenHowToPlay/ScreenGameplaySyncMachine steps.
|
||||||
|
NoteSkins=NoteSkins
|
||||||
|
NoteSkinsDesc=NoteSkin creation involves knowing the theming system, somewhat.
|
||||||
|
Announcers=Announcers
|
||||||
|
AnnouncersDesc=The lost art of announcers, and how to “properly” make one.
|
||||||
|
Characters=Characters
|
||||||
|
CharactersDesc=Three-dimensional characters dancing in Gameplay. Modeling skills not included.
|
||||||
|
|
||||||
|
[ScreenReferenceMain]
|
||||||
|
Header=Reference
|
||||||
|
Explanation=This section contains reference material. It is meant for themers who already somewhat know what they are looking for.
|
||||||
|
|
||||||
|
Screens=Screens
|
||||||
|
ScreensDesc=A reference of all of sm-ssc's available screens.
|
||||||
|
Managers=Managers and Singletons
|
||||||
|
ManagersDesc=Various things that end in "Manager" (and sometimes not).
|
||||||
|
Classes=Classes
|
||||||
|
ClassesDesc=The classes that make up some of your favorite elements.
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
# [en] ThemeInfo is used to set the theme's name (as it appears in the options
|
||||||
|
# menu), as well as the author (which shows up on ScreenInit, assuming you use it
|
||||||
|
# in your theme).
|
||||||
|
[ThemeInfo]
|
||||||
|
DisplayName=Hello World
|
||||||
|
Author=Various Contributors
|
||||||
@@ -0,0 +1,281 @@
|
|||||||
|
# Hello World
|
||||||
|
# (and other sm-ssc theming examples)
|
||||||
|
# A theme by various contributors. Sign your comments if you wish.
|
||||||
|
|
||||||
|
# contributors:
|
||||||
|
# AJ Kelly of the Spinal Shark Collective (http://ssc.ajworld.net/)
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
#
|
||||||
|
[Common]
|
||||||
|
# InitialScreen defines the starting screen of the theme.
|
||||||
|
# It can either be a string or a Lua function that returns a string.
|
||||||
|
InitialScreen="ScreenTitleMenu"
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
# [base] Base Screens aren't concrete, but are referenced by concrete screens.
|
||||||
|
|
||||||
|
# Pretty much every screen derives from this one. Adding decorations to it is
|
||||||
|
# one of the first things a themer does.
|
||||||
|
[ScreenWithMenuElements]
|
||||||
|
ShowHeader=true
|
||||||
|
HeaderX=SCREEN_CENTER_X
|
||||||
|
HeaderY=SCREEN_TOP+24
|
||||||
|
HeaderOnCommand=draworder,100
|
||||||
|
|
||||||
|
ShowFooter=false
|
||||||
|
FooterX=SCREEN_CENTER_X
|
||||||
|
FooterY=SCREEN_BOTTOM-24
|
||||||
|
FooterOnCommand=draworder,100
|
||||||
|
|
||||||
|
ShowCreditDisplay=false
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
# [overlay] Overlay screens sit on top of everything.
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
# [core] Core Screens; these are the concrete implementations.
|
||||||
|
|
||||||
|
# ScreenTitleMenu is the first screen you see in this theme, thanks to the
|
||||||
|
# [Common] InitialScreen metric being changed.
|
||||||
|
[ScreenTitleMenu]
|
||||||
|
# PrevScreen is set to make sure nothing gets messed up.
|
||||||
|
PrevScreen="ScreenTitleMenu"
|
||||||
|
# These settings are used to disable the attract sequence:
|
||||||
|
IdleTimeoutSeconds=-1
|
||||||
|
IdleTimeoutScreen="ScreenTitleMenu"
|
||||||
|
|
||||||
|
# no header or footer here
|
||||||
|
ShowHeader=false
|
||||||
|
ShowFooter=false
|
||||||
|
|
||||||
|
# These settings define what options appear on the menu and what commands are
|
||||||
|
# run when they are selected:
|
||||||
|
ChoiceNames="1,2,3,4,5"
|
||||||
|
Choice1="text,Guide;screen,ScreenGuideMain"
|
||||||
|
Choice2="text,Reference;screen,ScreenReferenceMain"
|
||||||
|
Choice3="text,Tutorial;"
|
||||||
|
Choice4="text,Options;screen,ScreenOptionsService;"
|
||||||
|
Choice5="text,Exit;screen,ScreenExit;"
|
||||||
|
|
||||||
|
# These control the placement of the items, as well as the list:
|
||||||
|
ScrollerX=SCREEN_RIGHT-44
|
||||||
|
ScrollerY=SCREEN_CENTER_Y+32
|
||||||
|
ScrollerOnCommand=addx,SCREEN_CENTER_X;decelerate,0.8;addx,-SCREEN_CENTER_X
|
||||||
|
ScrollerTransform=function(self,offset,itemIndex,numItems) self:y(27*offset) end
|
||||||
|
|
||||||
|
[ScreenOptionsService]
|
||||||
|
# dummying out ScreenInit
|
||||||
|
NextScreen="ScreenTitleMenu"
|
||||||
|
PrevScreen="ScreenTitleMenu"
|
||||||
|
################################################################################
|
||||||
|
# [guide] The guide splits the elements of StepMania theming into different sections.
|
||||||
|
# It acts as an introduction to all of the concepts in modern StepMania theming.
|
||||||
|
# All guide pages aside from ScreenGuideMain MUST be prefixed with "Guide" in
|
||||||
|
# order to differentiate them from the core screens.
|
||||||
|
[ScreenGuideMain]
|
||||||
|
Class="ScreenSelectMaster"
|
||||||
|
Fallback="ScreenSelectMaster"
|
||||||
|
PrevScreen="ScreenTitleMenu"
|
||||||
|
AllowRepeatingInput=true
|
||||||
|
|
||||||
|
# modifying header position
|
||||||
|
HeaderY=SCREEN_TOP+72
|
||||||
|
|
||||||
|
ChoiceNames="Metrics,Fonts,Graphics,BGAnims,Sounds,Scripts,Other,NoteSkins,Announcers,Characters"
|
||||||
|
ChoiceMetrics="name,Metrics"
|
||||||
|
ChoiceFonts="name,Fonts"
|
||||||
|
ChoiceGraphics="name,Graphics"
|
||||||
|
ChoiceBGAnims="name,BGAnims"
|
||||||
|
ChoiceSounds="name,Sounds"
|
||||||
|
ChoiceScripts="name,Scripts"
|
||||||
|
ChoiceOther="name,Other"
|
||||||
|
ChoiceNoteSkins="name,NoteSkins"
|
||||||
|
ChoiceAnnouncers="name,Announcers"
|
||||||
|
ChoiceCharacters="name,Characters"
|
||||||
|
DefaultChoice="Metrics"
|
||||||
|
|
||||||
|
ShowScroller=true
|
||||||
|
LoopScroller=false
|
||||||
|
PerChoiceScrollElement=false
|
||||||
|
|
||||||
|
ScrollerX=SCREEN_CENTER_X
|
||||||
|
ScrollerY=SCREEN_CENTER_Y*0.775
|
||||||
|
ScrollerNumItemsToDraw=10
|
||||||
|
ScrollerSecondsPerItem=0.1
|
||||||
|
ScrollerTransform=function(self,offset,itemIndex,numItems) self:y((itemIndex-(numItems/2))+offset*64) end
|
||||||
|
|
||||||
|
# guide base screen (sets up things I don't want to retype a lot -aj) #
|
||||||
|
[GuideBase]
|
||||||
|
Class="ScreenSelectMaster"
|
||||||
|
Fallback="ScreenSelectMaster"
|
||||||
|
|
||||||
|
## Metrics
|
||||||
|
[GuideMetrics]
|
||||||
|
Fallback="GuideBase"
|
||||||
|
|
||||||
|
## Fonts
|
||||||
|
[GuideFonts]
|
||||||
|
Fallback="GuideBase"
|
||||||
|
|
||||||
|
## Graphics
|
||||||
|
[GuideGraphics]
|
||||||
|
Fallback="GuideBase"
|
||||||
|
|
||||||
|
## BGAnimations
|
||||||
|
[GuideBGA]
|
||||||
|
Fallback="GuideBase"
|
||||||
|
### Decorations (simpler)
|
||||||
|
### Overlay/Underlay (can be more complex)
|
||||||
|
|
||||||
|
## Sounds
|
||||||
|
[GuideSounds]
|
||||||
|
Fallback="GuideBase"
|
||||||
|
|
||||||
|
## Scripts
|
||||||
|
[GuideScripts]
|
||||||
|
Fallback="GuideBase"
|
||||||
|
|
||||||
|
## the Other folder
|
||||||
|
[GuideOther]
|
||||||
|
Fallback="GuideBase"
|
||||||
|
### HowToPlay steps
|
||||||
|
### PreferredSort
|
||||||
|
|
||||||
|
# And then there are the things that are related to theming:
|
||||||
|
## NoteSkins
|
||||||
|
[GuideNoteSkins]
|
||||||
|
Fallback="GuideBase"
|
||||||
|
|
||||||
|
## Announcers
|
||||||
|
[GuideAnnouncers]
|
||||||
|
Fallback="GuideBase"
|
||||||
|
|
||||||
|
## Characters
|
||||||
|
[GuideCharacters]
|
||||||
|
Fallback="GuideBase"
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
# [ref] The reference section contains a complete listing of commands and examples of how they work. #
|
||||||
|
# All reference pages aside from ScreenReferenceMain MUST be prefixed with "Reference"
|
||||||
|
# in order to differentiate them from the core screens.
|
||||||
|
[ScreenReferenceMain]
|
||||||
|
Class="ScreenSelectMaster"
|
||||||
|
Fallback="ScreenSelectMaster"
|
||||||
|
PrevScreen="ScreenTitleMenu"
|
||||||
|
AllowRepeatingInput=true
|
||||||
|
|
||||||
|
# modifying header position
|
||||||
|
HeaderY=SCREEN_TOP+72
|
||||||
|
|
||||||
|
ChoiceNames="Screens,Managers,Classes"
|
||||||
|
ChoiceScreens="name,Screens"
|
||||||
|
ChoiceManagers="name,Managers"
|
||||||
|
ChoiceClasses="name,Classes"
|
||||||
|
DefaultChoice="Screens"
|
||||||
|
|
||||||
|
ShowScroller=true
|
||||||
|
LoopScroller=false
|
||||||
|
PerChoiceScrollElement=false
|
||||||
|
|
||||||
|
ScrollerX=SCREEN_CENTER_X
|
||||||
|
ScrollerY=SCREEN_CENTER_Y+32
|
||||||
|
ScrollerNumItemsToDraw=10
|
||||||
|
ScrollerSecondsPerItem=0.1
|
||||||
|
ScrollerTransform=function(self,offset,itemIndex,numItems) self:y((itemIndex-(numItems/2))*64) end
|
||||||
|
|
||||||
|
# reference base screen (sets up things I don't want to retype a lot -aj) #
|
||||||
|
[ReferenceBase]
|
||||||
|
Class="ScreenSelectMaster"
|
||||||
|
Fallback="ScreenSelectMaster"
|
||||||
|
|
||||||
|
## Screens
|
||||||
|
[ReferenceScreens]
|
||||||
|
Fallback="ReferenceBase"
|
||||||
|
|
||||||
|
## Managers and other Singletons
|
||||||
|
[ReferenceManagers]
|
||||||
|
Fallback="ReferenceBase"
|
||||||
|
|
||||||
|
#@# STEPMANIA ROBOT MASTERS
|
||||||
|
### ANNOUNCER [man]
|
||||||
|
[ReferenceAnnouncerMan]
|
||||||
|
|
||||||
|
### CHARMAN
|
||||||
|
[ReferenceCharMan]
|
||||||
|
|
||||||
|
### FILEMAN
|
||||||
|
[ReferenceFileMan]
|
||||||
|
|
||||||
|
### GAMEMAN
|
||||||
|
[ReferenceGameMan]
|
||||||
|
|
||||||
|
### GAMESOUNDMAN
|
||||||
|
[ReferenceGameSoundMan]
|
||||||
|
|
||||||
|
### GAMESTATE
|
||||||
|
[ReferenceGameState]
|
||||||
|
|
||||||
|
### MEMCARDMAN
|
||||||
|
[ReferenceMemCardMan]
|
||||||
|
|
||||||
|
### MESSAGEMAN
|
||||||
|
[ReferenceMessageMan]
|
||||||
|
|
||||||
|
### NOTESKIN [man]
|
||||||
|
[ReferenceNoteskinMan]
|
||||||
|
|
||||||
|
### PREFSMAN
|
||||||
|
[ReferencePrefsMan]
|
||||||
|
|
||||||
|
### PROFILEMAN
|
||||||
|
[ReferenceProfileMan]
|
||||||
|
|
||||||
|
### SCREENMAN
|
||||||
|
[ReferenceScreenMan]
|
||||||
|
|
||||||
|
### SONGMAN
|
||||||
|
[ReferenceSongMan]
|
||||||
|
|
||||||
|
### STATSMAN
|
||||||
|
[ReferenceStatsMan]
|
||||||
|
|
||||||
|
### THEME [man]
|
||||||
|
[ReferenceThemeMan]
|
||||||
|
|
||||||
|
### UNLOCKMAN
|
||||||
|
[ReferenceUnlockMan]
|
||||||
|
|
||||||
|
## Classes
|
||||||
|
[ReferenceClasses]
|
||||||
|
Fallback="ReferenceBase"
|
||||||
|
|
||||||
|
### Actor
|
||||||
|
[ReferenceActor]
|
||||||
|
#### many sub-things
|
||||||
|
|
||||||
|
### ActorFrame
|
||||||
|
[ReferenceActorFrame]
|
||||||
|
|
||||||
|
### Banner
|
||||||
|
[ReferenceBanner]
|
||||||
|
|
||||||
|
### Song
|
||||||
|
[ReferenceSong]
|
||||||
|
|
||||||
|
### Steps
|
||||||
|
[ReferenceSteps]
|
||||||
|
|
||||||
|
### Course
|
||||||
|
[ReferenceCourse]
|
||||||
|
|
||||||
|
### Trail
|
||||||
|
[ReferenceTrail]
|
||||||
|
|
||||||
|
### and a ton of missing stuff
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
# [tutor] Tutorials are guides to implementing specific things #
|
||||||
|
[ScreenTutorialMain]
|
||||||
|
|
||||||
|
# todo: figure out what tutorials
|
||||||
@@ -0,0 +1,49 @@
|
|||||||
|
Hello World
|
||||||
|
and other sm-ssc theming examples
|
||||||
|
--------------------------------------
|
||||||
|
A theme by various contributors.
|
||||||
|
--------------------------------------
|
||||||
|
|
||||||
|
This theme and its accompanying documentation are licensed under
|
||||||
|
the Creative Commons Attribution-Share Alike 3.0 license.
|
||||||
|
|
||||||
|
The license text can be viewed at:
|
||||||
|
http://creativecommons.org/licenses/by-sa/3.0/us/
|
||||||
|
|
||||||
|
================================================================================
|
||||||
|
Table of Contents
|
||||||
|
Introduction [intro]
|
||||||
|
Chapter List [chapt]
|
||||||
|
Guide [guide]
|
||||||
|
Metrics [g_met]
|
||||||
|
Fonts [g_fon]
|
||||||
|
Graphics [g_gfx]
|
||||||
|
BGAnims [g_bga]
|
||||||
|
Sounds [g_sfx]
|
||||||
|
Scripts [g_scr]
|
||||||
|
Other [g_oth]
|
||||||
|
NoteSkins [g_not]
|
||||||
|
Announcers [g_ann]
|
||||||
|
Characters [g_cha]
|
||||||
|
Reference [ref]
|
||||||
|
Screens [r_scr]
|
||||||
|
Managers [r_man]
|
||||||
|
Classes [r_cls]
|
||||||
|
Tutorials [tutor]
|
||||||
|
[others tba]
|
||||||
|
|
||||||
|
================================================================================
|
||||||
|
Introduction [intro]
|
||||||
|
|
||||||
|
Hello, and welcome to Hello World (and other sm-ssc theming examples).
|
||||||
|
This theme and accompanying documentation are provided for people new to
|
||||||
|
theming for StepMania, using sm-ssc as a base.
|
||||||
|
|
||||||
|
================================================================================
|
||||||
|
The Chapters [chapt]
|
||||||
|
|
||||||
|
The theme itself is split into three sections, encompassing various elements of
|
||||||
|
sm-ssc theming.
|
||||||
|
|
||||||
|
The Guide is a general run-through of how Themes are constructed (along with
|
||||||
|
NoteSkins, Announcers, and Characters)
|
||||||
@@ -787,6 +787,7 @@ CelShadeModels=Cel-shaded Models
|
|||||||
Center Image=Center Image
|
Center Image=Center Image
|
||||||
Chaos=Chaos
|
Chaos=Chaos
|
||||||
Characters=Characters
|
Characters=Characters
|
||||||
|
Chart Style=Chart Style
|
||||||
Choose=Choose
|
Choose=Choose
|
||||||
Clear Bookkeeping Data=Clear Bookkeeping Data
|
Clear Bookkeeping Data=Clear Bookkeeping Data
|
||||||
Clear Machine Edits=Clear Machine Edits
|
Clear Machine Edits=Clear Machine Edits
|
||||||
@@ -1205,6 +1206,7 @@ Enter a new artist.=Enter a new artist.
|
|||||||
Enter a new genre.=Enter a new genre.
|
Enter a new genre.=Enter a new genre.
|
||||||
Enter a new credit.=Enter a new credit.
|
Enter a new credit.=Enter a new credit.
|
||||||
Enter a new description.=Enter a new description.
|
Enter a new description.=Enter a new description.
|
||||||
|
Enter a new chart style.=Enter a new chart style (e.g. "Pad", "Keyboard").
|
||||||
Enter the author who made this step pattern.=Enter the author who made this step pattern.
|
Enter the author who made this step pattern.=Enter the author who made this step pattern.
|
||||||
Enter a new last beat hint.=Enter a new last beat hint.
|
Enter a new last beat hint.=Enter a new last beat hint.
|
||||||
Enter a new main title transliteration.=Enter a new main title transliteration.
|
Enter a new main title transliteration.=Enter a new main title transliteration.
|
||||||
@@ -1231,6 +1233,7 @@ Snap to=Snap to
|
|||||||
Selection beat=Selection beat
|
Selection beat=Selection beat
|
||||||
Difficulty=Difficulty
|
Difficulty=Difficulty
|
||||||
Description=Description
|
Description=Description
|
||||||
|
Chart Style=Chart Style
|
||||||
Main title=Main title
|
Main title=Main title
|
||||||
Subtitle=Subtitle
|
Subtitle=Subtitle
|
||||||
Tap Steps=Tap Steps
|
Tap Steps=Tap Steps
|
||||||
@@ -1244,6 +1247,7 @@ Preview Start=Preview Start
|
|||||||
Preview Length=Preview Length
|
Preview Length=Preview Length
|
||||||
Help=Help
|
Help=Help
|
||||||
Info=Info
|
Info=Info
|
||||||
|
Routine Player=Player
|
||||||
|
|
||||||
[ScreenEditMenu]
|
[ScreenEditMenu]
|
||||||
HeaderText=Edit Song/Steps
|
HeaderText=Edit Song/Steps
|
||||||
|
|||||||
@@ -6,7 +6,6 @@ function InitGamePrefs()
|
|||||||
{ "NotePosition", true },
|
{ "NotePosition", true },
|
||||||
{ "ComboOnRolls", false },
|
{ "ComboOnRolls", false },
|
||||||
{ "ComboUnderField", true },
|
{ "ComboUnderField", true },
|
||||||
{ "AdjustSpeed", false },
|
|
||||||
};
|
};
|
||||||
|
|
||||||
for idx,pref in ipairs(Prefs) do
|
for idx,pref in ipairs(Prefs) do
|
||||||
@@ -387,49 +386,6 @@ function GamePrefComboUnderField()
|
|||||||
return t;
|
return t;
|
||||||
end
|
end
|
||||||
|
|
||||||
function GetDefaultArrowSpacing()
|
|
||||||
local rates = {
|
|
||||||
64, -- Default
|
|
||||||
80, -- Pro
|
|
||||||
128, -- New
|
|
||||||
};
|
|
||||||
return GetGamePrefB("AdjustSpeed") and rates[3] or rates[1];
|
|
||||||
end;
|
|
||||||
function GamePrefAdjustSpeed()
|
|
||||||
local t = {
|
|
||||||
Name = "GamePrefAdjustSpeed";
|
|
||||||
LayoutType = "ShowAllInRow";
|
|
||||||
SelectType = "SelectOne";
|
|
||||||
OneChoiceForAllPlayers = true;
|
|
||||||
ExportOnChange = false;
|
|
||||||
Choices = { 'Normal','Fast' };
|
|
||||||
LoadSelections = function(self, list, pn)
|
|
||||||
if ReadGamePrefFromFile("AdjustSpeed") ~= nil then
|
|
||||||
if GetGamePrefB("AdjustSpeed") then
|
|
||||||
list[2] = true;
|
|
||||||
else
|
|
||||||
list[1] = true;
|
|
||||||
end;
|
|
||||||
else
|
|
||||||
WriteGamePrefToFile("AdjustSpeed",true);
|
|
||||||
list[2] = true;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
SaveSelections = function(self, list, pn)
|
|
||||||
local val;
|
|
||||||
if list[2] then
|
|
||||||
val = true;
|
|
||||||
else
|
|
||||||
val = false;
|
|
||||||
end;
|
|
||||||
WriteGamePrefToFile("AdjustSpeed",val);
|
|
||||||
MESSAGEMAN:Broadcast("PreferenceSet", { Message == "Set Preference" } );
|
|
||||||
THEME:ReloadMetrics();
|
|
||||||
end;
|
|
||||||
};
|
|
||||||
setmetatable( t, t );
|
|
||||||
return t;
|
|
||||||
end
|
|
||||||
function GamePrefAutoSetStyle()
|
function GamePrefAutoSetStyle()
|
||||||
local t = {
|
local t = {
|
||||||
Name = "GamePrefAutoSetStyle";
|
Name = "GamePrefAutoSetStyle";
|
||||||
|
|||||||
@@ -22,14 +22,16 @@ IsBaseTheme=1
|
|||||||
# for 480p, it would be enlarged for bigger screens!
|
# for 480p, it would be enlarged for bigger screens!
|
||||||
ScreenWidth=1
|
ScreenWidth=1
|
||||||
ScreenHeight=480
|
ScreenHeight=480
|
||||||
|
|
||||||
# Allows you to pick all available game modes for your gametype: for example,
|
# Allows you to pick all available game modes for your gametype: for example,
|
||||||
# inserting enough coins for 1p would let you choose between solo, single
|
# inserting enough coins for 1p would let you choose between solo, single
|
||||||
# and double before each game
|
# and double before each game
|
||||||
# AutoSetStyle=true
|
|
||||||
AutoSetStyle=GetGamePrefB("AutoSetStyle")
|
AutoSetStyle=GetGamePrefB("AutoSetStyle")
|
||||||
|
|
||||||
# Default modifiers and noteskin.
|
# Default modifiers and noteskin.
|
||||||
DefaultModifiers="default;1.5x;"
|
DefaultModifiers="default;1.5x;"
|
||||||
DefaultNoteSkinName="default"
|
DefaultNoteSkinName="default"
|
||||||
|
|
||||||
# Difficulties to show. Useful for custom games where you want to hide these.
|
# Difficulties to show. Useful for custom games where you want to hide these.
|
||||||
DifficultiesToShow="beginner,easy,medium,hard,challenge"
|
DifficultiesToShow="beginner,easy,medium,hard,challenge"
|
||||||
# Same as above, but for courses.
|
# Same as above, but for courses.
|
||||||
@@ -37,19 +39,27 @@ CourseDifficultiesToShow="easy,medium,hard"
|
|||||||
# Things to hide. You couldn't play cabinet anyways.
|
# Things to hide. You couldn't play cabinet anyways.
|
||||||
StepsTypesToHide="lights-cabinet"
|
StepsTypesToHide="lights-cabinet"
|
||||||
#~ StepsTypesToHide="dance-couple,dance-solo,pump-halfdouble,lights-cabinet"
|
#~ StepsTypesToHide="dance-couple,dance-solo,pump-halfdouble,lights-cabinet"
|
||||||
# Useless?
|
|
||||||
|
# The number of entries before "Various" is shown on the BPMDisplay, etc.
|
||||||
MaxCourseEntriesBeforeShowVarious=10
|
MaxCourseEntriesBeforeShowVarious=10
|
||||||
# Legacy metric: The first screen that shows up when you take forever to press
|
|
||||||
# start.
|
# The screen that appears when pressing the operator button.
|
||||||
|
OperatorMenuScreen="ScreenOptionsService"
|
||||||
|
|
||||||
|
# The first screen in the attract cycle.
|
||||||
FirstAttractScreen="ScreenDemonstration"
|
FirstAttractScreen="ScreenDemonstration"
|
||||||
|
|
||||||
# First screen that pops up when you start the game. ScreenInit in particular
|
# First screen that pops up when you start the game. ScreenInit in particular
|
||||||
# shows the theme information before going to the title screen.
|
# shows the theme information before going to the title screen.
|
||||||
InitialScreen="ScreenInit"
|
InitialScreen="ScreenInit"
|
||||||
|
|
||||||
# Music selection screen used after downloading files.
|
# Music selection screen used after downloading files.
|
||||||
SelectMusicScreen="ScreenSelectMusic"
|
SelectMusicScreen="ScreenSelectMusic"
|
||||||
# Screens that show over everything else. you shouldn't worry bout this, since
|
|
||||||
# it wont matter much.
|
# Screens that show over everything else.
|
||||||
|
# Only mess with this if you know what you're doing.
|
||||||
OverlayScreens="ScreenSystemLayer,ScreenSyncOverlay,ScreenStatsOverlay,ScreenDebugOverlay,ScreenConsoleOverlay,ScreenInstallOverlay"
|
OverlayScreens="ScreenSystemLayer,ScreenSyncOverlay,ScreenStatsOverlay,ScreenDebugOverlay,ScreenConsoleOverlay,ScreenInstallOverlay"
|
||||||
|
|
||||||
# Legacy metric: Percentage Scoring shows this many decimals ( 00.00% ).
|
# Legacy metric: Percentage Scoring shows this many decimals ( 00.00% ).
|
||||||
PercentScoreDecimalPlaces=2
|
PercentScoreDecimalPlaces=2
|
||||||
|
|
||||||
@@ -126,7 +136,7 @@ FrameWidthEffectsMinMultiplier=0.5
|
|||||||
FrameWidthEffectsMaxMultiplier=1.2
|
FrameWidthEffectsMaxMultiplier=1.2
|
||||||
FrameWidthLockEffectsToOverlapping=false
|
FrameWidthLockEffectsToOverlapping=false
|
||||||
FrameWidthLockEffectsTweenPixels=25
|
FrameWidthLockEffectsTweenPixels=25
|
||||||
ArrowSpacing=128
|
ArrowSpacing=64
|
||||||
DrawHiddenNotesAfterReceptor=true
|
DrawHiddenNotesAfterReceptor=true
|
||||||
BlinkModFrequency=0.3333
|
BlinkModFrequency=0.3333
|
||||||
BoostModMinClamp=-400
|
BoostModMinClamp=-400
|
||||||
@@ -218,6 +228,8 @@ QuestionMarksText="???"
|
|||||||
RandomText="!!!"
|
RandomText="!!!"
|
||||||
# xxx: localize me -aj
|
# xxx: localize me -aj
|
||||||
VariousText="000"
|
VariousText="000"
|
||||||
|
FormatString="%03.0f"
|
||||||
|
|
||||||
[CodeDetector]
|
[CodeDetector]
|
||||||
# Codes on the MusicWheel that change stuff!
|
# Codes on the MusicWheel that change stuff!
|
||||||
PrevSteps1="Up,Up"
|
PrevSteps1="Up,Up"
|
||||||
@@ -512,11 +524,9 @@ DisablePremiumInEventMode=false
|
|||||||
# Polar graph that shows difficulty stuff in depth
|
# Polar graph that shows difficulty stuff in depth
|
||||||
# how thick the line is
|
# how thick the line is
|
||||||
EdgeWidth=2
|
EdgeWidth=2
|
||||||
# ?
|
|
||||||
LabelOnDelay=0
|
|
||||||
# How visible the middle is
|
# How visible the middle is
|
||||||
CenterAlpha=0.25
|
CenterAlpha=0.25
|
||||||
# what to do with each players part of the graph
|
# what to do with each player's part of the graph
|
||||||
RadarValueMapP1OnCommand=diffuse,PlayerColor(PLAYER_1)
|
RadarValueMapP1OnCommand=diffuse,PlayerColor(PLAYER_1)
|
||||||
RadarValueMapP2OnCommand=diffuse,PlayerColor(PLAYER_2)
|
RadarValueMapP2OnCommand=diffuse,PlayerColor(PLAYER_2)
|
||||||
|
|
||||||
@@ -3070,7 +3080,6 @@ Class="ScreenGameplayNormal"
|
|||||||
NextScreen=Branch.AfterGameplay()
|
NextScreen=Branch.AfterGameplay()
|
||||||
PrevScreen=Branch.BackOutOfStageInformation()
|
PrevScreen=Branch.BackOutOfStageInformation()
|
||||||
#
|
#
|
||||||
UseAlternativeInput=false
|
|
||||||
ShowLifeMeterForDisabledPlayers=false
|
ShowLifeMeterForDisabledPlayers=false
|
||||||
StopCourseEarly=false
|
StopCourseEarly=false
|
||||||
ShowEvaluationOnFail=true
|
ShowEvaluationOnFail=true
|
||||||
@@ -3602,6 +3611,28 @@ PlayRecordHelpX=SCREEN_LEFT+20
|
|||||||
PlayRecordHelpY=SCREEN_BOTTOM-20
|
PlayRecordHelpY=SCREEN_BOTTOM-20
|
||||||
PlayRecordHelpOnCommand=halign,0;valign,0;shadowlength,1
|
PlayRecordHelpOnCommand=halign,0;valign,0;shadowlength,1
|
||||||
|
|
||||||
|
CurrentBeatFormat="%s:\n %.5f\n"
|
||||||
|
CurrentSecondFormat="%s:\n %.5f\n"
|
||||||
|
SnapToFormat="%s:\n %s\n"
|
||||||
|
SelectionBeatBeginFormat="%s:\n %.5f"
|
||||||
|
SelectionBeatUnfinishedFormat=" ...\n"
|
||||||
|
SelectionBeatEndFormat="-%.5f\n"
|
||||||
|
DifficultyFormat="%s:\n %s\n"
|
||||||
|
RoutinePlayerFormat="%s:\n %d\n"
|
||||||
|
DescriptionFormat="%s:\n %s\n"
|
||||||
|
ChartStyleFormat="%s:\n %s\n"
|
||||||
|
MainTitleFormat="%s:\n %s\n"
|
||||||
|
SubtitleFormat="%s:\n %s\n"
|
||||||
|
NumStepsFormat="%s: %d\n"
|
||||||
|
NumJumpsFormat="%s: %d\n"
|
||||||
|
NumHoldsFormat="%s: %d\n"
|
||||||
|
NumMinesFormat="%s: %d\n"
|
||||||
|
NumHandsFormat="%s: %d\n"
|
||||||
|
NumRollsFormat="%s: %d\n"
|
||||||
|
Beat0OffsetFormat="%s:\n %.5f secs\n"
|
||||||
|
PreviewStartFormat="%s:\n %.5f secs\n"
|
||||||
|
PreviewLengthFormat="%s:\n %.5f secs\n"
|
||||||
|
|
||||||
[ScreenPracticeMenu]
|
[ScreenPracticeMenu]
|
||||||
Fallback="ScreenEditMenu"
|
Fallback="ScreenEditMenu"
|
||||||
Class="ScreenEditMenu"
|
Class="ScreenEditMenu"
|
||||||
|
|||||||
@@ -64,7 +64,6 @@ UserPrefSpecialScoringMode=Special Scoring Mode
|
|||||||
GamePrefNotePosition=Note Positions
|
GamePrefNotePosition=Note Positions
|
||||||
GamePrefComboOnRolls=Rolls Increment Combo
|
GamePrefComboOnRolls=Rolls Increment Combo
|
||||||
GamePrefComboUnderField=Combo Under Field
|
GamePrefComboUnderField=Combo Under Field
|
||||||
GamePrefAdjustSpeed=Adjust Speed
|
|
||||||
|
|
||||||
UserPrefGameplayShowScore=Show Score
|
UserPrefGameplayShowScore=Show Score
|
||||||
UserPrefGameplayShowStepsDisplay=Show Steps
|
UserPrefGameplayShowStepsDisplay=Show Steps
|
||||||
@@ -76,7 +75,6 @@ GamePrefAutoSetStyle=Allow the game to list all one player and two player modes
|
|||||||
GamePrefNotePosition=Determines where the arrow receptors are placed in gameplay.
|
GamePrefNotePosition=Determines where the arrow receptors are placed in gameplay.
|
||||||
GamePrefComboOnRolls=Choose if rolls should increment the combo or not.
|
GamePrefComboOnRolls=Choose if rolls should increment the combo or not.
|
||||||
GamePrefComboUnderField=Determine if the combo should display under the notes or not.
|
GamePrefComboUnderField=Determine if the combo should display under the notes or not.
|
||||||
GamePrefAdjustSpeed=Adjust the default scale for speed modifiers. Normal corresponds to the original StepMania 3.9 speed, Fast is twice that rate.
|
|
||||||
|
|
||||||
UserPrefGameplayShowScore=Show or Hide the score display in gameplay.
|
UserPrefGameplayShowScore=Show or Hide the score display in gameplay.
|
||||||
UserPrefSpecialScoringMode=Select the scoring mode to be used if the Special scoring type is selected.
|
UserPrefSpecialScoringMode=Select the scoring mode to be used if the Special scoring type is selected.
|
||||||
|
|||||||
@@ -51,9 +51,6 @@ function InitUserPrefs()
|
|||||||
if GetUserPrefB("UserPrefComboUnderField") == nil then
|
if GetUserPrefB("UserPrefComboUnderField") == nil then
|
||||||
SetUserPref("UserPrefComboUnderField", true);
|
SetUserPref("UserPrefComboUnderField", true);
|
||||||
end;
|
end;
|
||||||
if GetUserPrefB("UserPrefAdjustSpeed") == nil then
|
|
||||||
SetUserPref("UserPrefAdjustSpeed", false);
|
|
||||||
end;
|
|
||||||
--[[ if GetUserPref("ProTimingP1") == nil then
|
--[[ if GetUserPref("ProTimingP1") == nil then
|
||||||
SetUserPref("ProTimingP1", false);
|
SetUserPref("ProTimingP1", false);
|
||||||
end;
|
end;
|
||||||
@@ -500,49 +497,4 @@ function UserPrefComboUnderField()
|
|||||||
setmetatable( t, t );
|
setmetatable( t, t );
|
||||||
return t;
|
return t;
|
||||||
end
|
end
|
||||||
|
|
||||||
function GetDefaultArrowSpacing()
|
|
||||||
local rates = {
|
|
||||||
64, -- Default
|
|
||||||
80, -- Pro
|
|
||||||
128, -- New
|
|
||||||
};
|
|
||||||
return GetUserPrefB("UserPrefAdjustSpeed") and rates[3] or rates[1];
|
|
||||||
end;
|
|
||||||
|
|
||||||
function UserPrefAdjustSpeed()
|
|
||||||
local t = {
|
|
||||||
Name = "UserPrefAdjustSpeed";
|
|
||||||
LayoutType = "ShowAllInRow";
|
|
||||||
SelectType = "SelectOne";
|
|
||||||
OneChoiceForAllPlayers = true;
|
|
||||||
ExportOnChange = false;
|
|
||||||
Choices = { 'Slow','Fast' };
|
|
||||||
LoadSelections = function(self, list, pn)
|
|
||||||
if ReadPrefFromFile("UserPrefAdjustSpeed") ~= nil then
|
|
||||||
if GetUserPrefB("UserPrefAdjustSpeed") then
|
|
||||||
list[2] = true;
|
|
||||||
else
|
|
||||||
list[1] = true;
|
|
||||||
end;
|
|
||||||
else
|
|
||||||
WritePrefToFile("UserPrefAdjustSpeed",true);
|
|
||||||
list[2] = true;
|
|
||||||
end;
|
|
||||||
end;
|
|
||||||
SaveSelections = function(self, list, pn)
|
|
||||||
local val;
|
|
||||||
if list[2] then
|
|
||||||
val = true;
|
|
||||||
else
|
|
||||||
val = false;
|
|
||||||
end;
|
|
||||||
WritePrefToFile("UserPrefAdjustSpeed",val);
|
|
||||||
MESSAGEMAN:Broadcast("PreferenceSet", { Message == "Set Preference" } );
|
|
||||||
THEME:ReloadMetrics();
|
|
||||||
end;
|
|
||||||
};
|
|
||||||
setmetatable( t, t );
|
|
||||||
return t;
|
|
||||||
end
|
|
||||||
--[[ end option rows ]]
|
--[[ end option rows ]]
|
||||||
|
|||||||
@@ -321,9 +321,6 @@ AveragePulseCommand=finishtweening;diffusealpha,1;zoom,0.75*1.25;decelerate,0.05
|
|||||||
# ReceptorArrowsYReverse=GetTapPosition('Reverse')
|
# ReceptorArrowsYReverse=GetTapPosition('Reverse')
|
||||||
# RollBodyIncrementsCombo=GetUserPrefB("UserPrefComboOnRolls")
|
# RollBodyIncrementsCombo=GetUserPrefB("UserPrefComboOnRolls")
|
||||||
|
|
||||||
[ArrowEffects]
|
|
||||||
ArrowSpacing=GetDefaultArrowSpacing()
|
|
||||||
|
|
||||||
[ScoreDisplayNormal]
|
[ScoreDisplayNormal]
|
||||||
FrameX=
|
FrameX=
|
||||||
FrameY=
|
FrameY=
|
||||||
@@ -827,7 +824,7 @@ ItemsLongRowSharedX=SCREEN_CENTER_X
|
|||||||
|
|
||||||
[ScreenOptionsTheme]
|
[ScreenOptionsTheme]
|
||||||
Fallback="ScreenOptionsServiceChild"
|
Fallback="ScreenOptionsServiceChild"
|
||||||
LineNames="gNotePos,gAuto,gScore,gSScore,gSDisp,gOpts,gLongFail,gComboUnderField,FlashyCombo,AdjustSpeed"
|
LineNames="gNotePos,gAuto,gScore,gSScore,gSDisp,gOpts,gLongFail,gComboUnderField,FlashyCombo"
|
||||||
LinegNotePos="lua,GamePrefNotePosition()"
|
LinegNotePos="lua,GamePrefNotePosition()"
|
||||||
LinegScore="lua,UserPrefGameplayShowScore()"
|
LinegScore="lua,UserPrefGameplayShowScore()"
|
||||||
LinegSScore="lua,UserPrefSpecialScoringMode()"
|
LinegSScore="lua,UserPrefSpecialScoringMode()"
|
||||||
@@ -837,7 +834,6 @@ LinegAuto="lua,GamePrefAutoSetStyle()"
|
|||||||
LinegLongFail="lua,UserPrefLongFail()"
|
LinegLongFail="lua,UserPrefLongFail()"
|
||||||
LinegComboUnderField="lua,GamePrefComboUnderField()"
|
LinegComboUnderField="lua,GamePrefComboUnderField()"
|
||||||
LineFlashyCombo="lua,UserPrefFlashyCombo()"
|
LineFlashyCombo="lua,UserPrefFlashyCombo()"
|
||||||
LineAdjustSpeed="lua,GamePrefAdjustSpeed()"
|
|
||||||
[ScreenOptionsSystemDirection]
|
[ScreenOptionsSystemDirection]
|
||||||
LineNames="1,2,3,4,5,6,7,8,9,FlashyCombo,RollCombo,10,11,12,13,14,15,16,LF,17,18,19,20,21,22"
|
LineNames="1,2,3,4,5,6,7,8,9,FlashyCombo,RollCombo,10,11,12,13,14,15,16,LF,17,18,19,20,21,22"
|
||||||
LineLF="lua,UserPrefLongFail()"
|
LineLF="lua,UserPrefLongFail()"
|
||||||
|
|||||||
@@ -1,29 +1,37 @@
|
|||||||
/* ActiveAttackList - Shows currently active player modifiers during gameplay. */
|
|
||||||
#ifndef ACTIVE_ATTACK_LIST_H
|
#ifndef ACTIVE_ATTACK_LIST_H
|
||||||
#define ACTIVE_ATTACK_LIST_H
|
#define ACTIVE_ATTACK_LIST_H
|
||||||
|
|
||||||
#include "BitmapText.h"
|
#include "BitmapText.h"
|
||||||
class PlayerState;
|
class PlayerState;
|
||||||
|
|
||||||
|
/** @brief Shows currently active Player modifiers during gameplay. */
|
||||||
class ActiveAttackList : public BitmapText
|
class ActiveAttackList : public BitmapText
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
/** @brief The constructor that does nothing. */
|
||||||
ActiveAttackList();
|
ActiveAttackList();
|
||||||
|
/**
|
||||||
|
* @brief Set up the PlayerState.
|
||||||
|
* @param pPlayerState the PlayerState involved with the attacks. */
|
||||||
void Init( const PlayerState* pPlayerState );
|
void Init( const PlayerState* pPlayerState );
|
||||||
|
/**
|
||||||
|
* @brief Look into updating the list.
|
||||||
|
* @param fDelta the present time. */
|
||||||
virtual void Update( float fDelta );
|
virtual void Update( float fDelta );
|
||||||
|
/** @brief Refresh the list of attacks. */
|
||||||
void Refresh();
|
void Refresh();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
/** @brief the PlayerState of the Player who is dealing with the attack list. */
|
||||||
const PlayerState* m_pPlayerState;
|
const PlayerState* m_pPlayerState;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* (c) 2004 Chris Danford
|
* @file
|
||||||
|
* @author Chris Danford (c) 2004
|
||||||
|
* @section LICENSE
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
|||||||
@@ -18,7 +18,10 @@
|
|||||||
|
|
||||||
static Preference<bool> g_bShowMasks("ShowMasks", false);
|
static Preference<bool> g_bShowMasks("ShowMasks", false);
|
||||||
|
|
||||||
/* It's useful to be able to construct a basic Actor in XML, in
|
/**
|
||||||
|
* @brief Set up a hidden Actor that won't be drawn.
|
||||||
|
*
|
||||||
|
* It's useful to be able to construct a basic Actor in XML, in
|
||||||
* order to simply delay a Transition, or receive and send broadcasts.
|
* order to simply delay a Transition, or receive and send broadcasts.
|
||||||
* Since these actors will never draw, set them hidden by default. */
|
* Since these actors will never draw, set them hidden by default. */
|
||||||
class HiddenActor: public Actor
|
class HiddenActor: public Actor
|
||||||
@@ -27,7 +30,7 @@ public:
|
|||||||
HiddenActor() { SetVisible(false); }
|
HiddenActor() { SetVisible(false); }
|
||||||
virtual HiddenActor *Copy() const;
|
virtual HiddenActor *Copy() const;
|
||||||
};
|
};
|
||||||
REGISTER_ACTOR_CLASS_WITH_NAME( HiddenActor, Actor )
|
REGISTER_ACTOR_CLASS_WITH_NAME( HiddenActor, Actor );
|
||||||
|
|
||||||
float Actor::g_fCurrentBGMTime = 0, Actor::g_fCurrentBGMBeat;
|
float Actor::g_fCurrentBGMTime = 0, Actor::g_fCurrentBGMBeat;
|
||||||
float Actor::g_fCurrentBGMTimeNoOffset = 0, Actor::g_fCurrentBGMBeatNoOffset = 0;
|
float Actor::g_fCurrentBGMTimeNoOffset = 0, Actor::g_fCurrentBGMBeatNoOffset = 0;
|
||||||
@@ -1307,6 +1310,7 @@ Actor::TweenInfo &Actor::TweenInfo::operator=( const TweenInfo &rhs )
|
|||||||
// lua start
|
// lua start
|
||||||
#include "LuaBinding.h"
|
#include "LuaBinding.h"
|
||||||
|
|
||||||
|
/** @brief Allow Lua to have access to the Actor. */
|
||||||
class LunaActor : public Luna<Actor>
|
class LunaActor : public Luna<Actor>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|||||||
@@ -1,5 +1,3 @@
|
|||||||
/* Actor - Base class for all objects that appear on the screen. */
|
|
||||||
|
|
||||||
#ifndef ACTOR_H
|
#ifndef ACTOR_H
|
||||||
#define ACTOR_H
|
#define ACTOR_H
|
||||||
|
|
||||||
@@ -16,47 +14,60 @@ class LuaClass;
|
|||||||
|
|
||||||
typedef AutoPtrCopyOnWrite<LuaReference> apActorCommands;
|
typedef AutoPtrCopyOnWrite<LuaReference> apActorCommands;
|
||||||
|
|
||||||
// background
|
/** @brief The background layer. */
|
||||||
#define DRAW_ORDER_BEFORE_EVERYTHING -200
|
#define DRAW_ORDER_BEFORE_EVERYTHING -200
|
||||||
// underlay
|
/** @brief The underlay layer. */
|
||||||
#define DRAW_ORDER_UNDERLAY -100
|
#define DRAW_ORDER_UNDERLAY -100
|
||||||
// decorations
|
/** @brief The decorations layer. */
|
||||||
#define DRAW_ORDER_DECORATIONS 0
|
#define DRAW_ORDER_DECORATIONS 0
|
||||||
// normal screen elements go here
|
/** @brief The overlay layer.
|
||||||
|
*
|
||||||
|
* Normal screen elements go here. */
|
||||||
#define DRAW_ORDER_OVERLAY +100
|
#define DRAW_ORDER_OVERLAY +100
|
||||||
|
/** @brief The transitions layer. */
|
||||||
#define DRAW_ORDER_TRANSITIONS +200
|
#define DRAW_ORDER_TRANSITIONS +200
|
||||||
|
/** @brief The over everything layer. */
|
||||||
#define DRAW_ORDER_AFTER_EVERYTHING +300
|
#define DRAW_ORDER_AFTER_EVERYTHING +300
|
||||||
|
|
||||||
|
/** @brief The different horizontal alignments. */
|
||||||
enum HorizAlign
|
enum HorizAlign
|
||||||
{
|
{
|
||||||
HorizAlign_Left,
|
HorizAlign_Left, /**< Align to the left. */
|
||||||
HorizAlign_Center,
|
HorizAlign_Center, /**< Align to the center. */
|
||||||
HorizAlign_Right,
|
HorizAlign_Right, /**< Align to the right. */
|
||||||
NUM_HorizAlign,
|
NUM_HorizAlign, /**< The number of horizontal alignments. */
|
||||||
HorizAlign_Invalid
|
HorizAlign_Invalid
|
||||||
};
|
};
|
||||||
LuaDeclareType( HorizAlign );
|
LuaDeclareType( HorizAlign );
|
||||||
|
|
||||||
|
/** @brief The different vertical alignments. */
|
||||||
enum VertAlign
|
enum VertAlign
|
||||||
{
|
{
|
||||||
VertAlign_Top,
|
VertAlign_Top, /**< Align to the top. */
|
||||||
VertAlign_Middle,
|
VertAlign_Middle, /**< Align to the middle. */
|
||||||
VertAlign_Bottom,
|
VertAlign_Bottom, /**< Align to the bottom. */
|
||||||
NUM_VertAlign,
|
NUM_VertAlign, /**< The number of vertical alignments. */
|
||||||
VertAlign_Invalid
|
VertAlign_Invalid
|
||||||
};
|
};
|
||||||
LuaDeclareType( VertAlign );
|
LuaDeclareType( VertAlign );
|
||||||
|
|
||||||
|
/** @brief The left horizontal alignment constant. */
|
||||||
#define align_left 0.0f
|
#define align_left 0.0f
|
||||||
|
/** @brief The center horizontal alignment constant. */
|
||||||
#define align_center 0.5f
|
#define align_center 0.5f
|
||||||
|
/** @brief The right horizontal alignment constant. */
|
||||||
#define align_right 1.0f
|
#define align_right 1.0f
|
||||||
|
/** @brief The top vertical alignment constant. */
|
||||||
#define align_top 0.0f
|
#define align_top 0.0f
|
||||||
|
/** @brief The middle vertical alignment constant. */
|
||||||
#define align_middle 0.5f
|
#define align_middle 0.5f
|
||||||
|
/** @brief The bottom vertical alignment constant. */
|
||||||
#define align_bottom 1.0f
|
#define align_bottom 1.0f
|
||||||
|
/** @brief Base class for all objects that appear on the screen. */
|
||||||
class Actor : public MessageSubscriber
|
class Actor : public MessageSubscriber
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
/** @brief Set up the Actor with its initial settings. */
|
||||||
Actor();
|
Actor();
|
||||||
Actor( const Actor &cpy );
|
Actor( const Actor &cpy );
|
||||||
virtual ~Actor();
|
virtual ~Actor();
|
||||||
@@ -67,8 +78,11 @@ public:
|
|||||||
static void SetBGMTime( float fTime, float fBeat, float fTimeNoOffset, float fBeatNoOffset );
|
static void SetBGMTime( float fTime, float fBeat, float fTimeNoOffset, float fBeatNoOffset );
|
||||||
static void SetBGMLight( int iLightNumber, float fCabinetLights );
|
static void SetBGMLight( int iLightNumber, float fCabinetLights );
|
||||||
|
|
||||||
// todo: split out into diffuse effects and translation effects, or
|
/**
|
||||||
// create an effect stack instead. -aj
|
* @brief The list of the different effects.
|
||||||
|
*
|
||||||
|
* todo: split out into diffuse effects and translation effects, or
|
||||||
|
* create an effect stack instead. -aj */
|
||||||
enum Effect { no_effect,
|
enum Effect { no_effect,
|
||||||
// diffuse effects
|
// diffuse effects
|
||||||
diffuse_blink, diffuse_shift, diffuse_ramp,
|
diffuse_blink, diffuse_shift, diffuse_ramp,
|
||||||
@@ -99,13 +113,22 @@ public:
|
|||||||
RageVector4 quat;
|
RageVector4 quat;
|
||||||
RageVector3 scale;
|
RageVector3 scale;
|
||||||
float fSkewX, fSkewY;
|
float fSkewX, fSkewY;
|
||||||
RectF crop; // 0 = no cropping, 1 = fully cropped
|
/**
|
||||||
RectF fade; // 0 = no fade
|
* @brief The amount of cropping involved.
|
||||||
|
*
|
||||||
|
* If 0, there is no cropping. If 1, it's fully cropped. */
|
||||||
|
RectF crop;
|
||||||
|
/**
|
||||||
|
* @brief The amount of fading involved.
|
||||||
|
*
|
||||||
|
* If 0, there is no fade. If 1, it's fully faded. */
|
||||||
|
RectF fade;
|
||||||
RageColor diffuse[4];
|
RageColor diffuse[4];
|
||||||
RageColor glow;
|
RageColor glow;
|
||||||
float aux;
|
float aux;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/** @brief Various values an Actor's effect can be tied to. */
|
||||||
enum EffectClock
|
enum EffectClock
|
||||||
{
|
{
|
||||||
CLOCK_TIMER,
|
CLOCK_TIMER,
|
||||||
@@ -134,9 +157,21 @@ public:
|
|||||||
virtual void UpdateInternal( float fDeltaTime ); // override this
|
virtual void UpdateInternal( float fDeltaTime ); // override this
|
||||||
void UpdateTweening( float fDeltaTime );
|
void UpdateTweening( float fDeltaTime );
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Retrieve the Actor's name.
|
||||||
|
* @return the Actor's name. */
|
||||||
const RString &GetName() const { return m_sName; }
|
const RString &GetName() const { return m_sName; }
|
||||||
|
/**
|
||||||
|
* @brief Set the Actor's name to a new one.
|
||||||
|
* @param sName the new name for the Actor. */
|
||||||
virtual void SetName( const RString &sName ) { m_sName = sName; }
|
virtual void SetName( const RString &sName ) { m_sName = sName; }
|
||||||
|
/**
|
||||||
|
* @brief Give this Actor a new parent.
|
||||||
|
* @param pParent the new parent Actor. */
|
||||||
void SetParent( Actor *pParent );
|
void SetParent( Actor *pParent );
|
||||||
|
/**
|
||||||
|
* @brief Retrieve the Actor's parent.
|
||||||
|
* @return the Actor's parent. */
|
||||||
Actor *GetParent() { return m_pParent; }
|
Actor *GetParent() { return m_pParent; }
|
||||||
RString GetLineage() const;
|
RString GetLineage() const;
|
||||||
|
|
||||||
@@ -162,7 +197,7 @@ public:
|
|||||||
void SetWidth( float width ) { m_size.x = width; }
|
void SetWidth( float width ) { m_size.x = width; }
|
||||||
void SetHeight( float height ) { m_size.y = height; }
|
void SetHeight( float height ) { m_size.y = height; }
|
||||||
|
|
||||||
// Base
|
// Base values
|
||||||
float GetBaseZoomX() const { return m_baseScale.x; }
|
float GetBaseZoomX() const { return m_baseScale.x; }
|
||||||
void SetBaseZoomX( float zoom ) { m_baseScale.x = zoom; }
|
void SetBaseZoomX( float zoom ) { m_baseScale.x = zoom; }
|
||||||
float GetBaseZoomY() const { return m_baseScale.y; }
|
float GetBaseZoomY() const { return m_baseScale.y; }
|
||||||
@@ -176,7 +211,6 @@ public:
|
|||||||
void SetBaseRotation( const RageVector3 &rot ) { m_baseRotation = rot; }
|
void SetBaseRotation( const RageVector3 &rot ) { m_baseRotation = rot; }
|
||||||
virtual void SetBaseAlpha( float fAlpha ) { m_fBaseAlpha = fAlpha; }
|
virtual void SetBaseAlpha( float fAlpha ) { m_fBaseAlpha = fAlpha; }
|
||||||
|
|
||||||
|
|
||||||
float GetZoom() const { return DestTweenState().scale.x; } // not accurate in some cases
|
float GetZoom() const { return DestTweenState().scale.x; } // not accurate in some cases
|
||||||
float GetZoomX() const { return DestTweenState().scale.x; }
|
float GetZoomX() const { return DestTweenState().scale.x; }
|
||||||
float GetZoomY() const { return DestTweenState().scale.y; }
|
float GetZoomY() const { return DestTweenState().scale.y; }
|
||||||
@@ -417,9 +451,12 @@ protected:
|
|||||||
TweenInfo &operator=( const TweenInfo &rhs );
|
TweenInfo &operator=( const TweenInfo &rhs );
|
||||||
|
|
||||||
ITween *m_pTween;
|
ITween *m_pTween;
|
||||||
float m_fTimeLeftInTween; // how far into the tween are we?
|
/** @brief How far into the tween are we? */
|
||||||
float m_fTweenTime; // seconds between Start and End positions/zooms
|
float m_fTimeLeftInTween;
|
||||||
RString m_sCommandName; // command to execute when this TweenState goes into effect
|
/** @brief The number of seconds between Start and End positions/zooms. */
|
||||||
|
float m_fTweenTime;
|
||||||
|
/** @brief The command to execute when this TweenState goes into effect. */
|
||||||
|
RString m_sCommandName;
|
||||||
};
|
};
|
||||||
|
|
||||||
RageVector3 m_baseRotation;
|
RageVector3 m_baseRotation;
|
||||||
@@ -436,14 +473,20 @@ protected:
|
|||||||
};
|
};
|
||||||
vector<TweenStateAndInfo *> m_Tweens;
|
vector<TweenStateAndInfo *> m_Tweens;
|
||||||
|
|
||||||
// Temporary variables that are filled just before drawing
|
/** @brief Temporary variables that are filled just before drawing */
|
||||||
TweenState *m_pTempState;
|
TweenState *m_pTempState;
|
||||||
|
|
||||||
bool m_bFirstUpdate;
|
bool m_bFirstUpdate;
|
||||||
|
|
||||||
// Stuff for alignment
|
// Stuff for alignment
|
||||||
float m_fHorizAlign; /* 0.0 left 0.5 center 1.0 right */
|
/** @brief The particular horizontal alignment.
|
||||||
float m_fVertAlign; /* 0.0 top 0.5 center 1.0 bottom */
|
*
|
||||||
|
* Use the defined constant values for best effect. */
|
||||||
|
float m_fHorizAlign;
|
||||||
|
/** @brief The particular vertical alignment.
|
||||||
|
*
|
||||||
|
* Use the defined constant values for best effect. */
|
||||||
|
float m_fVertAlign;
|
||||||
|
|
||||||
|
|
||||||
// Stuff for effects
|
// Stuff for effects
|
||||||
@@ -480,7 +523,10 @@ protected:
|
|||||||
float m_fShadowLengthX;
|
float m_fShadowLengthX;
|
||||||
float m_fShadowLengthY;
|
float m_fShadowLengthY;
|
||||||
RageColor m_ShadowColor;
|
RageColor m_ShadowColor;
|
||||||
int m_iDrawOrder; // lower first
|
/** @brief The draw order priority.
|
||||||
|
*
|
||||||
|
* The lower this number is, the sooner it is drawn. */
|
||||||
|
int m_iDrawOrder;
|
||||||
|
|
||||||
// render states
|
// render states
|
||||||
BlendMode m_BlendMode;
|
BlendMode m_BlendMode;
|
||||||
@@ -490,7 +536,11 @@ protected:
|
|||||||
bool m_bTextureFiltering;
|
bool m_bTextureFiltering;
|
||||||
bool m_bClearZBuffer;
|
bool m_bClearZBuffer;
|
||||||
bool m_bZWrite;
|
bool m_bZWrite;
|
||||||
float m_fZBias; // 0 = no bias; 1 = full bias
|
/**
|
||||||
|
* @brief The amount of bias.
|
||||||
|
*
|
||||||
|
* If 0, there is no bias. If 1, there is a full bias. */
|
||||||
|
float m_fZBias;
|
||||||
|
|
||||||
// global state
|
// global state
|
||||||
static float g_fCurrentBGMTime, g_fCurrentBGMBeat;
|
static float g_fCurrentBGMTime, g_fCurrentBGMBeat;
|
||||||
@@ -503,8 +553,10 @@ private:
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* (c) 2001-2004 Chris Danford
|
* @file
|
||||||
|
* @author Chris Danford (c) 2001-2004
|
||||||
|
* @section LICENSE
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
|||||||
@@ -16,8 +16,8 @@
|
|||||||
* children. The name "ActorFrame" is widely used in Lua, so we'll have
|
* children. The name "ActorFrame" is widely used in Lua, so we'll have
|
||||||
* that string instead create an ActorFrameAutoDeleteChildren object.
|
* that string instead create an ActorFrameAutoDeleteChildren object.
|
||||||
*/
|
*/
|
||||||
//REGISTER_ACTOR_CLASS( ActorFrame )
|
//REGISTER_ACTOR_CLASS( ActorFrame );
|
||||||
REGISTER_ACTOR_CLASS_WITH_NAME( ActorFrameAutoDeleteChildren, ActorFrame )
|
REGISTER_ACTOR_CLASS_WITH_NAME( ActorFrameAutoDeleteChildren, ActorFrame );
|
||||||
ActorFrame *ActorFrame::Copy() const { return new ActorFrame(*this); }
|
ActorFrame *ActorFrame::Copy() const { return new ActorFrame(*this); }
|
||||||
|
|
||||||
|
|
||||||
@@ -451,6 +451,7 @@ void ActorFrame::SetDrawByZPosition( bool b )
|
|||||||
// lua start
|
// lua start
|
||||||
#include "LuaBinding.h"
|
#include "LuaBinding.h"
|
||||||
|
|
||||||
|
/** @brief Allow Lua to have access to the ActorFrame. */
|
||||||
class LunaActorFrame : public Luna<ActorFrame>
|
class LunaActorFrame : public Luna<ActorFrame>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* ActorFrame - A container for other actors. */
|
/** @brief ActorFrame - A container for other actors. */
|
||||||
|
|
||||||
#ifndef ACTORFRAME_H
|
#ifndef ACTORFRAME_H
|
||||||
#define ACTORFRAME_H
|
#define ACTORFRAME_H
|
||||||
@@ -12,6 +12,7 @@ public:
|
|||||||
ActorFrame( const ActorFrame &cpy );
|
ActorFrame( const ActorFrame &cpy );
|
||||||
virtual ~ActorFrame();
|
virtual ~ActorFrame();
|
||||||
|
|
||||||
|
/** @brief Set up the initial state. */
|
||||||
virtual void InitState();
|
virtual void InitState();
|
||||||
void LoadFromNode( const XNode* pNode );
|
void LoadFromNode( const XNode* pNode );
|
||||||
virtual ActorFrame *Copy() const;
|
virtual ActorFrame *Copy() const;
|
||||||
@@ -23,8 +24,17 @@ public:
|
|||||||
vector<Actor*> GetChildren() { return m_SubActors; }
|
vector<Actor*> GetChildren() { return m_SubActors; }
|
||||||
int GetNumChildren() const { return m_SubActors.size(); }
|
int GetNumChildren() const { return m_SubActors.size(); }
|
||||||
|
|
||||||
|
/** @brief Remove all of the children from the frame. */
|
||||||
void RemoveAllChildren();
|
void RemoveAllChildren();
|
||||||
|
/**
|
||||||
|
* @brief Move a particular actor to the tail.
|
||||||
|
* @param pActor the actor to go to the tail.
|
||||||
|
*/
|
||||||
void MoveToTail( Actor* pActor );
|
void MoveToTail( Actor* pActor );
|
||||||
|
/**
|
||||||
|
* @brief Move a particular actor to the head.
|
||||||
|
* @param pActor the actor to go to the head.
|
||||||
|
*/
|
||||||
void MoveToHead( Actor* pActor );
|
void MoveToHead( Actor* pActor );
|
||||||
void SortByDrawOrder();
|
void SortByDrawOrder();
|
||||||
void SetDrawByZPosition( bool b );
|
void SetDrawByZPosition( bool b );
|
||||||
@@ -73,7 +83,7 @@ public:
|
|||||||
|
|
||||||
virtual void SetPropagateCommands( bool b );
|
virtual void SetPropagateCommands( bool b );
|
||||||
|
|
||||||
// Amount of time until all tweens (and all children's tweens) have stopped:
|
/** @brief Amount of time until all tweens (and all children's tweens) have stopped: */
|
||||||
virtual float GetTweenTimeLeft() const;
|
virtual float GetTweenTimeLeft() const;
|
||||||
|
|
||||||
virtual void HandleMessage( const Message &msg );
|
virtual void HandleMessage( const Message &msg );
|
||||||
@@ -95,7 +105,11 @@ protected:
|
|||||||
float m_fFOV; // -1 = no change
|
float m_fFOV; // -1 = no change
|
||||||
float m_fVanishX;
|
float m_fVanishX;
|
||||||
float m_fVanishY;
|
float m_fVanishY;
|
||||||
bool m_bOverrideLighting; // if true, set lighting to m_bLighting
|
/**
|
||||||
|
* @brief A flad to see if an override for the lighting is needed.
|
||||||
|
*
|
||||||
|
* If true, set lightning to m_bLightning. */
|
||||||
|
bool m_bOverrideLighting;
|
||||||
bool m_bLighting;
|
bool m_bLighting;
|
||||||
|
|
||||||
// lighting variables
|
// lighting variables
|
||||||
@@ -115,8 +129,10 @@ public:
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* (c) 2001-2004 Chris Danford
|
* @file
|
||||||
|
* @author Chris Danford (c) 2001-2004
|
||||||
|
* @section LICENSE
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
#include "RageTextureManager.h"
|
#include "RageTextureManager.h"
|
||||||
#include "ActorUtil.h"
|
#include "ActorUtil.h"
|
||||||
|
|
||||||
REGISTER_ACTOR_CLASS_WITH_NAME( ActorFrameTextureAutoDeleteChildren, ActorFrameTexture )
|
REGISTER_ACTOR_CLASS_WITH_NAME( ActorFrameTextureAutoDeleteChildren, ActorFrameTexture );
|
||||||
ActorFrameTexture *ActorFrameTexture::Copy() const { return new ActorFrameTexture(*this); }
|
ActorFrameTexture *ActorFrameTexture::Copy() const { return new ActorFrameTexture(*this); }
|
||||||
|
|
||||||
ActorFrameTexture::ActorFrameTexture()
|
ActorFrameTexture::ActorFrameTexture()
|
||||||
@@ -67,6 +67,7 @@ void ActorFrameTexture::DrawPrimitives()
|
|||||||
// lua start
|
// lua start
|
||||||
#include "LuaBinding.h"
|
#include "LuaBinding.h"
|
||||||
|
|
||||||
|
/** @brief Allow Lua to have access to the ActorFrameTexture. */
|
||||||
class LunaActorFrameTexture : public Luna<ActorFrameTexture>
|
class LunaActorFrameTexture : public Luna<ActorFrameTexture>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|||||||
@@ -12,11 +12,18 @@ public:
|
|||||||
virtual ~ActorFrameTexture();
|
virtual ~ActorFrameTexture();
|
||||||
virtual ActorFrameTexture *Copy() const;
|
virtual ActorFrameTexture *Copy() const;
|
||||||
|
|
||||||
/* Set the texture name, which can be used with RageTextureManager (and users,
|
/**
|
||||||
* eg. Sprite) to load the texture. If no name is supplied, a unique one will
|
* @brief Set the texture name.
|
||||||
* be generated. In that case, the only way to access the texture is via
|
*
|
||||||
* GetTextureName. */
|
* This can be used with RageTextureManager (and users, eg. Sprite)
|
||||||
|
* to load the texture. If no name is supplied, a unique one will
|
||||||
|
* be generated. In that case, the only way to access the texture
|
||||||
|
* is via GetTextureName.
|
||||||
|
* @param sName the new name. */
|
||||||
void SetTextureName( const RString &sName ) { m_sTextureName = sName; }
|
void SetTextureName( const RString &sName ) { m_sTextureName = sName; }
|
||||||
|
/**
|
||||||
|
* @brief Retrieve the texture name.
|
||||||
|
* @return the texture name. */
|
||||||
RString GetTextureName() const { return m_sTextureName; }
|
RString GetTextureName() const { return m_sTextureName; }
|
||||||
RageTextureRenderTarget *GetTexture() { return m_pRenderTarget; }
|
RageTextureRenderTarget *GetTexture() { return m_pRenderTarget; }
|
||||||
|
|
||||||
@@ -52,8 +59,10 @@ public:
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* (c) 2006 Glenn Maynard
|
* @file
|
||||||
|
* @author Glenn Maynard (c) 2006
|
||||||
|
* @section LICENSE
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
|||||||
@@ -13,7 +13,7 @@
|
|||||||
#include "LuaBinding.h"
|
#include "LuaBinding.h"
|
||||||
#include "LuaManager.h"
|
#include "LuaManager.h"
|
||||||
|
|
||||||
REGISTER_ACTOR_CLASS( ActorMultiTexture )
|
REGISTER_ACTOR_CLASS( ActorMultiTexture );
|
||||||
|
|
||||||
|
|
||||||
ActorMultiTexture::ActorMultiTexture()
|
ActorMultiTexture::ActorMultiTexture()
|
||||||
@@ -134,6 +134,7 @@ bool ActorMultiTexture::EarlyAbortDraw() const
|
|||||||
// lua start
|
// lua start
|
||||||
#include "LuaBinding.h"
|
#include "LuaBinding.h"
|
||||||
|
|
||||||
|
/** @brief Allow Lua to have access to the ActorMultiTexture. */
|
||||||
class LunaActorMultiTexture: public Luna<ActorMultiTexture>
|
class LunaActorMultiTexture: public Luna<ActorMultiTexture>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
/* ActorMultiTexture - A texture created from multiple textures. */
|
/** @brief ActorMultiTexture - A texture created from multiple textures. */
|
||||||
|
|
||||||
#ifndef ACTOR_MULTI_TEXTURE_H
|
#ifndef ACTOR_MULTI_TEXTURE_H
|
||||||
#define ACTOR_MULTI_TEXTURE_H
|
#define ACTOR_MULTI_TEXTURE_H
|
||||||
@@ -45,8 +45,10 @@ private:
|
|||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* (c) 2001-2004 Chris Danford
|
* @file
|
||||||
|
* @author Chris Danford (c) 2001-2004
|
||||||
|
* @section LICENSE
|
||||||
* All rights reserved.
|
* All rights reserved.
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
* Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
#include "ActorProxy.h"
|
#include "ActorProxy.h"
|
||||||
#include "ActorUtil.h"
|
#include "ActorUtil.h"
|
||||||
|
|
||||||
REGISTER_ACTOR_CLASS( ActorProxy )
|
REGISTER_ACTOR_CLASS( ActorProxy );
|
||||||
|
|
||||||
ActorProxy::ActorProxy()
|
ActorProxy::ActorProxy()
|
||||||
{
|
{
|
||||||
@@ -33,6 +33,7 @@ void ActorProxy::LoadFromNode( const XNode* pNode )
|
|||||||
// lua start
|
// lua start
|
||||||
#include "LuaBinding.h"
|
#include "LuaBinding.h"
|
||||||
|
|
||||||
|
/** @brief Allow Lua to have access to the ActorProxy. */
|
||||||
class LunaActorProxy: public Luna<ActorProxy>
|
class LunaActorProxy: public Luna<ActorProxy>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|||||||
@@ -1,12 +1,10 @@
|
|||||||
/* ActorProxy - renders another actor. */
|
|
||||||
|
|
||||||
#ifndef ACTOR_PROXY_H
|
#ifndef ACTOR_PROXY_H
|
||||||
#define ACTOR_PROXY_H
|
#define ACTOR_PROXY_H
|
||||||
|
|
||||||
#include "Actor.h"
|
#include "Actor.h"
|
||||||
|
|
||||||
struct lua_State;
|
struct lua_State;
|
||||||
|
/** @brief Rendrs another actor. */
|
||||||
class ActorProxy: public Actor
|
class ActorProxy: public Actor
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
|||||||