Commit Graph

66 Commits

Author SHA1 Message Date
MrThatKid e15e0e68be 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.
2017-05-13 11:34:34 -07:00
MrThatKid 86dbab0100 Added nITG's various sub-modifiers (#1419)
* Added nITG's Bumpy sub-mods and ...

reorganized PlayerOptions::FromOneModString's Confusion checks
This is to help avoid the nesting level of 128 under Windows

* Added nITG's Tipsy sub-mods

Modifiers added:
TipsySpeed
TipsyOffset

* Add nITG's Drunk sub-mods

Modifiers added:
DrunkSpeed
DrunkOffset
DrunkPeriod

* Added nITG's Wave & Expand sub-mods

Modifiers added:
WavePeriod
ExpandPeriod

* Added nITG's Tornado sub-mods

Modifiers Added:
TornadoPeriod
TornadoOffset

* Added nITG's Beat sub-mods

Modifiers added:
BeatOffset
BeatPeriod
BeatMult

* Documented the new sub-mods
2017-03-14 03:27:18 -07:00
MrThatKid 1c9227db22 Add nITG's new Move modifiers (#1411)
* Implemented NITG's MoveX/Y/Z modifiers

Added modifiers:
MoveX1-n: Moves a column in the x direction, 100% = move left one arrow size. 
MoveY1-n: Moves a column in the y direction
MoveZ1-n: Moves a column in the z direction.
2017-02-25 15:48:03 -08:00
MrThatKid 388d4ac8ea Add nITG's new Confusion modifiers (#1395)
* Implemented nITG's Confusion modifiers.

Modifiers added:
ConfusionOffset
ConfusionX
ConfusionXOffset
ConfusionY
ConfusionYOffset

* Documented new Confusion modifiers.

* Make ConfusionX mods apply to hold heads
2017-02-08 05:44:33 -08:00
Kyzentun Keeslala 7ca46bb93a Added PlayerOptions:FromString. 2016-09-16 18:02:08 -06:00
Jason Felds edabf4605b Clean up three sets of warnings:
* Ensure all switches have a default when working with enums.
* Match defined new[] calls with delete[] calls.
* Respect variable initialization order.
2016-03-24 18:30:29 -04:00
Kyzentun Keeslala d496f8145c Noteskin name in PlayerOptions needs to be compared case-insensitive when comparing PlayerOptions structures. The old code that used != probably relied on RString::operator!= misbehaving. 2015-11-05 21:56:43 -07:00
Dan Guzek edb1273723 fix logic for attacks in gameplay disqualifying
When disqualification was turned on via Preferences, the old logic exhibited two problems:

1. charts with attacks were always disqualified from ranking
2. charts without attacks could be disqualified from ranking if the attack modifier was set to "Off"

So, this commit fixes those problems.  If a chart has attacks, and the attack modifier is used to turn them "Off", then disqualification is enforced.

