Etterna 0.74.4
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Public Attributes | List of all members
PlayerOptions Class Reference

Per-player options that are not saved between sessions. More...

#include <PlayerOptions.h>

Collaboration diagram for PlayerOptions:
Collaboration graph
[legend]

Public Types

enum  ResetPrefsType { saved_prefs }
 
enum  Accel {
  ACCEL_BOOST , ACCEL_BRAKE , ACCEL_WAVE , ACCEL_EXPAND ,
  ACCEL_BOOMERANG , NUM_ACCELS
}
 The various acceleration mods. More...
 
enum  Effect {
  EFFECT_DRUNK , EFFECT_DIZZY , EFFECT_CONFUSION , EFFECT_MINI ,
  EFFECT_TINY , EFFECT_FLIP , EFFECT_INVERT , EFFECT_TORNADO ,
  EFFECT_TIPSY , EFFECT_BUMPY , EFFECT_BEAT , EFFECT_XMODE ,
  EFFECT_TWIRL , EFFECT_ROLL , NUM_EFFECTS
}
 
enum  Appearance {
  APPEARANCE_HIDDEN , APPEARANCE_HIDDEN_OFFSET , APPEARANCE_SUDDEN , APPEARANCE_SUDDEN_OFFSET ,
  APPEARANCE_STEALTH , APPEARANCE_BLINK , APPEARANCE_RANDOMVANISH , NUM_APPEARANCES
}
 The various appearance mods. More...
 
enum  Turn {
  TURN_NONE = 0 , TURN_MIRROR , TURN_BACKWARDS , TURN_LEFT ,
  TURN_RIGHT , TURN_SHUFFLE , TURN_SOFT_SHUFFLE , TURN_SUPER_SHUFFLE ,
  TURN_HRAN_SHUFFLE , NUM_TURNS
}
 The various turn mods. More...
 
enum  Transform {
  TRANSFORM_NOHOLDS , TRANSFORM_NOROLLS , TRANSFORM_NOMINES , TRANSFORM_LITTLE ,
  TRANSFORM_WIDE , TRANSFORM_BIG , TRANSFORM_QUICK , TRANSFORM_BMRIZE ,
  TRANSFORM_SKIPPY , TRANSFORM_MINES , TRANSFORM_ATTACKMINES , TRANSFORM_ECHO ,
  TRANSFORM_STOMP , TRANSFORM_JACKJS , TRANSFORM_ANCHORJS , TRANSFORM_ICYWORLD ,
  TRANSFORM_PLANTED , TRANSFORM_FLOORED , TRANSFORM_TWISTER , TRANSFORM_HOLDROLLS ,
  TRANSFORM_NOJUMPS , TRANSFORM_NOHANDS , TRANSFORM_NOLIFTS , TRANSFORM_NOFAKES ,
  TRANSFORM_NOQUADS , TRANSFORM_NOSTRETCH , NUM_TRANSFORMS
}
 
enum  Scroll {
  SCROLL_REVERSE = 0 , SCROLL_SPLIT , SCROLL_ALTERNATE , SCROLL_CROSS ,
  SCROLL_CENTERED , NUM_SCROLLS
}
 

Public Member Functions

 PlayerOptions ()
 Set up the PlayerOptions with some reasonable defaults.
 
void Init ()
 
void Approach (const PlayerOptions &other, float fDeltaSeconds)
 
auto GetString (bool bForceNoteSkin=false) const -> std::string
 
auto GetSavedPrefsString () const -> std::string
 
void ResetPrefs (ResetPrefsType type)
 
void ResetSavedPrefs ()
 
void GetMods (std::vector< std::string > &AddTo, bool bForceNoteSkin=false) const
 
void GetTurnMods (std::vector< std::string > &AddTo)
 
void ResetModsToStringVector (std::vector< std::string > mods)
 
void ResetToggleableMods ()
 
void GetLocalizedMods (std::vector< std::string > &AddTo) const
 
void FromString (const std::string &sMultipleMods)
 
void SetForReplay (bool b)
 
bool GetForReplay () const
 
auto FromOneModString (const std::string &sOneMod, std::string &sErrorDetailOut) -> bool
 
void ChooseRandomModifiers ()
 
auto ContainsTransformOrTurn () const -> bool
 
auto GetInvalidatingModifiers () const -> std::vector< std::string >
 
void PushSelf (lua_State *L)
 
auto operator== (const PlayerOptions &other) const -> bool
 
auto operator!= (const PlayerOptions &other) const -> bool
 
auto operator= (PlayerOptions const &other) -> PlayerOptions &
 
auto GetReversePercentForColumn (int iCol) const -> float
 
void NextAccel ()
 
void NextEffect ()
 
void NextAppearance ()
 
void NextTurn ()
 
void NextTransform ()
 
void NextPerspective ()
 
void NextScroll ()
 
auto GetFirstAccel () -> Accel
 
auto GetFirstEffect () -> Effect
 
auto GetFirstAppearance () -> Appearance
 
auto GetFirstScroll () -> Scroll
 
void SetOneAccel (Accel a)
 
void SetOneEffect (Effect e)
 
void SetOneAppearance (Appearance a)
 
void SetOneScroll (Scroll s)
 
