diff options
Diffstat (limited to 'src/game/server/gamecontext.cpp')
| -rw-r--r-- | src/game/server/gamecontext.cpp | 17 |
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(); + */ } |