Additionally, disqualification is enforced if the attack modifier is set to "Random Attacks."  This part might not be necessary, but I acted on the assumption that random attacks could theoretically make a chart easier.
2015-10-07 03:48:57 -04:00
Kyzentun 8cde91eb2e Prevent crashes from an invalid noteskin being set. 2015-01-31 00:23:54 -07:00
Kyzentun bd3671ed2e Fixed operator= for PlayerOptions. 2015-01-27 21:02:24 -07:00
Kyzentun 3fb36af157 Separate styles for players. Notefields positioned between margins. Edit mode works for kickbox. 2014-12-09 22:27:00 -07:00
Kyzentun 7a585fcd38 Function chaining for PlayerOptions and SongOptions APIs. 2014-12-02 19:58:52 -07:00
Kyzentun 4e5a2ade73 Added mod for MinTNSToHideNote so it can be set per-player. 2014-11-22 14:55:44 -07:00
Kyzentun 9b847caa45 DefaultFailType preference removed because DefaultModifiers was overriding it. DefaultFailType ConfOptionRow now works by putting the fail type in DefaultModifiers.
Fixed double InitCommand bug in Foreground.
Disabled odd dimension check for screen texture.
2014-11-15 17:18:42 -07:00
Kyzentun 455431d8c3 Removed DefaultFail GamePref and reinstated DefaultFailType real preference. Should fix default fail related problems. 2014-09-15 00:04:41 -06:00
Kyzentun 95b16a0196 Merge branch 'LifeMeterMessage' of https://github.com/kyzentun/stepmania 2014-08-25 02:33:53 -06:00
Kyzentun bdb2b373bc Added NoteSkinManager::GetDefaultNoteSkinName so that PlayerOptions can avoid clearing the noteskin when the clearall mod is used. 2014-08-07 18:36:42 -06:00
Kyzentun 7e73892e6e Moved LifeType, DrainType, and BatteryLives from Song Options to Player Options. Added ScreenGameplay:FailFadeRemovePlayer lua function. 2014-08-06 23:26:05 -06:00
Kyzentun 2b9982f505 Added Mmod compensation to ArrowEffects::GetYOffset. 2014-05-08 03:07:02 -06:00
Kyzentun 0dfb131291 Created SongOptions Lua interface with a similar design to the PlayerOptions interface. Moved enums that were inside SongOptions out and made them Lua accessible. Removed sAutosyncType and associated things from AdjustSync.cpp because it was unused. Added DefaultNilArgs and FArgGTEZero to LuaBinding as helpers. Moved INTERFACE defines from PlayerOptions.cpp to OptionsBinding.h. 2014-05-03 19:27:32 -06:00
Kyzentun 24f87d2e57 Fixed stack acciddent bug in PlayerOptions lua functions. Added skew and tilt mods to PlayerOptions::GetMods and FromOneModString for when the perspective isn't one of the old ones. 2014-05-02 16:45:49 -06:00
Kyzentun 421a9be57b Ripped out existing PlayerOptions Lua interface and replaced it wholesale. Removed PrefsManager's DefaultFailType enum. Moved PlayerOptions::FailType enum to GameConstantsAndTypes and made it Lua accessible. Changed ModsLevel enum to include ModsLevel_Current to make accessing that ModsLevel easier to access. Rearranged ModsGroup appropriately. Added non-const Get functions to ModsGroup. Removed PlayerOptions.m_bSetTiltOrSkew because it had no reason to exist. Moved 200.0f to the const CMOD_DEFAULT because it was being used in more than one place. 2014-05-01 23:23:20 -06:00
Kyzentun 0c9728a8a9 Changed resetspeed to use SET_FLOAT so it can be tweened to the way other mods can. 2014-02-14 22:26:03 -07:00
Kyzentun 13a4cccfb5 Added resetspeed mod to PlayerOptions. 2014-02-12 15:49:51 -07:00
Jason Felds 20d94d4b7e Cat is back in the bag. Revert commits.
A-mods need to be tested more.

