diff options
author | Stijn Buys <ingar@osirion.org> | 2008-05-14 21:07:10 +0000 |
---|---|---|
committer | Stijn Buys <ingar@osirion.org> | 2008-05-14 21:07:10 +0000 |
commit | a185c11f2397c0296a4b62cc266b4fa00a63c1e2 (patch) | |
tree | 186da4cdee2d9cd46fb2415567da1c441c7431ef /src/core/gameserver.cc | |
parent | 599adb817e19d9be3502e501dc904c7255cd616c (diff) |
console, camera & interpolation
Diffstat (limited to 'src/core/gameserver.cc')
-rw-r--r-- | src/core/gameserver.cc | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/core/gameserver.cc b/src/core/gameserver.cc index 11a8b13..fb828e2 100644 --- a/src/core/gameserver.cc +++ b/src/core/gameserver.cc @@ -34,6 +34,7 @@ GameServer::GameServer() : GameInterface() server_instance = this; server_network = 0; server_time = 0; + server_previoustime = 0; server_frametime = 0.0f; server_maxplayerid = 1; @@ -278,7 +279,7 @@ void GameServer::frame(float seconds) // copy the previous entity state to the client state if (!Cvar::sv_dedicated->value()) { - reset_clientstate(server_time); + reset_clientstate(server_time, server_previoustime); } // run a time frame on each entity @@ -308,7 +309,7 @@ void GameServer::frame(float seconds) // start server frame std::ostringstream framehdr; framehdr.str(""); - framehdr << "frame " << server_time << "\n"; + framehdr << "frame " << server_time << " " << server_previoustime << "\n"; server_network->broadcast(framehdr.str()); std::map<unsigned int, Entity *>::iterator it; @@ -377,7 +378,12 @@ void GameServer::frame(float seconds) } } + if (!Cvar::sv_dedicated->value()) { + update_clientstate(0); + } + server_frametime = 0; + server_previoustime = server_time; } |