Steve Checkoway
330d9ef714
Fix crash.
2006-08-19 19:55:05 +00:00
Steve Checkoway
5ccbffebfc
Simplify IsAtEnd logic. (I forgot to mention that these iterators have a one time O(log n) cost to construct.)
2006-08-17 18:05:42 +00:00
Steve Checkoway
f57bc1ef78
Use NoteData::iterator instead of a track-row pair. With n nonempty rows in the NoteData and m nonempty rows in the range, iterating over the whole range took O(m log n). Now, it takes O(m). (Saves the map look ups which are amortized log-time.)
2006-08-17 17:58:45 +00:00
Glenn Maynard
e0a23cfbd4
vc7 fix
2006-08-16 18:43:13 +00:00
Steve Checkoway
6bfccc7f4c
Remove IteratorCondition, use NULL to signify what was previously IteratorCondition::All.
2006-08-16 11:57:24 +00:00
Steve Checkoway
dc9361a4ef
Move class template's member function definitions out of the header, explicitly instantiate all_tracks_iterator and all_tracks_const_iterator.
...
Apart from cleaning up the header (the main goal), this should improve compile time by instantiating in a single place so the linker doesn't have to combine multiple definitions.
2006-08-16 11:37:38 +00:00
Josh Allen
0fd98658a5
Add iterator condition All. Fixes linker error.
2006-07-21 16:22:52 +00:00
Steve Checkoway
c299a7a4f7
GetTapNoteRangeAllTracks() returns an all_tracks_iterator which can be used to iterate over all of the tracks in all of the rows in the range. Also, you can specify a condition on the notes to be returned.
...
Simplify.
2006-07-21 07:59:41 +00:00
Steve Checkoway
8129d943ba
It's hard to maintain this information when using begin() and end() so rather than wrapping the iterators, just check each time IsComposite() is called since it doesn't happen _that_ often. Just don't call IsComposite() often.
2006-06-26 09:33:11 +00:00
Steve Checkoway
91f1329653
Composite NoteData for when one NoteData represents multiple NoteDatas.
2006-06-20 13:20:45 +00:00
Chris Danford
1c36401033
ASSERT_M to catch invalid value
2006-06-14 10:14:49 +00:00
Chris Danford
ddaa912878
ASSERT_M to catch invalid value
2006-06-14 10:07:04 +00:00
Chris Danford
1ad58b4631
experimental: save NoteData to XML for recording played games
2005-11-22 21:18:45 +00:00
Glenn Maynard
abc2595e45
simplify
2005-10-07 02:57:54 +00:00
Glenn Maynard
fbac911c8d
fix ClearRangeForTrack splits hold notes when given a degenerate range
2005-07-30 07:08:50 +00:00
Glenn Maynard
733a465f62
more precise definition
2005-07-30 05:59:39 +00:00
Glenn Maynard
b8838ba5c0
comment to make IsHoldNoteAtRow's behavior clear, add IsHoldHeadOrBodyAtRow
2005-07-22 00:34:54 +00:00
Glenn Maynard
4ec405f13b
IsHoldNoteAtBeat -> IsHoldNoteAtRow
2005-07-22 00:14:24 +00:00
Glenn Maynard
5769d00abf
implement GetPrevTapNoteRowForAllTracks
2005-07-21 22:30:00 +00:00
Glenn Maynard
f2a418d79d
implement HiddenPtr smart pointer type; use it for Steps. This avoids having
...
to write a whole copy constructor for a class just to hide a couple types from
the header.
2005-07-03 03:05:54 +00:00
Chris Danford
c36df02254
add rolls to eval and scoring
2005-05-09 06:15:59 +00:00
Glenn Maynard
73f5051118
add NoteData::GetNumRolls
2005-04-25 09:33:58 +00:00
Chris Danford
2a9bd36813
fix "can't lay holds longer than 1 snap value in record"
2005-04-07 19:30:40 +00:00
Chris Danford
cd8b35e801
fix "can't paste from clipboard with only one row in clipboard"
...
fix "can't Undo to a blank NoteField"
clamp paste area so that pasting past the maximum beat is impossible
2005-03-29 20:25:14 +00:00
Glenn Maynard
34b8c2a01a
fix hands counting
2005-03-23 10:37:36 +00:00
Chris Danford
5befb60456
method name cleanup, add comments
2005-03-20 20:15:41 +00:00
Chris Danford
38bd0116d1
ensure that memory is really freed
2005-03-08 21:18:00 +00:00
Glenn Maynard
f752e1c3b0
hide NoteData::InsertHoldTails away in NoteDataUtils
2005-02-07 22:03:32 +00:00
Glenn Maynard
10bc0bf336
remove NoteData::RemoveHoldTails
...
cleanup
2005-02-07 21:55:43 +00:00
Glenn Maynard
1962259078
revert; bugs should be fixed, not ignored
2005-02-07 19:27:49 +00:00
Charles Lohr
2d566a0c33
We shouldn't crash here, right? and... let's not crash if we still have hold tails.
2005-02-07 18:55:09 +00:00
Glenn Maynard
ce8c71ce8b
cleanup
2005-01-25 19:36:38 +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
206363742d
remove 4s
2005-01-23 21:37:40 +00:00
Glenn Maynard
982ec42ab8
simplify
2005-01-23 21:28:47 +00:00
Glenn Maynard
5da9c848d6
make NoteDataUtil::LoadTransformedLights work
2005-01-23 17:58:32 +00:00
Glenn Maynard
18e32dbda4
don't lose HoldNoteResult when converting to/from 2sAnd3s
2005-01-23 17:17:24 +00:00
Glenn Maynard
7cf3351851
implement NoteDataUtil::ClearLeft and NoteDataUtil::ClearRight without 4s
2005-01-23 05:31:55 +00:00
Glenn Maynard
f55f7e0a08
NoteData::LoadTransformed fix
2005-01-23 05:15:18 +00:00
Glenn Maynard
60a0ce8eb0
implement NoteData::ClearRange and NoteData::CopyRange without 4s
2005-01-23 04:57:43 +00:00
Glenn Maynard
f954aa2019
NoteData::IsHoldNoteAtBeat fix
2005-01-23 03:48:22 +00:00
Glenn Maynard
14bc4ae9f6
reduce use of 4s
2005-01-22 20:22:12 +00:00
Glenn Maynard
a769bc7c41
cleanup
2005-01-22 19:25:05 +00:00
Glenn Maynard
cd9b66220a
use MAX_NOTE_ROW, fixes
2005-01-22 19:18:42 +00:00
Glenn Maynard
77d58c0d63
"Beat rows" are really just a fixed-point representation of beats. Prefer
...
using them in general over beats: it's more precise (we can tell exactly
how it'll round, and we can compare them without ugly error-margin hacks),
and it's what we need to use them with NoteData.
2005-01-22 17:34:10 +00:00
Glenn Maynard
754bce5c98
optimize rendering iteration
2005-01-22 03:11:29 +00:00
Glenn Maynard
b6091d6cd5
NoteData::EliminateAllButOneTap -> NoteDataUtil::RemoveAllButOneTap;
...
use accessors for NoteData::GetFirstRow, NoteData::GetLastRow
2004-10-25 03:36:42 +00:00
Glenn Maynard
a99d7e0dc4
remove ReserveRows
2004-10-25 03:17:56 +00:00
Glenn Maynard
f63c57b5f4
remove GetTapNoteX
2004-10-25 03:16:40 +00:00
Glenn Maynard
c55dfd354f
remove PadTapNotes
2004-10-25 03:12:11 +00:00