When there were tap notes on the same row as the start of a roll, autoplaying
the roll would result in the receptors on other tracks to glow. This was
because the Step() call would use the roll's head row for a parameter, which
included the other notes. This changes that parameter to -1 to automatically
use the current row in the song, which makes more sense anyway.
Fixes bug 241.
This required using the new Steps::GetTimingData function and the allowEmpty
parameter to TimingData::TidyUpData when appropriate, as well as clearing the
TimingData to remove step timing rather than coping the song timing over it.
Fixes some odd editor behavior when changing song timing, and is overall a
slightly less hacky way of doing things.
Mainly minor stuff. Time this gets brought in.
The other multi chain branches...
unsure of their fate. May need to be redone again
since not everyone is happy with its progress.
Want to make sure we don't cause conflicts for future 1a builds.
This commit: change the sentinel for launching attacks immediately.
This way, songs with negative gaps can have attacks work here.
Thanks to Saturn for the assist.
- [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.
determine the number of notes to display from any beat to any beat in
O(log n) [n = number of non-empty rows].
it might be used to determine the first displayed beat or last displayed
beat based on number of notes on screen (instead of fixed beats),
if this can be implemented properly, then notes will no longer disappear
or appear during a long slow scrolls/speeds [as long as the number of
notes to display is in our limit].