Commit Graph

258 Commits

Author SHA1 Message Date
teejusb d6919e94b9 Also set column in the EarlyHitMessage 2023-06-10 17:42:19 -07:00
teejusb 27c6f7757a First attempt to try to mitigate way off towers 2023-06-10 17:42:19 -07:00
Martin Natano bacecae1f7 Decouple <vector> 2023-04-21 22:13:41 +02:00
Martin Natano 78fb2e9fc3 Decouple <cstddef> 2023-04-20 11:21:29 +02:00
Martin Natano 093675cdc3 Use attributes where possible 2023-04-20 11:21:29 +02:00
Martin Natano b68ca517e6 Clean up math functions
- Remove checking for standard functions from the build system
- Prefix all invocations with std::
- Replace suffixed functions with unprefixed versions
- Include <cmath> in all files that use it and remove the global include

e.g. floorf(x) -> std::floor(x)
2023-04-19 19:31:40 +02:00
Telperion fdfc9848b8 handle Mmod choice for per-chart #DISPLAYBPM
I think this is the only thing that needs to change??
2023-02-08 10:30:26 -08:00
Brian Phlipot d079940fea Address PR feedback. 2023-02-02 11:54:17 -08:00
Brian Phlipot 4a6b1a743c Enable more compiler warnings and treat them as errors. 2023-02-02 11:54:17 -08:00
Michael Sundqvist 0cba3579de Remove global "using namespace std;" declarations, use "std::" prefixes on all std elements
Fix whitespace changes
2022-07-31 22:14:38 +02:00
Martin Natano 4de9bd7c7f Fix mine fix :)
The song timing was used for the calculations, but the steps timing should be used instead because of split timing.
2022-06-03 14:36:24 +02:00
Martin Natano 4c0aef69dd Remove legacy network code 2022-04-11 14:50:00 -07:00
teejusb 99ee1f2b84 Use bitset instead of map and adjust files accordingly. 2021-12-21 23:44:37 -08:00
teejusb c10d8e4eb5 Initial Implementation of disabling timing windows per player. 2021-12-10 00:27:21 -08:00
Martin Natano f18695df59 Track held misses
This adds a `HeldMiss` attribute to judgment messages and a GetHeld()
method to TapNoteResult.
2021-08-31 18:25:09 +02:00
teejusb c4990dd7ac Apply the Mine Fix patch
Link here: https://gist.github.com/DinsFire64/4a3f763cd3033afd55a176980b32a3b5#file-minefix_rc1-patch
2021-08-23 17:52:10 -07:00
teejusb 7e3789b131 Integrate C++11 branch into 5_1-new 2019-06-22 12:35:38 -07:00
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 854410599f Fix oitg_zoom_mode (#1383) 2017-02-08 10:23:58 -08:00
Kyzentun Keeslala 3d98fc7a60 Add oitg_zoom_mode_actor. Turn off minimaid lights when exiting. 2016-08-29 12:43:04 -06:00
Kyzentun Keeslala 6634f7de04 Fixed autoplay on rolls bug by not flashing ghost row on a hidden note. 2016-06-26 15:50:25 -06:00
Devin J. Pohly 10ddd549f3 Make sure we always release Lua lock
I have a sneaking suspicion that this also magically fixes memory cards
on Linux.
2016-05-24 16:25:23 -04:00
Kyzentun Keeslala eb3121faf9 Pass timing data to TransformNoteData so that fake notes inside warps can be removed properly. 2016-03-02 08:23:26 -07:00
Kyzentun Keeslala 4e0fa012c1 Added SetLife and ChangeLife lua functions to Player. Updated changelog. 2015-12-16 15:08:36 -07:00
Flameshadowxeroshin d329c80ad3 remove guitar cruft
There was a bunch of code for handling guitar-specific input such as hammer-ons/pull-offs and strumming. Given that guitar was removed, and as far as I understand, will not be added back into SM5, it makes sense to remove code that had no other use.
2015-12-05 11:12:17 -06:00
Kyzentun Keeslala 0bb382f689 Hide mines that have been avoided so that TNS_AvoidMine isn't spammed every frame. 2015-09-02 21:34:32 -06:00
Jason Felds 23d9271307 More accurate timing based on chart data.
Thanks to Skypers for the assist.
2015-07-19 22:09:34 -04:00
Jason Felds 960af12c23 Partial revert of b61e878.
Pump holds do have a little bit of leeway when it comes to letting go and putting your foot back on as proven by [WinDEU's demonstration of Dignity S20](https://www.youtube.com/watch?v=P2Fw9KPyHIg&feature=youtu.be&t=30).

The value used was determined by two video sources: the one mentioned above and a private one sent to me involving a different song/chart combination. 200ms is a rough estimate for what works. There may be other allowed values.
2015-07-19 16:08:50 -04:00
Kyzentun 2656123464 RageTextureManager now keeps a map of textures by pointer for quicker lookup when deleting.
RageTextureManager now keeps a map of textures that need updating, which is none of them because I couldn't find a class that inherits from RageTexture that doesn't have an empty Update function.
ArrowEffects now requires setting the current PlayerOptions before calling any functions.  This might make moving to per-column mods easier, and reduces the direct usage of PlayerState.
Tipsy calculations for each column are done in ArrowEffects::Update instead of GetYPos and GetYOffset.
DrawHold changed to only call DrawHoldBody once.  DrawHoldBody now does the normal and glow passes together instead of needing to be called twice.
DrawHoldPart changed to take most of its args in a struct.
Giant copy paste mess that NoteField was using to draw timing segment text replaced with a couple functions and a macro.
Selection glow for notefield is only calculated if a section is selected.
Added RageVector3 functions to CubicSplineN for NoteDisplay to use.
Actor effect period is cached now.  Sprites and Models cache their animation length now.
ReceptorArrowRow no longer calls ArrowEffects::Update in gameplay.
2015-04-24 15:55:54 -06:00
Kyzentun b4893e4a10 Structural changes to ScreenGameplay, Player, and NoteField to put the NoteField Board underneath everything except the song background. This includes underneath the combo/judgment when those are under the field. Screen filter in default theme moved to be part of the NoteField board so that it's always in the right place. 2015-04-03 14:19:28 -06:00
Kyzentun 2b7ebb3729 Added lookup table system to TimingData so that GetBeatAndBPS and GetElapsedTime don't have to walk through the entire list of timing segments several times every frame during gameplay. 2015-03-14 23:17:35 -06:00
Kyzentun b293a8c073 Added debug key for toggling action sounds off. Touches every place that RageSound::Play is called, hope I didn't miss one. 2015-02-28 06:25:02 -07:00
Kyzentun 7687d5c8a1 Merge branch 'master' of https://github.com/Flameshadowxeroshin/stepmania 2015-01-28 09:52:53 -07:00
Flameshadowxeroshin 06ee30d8b9 Kyzentun's milestone code 2015-01-23 21:30:06 -06:00
Flameshadowxeroshin f8d8a3379f improved checkpoint performance, one other change 2015-01-23 15:58:41 -06:00
Flameshadowxeroshin f230729a6f unsigned int combo and score, Player::IncrementComboOrMissCombo 2015-01-23 10:25:06 -06:00
Kyzentun b6e9d188c3 Added special case to JoinPlayer's style changing logic, see comment in code. Fixed mistake in hold logic that made holds never drop. 2015-01-22 12:37:48 -07:00
Kyzentun f4a718a824 SetCompatibleStylesForPlayers and ForceSharedSidesMatch added to GameState for SSM to use to fix style mismatch problems.
StyleInputToGameInput changed to take a vector to return values in to handle multiple inputs mapped to a single column.  Associated adjustments to everything that uses it.
Player no longer drops holds in columns that have multiple inputs mapped to them if the wrong one is held.
Running out of stage tokens changed from assert to error.
2015-01-17 21:15:15 -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
sillybear e3bb49f9d8 Update Player.cpp 2014-12-10 00:09:46 +08:00
sillybear 09274b655b Add 2014-12-09 23:52:22 +08:00
Kyzentun 4f95bf08ad Function chaining for actors and singletons. 2014-12-01 22:31:30 -07:00
Kyzentun 4e5a2ade73 Added mod for MinTNSToHideNote so it can be set per-player. 2014-11-22 14:55:44 -07:00
Kyzentun 040c0de509 Added MinTNSToHideNotes preference. 2014-11-19 15:59:21 -07:00
sigatrev ec23dcb503 fix major typo
oops...
2014-09-06 15:40:46 -05:00
sigatrev e60ac1395d expose tap notes for judgment message
allow themes access to as much information as possible on judgments
2014-09-05 22:30:33 -05: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 18b2d73bb1 Fixed invalid note type trace to use correct escape sequence. 2014-07-31 11:25:05 -06:00
sigatrev e81af8c131 Enums for TapNoteType, TapNoteSubType, and TapNoteSource
I intend to make additional useful information available on judgments,
such as TapNoteType and TapNoteSubType( for hold judgments ).

I am submitting this part as a separate pull request because it is more
generally applicable to anything TapNote related.
2014-07-25 18:45:02 -05:00
kyzentun 708784889a Merge pull request #163 from kyzentun/tweenable_mmods
Tweening for mmods.
2014-06-16 22:51:27 -06:00