diff options
author | Stijn Buys <ingar@osirion.org> | 2008-01-31 18:22:44 +0000 |
---|---|---|
committer | Stijn Buys <ingar@osirion.org> | 2008-01-31 18:22:44 +0000 |
commit | f794b9ee52293cefd6ac73fdf0d2a01c5388f057 (patch) | |
tree | 2838d7ee11ae49e2e519ad604ba41f7071fb8288 /src/server/server.cc | |
parent | 1ddff2045848da5136e9e8131e335ac7626b8f68 (diff) |
modular system works now
Diffstat (limited to 'src/server/server.cc')
-rw-r--r-- | src/server/server.cc | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/src/server/server.cc b/src/server/server.cc new file mode 100644 index 0000000..69c58b2 --- /dev/null +++ b/src/server/server.cc @@ -0,0 +1,56 @@ +/* + server/server.cc + This file is part of the Osirion project and is distributed under + the terms and conditions of the GNU General Public License version 2 +*/ + +// project headers +#include "server/server.h" +#include "game/game.h" +#include "core/core.h" +#include "common/common.h" + +namespace server { + +// private instance of the server console object +Console console_instance; +// private instance of the game object +game::Game game_instance; + +void init() +{ + // initialize core + core::init(); + + con_debug << "Initializing server..." << std::endl; +} + +void run() +{ + + const float server_framerate = 1.0f / 20.0f; + server::Timer timer; + + timer.mark(); + + while(true) { + float elapsed = timer.elapsed(); + + core::frame(elapsed); + + timer.sleep(server_framerate - elapsed); + timer.mark(); + } + +} + +void shutdown() +{ + con_debug << "Shutting down server..." << std::endl; + + core::shutdown(); + + exit(0); +} + +} |