85 CGame(
bool replayLog);
93 void StartGame(JS::MutableHandleValue attribs,
const std::string& savedState);
107 void Update(
const double deltaRealTime,
bool doInterpolate =
true);
109 void Interpolate(
float simFrameLength,
float realFrameLength);
186 {
if (std::isfinite(simRate))
m_SimRate = std::max(simRate, 0.0f); }
209 void RegisterInit(
const JS::HandleValue attribs,
const std::string& savedState);
u32 PSRETURN
Definition: Errors.h:75
CGame * g_Game
Globally accessible pointer to the CGame object.
Definition: Game.cpp:62
int32_t player_id_t
valid player IDs are non-negative (see ICmpOwnership)
Definition: Player.h:24
Definition: GameView.h:37
The container that holds the rules, resources and attributes of the game.
Definition: Game.h:43
CGameView * GetView()
Get the pointer to the game view object.
Definition: Game.h:166
CGameView * m_GameView
pointer to the CGameView object representing the view into the game world.
Definition: Game.h:59
player_id_t m_ViewedPlayerID
Differs from m_PlayerID if a defeated player or observer views another player.
Definition: Game.h:80
bool m_Paused
the game is paused and no updates will be performed if true.
Definition: Game.h:91
CSimulation2 * m_Simulation2
pointer to the CSimulation2 object operating on the game world.
Definition: Game.h:54
CGame(bool replayLog)
Constructor.
Definition: Game.cpp:70
static const CStr EventNameSimulationUpdate
Definition: Game.h:207
void SetViewedPlayerID(player_id_t playerID)
Definition: Game.cpp:377
bool IsGameStarted() const
Get m_GameStarted.
Definition: Game.h:140
void SetSimRate(float simRate)
Set the simulation scale multiplier.
Definition: Game.h:185
void Interpolate(float simFrameLength, float realFrameLength)
Definition: Game.cpp:427
~CGame()
Destructor.
Definition: Game.cpp:105
void RegisterInit(const JS::HandleValue attribs, const std::string &savedState)
Initializes the game with the set of attributes provided.
Definition: Game.cpp:212
void StartGame(JS::MutableHandleValue attribs, const std::string &savedState)
Definition: Game.cpp:382
int LoadVisualReplayData()
Definition: Game.cpp:133
IReplayLogger & GetReplayLogger() const
Definition: Game.h:203
u32 m_FinalReplayTurn
Definition: Game.h:221
OsPath GetReplayPath() const
Definition: Game.h:191
PSRETURN ReallyStartGame()
Game initialization has been completed.
Definition: Game.cpp:310
std::istream * m_ReplayStream
Definition: Game.h:220
int LoadInitialState(const std::string &savedState)
Definition: Game.cpp:289
void CachePlayerColors()
Retrieving player colors from scripts is slow, so this updates an internal cache of all players' colo...
Definition: Game.cpp:438
int GetPlayerID()
Definition: Game.cpp:358
bool StartVisualReplay(const OsPath &replayPath)
Definition: Game.cpp:180
float GetSimRate() const
Definition: Game.h:188
void Update(const double deltaRealTime, bool doInterpolate=true)
Periodic heartbeat that controls the process.
Definition: Game.cpp:394
bool m_IsSavedGame
Definition: Game.h:215
player_id_t m_PlayerID
Index assigned to the current player.
Definition: Game.h:75
CSimulation2 * GetSimulation2()
Get the pointer to the simulation2 object.
Definition: Game.h:174
CWorld * m_World
pointer to the CWorld object representing the game world.
Definition: Game.h:49
OsPath m_ReplayPath
Definition: Game.h:218
bool IsVisualReplay() const
Get m_IsVisualReplay.
Definition: Game.h:150
float m_SimRate
Timescale multiplier for simulation rate.
Definition: Game.h:69
CTurnManager * m_TurnManager
Definition: Game.h:82
int GetViewedPlayerID()
Definition: Game.cpp:372
CWorld * GetWorld()
Get the pointer to the game world object.
Definition: Game.h:158
const CColor & GetPlayerColor(player_id_t player) const
Definition: Game.cpp:459
bool m_IsVisualReplay
Definition: Game.h:219
std::vector< CColor > m_PlayerColors
Definition: Game.h:212
bool m_GameStarted
the game has been initialized and ready for use if true.
Definition: Game.h:64
bool IsGameFinished() const
Check if the game is finished by testing if there's a winner.
Definition: Game.cpp:467
IReplayLogger * m_ReplayLogger
Definition: Game.h:210
void SetPlayerID(player_id_t playerID)
Definition: Game.cpp:363
CTurnManager * GetTurnManager() const
Definition: Game.h:200
void SetTurnManager(CTurnManager *turnManager)
Replace the current turn manager.
Definition: Game.cpp:122
Public API for simulation system.
Definition: Simulation2.h:47
Common turn system (used by clients and offline games).
Definition: TurnManager.h:80
CWorld is a general data class containing whatever is needed to accurately represent the world.
Definition: World.h:50
Replay log recorder interface.
Definition: Replay.h:36
uint32_t u32
Definition: types.h:39