PlayerOptions.h
Go to the documentation of this file.00001
00002
00003
#ifndef PLAYER_OPTIONS_H
00004
#define PLAYER_OPTIONS_H
00005
00006
class Song;
00007
class Steps;
00008
class Course;
00009
class Trail;
00010
00011
#include "GameConstantsAndTypes.h"
00012
00013 struct PlayerOptions
00014 {
00015 PlayerOptions() {
Init(); };
00016
void Init();
00017
void Approach(
const PlayerOptions& other,
float fDeltaSeconds );
00018
CString GetString() const;
00019 CString GetSavedPrefsString() const;
00020
void ResetSavedPrefs();
00021 static CString ThemeMod( CString sOneMod );
00022 CString GetThemedString() const;
00023
void FromString( CString sOptions );
00024
void ChooseRandomMofifiers();
00025
bool ContainsTransformOrTurn() const;
00026
00027
bool operator==( const
PlayerOptions &other ) const;
00028 bool operator!=( const
PlayerOptions &other )
const {
return !
operator==(other); }
00029
00030
00031 enum Accel {
00032
ACCEL_BOOST,
00033
ACCEL_BRAKE,
00034
ACCEL_WAVE,
00035
ACCEL_EXPAND,
00036
ACCEL_BOOMERANG,
00037
NUM_ACCELS
00038 };
00039 enum Effect {
00040
EFFECT_DRUNK,
00041
EFFECT_DIZZY,
00042
EFFECT_MINI,
00043
EFFECT_FLIP,
00044
EFFECT_TORNADO,
00045
EFFECT_TIPSY,
00046
EFFECT_BUMPY,
00047
EFFECT_BEAT,
00048
NUM_EFFECTS
00049 };
00050 enum Appearance {
00051
APPEARANCE_HIDDEN,
00052
APPEARANCE_SUDDEN,
00053
APPEARANCE_STEALTH,
00054
APPEARANCE_BLINK,
00055
APPEARANCE_RANDOMVANISH,
00056
NUM_APPEARANCES
00057 };
00058 enum Turn {
00059
TURN_NONE=0,
00060
TURN_MIRROR,
00061
TURN_LEFT,
00062
TURN_RIGHT,
00063
TURN_SHUFFLE,
00064
TURN_SUPER_SHUFFLE,
00065
NUM_TURNS
00066 };
00067 enum Transform {
00068
TRANSFORM_NOHOLDS,
00069
TRANSFORM_NOMINES,
00070
TRANSFORM_LITTLE,
00071
TRANSFORM_WIDE,
00072
TRANSFORM_BIG,
00073
TRANSFORM_QUICK,
00074
TRANSFORM_BMRIZE,
00075
TRANSFORM_SKIPPY,
00076
TRANSFORM_MINES,
00077
TRANSFORM_ECHO,
00078
TRANSFORM_STOMP,
00079
TRANSFORM_PLANTED,
00080
TRANSFORM_FLOORED,
00081
TRANSFORM_TWISTER,
00082
TRANSFORM_NOJUMPS,
00083
TRANSFORM_NOHANDS,
00084
TRANSFORM_NOQUADS,
00085
NUM_TRANSFORMS
00086 };
00087 enum Scroll {
00088
SCROLL_REVERSE=0,
00089
SCROLL_SPLIT,
00090
SCROLL_ALTERNATE,
00091
SCROLL_CROSS,
00092
SCROLL_CENTERED,
00093
NUM_SCROLLS
00094 };
00095 enum ScoreDisplay {
00096
SCORING_ADD=0,
00097
SCORING_SUBTRACT,
00098
SCORING_AVERAGE,
00099
NUM_SCOREDISPLAYS
00100 };
00101
00102
float GetReversePercentForColumn(
int iCol )
const;
00103
00104
00105
00106 float m_fTimeSpacing,
m_SpeedfTimeSpacing;
00107 float m_fScrollSpeed,
m_SpeedfScrollSpeed;
00108 float m_fScrollBPM,
m_SpeedfScrollBPM;
00109 float m_fAccels[
NUM_ACCELS],
m_SpeedfAccels[
NUM_ACCELS];
00110 float m_fEffects[
NUM_EFFECTS],
m_SpeedfEffects[
NUM_EFFECTS];
00111 float m_fAppearances[
NUM_APPEARANCES],
m_SpeedfAppearances[
NUM_APPEARANCES];
00112 float m_fScrolls[
NUM_SCROLLS],
m_SpeedfScrolls[
NUM_SCROLLS];
00113 float m_fDark,
m_SpeedfDark;
00114 float m_fBlind,
m_SpeedfBlind;
00115 float m_fCover,
m_SpeedfCover;
00116 float m_fPerspectiveTilt,
m_SpeedfPerspectiveTilt;
00117 float m_fSkew,
m_SpeedfSkew;
00118
00119 float m_fRandomSpeed,
m_SpeedfRandomSpeed;
00120
00121
00122
00123 float m_fPassmark,
m_SpeedfPassmark;
00124
00125 bool m_bTurns[
NUM_TURNS];
00126 bool m_bTransforms[
NUM_TRANSFORMS];
00127 ScoreDisplay m_ScoreDisplay;
00128
00129 CString m_sNoteSkin;
00130
00131
void NextAccel();
00132
void NextEffect();
00133
void NextAppearance();
00134
void NextTurn();
00135
void NextTransform();
00136
void NextPerspective();
00137
void NextScroll();
00138
00139
Accel GetFirstAccel();
00140
Effect GetFirstEffect();
00141
Appearance GetFirstAppearance();
00142
Scroll GetFirstScroll();
00143
00144
void SetOneAccel( Accel a );
00145
void SetOneEffect( Effect e );
00146
void SetOneAppearance( Appearance a );
00147
void SetOneScroll( Scroll s );
00148
void ToggleOneTurn( Turn t );
00149
00150
00151
00152
bool IsEasierForSongAndSteps(
Song* pSong,
Steps* pSteps );
00153
bool IsEasierForCourseAndTrail(
Course* pCourse,
Trail* pTrail );
00154 };
00155
00156
#endif
00157
00158
00159
00160
00161
00162
00163
00164
00165
00166
00167
00168
00169
00170
00171
00172
00173
00174
00175
00176
00177
00178
00179
00180
00181
Generated on Thu Jan 27 20:57:26 2005 for StepMania by
1.3.7