void ToggleOneTurn (Turn t)
 
auto IsEasierForSongAndSteps (Song *pSong, Steps *pSteps, PlayerNumber pn) const -> bool
 

Public Attributes

PlayerNumber m_pn { PLAYER_1 }
 
LifeType m_LifeType { LifeType_Bar }
 
DrainType m_DrainType { DrainType_Normal }
 
int m_BatteryLives { 4 }
 
bool m_bSetScrollSpeed
 
float m_fTimeSpacing { 0 }
 
float m_SpeedfTimeSpacing { 1.0F }
 
float m_fMaxScrollBPM { 0 }
 
float m_SpeedfMaxScrollBPM { 1.0F }
 
float m_fScrollSpeed { 1.0F }
 
float m_SpeedfScrollSpeed { 1.0F }
 
float m_fScrollBPM { 200 }
 
float m_SpeedfScrollBPM { 1.0F }
 
float m_fAccels [NUM_ACCELS] {}
 
float m_SpeedfAccels [NUM_ACCELS] {}
 
float m_fEffects [NUM_EFFECTS] {}
 
float m_SpeedfEffects [NUM_EFFECTS] {}
 
float m_fAppearances [NUM_APPEARANCES] {}
 
float m_SpeedfAppearances [NUM_APPEARANCES] {}
 
float m_fScrolls [NUM_SCROLLS] {}
 
float m_SpeedfScrolls [NUM_SCROLLS] {}
 
float m_fDark { 0 }
 
float m_SpeedfDark { 1.0F }
 
float m_fBlind { 0 }
 
float m_SpeedfBlind { 1.0F }
 
float m_fCover { 0 }
 
float m_SpeedfCover
 
float m_fRandAttack { 0 }
 
float m_SpeedfRandAttack { 1.0F }
 
float m_fNoAttack { 0 }
 
float m_SpeedfNoAttack { 1.0F }
 
float m_fPlayerAutoPlay { 0 }
 
float m_SpeedfPlayerAutoPlay { 1.0F }
 
float m_fPerspectiveTilt { 0 }
 
float m_SpeedfPerspectiveTilt { 1.0F }
 
float m_fSkew { 0 }
 
float m_SpeedfSkew { 1.0F }
 
float m_fPassmark { 0 }
 
float m_SpeedfPassmark { 1.0F }
 
float m_fRandomSpeed { 0 }
 
float m_SpeedfRandomSpeed { 1.0F }
 
bool m_bTurns [NUM_TURNS] {}
 
bool m_bTransforms [NUM_TRANSFORMS] {}
 
bool m_bMuteOnError { false }
 
bool m_bPractice { false }
 
FailType m_FailType { FailType_Immediate }
 The method for which a player can fail a song.
 
TapNoteScore m_MinTNSToHideNotes
 
std::string m_sNoteSkin {}
 The Noteskin to use.
 
bool forReplay { false }
 

Detailed Description

Per-player options that are not saved between sessions.

Member Enumeration Documentation

◆ Accel

The various acceleration mods.

Enumerator
ACCEL_BOOST 

The arrows start slow, then zoom towards the targets.

ACCEL_BRAKE 

The arrows start fast, then slow down as they approach the targets.

ACCEL_BOOMERANG 

The arrows start from above the targets, go down, then come back up.

◆ Appearance

The various appearance mods.

Enumerator
APPEARANCE_HIDDEN 

The arrows disappear partway up.

APPEARANCE_HIDDEN_OFFSET 

This determines when the arrows disappear.

APPEARANCE_SUDDEN 

The arrows appear partway up.

APPEARANCE_SUDDEN_OFFSET 

This determines when the arrows appear.

APPEARANCE_STEALTH 

The arrows are not shown at all.

APPEARANCE_BLINK 

The arrows blink constantly.

APPEARANCE_RANDOMVANISH 

The arrows disappear, and then reappear in a different column.

◆ Turn

The various turn mods.

Enumerator
TURN_NONE 

No turning of the arrows is performed.

TURN_MIRROR 

The arrows are mirrored from their normal position.

TURN_BACKWARDS 

The arrows are turned 180 degrees. This does NOT always equal mirror.

TURN_LEFT 

The arrows are turned 90 degrees to the left.

TURN_RIGHT 

The arrows are turned 90 degress to the right.

TURN_SHUFFLE 

Some of the arrow columns are changed throughout the whole song.

TURN_SOFT_SHUFFLE 

Only shuffle arrow columns on an axis of symmetry.

TURN_SUPER_SHUFFLE 

Every arrow is placed on a random column.

Constructor & Destructor Documentation

◆ PlayerOptions()

PlayerOptions::PlayerOptions ( )
inline

Set up the PlayerOptions with some reasonable defaults.

This code was taken from Init() to use proper initialization.

Member Data Documentation

◆ m_bSetScrollSpeed

bool PlayerOptions::m_bSetScrollSpeed
Initial value:
{
false
}

◆ m_sNoteSkin

std::string PlayerOptions::m_sNoteSkin {}

The Noteskin to use.

If an empty string, it means to not change from the default.

◆ m_SpeedfCover

float PlayerOptions::m_SpeedfCover
Initial value:
{
1.0F
}

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