Separate styles for players. Notefields positioned between margins. Edit mode works for kickbox.

This commit is contained in:
Kyzentun
2014-12-09 22:27:00 -07:00
parent c65c1eb386
commit 3fb36af157
71 changed files with 883 additions and 451 deletions
+32
View File
@@ -15,6 +15,34 @@ ________________________________________________________________________________
* [Player] "ComboBreakOnImmediateHoldLetGo" theme metric added. [sillybear]
* [PlayerState] ApplyPreferredOptionsToOtherLevels function added. [kyzentun]
2014/12/07
----------
* [Game] GetSeparateStyles function added. Use this to detect whether a game
allows the players to play different styles. [kyzentun] (used by kickbox)
* [GameManager] Lua Scripts/ folders are now reloaded when the Game mode is
changed. [kyzentun]
* [GameState] CanSafelyEnterGameplay function added. [kyzentun]
In kickbox game mode, players can have different styles set, pass a
PlayerNumber when using SetCurrentStyle or GetCurrentStyle.
* [kickbox] New game mode with 4 styles. [kyzentun]
* [ScreenGameplay] Notefield positioning is handled a bit differently now.
See comments in _fallback/metrics.ini above the [ScreenGameplay]
MarginFunction metric. Basically, you can define a lua function that
returns the space you want at the edges and in the center instead of
setting position metrics. Do NOT use Style:GetWidth to calculate the
margins your function returns.
ScreenGameplay now handles zooming the notefield to fit in the space
instead of using the NeedsZoomOutWith2Players flag in the style.
If the notefield doesn't fit in the space between the margins, and there is
only one player, the player will be centered even if the Center1Player pref
is false. [kyzentun]
* [Style] NeedsZoomOutWith2Players decapitated. Always returns false now.
GetWidth added. [kyzentun]
* [techno] Techno game mode no longer has special column width for versus.
Techno was the only game mode that used the NeedsZoomOutWith2Players flag,
and the zoom factor it applied was 0.6, and the special versus column width
was 0.6*normal, so this should make no difference. [kyzentun]
2014/12/03
----------
* [command line arg] --game command line arg added for setting the game type
@@ -68,6 +96,10 @@ ________________________________________________________________________________
----------
* [RollingNumbers] Cropping and color during tweens fixed. [kyzentun]
2014/10/27
----------
* [Changelog] Vospi read the release notes.
2014/10/23
----------
* [Global] approach, multiapproach, lerp, and lerp_color lua functions added. [kyzentun]
+3
View File
@@ -702,6 +702,7 @@
<Function name='CountNotesSeparately'/>
<Function name='GetMapJudgmentTo'/>
<Function name='GetName'/>
<Function name='GetSeparateStyles'/>
</Class>
<Class name='GameCommand'>
<Function name='GetAnnouncer'/>
@@ -750,6 +751,7 @@
<Function name='ApplyPreferredModifiers'/>
<Function name='ApplyPreferredSongOptionsToOtherLevels'/>
<Function name='ApplyStageModifiers'/>
<Function name='CanSafelyEnterGameplay'/>
<Function name='ClearStageModifiersIllegalForCourse'/>
<Function name='CurrentOptionsDisqualifyPlayer'/>
<Function name='Dopefish'/>
@@ -1659,6 +1661,7 @@
<Function name='GetName'/>
<Function name='GetStepsType'/>
<Function name='GetStyleType'/>
<Function name='GetWidth'/>
<Function name='LockedDifficulty'/>
<Function name='NeedsZoomOutWith2Players'/>
</Class>
+17 -1
View File
@@ -2131,6 +2131,9 @@ save yourself some time, copy this for undocumented things:
<Function name='GetName' return='string' arguments=''>
Returns the name of the game such as &quot;dance&quot; or &quot;pump&quot;.
</Function>
<Function name='GetSeparateStyles' return='bool' arguments=''>
Returns whether this game allows the players to have separate styles.
</Function>
</Class>
<Class name='GameCommand'>
<Function name='GetAnnouncer' return='string' arguments=''>
@@ -2270,6 +2273,16 @@ save yourself some time, copy this for undocumented things:
The second argument is optional. Apply the GameCommand represented by <code>sCommand</code>
for <code>pn</code>, if given. See <Link class='GameCommand' />.
</Function>
<Function name='CanSafelyEnterGameplay' return='bool,string' arguments=''>
Checks various things to determine whether the game will crash when gameplay starts. Returns false and a string if gameplay cannot be entered safely.<br />
Might not work in all cases, but will catch things like a player not having
steps set or no current song or style. Mainly exists for people with a custom ScreenSelectMusic replacement.<br />
Example:<br />
local can, reason= GAMESTATE:CanSafelyEnterGameplay()<br />
if not can then<br />
lua.ReportScriptError("Cannot safely enter gameplay: " .. tostring(reason))<br />
end<br />
</Function>
<Function name='ClearStageModifiersIllegalForCourse' return='void' arguments=''>
Removes any stage modifiers that are illegal for course play.
</Function>
@@ -4716,11 +4729,14 @@ save yourself some time, copy this for undocumented things:
<Function name='GetColumnDrawOrder' return='int' arguments='int column'>
Returns the draw order of the column.
</Function>
<Function name='GetWidth' return='float' arguments='PlayerNumber pn'>
Returns the width of the notefield for the given player with this style.
</Function>
<Function name='LockedDifficulty' return='bool' arguments=''>
Returns <code>true</code> if this style locks the difficulty for both players.
</Function>
<Function name='NeedsZoomOutWith2Players' return='bool' arguments=''>
Returns <code>true</code> if the Style needs to be zoomed out with two players.
Deprecated. Always returns false.
</Function>
</Class>
<Class name='TapNote'>