Commit Graph

153 Commits

Author SHA1 Message Date
sukibaby 2eeee03211 Remove timer from text_glow math
text_glow is part of DrawPrimitives(), and is used just about everywhere, so it is a huge burden taken off the timer to instead increment a counter.
2024-09-04 20:15:35 -07:00
sukibaby e60cf2aa0d Use stdlib for trigonometric functions
Profiling showed this performed significantly faster than the RageFast_ implementations.
2024-08-06 16:18:39 -07:00
teejusb 0c1115350d Allow setting the alpha of the beatbars 2024-03-03 00:08:55 -08:00
tertu marybig acf8be530d Allow setting and getting beat bar status per NoteField from Lua 2024-02-15 13:22:26 -08: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
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
teejusb 7e3789b131 Integrate C++11 branch into 5_1-new 2019-06-22 12:35:38 -07:00
MrThatKid eb78d14ab8 Moved display zbuffer clear to after notefields are drawn (#1679)
* Added display zbuffer clear DrawNoteFieldBoard

* Removed display zbuffer clear in NoteField
2018-04-20 18:27:37 -07:00
MrThatKid 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
Colby Klein b4e02821e8 Revert "Improve handling of errors in lua functions and speed up calls. (#1427)"
This reverts commit f10e3ae36a.

(it was a joke PR, do not fear)
2017-04-04 17:21:55 -07:00
Kyzentun f10e3ae36a Improve handling of errors in lua functions and speed up calls. (#1427) 2017-04-04 11:36:23 -07:00
Kyzentun Keeslala 5fca435b43 Clear the z buffer before drawing notes so 3D notes aren't hidden by things in the underlay using masking. 2016-06-21 08:51:09 -06:00
Kyzentun Keeslala 7daaf04cfc Fixed edit mode attack related crash in routine mode by not checking player options noteskin choice in routine mode. 2016-06-17 16:23:08 -06:00
Jason Felds bec18a0d36 Fix minor windows pedantic warnings. 2016-03-27 22:03:15 -04:00
Kyzentun Keeslala 86470b7977 Reinstate RageFastSin because it's faster on Windows. 2016-02-07 21:04:10 -07:00
Kyzentun Keeslala acda44238d Replace RageFastSin and RageFastCos with standard library versions because the standard library is faster. Use fmod in spline evaluation. 2016-02-07 15:35:05 -07:00
Kyzentun Keeslala a35fa1416e Changed DrawBeatBar to check the M-mod so that smaller beat bars are drawn when M-mods are used in edit mode. Updated changelog. 2015-12-04 00:28:22 -07:00
Kyzentun 211269778d Fixed timing segment text to use the beat of the segment. 2015-05-10 01:04:06 -06:00
Kyzentun a8f4278a54 Added SetCurrentOptions to NoteField::DrawPrimitives so the correct options are actually set during drawing when there are two players. Fixed stealth by disabling the glow color from the column actor, so glow effects on the column won't work. Added note explaining how long GetBrightness has been disabled. 2015-05-02 18:53:00 -06: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 8cde91eb2e Prevent crashes from an invalid noteskin being set. 2015-01-31 00:23:54 -07:00
Kyzentun 40b25e6220 Fixed conflicts to merge kickbox in. 2015-01-27 18:03:41 -07:00
Kyzentun d3bbf9cbd3 Added SetVertsFromSplines to AMV. Moved const to the left side. Documentation for all new functions. 2015-01-06 20:14:59 -07:00
Kyzentun 84e758c6c7 Added rotation and zoom splines to note columns, with the help of a couple new classes. Reorganized args to NoteDisplay functions into helper structures. Made splines have 3 modes controlling their behavior. Hold twisting is now handled by an AA rotation and hold drawing in general is now more complex. 2015-01-01 04:36:20 -07:00
Kyzentun 64d384410c Created NoteColumnRenderer to handle column rendering. Added m_FakeParent to Actor to solve part of the problem. 2014-12-26 01:54:34 -07:00
Kyzentun 07fb61a291 Moved tap and hold rendering logic out of NoteField and into NoteDisplay. 2014-12-25 05:02:28 -07:00
Kyzentun 090d63e43c Fixed column arg passed to NoteField callbacks. 2014-12-18 02:36:45 -07:00
Kyzentun 4c1ee4bbfb Fixed problems in NoteField from rebasing. 2014-12-10 18:14:00 -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 8af06ae505 Added NoteField lua functions to allow the theme to control how the receptors and ghost arrows flash. 2014-11-30 23:17:12 -07:00
Kyzentun 71ed1df5e6 Added FastNoteRendering preference. 2014-08-31 17:17:48 -06:00
sigatrev 82cb4a198d 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-08-02 00:38:48 -07:00
sigatrev 0c62e5fb9e Allow NoteField Board to be an AutoActor
NoteField board was already an AutoActor, but code was requiring it to
be a derivative of Sprite. Allow any ActorClass to be used.

NoteField could already be accessed from below, using GetParent() on the
NoteField Board. For ease of allowing the board to be used for player
specific purposes, make notefield an actual child of Player, so the
Board can be accessed per player from the top down.
2014-05-02 17:01:38 -05:00
Devin J. Pohly bcd90324c7 editor: show scroll segments in song timing
They function anyway in gameplay; there's no reason they should be
special-cased out of the editor.
2013-07-18 14:35:53 -04:00
Jason Felds 28e5148dec The big NULL replacement party part 5.
Right. ' = NULL' would get a lot of these.
2013-05-03 23:39:52 -04:00
Jason Felds ba59dd1656 The big NULL replacement party part 2.
This may take a bit. Trying to do this by operator/command.
2013-05-03 23:11:42 -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 c759c4770f Loop and efficiency boost.
No need to loop the structure twice.
2013-05-01 21:41:20 -04:00
Jason Felds 2a7d290419 NoteField is handled. 2013-04-28 17:48:39 -04:00
Jason Felds 6d57d2fbf5 Start working on the other map loops. 2013-04-27 23:50:37 -04:00
Jason Felds 2642ef77e4 Loop and spacing. 2013-04-27 13:51:13 -04:00
Jason Felds 15b99c5b41 Only display decimals as needed. 2013-01-06 21:11:51 -05: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