Commit Graph

128 Commits

Author SHA1 Message Date
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 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
AJ Kelly 660eeaae9c [NoteField] Fix 3D noteskins overlapping. [shakesoda, AJ] let me know how this works for you guys -freem 2012-03-20 00:19:28 -05:00
AJ Kelly c2f79eb423 very small formatting changes 2011-11-27 22:28:50 -06:00
AJ Kelly 06e54b3985 make this assert message more descriptive 2011-11-27 22:20:32 -06:00
Thai Pangsakulyanont 248504f275 escape # in first keysound entry, fixed ADPCM reader and make PMS load more correctly.
- [NoteField] fix build warnings, and change the maximum number of displayed notes
  after the receptor to 64.
- [Player] fix build warnings.
- [NotesLoaderSSC, NotesWriterSSC] The MSD file reader seems to treat # that comes
  directly after : as new tag, and as many PMS and BMS files has keysounds which filename
  starts with #, so it looks like this: #KEYSOUNDS:#bgm.wav,01.wav,02.wav,..
  The MSD parser will see it as 2 different tags. So I added a backslash in front of the
  # sign if it's at the start when saving and remove it when loading.
- [RageSoundReader_WAV] ADPCM now works very well and doesn't return error when
  end of file is reached anymore.
- [Steps] Use BMS loader when loading the note data.
2011-11-11 18:40:34 +07:00
AJ Kelly 011b696bec fix assert 2011-11-10 23:19:08 -06:00
Jason Felds b86a82fb42 Fix issue 585: editor crash w/o saving.
This does not feel like a proper cure, but it does
stop the crashing.
2011-10-17 21:37:30 -04:00
Thai Pangsakulyanont c63809125a keep as many notes after the receptor on the screen as it could, but limit
it to 32. [we may need to fine-tune this number later, but now missed notes
no longer disappear on slow / stopped parts using speed/scroll segments]

Please note that this code might not work well with negative speeds/scrolls.
2011-09-19 12:50:18 +07:00
Mark Cannon 8099e25dcc stage 3 of TimingData changes: changed external interface, enforce encapsulation more strictly 2011-09-15 03:28:58 +00:00
Thai Pangsakulyanont be3094b5af merge.
a bit more about autokeysounds: when I add this RageSoundReader_Extend,
I'm not sure whether the "autokeysounds are delayed" bug will come back
or not. Someone on Windows please test it.
2011-09-14 12:28:16 +07:00
Thai Pangsakulyanont 8fdf42e2bb Add PlayerState::GetDisplayedPosition() and PlayerState::GetDisplayedTiming()
which returns the dispalyed position and timing (based on the timing display
switch in the editor), so less copy n paste in ArrowEffects and NoteField.
2011-09-14 12:20:42 +07:00
Jason Felds 16916a7d67 Right, display the goods on song timing.
Maybe we need to adjust the metrics used here.
2011-09-12 19:47:43 -04:00
Mark Cannon df9c4d8142 segment renovation stage 2: redefine TimingSegments as simple structs, standardize names and functions, use only rows for constructors (we'll limit allocation through TimingData::AddSegment in the near future) 2011-09-11 17:13:10 +00:00
Mark Cannon 0d4e43f9e3 stage 1 of TimingSegment cleanup: consolidate genericizable code in TimingData, use a proper variable name 2011-09-10 03:08:59 +00:00
AJ Kelly 4eb2fe5730 small cleanup 2011-08-24 12:54:30 -05:00
AJ Kelly 154aeff951 [NoteField] Added AreaHighlightColor metric. 2011-08-05 12:14:15 -05:00
Jason Felds 3efcc32a47 Missed a spot. 2011-07-28 10:07:29 -04:00
Jason Felds 5391b4c11d [timing] NoteField covered. 2011-07-27 23:11:34 -04:00
Jason Felds dbdab4759e [Xcode4] May as well fix switch warnings.
Still need some assistance for the linker error.
2011-07-20 11:11:04 -04:00
Jason Felds 88fca505a8 [timing] All that's left is the big one.
Hopefully.

...right, the JSON stuff. GAH.
2011-07-14 14:33:07 -04:00
Jason Felds 08d5f8f722 Add Miss Combo support in #COMBOS tag. 2011-07-09 02:28:15 -04:00
Jason Felds 2726f6df82 NOW Mini and Tiny are swapped properly. 2011-07-05 16:50:06 -04:00
Jason Felds 3115b5a438 Need eyes for couple edit stuff. 2011-07-03 15:10:00 -04:00
Jason Felds d06a14da52 Display the attacks in the editor. 2011-06-24 18:07:47 -04:00
Jason Felds 7a16ba9c0f Add two new noteskin metrics.
This properly resolves bug tracker issue 190.
2011-06-13 14:48:15 -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