Commit Graph

56 Commits

Author SHA1 Message Date
Glenn Maynard 2412c73b22 comment, cleanup 2005-02-13 03:40:37 +00:00
Glenn Maynard d29a686245 remove TAP_ORIGINAL_HOLD_TAIL 2005-02-07 21:32:22 +00:00
Chris Danford 467c88c59b move members up 2005-02-02 06:52:07 +00:00
Glenn Maynard b61a030ce0 reduce ROWS_PER_BEAT; we're not actually using it for BPM values right now, and it's causing some problems with BeatToNoteRow on large values 2005-01-28 04:58:27 +00:00
Glenn Maynard 957e89466a remove HoldNote 2005-01-25 05:46:51 +00:00
Glenn Maynard bb7482e722 evil big commit (sorry):
Remove m_HoldNote array entirely.  Remove 2sAnd3s.  Store hold note
durations in the hold head.  hold_tail only still exists when InsertHoldTails
is used, to make SM parsing a little easier (may go away).  Add helpers
for iterating over ranges while including or excluding adjacent and overlapping
hold notes.  Range operations are now [start,end) instead of [start,end].
(probably more details coming to sm-dev soon)
2005-01-25 05:02:35 +00:00
Glenn Maynard 95cf7d2649 never store NoteRows in floats 2005-01-23 23:23:34 +00:00
Glenn Maynard 1929824277 Increase ROWS_PER_BEAT to allow accurately storing BPM values
in terms of rows.  This no longer has any runtime or memory cost, since
all (hopefully) cases of iterating per-row have been removed.
2005-01-23 21:47:32 +00:00
Glenn Maynard bb0213c174 Remove 4s. It's conceptually incompatible with using a sparse map to
hold tap notes.
2005-01-23 21:40:21 +00:00
Glenn Maynard 774ae6fa5b fix delete in the editor (BeatToNoteRow was wrong for negative numbers) 2005-01-23 19:10:44 +00:00
Glenn Maynard 18e32dbda4 don't lose HoldNoteResult when converting to/from 2sAnd3s 2005-01-23 17:17:24 +00:00
Glenn Maynard 4fbcbdf77c oops; MAX_NOTE_ROW was in beats 2005-01-22 19:18:02 +00:00
Glenn Maynard 9735755e00 Add MAX_NOTE_ROW, indicating the maximum row that we can represent.
We can actually go much higher; I set this to 1<<30 instead of 1<<31 so
we don't overflow when eg. adding one beat or one measure in some
algorithms.

The advantage of this over "999999" is it won't break if ROWS_PER_BEAT
is changed to a large value.

Also, since this value will typically be much larger than any actual row, it'll
quickly show up any algorithms that aren't iterating properly.

An advantage over older code using 999999 is that we don't have to
manually clamp the value to a reasonable range; FOREACH_NONEMPTY_ROW_IN_TRACK_RANGE,
etc. don't care.

An advantage of this over using -1 as a sentinel is that we don't have to
carefully check and fill in the value in every function using it.
2005-01-22 18:51:51 +00:00
Glenn Maynard 032ddf0e08 Don't hold a redundant copy of the NoteData in NoteField. NoteField is
now just a renderer for NoteData.  This means we don't have to carefully
apply all changes to NoteData to NoteField.
2005-01-22 02:50:45 +00:00
Glenn Maynard 46ace22b79 continue merging NoteDataWithScoring stuff 2005-01-22 02:10:54 +00:00
Glenn Maynard c321bbe196 start merging NoteDataWithScoring and NoteField per-hold and per-tap
data into TapNote and HoldNote.  This reduces lookup costs significantly.
It's a bit simpler, though I'm not entirely happy with the resulting encapsulation ...
2005-01-22 01:37:32 +00:00
Chris Danford eff1dc9695 play auto keysounds 2004-10-24 10:45:30 +00:00
Chris Danford 1b3c786213 cleanup: variable name and const 2004-10-24 10:20:24 +00:00
Chris Danford 584189a10c naming cleanup: iNoteIndex -> row 2004-10-24 00:17:15 +00:00
Chris Danford 3ac1dba044 simplify TapAttack storage:
store attack info in TapNote
  in the SMNoteData string, store the attack params inline (like with keysounds)
play keysounds when hit
  still doesn't play keysounds on a miss
  still doesn't play autoKeysounds
