diff options
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); +} + +} |