Etterna 0.74.4
Loading...
Searching...
No Matches
Public Types | Public Member Functions | List of all members
SpeedSegment Struct Reference

Identifies when the arrow scroll changes. More...

#include <TimingSegments.h>

Inheritance diagram for SpeedSegment:
Inheritance graph
[legend]
Collaboration diagram for SpeedSegment:
Collaboration graph
[legend]

Public Types

enum  BaseUnit { UNIT_BEATS , UNIT_SECONDS }
 The type of unit used for segment scaling.
 

Public Member Functions

auto GetType () const -> TimingSegmentType override
 
auto GetEffectType () const -> SegmentEffectType override
 
auto IsNotable () const -> bool override
 
void DebugPrint () const override
 
auto Copy () const -> TimingSegment *override
 
 SpeedSegment (int iStartRow=ROW_INVALID, float fRatio=1.0F, float fDelay=0.0F, BaseUnit unit=UNIT_BEATS)
 
 SpeedSegment (const SpeedSegment &other)
 
auto GetRatio () const -> float
 
void SetRatio (float fRatio)
 
auto GetDelay () const -> float
 
void SetDelay (float fDelay)
 
auto GetUnit () const -> BaseUnit
 
void SetUnit (BaseUnit unit)
 
void Scale (int start, int length, int newLength) override
 Scales itself.
 
auto ToString (int dec) const -> std::string override
 
auto GetValues () const -> std::vector< float > override
 
auto operator== (const SpeedSegment &other) const -> bool
 
auto operator== (const TimingSegment &other) const -> bool override
 
- Public Member Functions inherited from TimingSegment
 TimingSegment (int iRow=ROW_INVALID)
 
 TimingSegment (float fBeat)
 
 TimingSegment (const TimingSegment &other)
 
auto GetRow () const -> int
 
void SetRow (int iRow)
 
auto GetBeat () const -> float
 
void SetBeat (float fBeat)
 
auto operator< (const TimingSegment &other) const -> bool
 
virtual auto operator!= (const TimingSegment &other) const -> bool
 

Additional Inherited Members

- Static Public Attributes inherited from TimingSegment
static const double EPSILON = 1e-6
 

Detailed Description

Identifies when the arrow scroll changes.

SpeedSegments take a Player's scrolling BPM (Step's BPM * speed mod), and then multiplies it with the percentage value. No matter the player's speed mod, the ratio will be the same. Unlike forced attacks, these cannot be turned off at a set time: reset it by setting the percentage back to 1.

These were inspired by the Pump It Up series.

Member Function Documentation

◆ Copy()

auto SpeedSegment::Copy ( ) const -> TimingSegment*
inlineoverridevirtual

Implements TimingSegment.

◆ DebugPrint()

void SpeedSegment::DebugPrint ( ) const
overridevirtual

Reimplemented from TimingSegment.

◆ GetEffectType()

auto SpeedSegment::GetEffectType ( ) const -> SegmentEffectType
inlineoverridevirtual

Reimplemented from TimingSegment.

◆ GetType()

auto SpeedSegment::GetType ( ) const -> TimingSegmentType
inlineoverridevirtual

Reimplemented from TimingSegment.

◆ GetValues()

std::vector< float > SpeedSegment::GetValues ( ) const -> std::vector<float>
overridevirtual

Reimplemented from TimingSegment.

◆ IsNotable()

auto SpeedSegment::IsNotable ( ) const -> bool
inlineoverridevirtual

Implements TimingSegment.

◆ operator==()

auto SpeedSegment::operator== ( const TimingSegment other) const -> bool
inlineoverridevirtual

Reimplemented from TimingSegment.

◆ Scale()

void SpeedSegment::Scale ( int  start,
int  length,
int  newLength 
)
overridevirtual

Scales itself.

Parameters
startStarting row
lengthLength in rows
newLengthThe new length in rows

Reimplemented from TimingSegment.

◆ ToString()

std::string SpeedSegment::ToString ( int  dec) const -> std::string
overridevirtual

Reimplemented from TimingSegment.


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