Add nITG's various path shape & other modifiers - V2 (#1435)
* Implemented nITG's Square modifiers Modifiers added: Square SquareOffset SquarePeriod SquareZ SquareZOffset SquareZPeriod * Implemented nITG's BumpyX Modifiers Also fixes up some tiny bits pertaining to the square modifiers. Modifiers Added: BumpyX BumpyXPeriod BumpyXOffset * Implemented nITG's TornadoZ Modifiers Modifiers Added: TornadoZ TornadoZPeriod TornadoZOffset Another commit is needed to update fallback's metrics * Update fallback's metrics to accommodate TornadoX * Implemented nITG's Parabola Modifiers Modifiers Added: ParabolaX ParabolaY ParabolaZ * Implemented nITG's Sawtooth Modifiers Modifiers Added: Sawtooth SawtoothPeriod SawtoothZ SawtoothZPeriod * Implemented nITG's Zigzag Modifiers Modifiers Added: Zigzag ZigzagPeriod ZigzagOffset ZigzagZ ZigzagZPeriod ZigzagZOffset * Implemented nITG's ModTimer modifiers Modifiers Added: ModTimer (Lua method name is ModTimerSetting (takes enums. Ex: 'ModTimerType_Song'). Can be activated with mod strings 'modtimer(song/beat/game/default)' ) ModTimerOffset ModTimerMult * Remove Log use from ArrowEffects::GetTime() * Accidentally removed a CPY(m_BatteryLives) * Implemented nITG's DrunkZ modifiers Modifiers added: drunkz drunkzspeed drunkzoffset drunkzperiod Another commit is needed to update fallback's metrics * Update fallback's metrics to accommodate DrunkZ * Implemented nITG's BeatY & BeatZ Modifers Modifiers Added: beaty beatyoffset beatyperiod beatymult beatz beatzoffset beatzperiod beatzmult Another commit is needed to update fallback's metrics * Updated fallback's metrics to accommodate ... the new Beat modifiers. * Implemented nITG's Digital Modifiers Modifers Added: digital digitalsteps digitalperiod digitaloffset digitalz digitalzsteps digitalzperiod digitalzoffset * Removed duplicate zbuffer check. * Updated Luadocs with the new modifiers * Removed accidental duplicate Mini from Luadocs * Split up long modifier lines. Hopefully, this makes it a bit easier to read. * Remove accidental commit to root of repo. * Split up long modifier lines Hopefully, this makes it easier to read. * Redid Square functions to not use FastSin This implementation is based off of 5.2's square_wave function from ModValue. * Redid zigzag functions to not use FastSin This implementation is based off of 5.2's triangle_wave function from ModValue. * Moved square & zigzag calculation to RageMath. New RageMath functions: RageSquare RageTriangle * Made Square & Digital have the same period... as Zigzag and Sawtooth. * Deduplicate tornado calculations. * Fixed typo in UpdateTornado, and moved UpdateTornado logic to ArrowEffects::Init because it doesn't depend on anything that changes every frame. Tornado metrics are also loaded in ArrowEffects::Init. * Deduplicated Beat mod update logic. The logic is now placed into a function called UpdateBeat. The m_fBeatFactor members are now a 1D array, similar to m_MaxTornado and m_MinTornado.
This commit is contained in:
+55
-1
@@ -1114,9 +1114,17 @@
|
||||
<Function name='Backwards'/>
|
||||
<Function name='BatteryLives'/>
|
||||
<Function name='Beat'/>
|
||||
<Function name='BeatOffset'/>
|
||||
<Function name='BeatMult'/>
|
||||
<Function name='BeatOffset'/>
|
||||
<Function name='BeatPeriod'/>
|
||||
<Function name='BeatY'/>
|
||||
<Function name='BeatYMult'/>
|
||||
<Function name='BeatYOffset'/>
|
||||
<Function name='BeatYPeriod'/>
|
||||
<Function name='BeatZ'/>
|
||||
<Function name='BeatZMult'/>
|
||||
<Function name='BeatZOffset'/>
|
||||
<Function name='BeatZPeriod'/>
|
||||
<Function name='Big'/>
|
||||
<Function name='Blind'/>
|
||||
<Function name='Blink'/>
|
||||
@@ -1127,6 +1135,9 @@
|
||||
<Function name='Bumpy'/>
|
||||
<Function name='BumpyOffset'/>
|
||||
<Function name='BumpyPeriod'/>
|
||||
<Function name='BumpyX'/>
|
||||
<Function name='BumpyXOffset'/>
|
||||
<Function name='BumpyXPeriod'/>
|
||||
<Function name='Centered'/>
|
||||
<Function name='CMod'/>
|
||||
<Function name='Confusion'/>
|
||||
@@ -1138,6 +1149,14 @@
|
||||
<Function name='Cover'/>
|
||||
<Function name='Cross'/>
|
||||
<Function name='Dark'/>
|
||||
<Function name='Digital'/>
|
||||
<Function name='DigitalOffset'/>
|
||||
<Function name='DigitalPeriod'/>
|
||||
<Function name='DigitalSteps'/>
|
||||
<Function name='DigitalZ'/>
|
||||
<Function name='DigitalZOffset'/>
|
||||
<Function name='DigitalZPeriod'/>
|
||||
<Function name='DigitalZSteps'/>
|
||||
<Function name='Dizzy'/>
|
||||
<Function name='Distant'/>
|
||||
<Function name='DrainSetting'/>
|
||||
@@ -1145,6 +1164,10 @@
|
||||
<Function name='DrunkOffset'/>
|
||||
<Function name='DrunkPeriod'/>
|
||||
<Function name='DrunkSpeed'/>
|
||||
<Function name='DrunkZ'/>
|
||||
<Function name='DrunkZOffset'/>
|
||||
<Function name='DrunkZPeriod'/>
|
||||
<Function name='DrunkZSpeed'/>
|
||||
<Function name='Echo'/>
|
||||
<Function name='Expand'/>
|
||||
<Function name='ExpandPeriod'/>
|
||||
@@ -1164,6 +1187,9 @@
|
||||
<Function name='Left'/>
|
||||
<Function name='LifeSetting'/>
|
||||
<Function name='Little'/>
|
||||
<Function name='ModTimerSetting'/>
|
||||
<Function name='ModTimerMult'/>
|
||||
<Function name='ModTimerOffset'/>
|
||||
<Function name='MaxScrollBPM'/>
|
||||
<Function name='Mines'/>
|
||||
<Function name='Mini'/>
|
||||
@@ -1186,6 +1212,9 @@
|
||||
<Function name='NoStretch'/>
|
||||
<Function name='NoteSkin'/>
|
||||
<Function name='Overhead'/>
|
||||
<Function name='ParabolaX'/>
|
||||
<Function name='ParabolaY'/>
|
||||
<Function name='ParabolaZ'/>
|
||||
<Function name='Passmark'/>
|
||||
<Function name='Planted'/>
|
||||
<Function name='PlayerAutoPlay'/>
|
||||
@@ -1196,6 +1225,10 @@
|
||||
<Function name='Reverse'/>
|
||||
<Function name='Right'/>
|
||||
<Function name='Roll'/>
|
||||
<Function name='Sawtooth'/>
|
||||
<Function name='SawtoothPeriod'/>
|
||||
<Function name='SawtoothZ'/>
|
||||
<Function name='SawtoothZPeriod'/>
|
||||
<Function name='ScrollBPM'/>
|
||||
<Function name='ScrollSpeed'/>
|
||||
<Function name='Shuffle'/>
|
||||
@@ -1204,6 +1237,12 @@
|
||||
<Function name='SoftShuffle'/>
|
||||
<Function name='Space'/>
|
||||
<Function name='Split'/>
|
||||
<Function name='Square'/>
|
||||
<Function name='SquareOffset'/>
|
||||
<Function name='SquarePeriod'/>
|
||||
<Function name='SquareZ'/>
|
||||
<Function name='SquareZOffset'/>
|
||||
<Function name='SquareZPeriod'/>
|
||||
<Function name='Stealth'/>
|
||||
<Function name='Stomp'/>
|
||||
<Function name='Sudden'/>
|
||||
@@ -1218,6 +1257,9 @@
|
||||
<Function name='Tornado'/>
|
||||
<Function name='TornadoOffset'/>
|
||||
<Function name='TornadoPeriod'/>
|
||||
<Function name='TornadoZ'/>
|
||||
<Function name='TornadoZOffset'/>
|
||||
<Function name='TornadoZPeriod'/>
|
||||
<Function name='TurnNone'/>
|
||||
<Function name='Twirl'/>
|
||||
<Function name='Twister'/>
|
||||
@@ -1227,6 +1269,12 @@
|
||||
<Function name='Wide'/>
|
||||
<Function name='XMod'/>
|
||||
<Function name='Xmode'/>
|
||||
<Function name='Zigzag'/>
|
||||
<Function name='ZigzagOffset'/>
|
||||
<Function name='ZigzagPeriod'/>
|
||||
<Function name='ZigzagZ'/>
|
||||
<Function name='ZigzagZOffset'/>
|
||||
<Function name='ZigzagZPeriod'/>
|
||||
</Class>
|
||||
<Class name='PlayerStageStats'>
|
||||
<Function name='FailPlayer'/>
|
||||
@@ -2316,6 +2364,12 @@
|
||||
<EnumValue name=''ModsLevel_Song'' value='2'/>
|
||||
<EnumValue name=''ModsLevel_Current'' value='3'/>
|
||||
</Enum>
|
||||
<Enum name='ModTimerType'>
|
||||
<EnumValue name=''ModTimerType_Game'' value='0'/>
|
||||
<EnumValue name=''ModTimerType_Beat'' value='1'/>
|
||||
<EnumValue name=''ModTimerType_Song'' value='2'/>
|
||||
<EnumValue name=''ModTimerType_Default'' value='3'/>
|
||||
</Enum>
|
||||
<Enum name='Month'>
|
||||
<EnumValue name=''Month_January'' value='0'/>
|
||||
<EnumValue name=''Month_February'' value='1'/>
|
||||
|
||||
@@ -3432,9 +3432,17 @@ save yourself some time, copy this for undocumented things:
|
||||
<Function name='BatteryLives' return='int' arguments='int num'> </Function>
|
||||
<Function name='Backwards' return='bool' arguments='bool value'> </Function>
|
||||
<Function name='Beat' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='BeatOffset' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='BeatMult' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='BeatOffset' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='BeatPeriod' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='BeatY' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='BeatYMult' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='BeatYOffset' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='BeatYPeriod' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='BeatZ' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='BeatZMult' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='BeatZOffset' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='BeatZPeriod' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='Big' return='bool' arguments='bool value'> </Function>
|
||||
<Function name='Blink' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='Blind' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
@@ -3445,6 +3453,9 @@ save yourself some time, copy this for undocumented things:
|
||||
<Function name='Bumpy' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='BumpyOffset' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='BumpyPeriod' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='BumpyX' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='BumpyXOffset' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='BumpyXPeriod' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='Centered' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='CMod' return='float, float' arguments='float value, float approach_speed'>
|
||||
If the player has a CMod set, returns the value of that CMod and its associated approach speed. Returns nil otherwise.<br />
|
||||
@@ -3460,6 +3471,14 @@ save yourself some time, copy this for undocumented things:
|
||||
<Function name='Cover' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='Cross' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='Dark' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='Digital' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='DigitalOffset' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='DigitalPeriod' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='DigitalSteps' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='DigitalZ' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='DigitalZOffset' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='DigitalZPeriod' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='DigitalZSteps' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='Dizzy' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='Distant' return='float, float' arguments='float value, float approach_speed'>
|
||||
If the player is using Distant (zero skew and positive tilt), returns the value of tilt and its approach_speed.<br />
|
||||
@@ -3472,6 +3491,10 @@ save yourself some time, copy this for undocumented things:
|
||||
<Function name='DrunkOffset' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='DrunkPeriod' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='DrunkSpeed' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='DrunkZ' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='DrunkZOffset' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='DrunkZPeriod' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='DrunkZSpeed' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='Echo' return='bool' arguments='bool value'> </Function>
|
||||
<Function name='Expand' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='ExpandPeriod' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
@@ -3510,6 +3533,13 @@ save yourself some time, copy this for undocumented things:
|
||||
<Function name='Left' return='bool' arguments='bool value'> </Function>
|
||||
<Function name='LifeSetting' return='LifeType' arguments='LifeType type'> </Function>
|
||||
<Function name='Little' return='bool' arguments='bool value'> </Function>
|
||||
<Function name='ModTimerSetting' return= 'ModTimerType' arguments='ModTimerType type'>
|
||||
Sets the effect clock of certain modifiers for the player, if the optional argument is provided. Returns the <Link class='ENUM' function='ModTimerType' /> that was previously set.<br />
|
||||
Can also be set through strings in PlayerOptions::FromString().<br />
|
||||
String Examples: 'ModTimerSong', 'modtimerbeat', etc.
|
||||
</Function>
|
||||
<Function name='ModTimerMult' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='ModTimerOffset' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='MaxScrollBPM' return='float, float' arguments='float value, float approach_speed'>
|
||||
MaxScrollBPM is one of the variables for controlling the speed mod.<br />
|
||||
Use CMod, XMod, or MMod to set the speed mod unless you have a good reason not to.<br />
|
||||
@@ -3557,6 +3587,9 @@ save yourself some time, copy this for undocumented things:
|
||||
If the player is using Overhead (0 tilt, 0 skew), returns true.<br />
|
||||
If true is passed, sets the tilt and skew to 0.
|
||||
</Function>
|
||||
<Function name='ParabolaX' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='ParabolaY' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='ParabolaZ' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='Passmark' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='Planted' return='bool' arguments='bool value'> </Function>
|
||||
<Function name='PlayerAutoPlay' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
@@ -3567,6 +3600,10 @@ save yourself some time, copy this for undocumented things:
|
||||
<Function name='Reverse' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='Right' return='bool' arguments='bool value'> </Function>
|
||||
<Function name='Roll' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='Sawtooth' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='SawtoothPeriod' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='SawtoothZ' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='SawtoothZPeriod' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='ScrollBPM' return='float, float' arguments='float value, float approach_speed'>
|
||||
ScrollBPM is one of the variables for controlling the speed mod.<br />
|
||||
Use CMod, XMod, or MMod to set the speed mod unless you have a good reason not to.<br />
|
||||
@@ -3593,6 +3630,12 @@ save yourself some time, copy this for undocumented things:
|
||||
If the optional second argument is passed, sets the approach_speed for skew and tilt to it.
|
||||
</Function>
|
||||
<Function name='Split' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='Square' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='SquareOffset' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='SquarePeriod' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='SquareZ' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='SquareZOffset' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='SquareZPeriod' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='Stealth' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='Stomp' return='bool' arguments='bool value'> </Function>
|
||||
<Function name='Sudden' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
@@ -3614,6 +3657,9 @@ save yourself some time, copy this for undocumented things:
|
||||
<Function name='Tornado' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='TornadoOffset' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='TornadoPeriod' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='TornadoZ' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='TornadoZOffset' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='TornadoZPeriod' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='TurnNone' return='bool' arguments='bool value'> </Function>
|
||||
<Function name='Twirl' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='Twister' return='bool' arguments='bool value'> </Function>
|
||||
@@ -3629,6 +3675,12 @@ save yourself some time, copy this for undocumented things:
|
||||
If the optional second argument is passed, sets the speed at which the transition occurs.
|
||||
</Function>
|
||||
<Function name='Xmode' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='Zigzag' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='ZigzagOffset' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='ZigzagPeriod' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='ZigzagZ' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='ZigzagZOffset' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
<Function name='ZigzagZPeriod' return='float, float' arguments='float value, float approach_speed'> </Function>
|
||||
</Class>
|
||||
<Class name='PlayerStageStats'>
|
||||
<Function name='FailPlayer' return='bool' arguments=''>
|
||||
|
||||
Reference in New Issue
Block a user