Commit Graph

68 Commits

Author SHA1 Message Date
Chris Danford 353e0c5b6e break up arch stuff into smaller .cpp files to fix smpackage build and not pull in unnecessary stuff 2005-12-16 04:16:09 +00:00
Chris Danford 1ad58b4631 experimental: save NoteData to XML for recording played games 2005-11-22 21:18:45 +00:00
Chris Danford feb1bfb0fc naming cleanup: rename scoring "Tier1"s to "W1"s (short for "Window 1")
add Preference1D so that we can index into the grading and life values
2005-10-09 04:30:59 +00:00
Chris Danford b6cf3477b4 Use generic names for TapNoteScore values since they are treated genericly by the code.
Theme changes coming...
2005-10-08 00:57:40 +00:00
Chris Danford 1333bfd2d8 remove references to specific games for things that are only specific to the controller type 2005-10-07 05:00:52 +00:00
Chris Danford e628f74491 do note coloring with tex coord shifting, not separate elements 2005-10-04 19:45:45 +00:00
Chris Danford 8ec01b7cb3 add TapNote SubType instead of a bool for rolls 2005-04-20 01:53:41 +00:00
Chris Danford 6f588aa7d8 add saving/loading/editing of rolls 2005-04-18 01:23:57 +00:00
Chris Danford b914be8a8f move NOTE_COLOR_IMAGES into a struct so that it's not duplicated 2005-04-17 00:39:09 +00:00
Chris Danford 3dc8f02cec change cap back to 50 per measure 2005-03-23 19:39:15 +00:00
Chris Danford b07ad44c71 lower notes cap
improve cap error message
2005-03-23 10:56:51 +00:00
Chris Danford cc912e4e5e add undo in editor
enforce a notes per measure cap, MAX_NOTES_PER_MEASURE
2005-03-23 10:43:57 +00:00
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