diff options
author | Stijn Buys <ingar@osirion.org> | 2008-02-21 19:06:15 +0000 |
---|---|---|
committer | Stijn Buys <ingar@osirion.org> | 2008-02-21 19:06:15 +0000 |
commit | 8aa04fc836116a58f8ffd1e0c3539b9ea8a94ddf (patch) | |
tree | bb933edb3919ed67d05b098a6b97a73f01746762 /src/server/server.cc | |
parent | 41ad1e4c9e2a70d0a8811f4b035f0d3018045e61 (diff) |
dedicated server, entity transfer
Diffstat (limited to 'src/server/server.cc')
-rw-r--r-- | src/server/server.cc | 18 |
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); + + } } |