2004-10-23 23:41:49 +00:00
Glenn Maynard 4761e67ec1 warning C4244: '=' : conversion from 'unsigned int' to 'uint8_t', possible loss of data 2004-09-30 04:17:23 +00:00
Chris Danford b20eaeb60b Parse and maintain keysound data, but don't play the keysounds yet. 2004-09-29 07:19:44 +00:00
Chris Danford 0f6ed81faf Use a associative arrays instead of normal vectors to hold TapNotes.
More places NoteDataUtil, NoteDataWithScoring need to be converted to use the new row iteration macros.
2004-09-29 06:43:57 +00:00
Chris Danford 3e140b0af9 remove hard-coded track limit in NoteData 2004-09-25 07:59:56 +00:00
Chris Danford d2a54cca31 make TapNote a struct. Over time, more properties will move from the enums and into bit flags. 2004-09-12 05:56:24 +00:00
Glenn Maynard 2cab5c4689 license updates 2004-05-31 22:42:12 +00:00
Glenn Maynard efc61b33d6 simplify RangeOverlaps
add ContainedByRange
2004-04-29 00:33:09 +00:00
Glenn Maynard 7003e2b157 Implement RADAR_NUM_HANDS result.
Change hold note contents to rows (from beats).  This makes it
consistent with tap note data.  Row numbers are also generally
more precise, since they're integers, not floats.
2003-12-16 04:00:39 +00:00
Chris Danford 110affd791 add comment 2003-11-16 09:34:49 +00:00
Chris Danford 38ec8ca856 rework tap attack representation 2003-11-15 23:19:13 +00:00
Chris Danford d51a3491a8 working on battle attacks 2003-11-15 08:51:47 +00:00
Matt Denham 7484667733 finish support for 48th/64th notes in code
add things possibly useful for mods when keysounds (and Keyboardmania) support are finished
2003-11-13 07:40:49 +00:00
Chris Danford 52100a727b working on "attack notes" 2003-11-12 08:13:02 +00:00
Chris Danford e986f15792 fix echo adds taps under hold notes 2003-11-07 09:27:28 +00:00
Matt Denham 975c45df11 support 48th/64th notes in editor 2003-11-03 08:44:49 +00:00
Matt Denham 664524a4e9 fixes for BMS loader, along with commented-out items for other Beatmania modes 2003-10-28 06:36:11 +00:00
Glenn Maynard 0eaa9aa178 Move truncf, roundf fallbacks to the right place.
Fix BeatToNoteRow rounding backwards for negative numbers.
2003-10-27 03:45:15 +00:00
Chris Danford 1f8a45cbee Add mines transform 2003-08-10 10:12:50 +00:00
Chris Danford a2ebcfce01 show different tap graphic for additional notes created by a transform 2003-08-10 06:00:30 +00:00
Chris Danford d2a73edf35 fix HoldNote compile errors/warnings 2003-04-05 21:18:18 +00:00
Glenn Maynard f64f210ca1 Remove MAX_BEATS. 2003-03-06 22:51:30 +00:00
Chris Danford 22ef6c358b moved PlayerNumber into a separate header to reduce dependences on GameConstantsAndTypes.h
default mappings for menu buttons
items in battle now have a duration
fix VC6 compile errors
2003-02-26 00:20:00 +00:00
Glenn Maynard 25f9a19eff remove unused constants 2003-02-25 20:10:03 +00:00
Chris Danford 12756391db Added BIG transform. Haven't yet fixed the weird interaction it has with the score. 2003-02-16 20:27:53 +00:00
Chris Danford 4ff98e0442 added flexable NoteType coloring to NoteDisplay, optimized note texture usage 2003-02-06 07:32:57 +00:00
Chris Danford 3ea84b5e5c NoteSkin format change. Fixes artifacts along borders, and more flexability for artists. 2003-02-05 03:53:57 +00:00
Glenn Maynard 1f81d8a996 increase rows_per_beat, so we can properly handle 32nd notes 2003-01-09 08:12:19 +00:00
Glenn Maynard 24cc7a3c04 Get rid of all other #pragma once's, except the one in StdAfx.h.
(three cheers for perl)
2002-11-16 08:07:38 +00:00
Glenn Maynard 4d11e90183 no longer any cap on hold notes 2002-11-07 03:55:42 +00:00
Chris Danford 73f7db6b15 Replaced most D3DX dependencies. Added Brendan's not-yet-functional networking code. 2002-10-28 05:30:45 +00:00