Commit Graph
13181 Commits
Author SHA1 Message Date
Glenn Maynard 95cf7d2649 never store NoteRows in floats 2005-01-23 23:23:34 +00:00
Glenn Maynard c670a3b62d cleanup 2005-01-23 23:20:15 +00:00
Glenn Maynard 52731adc29 NoteField::m_fBeginMarker, m_fEndMarker -> m_iBeginMarker, m_iEndMarker
go back to storing BPM as a float, until I'm sure it won't cause precision
problems
2005-01-23 23:17:12 +00:00
Glenn Maynard ae427e7cb5 update 2005-01-23 21:56:57 +00:00
Glenn Maynard 3634c07656 Represent TimingData values (except for "seconds") in fixed-point.
Maybe we should stop calling note indexes "rows" and "indexes", and just
call them "beats"; if they're stored as an integer, they're in fixed-point.  Things
like "note rows per second" are a lot less intuitive than just calling them "beats
per second".
2005-01-23 21:55:01 +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 206363742d remove 4s 2005-01-23 21:37:40 +00:00
Glenn Maynard a4fe7d2124 disable CopyLeftToRight and CopyRightToLeft; last things that use 4s
and I don't want to spend time on them right now
2005-01-23 21:36:42 +00:00
Glenn Maynard 982ec42ab8 simplify 2005-01-23 21:28:47 +00:00
Glenn Maynard 7185c4c018 fix 2005-01-23 20:43:43 +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 e02431168d implement NoteDataUtil::LoadOverlapped without 4s 2005-01-23 18:52:15 +00:00
Glenn Maynard 64714a0566 implement NoteDataUtil::LoadTransformedSlidingWindow (not
NoteDataUtil::LoadOverlapped) without 4s.  Slight change of behavior:
if a hold note overlaps the spot where we want to shift the offset, instead
of leaving the offset where it is for another full four measures, we'll try
to change it again at the next measure change.  This reduces the cases
where hold notes can prevent the offset from changing for long periods.
2005-01-23 18:21:30 +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 4ad39097ef whoops 2005-01-23 06:32:38 +00:00
Glenn Maynard 403eccc879 m_CabinetLightsNoteData without 4s 2005-01-23 06:31:41 +00:00
Glenn Maynard 090d4bdbf2 Fix NoteDataUtil::Backwards. I'm not sure why I spent the time fixing this--
what's the point?  Are people making dance steps to Satanic messages or
something?
2005-01-23 05:56:25 +00:00
Glenn Maynard 1d84c21f5e implement NoteDataUtil::Wide without 4s 2005-01-23 05:39:07 +00:00
Glenn Maynard 7cf3351851 implement NoteDataUtil::ClearLeft and NoteDataUtil::ClearRight without 4s 2005-01-23 05:31:55 +00:00
Glenn Maynard 7b781d4534 fix NoteDataUtil::SwapSides 2005-01-23 05:20:55 +00:00
Glenn Maynard f82894ec47 implement SuperShuffleTaps without 4s 2005-01-23 05:16:09 +00:00
Glenn Maynard f55f7e0a08 NoteData::LoadTransformed fix 2005-01-23 05:15:18 +00:00
Glenn Maynard 49d1922912 implement NoteDataUtil::ShiftRight and NoteDataUtil::ShiftLeft without 4s 2005-01-23 04:59:10 +00:00
Glenn Maynard 60a0ce8eb0 implement NoteData::ClearRange and NoteData::CopyRange without 4s 2005-01-23 04:57:43 +00:00
Glenn Maynard 8fd33832cd implement NoteDataUtil::InsertIntelligentTaps without 4s 2005-01-23 03:49:12 +00:00
Glenn Maynard f954aa2019 NoteData::IsHoldNoteAtBeat fix 2005-01-23 03:48:22 +00:00
Glenn Maynard 1520875656 log processes that we lose focus to, to aid debugging of "stepmania loses
focus" bug reports
2005-01-23 01:22:14 +00:00
Glenn Maynard 59d54004f5 add GetProcessFileName 2005-01-23 01:16:40 +00:00
Glenn Maynard edc2c6c300 fix some more cases of iterating over every row 2005-01-22 20:41:50 +00:00
Glenn Maynard 14bc4ae9f6 reduce use of 4s 2005-01-22 20:22:12 +00:00
Glenn Maynard 1ccb50ac55 include cleanup (not much of a win) 2005-01-22 19:36:39 +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 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 22f8eb1214 simplify 2005-01-22 18:37:50 +00:00
Glenn Maynard 3d1b62dd53 warnings 2005-01-22 18:36:34 +00:00
Glenn Maynard 4970e024f3 NoteDataWithScoring has no members; turn it into a namespace 2005-01-22 18:22:38 +00:00
Glenn Maynard 48bce52780 header cleanup 2005-01-22 18:21:06 +00:00
Glenn Maynard 3b608a20ff header cleanup 2005-01-22 17:59:56 +00:00
Glenn Maynard 24f8de5cec more use of beat indexes instead of floating point
It actually looks like almost all of NoteDataUtil can be done naturally
in fixed-point: instead of passing around floating point, converting it to
fixed point for NoteData indexing, and adding floating-point beat fractions,
just pass around fixed point everywhere, and convert beat fractions to
fixed-point (which probably happens at compile-time)
If TimingData, etc. does the same thing, things will be simpler ...
2005-01-22 17:51:46 +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 36c8a0b61a fix InsertIntelligentTaps track selection 2005-01-22 17:21:40 +00:00
Glenn Maynard 765d6019f7 cleanups 2005-01-22 16:12:31 +00:00
Chris Danford 07a26bafc4 remove unused 2005-01-22 09:01:00 +00:00
Chris Danford cfb6ef953e cleanup 2005-01-22 09:00:31 +00:00
Charles Lohr 288f34a5bd Oops, wrong screen 2005-01-22 05:53:14 +00:00
Glenn Maynard ab06bc76d0 err ... 2005-01-22 05:41:03 +00:00