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-01-31 18:22:44 +0000
committerStijn Buys <ingar@osirion.org>2008-01-31 18:22:44 +0000
commitf794b9ee52293cefd6ac73fdf0d2a01c5388f057 (patch)
tree2838d7ee11ae49e2e519ad604ba41f7071fb8288 /src/server/server.cc
parent1ddff2045848da5136e9e8131e335ac7626b8f68 (diff)
modular system works now
Diffstat (limited to 'src/server/server.cc')
-rw-r--r--src/server/server.cc56
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);
+}
+
+}