...and this is what happens when you forget to
stash changes before a merge. Lesson learned.
2013-04-19 21:49:55 -04:00
Jason Felds 489a9312fc Forced a merge. Should be good. 2013-04-18 22:58:30 -04:00
Devin J. Pohly bd0e2074ad replace ASSERT(0) with useful fail messages 2012-12-27 16:59:35 -05:00
Jason Felds 1fc16698ba War on -Werror, part 12: explicit bool usage.
It may save a few cycles, but it's best to be
explicit on boolean operations, especially with
ASSERT.
2012-12-27 11:38:53 -05:00
AJ Kelly 3eb317522c [PlayerOptions] Fixes to Get/Set[C, M, X]Mod Lua bindings. [hanubeki]
Source: http://code.google.com/r/hanubeki-modified-sm-ssc/source/detail?r=97761b5dc87b8c8a1b296985a09814337578c745
2012-05-31 12:19:00 -05:00
Jason Felds 6782efb80f Fix setting some mods that always used drunk.
Thanks to TaroNuke for the assist.
2012-04-03 00:07:04 -04:00
AJ Kelly bd3d71540f [PlayerOptions] Don't display x-mods when using m-mods. Sourced from hanubeki-modified-sm-ssc rev. bd08a58dd7cf and OpenITG. 2012-03-09 14:25:39 -06:00
AJ Kelly 33372bf05e fix the crash I was getting when leaving the options. turns out approach for the m-mods was commented for a reason... 2012-01-16 00:31:18 -06:00
AJ Kelly 3fdfc1c4d4 [PlayerOptions] Fix a problem with m-mods where you would get m200 as the default speed modifier. 2012-01-15 23:39:53 -06:00
AJ Kelly a49044501e [PlayerOptions] Added IsEasierForSongAndSteps(Song,Steps,PlayerNumber) and IsEasierForCourseAndTrail(Course, Trail) Lua bindings. 2011-11-30 00:35:06 -06:00
AJ Kelly 6919da8e5a [PlayerOptions] Pretty large changes here, namely a bunch of new bindings. Fixed the logic for GetReversePercentForColumn; It will now return nil for invalid columns. Also fixed the logic for UsingReverse (now checks for 1.0f) and SetPassmark (no longer allows values < 0.00f and > 1.0f). 2011-11-27 05:02:39 -06:00
Jason Felds 9e486bec32 [backwards] Add option, Lua call GetBackwards(). 2011-10-16 15:41:26 -04:00
AJ Kelly 7fba9a3917 [PlayerOptions] Add GetMMod() Lua binding. 2011-08-20 01:45:06 -05:00
AJ Kelly 6a16952161 FUCK THIS PIECE OF BULLSHIT 2011-07-03 17:52:03 -05:00
Colby Klein 07a2bd6da7 Port OpenITG's M-Mods. Example: m600 to set target BPM of 600, on a 200BPM song this means 3x. Works with custom speed mods. Note: the block in Player.cpp needs to be fixed for these to be usable, do this before releasing PR2. 2011-07-03 00:08:56 -07:00
Jason Felds 4ab534de75 Use NoAttacks vs StepAttacks. 2011-06-26 23:58:24 -04:00
Jason Felds fcf9e335e6 Use StepAttacks instead.
This deprecates the GetSongAttacks lua function.

Next up: make it so that no text is displayed if
Step Attacks are on, but display "No Attacks" if
attacks are turned off.
2011-06-24 12:12:27 -04:00
Jason Felds 6e1d5cf10b DQ if attacks are there, but disabled. 2011-06-24 10:55:39 -04:00
Jason Felds b470188ca4 Make Song Attacks on by default.
No, metrics wasn't enough.

Now to get #ATTACKS working on Split Timing.
2011-06-24 10:49:42 -04:00
Jason Felds c3c8753620 More prototype warning stuff.
I know these should be in the .h files,
but we can cover that later.
2011-06-12 19:20:43 -04:00
Jason Felds cb38eae9ba Removing the ScoreDisplay mods.
Lua has since replaced it.
2011-06-06 18:55:49 -04:00
AJ Kelly d0cca36f2a more small comment stuff 2011-06-03 19:52:20 -05:00
Jason Felds 84b5cf192e Don't ignore those warnings! 2011-05-27 10:53:30 -04:00
Jason Felds 283afa4687 Log if a mod isn't loaded for some reason. 2011-05-27 10:42:47 -04:00
Jason Felds 6b4703d2ed Not a fan of plain ASSERTs. 2011-05-27 10:26:43 -04:00
Jason Felds 640f8fe9fc [splittiming] PlayerOptions -> HasTimingChanges.
Steps gained most of the functionality and lua doc.
Leaving song version in: may still have a use
thanks to #DISPLAYBPM.
2011-05-15 14:05:02 -04:00