4#include "Etterna/Models/Misc/GameConstantsAndTypes.h"
5#include "Etterna/Models/Misc/NoteTypes.h"
16FindLongestOverlappingHoldNoteForAnyTrack(
const NoteData& in,
int iRow) -> int;
18LightTransformHelper(
const NoteData& in,
20 const std::vector<int>& aiTracks);
30GetSmallestNoteTypeForMeasure(
const NoteData& nd,
int iMeasureIndex)
33GetSmallestNoteTypeInRange(
const NoteData& nd,
int iStartIndex,
int iEndIndex)
36LoadFromSMNoteDataString(
NoteData& out,
const std::string& sSMNoteData);
38LoadFromETTNoteDataString(
NoteData& out,
const std::string& sSMNoteData);
40GetSMNoteDataString(
const NoteData& in, std::string& notes_out);
42GetETTNoteDataString(
const NoteData& in, std::string& notes_out);
66LoadTransformedLightsFromTwo(
const NoteData& marquee,
73CalculateRadarValues(
const NoteData& in,
85 int iEndIndex = MAX_NOTE_ROW);
87ChangeRollsToHolds(
NoteData& in,
int iStartIndex,
int iEndIndex);
89ChangeHoldsToRolls(
NoteData& in,
int iStartIndex,
int iEndIndex);
91RemoveSimultaneousNotes(
NoteData& inout,
94 int iEndIndex = MAX_NOTE_ROW);
96RemoveJumps(
NoteData& inout,
int iStartIndex = 0,
int iEndIndex = MAX_NOTE_ROW);
98RemoveHands(
NoteData& inout,
int iStartIndex = 0,
int iEndIndex = MAX_NOTE_ROW);
100RemoveQuads(
NoteData& inout,
int iStartIndex = 0,
int iEndIndex = MAX_NOTE_ROW);
111 int iEndIndex = MAX_NOTE_ROW);
135 int iEndIndex = MAX_NOTE_ROW);
140 int iEndIndex = MAX_NOTE_ROW);
142RemoveAllButOneTap(
NoteData& inout,
int row);
166 int iEndIndex = MAX_NOTE_ROW);
168Little(
NoteData& inout,
int iStartIndex = 0,
int iEndIndex = MAX_NOTE_ROW);
170Wide(
NoteData& inout,
int iStartIndex = 0,
int iEndIndex = MAX_NOTE_ROW);
172Big(
NoteData& inout,
int iStartIndex = 0,
int iEndIndex = MAX_NOTE_ROW);
174Quick(
NoteData& inout,
int iStartIndex = 0,
int iEndIndex = MAX_NOTE_ROW);
176BMRize(
NoteData& inout,
int iStartIndex = 0,
int iEndIndex = MAX_NOTE_ROW);
178Skippy(
NoteData& inout,
int iStartIndex = 0,
int iEndIndex = MAX_NOTE_ROW);
182 int iInsertOffsetRows,
183 int iWindowStrideRows,
186 int iEndIndex = MAX_NOTE_ROW);
188AddMines(
NoteData& inout,
int iStartIndex = 0,
int iEndIndex = MAX_NOTE_ROW);
190Echo(
NoteData& inout,
int iStartIndex = 0,
int iEndIndex = MAX_NOTE_ROW);
195 int iEndIndex = MAX_NOTE_ROW);
201 int iEndIndex = MAX_NOTE_ROW);
207 int iEndIndex = MAX_NOTE_ROW);
213 int iEndIndex = MAX_NOTE_ROW);
215Planted(
NoteData& inout,
int iStartIndex = 0,
int iEndIndex = MAX_NOTE_ROW);
217Floored(
NoteData& inout,
int iStartIndex = 0,
int iEndIndex = MAX_NOTE_ROW);
219Twister(
NoteData& inout,
int iStartIndex = 0,
int iEndIndex = MAX_NOTE_ROW);
222 int iSimultaneousHolds,
224 int iEndIndex = MAX_NOTE_ROW);
249ShiftTracks(
NoteData& inout,
int iShiftBy);
255SwapUpDown(
NoteData& inout, StepsType st);
257ArbitraryRemap(
NoteData& inout,
int* mapping);
260SnapToNearestNoteType(
NoteData& inout,
267SnapToNearestNoteType(
NoteData& inout,
272 SnapToNearestNoteType(inout, nt, NoteType_Invalid, iStartIndex, iEndIndex);
277RowPassesValidMask(
NoteData& inout,
int row,
const bool bValidMask[]) -> bool;
285 int iEndIndex = MAX_NOTE_ROW);
293 int iEndIndex = MAX_NOTE_ROW);
296InsertRows(
NoteData& nd,
int iStartIndex,
int iRowsToShift);
298DeleteRows(
NoteData& nd,
int iStartIndex,
int iRowsToShift);
301RemoveAllButRange(
NoteData& nd,
int iStartIndex,
int iEndIndex);
304RemoveAllTapsOfType(
NoteData& ndInOut, TapNoteType typeToRemove);
306RemoveAllTapsExceptForType(
NoteData& ndInOut, TapNoteType typeToKeep);
309GetMaxNonEmptyTrack(
const NoteData& in) -> int;
311AnyTapsAndHoldsInTrackRange(
const NoteData& in,
317GetNextEditorPosition(
const NoteData& in,
int& rowInOut) -> bool;
319GetPrevEditorPosition(
const NoteData& in,
int& rowInOut) -> bool;
Holds data about the notes that the player is supposed to hit.
Definition NoteData.h:43
Per-player options that are not saved between sessions.
Definition PlayerOptions.h:48
Holds all music metadata and steps for one song.
Definition Song.h:65
Holds data for translating beats<->seconds.
Definition TimingData.h:54
Utility functions that deal with NoteData.
Definition NoteDataUtil.h:28
auto GetTotalHoldTicks(NoteData *nd, const TimingData *td) -> unsigned int
Count the number of hold ticks that will fire, assuming that tickholds are on.
Definition NoteDataUtil.cpp:3368
TrackMapping
The types of transformations available for the NoteData.
Definition NoteDataUtil.h:146
@ backwards
Definition NoteDataUtil.h:151
@ right
Definition NoteDataUtil.h:149
@ left
Definition NoteDataUtil.h:147
@ mirror
Definition NoteDataUtil.h:150
void LoadTransformedSlidingWindow(const NoteData &in, NoteData &out, int iNewNumTracks)
Autogenerate notes from one type to another.
Definition NoteDataUtil.cpp:848
void LoadOverlapped(const NoteData &in, NoteData &out, int iNewNumTracks)
Autogenerate notes from one type to another.
Definition NoteDataUtil.cpp:951
void RemoveFakes(NoteData &inout, TimingData const &timing_data, int iStartIndex=0, int iEndIndex=MAX_NOTE_ROW)
Remove all of the fakes from the chart.
Definition NoteDataUtil.cpp:1319
void ConvertAdditionsToRegular(NoteData &inout)
Convert all taps added via transforms into original style tap notes.
Definition NoteDataUtil.cpp:3019
void RemoveHoldNotes(NoteData &inout, int iStartIndex=0, int iEndIndex=MAX_NOTE_ROW)
Remove all of the Hold notes.
Definition NoteDataUtil.cpp:1189
void RemoveMines(NoteData &inout, int iStartIndex=0, int iEndIndex=MAX_NOTE_ROW)
Remove all of the mines from the chart.
Definition NoteDataUtil.cpp:1307
void RemoveLifts(NoteData &inout, int iStartIndex=0, int iEndIndex=MAX_NOTE_ROW)
Remove all of the lifts from the chart.
Definition NoteDataUtil.cpp:1313
void RemoveSpecificTapNotes(NoteData &inout, TapNoteType tn, int iStartIndex=0, int iEndIndex=MAX_NOTE_ROW)
Remove all of a specific TapNote Type.
Definition NoteDataUtil.cpp:1290
Cached song statistics.
Definition RadarValues.h:14
The various properties of a tap note.
Definition NoteTypes.h:149