Commit Graph
91 Commits
Author SHA1 Message Date
tertu marybigandteejusb 9b348090a7 HyperShuffle implementation
Also add it to _fallback
2022-06-23 11:09:40 -07:00
Martin Natano cb3cf0ab95 Fix playeroptions:GetDisabledTimingWindows() 2022-06-08 18:06:52 +02:00
Martin Natano 9208afee2e Fix disabled timing window formatting 2022-06-08 17:53:52 +02:00
teejusb a48a5b73ad Remove returned timing window table 2022-01-05 18:21:28 -08:00
teejusb 99ee1f2b84 Use bitset instead of map and adjust files accordingly. 2021-12-21 23:44:37 -08:00
teejusb 2967165235 Logic fixes 2021-12-10 21:12:11 -08:00
teejusb c10d8e4eb5 Initial Implementation of disabling timing windows per player. 2021-12-10 00:27:21 -08:00
teejusb 47a6f625f1 Actually add the Visual Delay method 2021-12-06 13:10:02 -08:00
teejusb 8673c28161 Convert ms to seconds. Use the PlayerState's m_Position in ArrowEffects so it actually works. 2021-10-26 21:22:17 -07:00
teejusb 6dc0ec5258 Woops, actually store the value of the visual delay. 2021-10-22 18:33:13 -07:00
teejusb 547b379765 Type and parsing fixes. 2021-10-22 18:18:15 -07:00
teejusb ef3b2142af Fix some brackets 2021-10-22 17:28:48 -07:00
teejusb b371a4d9c4 Fix typo in StringToFloat 2021-10-22 17:22:21 -07:00
teejusb 711726a8d6 Add player based visual delay to PlayerOptions 2021-10-22 17:01:41 -07:00
Gareth FrancisandGitHub aeb5c7598f Handle exceptions in int conversions (#2092)
* RageUtil: Add exception-safe wrappers around std::stoi, stol, stoll

* Replace use of std::stoi with exception-safe StringToInt
2021-02-15 12:36:51 -08:00
FMS-Cat 7d2a70db23 feat (RateModsAffectFGChanges): Actually implemented
I'm trying to transfer the nITG implementation for now
2020-10-20 02:16:02 +09:00
teejusb 7e3789b131 Integrate C++11 branch into 5_1-new 2019-06-22 12:35:38 -07:00
MrThatKidandGitHub 921a617a64 Added nITG's Tangent Modifiers (#1495)
* Implemented nITG's TanDrunk modifiers.

RageMath functions added:
RageFastTan
RageFastCsc
Modifers added:
GlitchyTan
TanDrunk
TanDrunkSpeed
TanDrunkOffset
TanDrunkPeriod
TanDrunkZ
TanDrunkZSpeed
TanDrunkZOffset
TanDrunkZPeriod

* Implemented nITG's TanTipsy and TanTornado mods

Also, the Drunk code and Tipsy update code was deduplicated.
Modifiers Added:
TanTipsy
TanTipsySpeed
TanTipsyOffset
TanTornado
TanTornadoPeriod
TanTornadoOffset
TanTornadoZ
TanTornadoZPeriod
TanTornadoZOffset

* Implemented nITG's remaining tan mods.

Modifiers added:
TanExpand
TanExpandPeriod
TanBumpy
TanBumpyPeriod
TanBumpyOffset
TanBumpyX
TanBumpyXPeriod
TanBumpyXOffset
TanDigital
TanDigitalPeriod
TanDigitalSteps
TanDigitalOffset
TanDigitalZ
TanDigitalZPeriod
TanDigitalZSteps
TanDigitalZOffset

* Updated luadocs to reference new modifiers

* Rename GlitchyTan to Cosecant (#4)

* Rename GlitchyTan to Cosecant

* Update luadocs to reflect change
2017-07-14 22:32:58 -07:00
KyzentunandMrThatKid 05a58a69bd Allow spaces in noteskin names. (#1493) 2017-07-13 17:59:38 -07:00
MrThatKidandGitHub a3eab2e7ab Added nITG's various column specific & other misc modifiers (#1468)
* Added stealth control, ZBuffer & DizzyHolds mod

Modifiers added:
StealthPastReceptors
DizzyHolds
StealthType
ZBuffer

* Removed theme metrics that are now mods.

Removed metrics:
DrawHiddenNotesAfterReceptor
DizzyHoldHeads

* Implemented nITG's Shrink modifiers

Modifiers Added:
ShrinkLinear
ShrinkMult

* Implemented nITG's Attenuate mods.

Modifiers added:
AttenuateX
AttenuateY
AttenuateZ

* Implemented nITG's pulse modifiers

Modifiers added:
PulseInner
PulseOuter
PulsePeriod
PulseOffset

* Implemented nITG's DrawSize and Bounce modifiers.

Modifiers Added:
Bounce
BouncePeriod
BounceOffset
BounceZ
BounceZPeriod
BounceZOffset
DrawSize
DrawSizeBack

* Added nITG's column specific Dark & Stealth mods

Modifiers added:
Stealth<1-n>
Dark<1-n>

* Finish adding nITG's column specific mods

Modifiers added:
ConfusionXOffset<1-n>
ConfusionYOffset<1-n>
ConfusionzOffset<1-n>
Reverse<1-n>
Tiny<1-n>
Bumpy<1-n>

* Documented new modififers

* Changelog housekeeping

Fixed a typo and added this branch's PR into the changelog.

* Last bit of clean up. (#3)

* Fixed up one line of the changelog

* Add MrThatKid to credits.
2017-06-09 21:10:17 -07:00
MrThatKidandColby Klein 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
MrThatKidandColby Klein 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
MrThatKidandColby Klein 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
MrThatKidandColby Klein 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 f5c877cbb6 Replace StringToInt with the std version.
Again, RageUtil isn't the right home.
2013-05-04 11:59:25 -04:00
Jason Felds 9f24627bf9 The big NULL replacement party part 1.
This is meant to be a safer alternative since
NULL can often be 0. Let's not rely on that.

And yes, I know this is a lot of files. This is
a safer thing to do in big commits vs for loops.
2013-05-03 23:01:54 -04:00
Jason Felds c67419ecc8 There goes the macro file.
This is one of my bigger commits in this branch.

Still, shouldn't cause a problem.
2013-05-01 23:54:39 -04:00
Jason Felds 3f3ea20a3a One loop. 2013-05-01 22:16:53 -04:00
Jason Felds e7d0dccdae Player option loops. 2013-04-30 19:42:19 -04: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