Etterna 0.74.4
|
Utility functions that deal with NoteData. More...
Enumerations | |
enum | TrackMapping { left , right , mirror , backwards , shuffle , soft_shuffle , super_shuffle , stomp , swap_up_down , hran_shuffle , NUM_TRACK_MAPPINGS } |
The types of transformations available for the NoteData. More... | |
Functions | |
auto | GetSmallestNoteTypeForMeasure (const NoteData &nd, int iMeasureIndex) -> NoteType |
auto | GetSmallestNoteTypeInRange (const NoteData &nd, int iStartIndex, int iEndIndex) -> NoteType |
void | LoadFromSMNoteDataString (NoteData &out, const std::string &sSMNoteData) |
void | LoadFromETTNoteDataString (NoteData &out, const std::string &sSMNoteData) |
void | GetSMNoteDataString (const NoteData &in, std::string ¬es_out) |
void | GetETTNoteDataString (const NoteData &in, std::string ¬es_out) |
void | LoadTransformedSlidingWindow (const NoteData &in, NoteData &out, int iNewNumTracks) |
Autogenerate notes from one type to another. | |
void | LoadOverlapped (const NoteData &in, NoteData &out, int iNewNumTracks) |
Autogenerate notes from one type to another. | |
void | LoadTransformedLights (const NoteData &in, NoteData &out, int iNewNumTracks) |
void | LoadTransformedLightsFromTwo (const NoteData &marquee, const NoteData &bass, NoteData &out) |
void | InsertHoldTails (NoteData &inout) |
void | CalculateRadarValues (const NoteData &in, RadarValues &out, TimingData *td=nullptr) |
void | RemoveHoldNotes (NoteData &inout, int iStartIndex=0, int iEndIndex=MAX_NOTE_ROW) |
Remove all of the Hold notes. | |
void | ChangeRollsToHolds (NoteData &in, int iStartIndex, int iEndIndex) |
void | ChangeHoldsToRolls (NoteData &in, int iStartIndex, int iEndIndex) |
void | RemoveSimultaneousNotes (NoteData &inout, int iMaxSimultaneous, int iStartIndex=0, int iEndIndex=MAX_NOTE_ROW) |
void | RemoveJumps (NoteData &inout, int iStartIndex=0, int iEndIndex=MAX_NOTE_ROW) |
void | RemoveHands (NoteData &inout, int iStartIndex=0, int iEndIndex=MAX_NOTE_ROW) |
void | RemoveQuads (NoteData &inout, int iStartIndex=0, int iEndIndex=MAX_NOTE_ROW) |
void | RemoveSpecificTapNotes (NoteData &inout, TapNoteType tn, int iStartIndex=0, int iEndIndex=MAX_NOTE_ROW) |
Remove all of a specific TapNote Type. | |
void | RemoveMines (NoteData &inout, int iStartIndex=0, int iEndIndex=MAX_NOTE_ROW) |
Remove all of the mines from the chart. | |
void | RemoveLifts (NoteData &inout, int iStartIndex=0, int iEndIndex=MAX_NOTE_ROW) |
Remove all of the lifts from the chart. | |
void | RemoveFakes (NoteData &inout, TimingData const &timing_data, int iStartIndex=0, int iEndIndex=MAX_NOTE_ROW) |
Remove all of the fakes from the chart. | |
void | RemoveStretch (NoteData &inout, StepsType st, int iStartIndex=0, int iEndIndex=MAX_NOTE_ROW) |
void | RemoveAllButOneTap (NoteData &inout, int row) |
void | Turn (NoteData &inout, StepsType st, TrackMapping tt, int iStartIndex=0, int iEndIndex=MAX_NOTE_ROW) |
void | Little (NoteData &inout, int iStartIndex=0, int iEndIndex=MAX_NOTE_ROW) |
void | Wide (NoteData &inout, int iStartIndex=0, int iEndIndex=MAX_NOTE_ROW) |
void | Big (NoteData &inout, int iStartIndex=0, int iEndIndex=MAX_NOTE_ROW) |
void | Quick (NoteData &inout, int iStartIndex=0, int iEndIndex=MAX_NOTE_ROW) |
void | BMRize (NoteData &inout, int iStartIndex=0, int iEndIndex=MAX_NOTE_ROW) |
void | Skippy (NoteData &inout, int iStartIndex=0, int iEndIndex=MAX_NOTE_ROW) |
void | InsertIntelligentTaps (NoteData &in, int iWindowSizeRows, int iInsertOffsetRows, int iWindowStrideRows, bool bSkippy, int iStartIndex=0, int iEndIndex=MAX_NOTE_ROW) |
void | AddMines (NoteData &inout, int iStartIndex=0, int iEndIndex=MAX_NOTE_ROW) |
void | Echo (NoteData &inout, int iStartIndex=0, int iEndIndex=MAX_NOTE_ROW) |
void | Stomp (NoteData &inout, StepsType st, int iStartIndex=0, int iEndIndex=MAX_NOTE_ROW) |
void | JackJS (NoteData &inout, StepsType st, TimingData const &timing_data, int iStartIndex=0, int iEndIndex=MAX_NOTE_ROW) |
void | AnchorJS (NoteData &inout, StepsType st, TimingData const &timing_data, int iStartIndex=0, int iEndIndex=MAX_NOTE_ROW) |
void | IcyWorld (NoteData &inout, StepsType st, TimingData const &timing_data, int iStartIndex=0, int iEndIndex=MAX_NOTE_ROW) |
void | Planted (NoteData &inout, int iStartIndex=0, int iEndIndex=MAX_NOTE_ROW) |
void | Floored (NoteData &inout, int iStartIndex=0, int iEndIndex=MAX_NOTE_ROW) |
void | Twister (NoteData &inout, int iStartIndex=0, int iEndIndex=MAX_NOTE_ROW) |
void | ConvertTapsToHolds (NoteData &inout, int iSimultaneousHolds, int iStartIndex=0, int iEndIndex=MAX_NOTE_ROW) |
void | ConvertAdditionsToRegular (NoteData &inout) |
Convert all taps added via transforms into original style tap notes. | |
void | Backwards (NoteData &inout) |
void | SwapSides (NoteData &inout) |
void | CopyLeftToRight (NoteData &inout) |
void | CopyRightToLeft (NoteData &inout) |
void | ClearLeft (NoteData &inout) |
void | ClearRight (NoteData &inout) |
void | CollapseToOne (NoteData &inout) |
void | CollapseLeft (NoteData &inout) |
void | ShiftTracks (NoteData &inout, int iShiftBy) |
void | ShiftLeft (NoteData &inout) |
void | ShiftRight (NoteData &inout) |
void | SwapUpDown (NoteData &inout, StepsType st) |
void | ArbitraryRemap (NoteData &inout, int *mapping) |
void | SnapToNearestNoteType (NoteData &inout, NoteType nt1, NoteType nt2, int iStartIndex, int iEndIndex) |
void | SnapToNearestNoteType (NoteData &inout, NoteType nt, int iStartIndex, int iEndIndex) |
auto | RowPassesValidMask (NoteData &inout, int row, const bool bValidMask[]) -> bool |
void | TransformNoteData (NoteData &nd, TimingData const &timing_data, const PlayerOptions &po, StepsType st, int iStartIndex=0, int iEndIndex=MAX_NOTE_ROW) |
void | Scale (NoteData &nd, float fScale) |
void | ScaleRegion (NoteData &nd, float fScale, int iStartIndex=0, int iEndIndex=MAX_NOTE_ROW) |
void | InsertRows (NoteData &nd, int iStartIndex, int iRowsToShift) |
void | DeleteRows (NoteData &nd, int iStartIndex, int iRowsToShift) |
void | RemoveAllButRange (NoteData &nd, int iStartIndex, int iEndIndex) |
void | RemoveAllTapsOfType (NoteData &ndInOut, TapNoteType typeToRemove) |
void | RemoveAllTapsExceptForType (NoteData &ndInOut, TapNoteType typeToKeep) |
auto | GetMaxNonEmptyTrack (const NoteData &in) -> int |
auto | AnyTapsAndHoldsInTrackRange (const NoteData &in, int iTrack, int iStart, int iEnd) -> bool |
auto | GetNextEditorPosition (const NoteData &in, int &rowInOut) -> bool |
auto | GetPrevEditorPosition (const NoteData &in, int &rowInOut) -> bool |
auto | GetTotalHoldTicks (NoteData *nd, const TimingData *td) -> unsigned int |
Count the number of hold ticks that will fire, assuming that tickholds are on. | |
Utility functions that deal with NoteData.
Things should go in here if they can be (cleanly and efficiently) implemented using only NoteData's primitives; this improves abstraction and makes it much easier to change NoteData internally in the future.
The types of transformations available for the NoteData.
Enumerator | |
---|---|
left | The NoteData is arranged as if the player was facing to the left. |
right | Arranged as if the player was facing the right. |
mirror | The NoteData is arranged as if facing a straight mirror. |
backwards | The NoteData is arranged as if the player was facing backwards. This is NOT always the same as mirror. |
void NoteDataUtil::ConvertAdditionsToRegular | ( | NoteData & | inout | ) |
Convert all taps added via transforms into original style tap notes.
inout | the NoteData to convert. |
unsigned int NoteDataUtil::GetTotalHoldTicks | ( | NoteData * | nd, |
const TimingData * | td | ||
) | -> unsigned int |
Count the number of hold ticks that will fire, assuming that tickholds are on.
td | The TimingData from the relevant Steps. |
void NoteDataUtil::RemoveFakes | ( | NoteData & | inout, |
TimingData const & | timing_data, | ||
int | iStartIndex = 0 , |
||
int | iEndIndex = MAX_NOTE_ROW |
||
) |
Remove all of the fakes from the chart.
inout | the Notedata to be transformed. |
iStartIndex | the starting point for transforming. |
iEndIndex | the ending point for transforming. |
void NoteDataUtil::RemoveHoldNotes | ( | NoteData & | inout, |
int | iStartIndex = 0 , |
||
int | iEndIndex = MAX_NOTE_ROW |
||
) |
Remove all of the Hold notes.
inout | the Notedata to be transformed. |
iStartIndex | the starting point for transforming. |
iEndIndex | the ending point for transforming. |
void NoteDataUtil::RemoveLifts | ( | NoteData & | inout, |
int | iStartIndex = 0 , |
||
int | iEndIndex = MAX_NOTE_ROW |
||
) |
Remove all of the lifts from the chart.
inout | the Notedata to be transformed. |
iStartIndex | the starting point for transforming. |
iEndIndex | the ending point for transforming. |
void NoteDataUtil::RemoveMines | ( | NoteData & | inout, |
int | iStartIndex = 0 , |
||
int | iEndIndex = MAX_NOTE_ROW |
||
) |
Remove all of the mines from the chart.
inout | the Notedata to be transformed. |
iStartIndex | the starting point for transforming. |
iEndIndex | the ending point for transforming. |
void NoteDataUtil::RemoveSpecificTapNotes | ( | NoteData & | inout, |
TapNoteType | tn, | ||
int | iStartIndex = 0 , |
||
int | iEndIndex = MAX_NOTE_ROW |
||
) |