00001
00002
00003
#ifndef GameCommand_H
00004
#define GameCommand_H
00005
00006
#include "GameConstantsAndTypes.h"
00007
#include "PlayerNumber.h"
00008
#include "Difficulty.h"
00009
#include <map>
00010
00011
class Song;
00012
class Steps;
00013
class Course;
00014
class Trail;
00015
class Character;
00016
class Style;
00017
class Game;
00018
class Commands;
00019
00020 struct GameCommand
00021 {
00022 GameCommand() {
Init(); }
00023
void Init();
00024
00025
void Load(
int iIndex,
const Commands& acs );
00026
00027
void ApplyToAllPlayers() const;
00028
void Apply( PlayerNumber pn ) const;
00029 private:
00030
void Apply( const vector<PlayerNumber> &vpns ) const;
00031 public:
00032
00033
bool DescribesCurrentMode( PlayerNumber pn ) const;
00034
bool DescribesCurrentModeForAllPlayers() const;
00035
bool IsPlayable( CString *why = NULL ) const;
00036
bool IsZero() const;
00037
00038 CString m_sName;
00039 bool m_bInvalid;
00040 CString m_sInvalidReason;
00041 int m_iIndex;
00042 const
Game* m_pGame;
00043 const
Style* m_pStyle;
00044 PlayMode m_pm;
00045 Difficulty m_dc;
00046 CourseDifficulty m_CourseDifficulty;
00047 CString m_sAnnouncer;
00048 CString m_sModifiers;
00049 CString m_sScreen;
00050 Song* m_pSong;
00051 Steps* m_pSteps;
00052 Course* m_pCourse;
00053 Trail* m_pTrail;
00054 Character* m_pCharacter;
00055 std::map<CString,CString> m_SetEnv;
00056 CString m_sSongGroup;
00057 SortOrder m_SortOrder;
00058 int m_iUnlockIndex;
00059 CString m_sSoundPath;
00060 vector<CString> m_vsScreensToPrepare;
00061 bool m_bDeletePreparedScreens;
00062
00063 bool m_bClearBookkeepingData;
00064 bool m_bClearMachineStats;
00065 bool m_bTransferStatsFromMachine;
00066 bool m_bTransferStatsToMachine;
00067 bool m_bInsertCredit;
00068 bool m_bResetToFactoryDefaults;
00069 bool m_bStopMusic;
00070 bool m_bApplyDefaultOptions;
00071 };
00072
00073 #endif
00074
00075
00076
00077
00078
00079
00080
00081
00082
00083
00084
00085
00086
00087
00088
00089
00090
00091
00092
00093
00094
00095
00096
00097
00098