Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStijn Buys <ingar@osirion.org>2008-05-14 21:07:10 +0000
committerStijn Buys <ingar@osirion.org>2008-05-14 21:07:10 +0000
commita185c11f2397c0296a4b62cc266b4fa00a63c1e2 (patch)
tree186da4cdee2d9cd46fb2415567da1c441c7431ef /src/core/gameserver.cc
parent599adb817e19d9be3502e501dc904c7255cd616c (diff)
console, camera & interpolation
Diffstat (limited to 'src/core/gameserver.cc')
-rw-r--r--src/core/gameserver.cc10
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;
}