Etterna 0.74.4
Loading...
Searching...
No Matches
Classes | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
Steps Class Reference

Holds note information for a Song. More...

#include <Steps.h>

Collaboration diagram for Steps:
Collaboration graph
[legend]

Public Member Functions

 Steps (Song *song)
 Set up the Steps with initial values.
 
 ~Steps ()
 Destroy the Steps that are no longer needed.
 
auto operator= (const Steps &) -> Steps &
 
void CopyFrom (Steps *pSource, StepsType ntTo)
 
void CreateBlank (StepsType ntTo)
 
void Compress () const
 
void Decompress () const
 
void Decompress ()
 
auto GetDescription () const -> const std::string &
 Retrieve the description used for this edit.
 
auto GetChartStyle () const -> const std::string &
 Retrieve the ChartStyle used for this chart.
 
auto GetDifficulty () const -> const Difficulty
 Retrieve the difficulty used for this edit.
 
auto GetMeter () const -> int
 Retrieve the meter used for this edit.
 
auto GetRadarValues () const -> const RadarValues &
 
auto GetCredit () const -> const std::string &
 Retrieve the author credit used for this edit.
 
auto GetChartName () const -> const std::string &
 
void SetChartName (const std::string &name)
 
void SetFilename (const std::string &fn)
 
auto GetFilename () const -> const std::string &
 
void SetSavedToDisk (bool b)
 
auto GetSavedToDisk () const -> bool
 
void SetDifficulty (Difficulty dc)
 
void SetDescription (const std::string &sDescription)
 
void SetDifficultyAndDescription (Difficulty dc, const std::string &sDescription)
 
void SetCredit (const std::string &sCredit)
 
void SetChartStyle (const std::string &sChartStyle)
 
void SetDupeDiff (bool state)
 
auto IsDupeDiff () -> bool
 
void SetLoadedFromProfile (ProfileSlot slot)
 
void SetMeter (int meter)
 
void SetCachedRadarValues (const RadarValues &v)
 
auto GetNPSPerMeasure (const NoteData &nd, const std::vector< float > &etaner, const std::vector< int > &nerv, float rate) -> std::vector< float >
 
auto GetHash () const -> unsigned
 
void GetNoteData (NoteData &noteDataOut) const
 
auto GetNoteData () const -> NoteData
 
void SetNoteData (const NoteData &noteDataNew) const
 
void SetSMNoteData (const std::string &notes_comp)
 
void GetSMNoteData (std::string &notes_comp_out) const
 
auto GetNoteDataFromSimfile () -> bool
 Retrieve the NoteData from the original source.
 
auto IsNoteDataEmpty () const -> bool
 Determine if we are missing any note data.
 
void GetETTNoteData (std::string &notes_comp_out) const
 
void TidyUpData ()
 
void CalculateRadarValues ()
 
auto GetTimingData () const -> const TimingData *
 Retrieves the appropriate timing data for the Steps. Falls back on the Song if needed.
 
auto GetTimingData () -> TimingData *
 
auto GetChartKey () const -> const std::string &
 
void SetChartKey (const std::string &k)
 
void SetAllMSD (const std::vector< std::vector< float > > &msd)
 
auto GetAllMSD () const -> std::vector< std::vector< float > >
 
auto SortSkillsetsAtRate (float x, bool includeoverall) -> std::vector< std::pair< Skillset, float > >
 
void CalcEtternaMetadata (Calc *calc=nullptr)
 
auto DoATestThing (float ev, Skillset ss, float rate, Calc *calc) -> float
 
void GetCalcDebugOutput ()
 
void UnloadCalcDebugOutput ()
 
auto IsRecalcValid () -> bool
 
auto GetMSD (float rate, int ss) const -> float
 
auto GetMSD (float rate, Skillset ss) const -> float
 
auto HasSignificantTimingChanges () const -> bool
 Determine if the Steps have any major timing changes during gameplay.
 
auto IsPlayableForCurrentGame () const -> bool
 
auto GetMusicPath () const -> const std::string
 
auto GetMusicFile () const -> const std::string &
 
void SetMusicFile (const std::string &file)
 
void PushSelf (lua_State *L)
 
void SetDisplayBPM (const DisplayBPM type)
 
auto GetDisplayBPM () const -> DisplayBPM
 
void SetMinBPM (const float f)
 
