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-02-21 19:06:15 +0000
committerStijn Buys <ingar@osirion.org>2008-02-21 19:06:15 +0000
commit8aa04fc836116a58f8ffd1e0c3539b9ea8a94ddf (patch)
treebb933edb3919ed67d05b098a6b97a73f01746762 /src/server/server.cc
parent41ad1e4c9e2a70d0a8811f4b035f0d3018045e61 (diff)
dedicated server, entity transfer
Diffstat (limited to 'src/server/server.cc')
-rw-r--r--src/server/server.cc18
1 files changed, 12 insertions, 6 deletions
diff --git a/src/server/server.cc b/src/server/server.cc
index 4c087b8..c07be52 100644
--- a/src/server/server.cc
+++ b/src/server/server.cc
@@ -64,18 +64,24 @@ void Server::init()
void Server::run()
{
- const float server_framerate = 1.0f / 20.0f;
- server::Timer timer;
+ float server_framerate = 1.0f / 20.0f;
+ if (core::Cvar::sv_framerate->value())
+ server_framerate = 1.0f / core::Cvar::sv_framerate->value();
- timer.mark();
+ server::Timer timer;
while(true) {
+ timer.mark();
+ frame(server_framerate);
float elapsed = timer.elapsed();
- frame(elapsed);
+ float sleeptime = server_framerate - elapsed;
+ if (sleeptime <0)
+ sleeptime = 0;
- sys::sleep(server_framerate - elapsed);
- timer.mark();
+ sys::sleep(sleeptime);
+
+
}
}