diff options
Diffstat (limited to 'src/core/gameinterface.h')
-rw-r--r-- | src/core/gameinterface.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/core/gameinterface.h b/src/core/gameinterface.h index e38c061..2324bb5 100644 --- a/src/core/gameinterface.h +++ b/src/core/gameinterface.h @@ -27,6 +27,20 @@ public: /// return the local player inline Player *localplayer() { return &game_localplayer; } + /// return the server time of the last received server frame + inline float serverframetime() const { return game_serverframetime; } + + /// return the server time of the previous received server frame + inline float previousframetime() const { return game_serverframetime; } + + /// return the server time of the previous received server frame + inline float clientframetime() const { return game_clientframetime; } + + /// client frame time between previousframetime and serverframetime, from 0 - 1 + float timeoffset(); + + inline float timestep() const { return game_timestep; } + /*----- virtual inspectors --------------------------------------- */ /// returns true if the game server can run a time frime @@ -37,6 +51,12 @@ public: /// clear all game variables, game functions and entities void clear(); + /// reset the client state + void reset_clientstate(float servertime); + + /// update the client state timers + void update_clientstate(); + /*----- virtual mutators ------------------------------------------ */ /// run one game time frame @@ -46,6 +66,14 @@ public: protected: /// the local player static Player game_localplayer; + + float game_serverframetime; + float game_previousframetime; + + float game_timestep; + float game_clientframetime; + + unsigned int game_frames; }; /// global local player instance |