about summary refs log tree commit diff
path: root/src/game/server/gamecontext.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/server/gamecontext.cpp')
-rw-r--r--src/game/server/gamecontext.cpp17
1 files changed, 16 insertions, 1 deletions
diff --git a/src/game/server/gamecontext.cpp b/src/game/server/gamecontext.cpp
index dfea7e91..0f81167d 100644
--- a/src/game/server/gamecontext.cpp
+++ b/src/game/server/gamecontext.cpp
@@ -1,3 +1,4 @@
+#include <new>
 #include <engine/e_server_interface.h>
 #include "gamecontext.hpp"
 
@@ -5,14 +6,28 @@ GAMECONTEXT game;
 
 GAMECONTEXT::GAMECONTEXT()
 {
-	clear();
+	for(int i = 0; i < MAX_CLIENTS; i++)
+		players[i].init(-1);
+}
+
+GAMECONTEXT::~GAMECONTEXT()
+{
 }
 
 void GAMECONTEXT::clear()
 {
+	this->~GAMECONTEXT();
+	mem_zero(this, sizeof(*this));
+	new (this) GAMECONTEXT();
 	// reset all players
+	/*
 	for(int i = 0; i < MAX_CLIENTS; i++)
 		players[i].init(-1);
+	
+	world.~GAMEWORLD();
+	mem_zero(&world, sizeof(world));
+	world.GAMEWORLD();
+	*/
 }