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)
This commit is contained in:
@@ -21,7 +21,6 @@ struct TapNoteResult
|
||||
bool bHidden;
|
||||
};
|
||||
|
||||
/* This HoldNote data is persisted when converted to 2sAnd3s. */
|
||||
struct HoldNoteResult
|
||||
{
|
||||
HoldNoteScore hns;
|
||||
@@ -112,13 +111,17 @@ struct TapNote
|
||||
COMPARE(fAttackDurationSeconds);
|
||||
COMPARE(bKeysound);
|
||||
COMPARE(iKeysoundIndex);
|
||||
COMPARE(iDuration);
|
||||
#undef COMPARE
|
||||
return true;
|
||||
}
|
||||
|
||||
/* hold_head only: */
|
||||
int iDuration;
|
||||
|
||||
TapNoteResult result;
|
||||
|
||||
/* This is valid for hold_head when in 2sAnd3s. */
|
||||
/* hold_head only: */
|
||||
HoldNoteResult HoldResult;
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user