auto GetMinBPM () const -> float
 
void SetMaxBPM (const float f)
 
void SetFirstSecond (const float f)
 
void SetLastSecond (const float f)
 
auto GetMaxBPM () const -> float
 
void GetDisplayBpms (DisplayBpms &addTo, bool bIgnoreCurrentRate=false) const
 
auto GetLengthSeconds (float rate=1) const -> float
 Returns length of step in seconds. If a rate is supplied, the returned length is scaled by it.
 
auto Getdebugstrings () -> const std::vector< std::string > &
 
auto IsSkillsetHighestOfChart (Skillset skill, float rate) -> bool
 
auto IsFavorited () const -> bool
 
auto SetFavorited (bool b) -> void
 
auto HasGoal () const -> bool
 
auto SetHasGoal (bool b) -> void
 
auto IsPermaMirror () const -> bool
 
auto SetPermaMirror (bool b) -> void
 

Static Public Member Functions

static auto MakeValidEditDescription (std::string &sPreferredDescription) -> bool
 
static auto GetNPSVector (const NoteData &nd, const std::vector< float > &etaner, const std::vector< int > &nerv, float rate) -> std::vector< int >
 
static auto GetCNPSVector (const NoteData &nd, const std::vector< int > &nerv, const std::vector< float > &etaner, int chordsize, float rate) -> std::vector< int >
 
static auto GenerateChartKey (NoteData &nd, TimingData *td) -> std::string
 

Public Attributes

TimingData m_Timing
 The TimingData used by the Steps.
 
std::vector< float > dummy = { 0.F, 0.F, 0.F, 0.F, 0.F, 0.F, 0.F, 0.F }
 
std::vector< std::vector< float > > diffByRate
 
std::vector< std::vector< std::vector< std::vector< float > > > > calcdebugoutput
 
float firstsecond = 0.F
 
float lastsecond = 0.F
 
StepsType m_StepsType
 
std::string m_StepsTypeStr
 The std::string form of the StepsType, for dealing with unrecognized styles.
 
Songm_pSong
 The Song these Steps are associated with.
 
std::vector< NoteInfoserializenotedatacache
 
CachedObject< Stepsm_CachedObject
 

Detailed Description

Holds note information for a Song.

A Song may have one or more Notes.

Member Function Documentation

◆ GetChartStyle()

auto Steps::GetChartStyle ( ) const -> const std::string&
inline

Retrieve the ChartStyle used for this chart.

Returns
the description used for this chart.

◆ GetCredit()

auto Steps::GetCredit ( ) const -> const std::string&
inline

Retrieve the author credit used for this edit.

Returns
the author credit used for this edit.

◆ GetDescription()

auto Steps::GetDescription ( ) const -> const std::string&
inline

Retrieve the description used for this edit.

Returns
the description used for this edit.

◆ GetDifficulty()

auto Steps::GetDifficulty ( ) const -> const Difficulty
inline

Retrieve the difficulty used for this edit.

Returns
the difficulty used for this edit.

◆ GetMeter()

auto Steps::GetMeter ( ) const -> int
inline

Retrieve the meter used for this edit.

Returns
the meter used for this edit.

◆ GetNoteDataFromSimfile()

auto Steps::GetNoteDataFromSimfile ( ) -> bool

Retrieve the NoteData from the original source.

Returns
true if successful, false for failure.

◆ HasSignificantTimingChanges()

auto Steps::HasSignificantTimingChanges ( ) const -> bool

Determine if the Steps have any major timing changes during gameplay.

Returns
true if it does, or false otherwise.

◆ IsNoteDataEmpty()

auto Steps::IsNoteDataEmpty ( ) const -> bool

Determine if we are missing any note data.

This takes advantage of the fact that we usually compress our data.

Returns
true if our notedata is empty, false otherwise.

Member Data Documentation

◆ diffByRate

std::vector<std::vector<float> > Steps::diffByRate
Initial value:
= {
dummy, dummy, dummy, dummy, dummy, dummy, dummy,
dummy, dummy, dummy, dummy, dummy, dummy, dummy,
dummy, dummy, dummy, dummy, dummy, dummy, dummy
}

◆ m_Timing

TimingData Steps::m_Timing

The TimingData used by the Steps.

This is required to allow Split Timing.


The documentation for this class was generated from the following files: