about summary refs log tree commit diff
path: root/src/game/server/player.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/server/player.cpp')
-rw-r--r--src/game/server/player.cpp10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/game/server/player.cpp b/src/game/server/player.cpp
index a31cf21c..252e23e3 100644
--- a/src/game/server/player.cpp
+++ b/src/game/server/player.cpp
@@ -5,12 +5,20 @@
 #include "player.hpp"
 #include "gamecontext.hpp"
 
+MACRO_ALLOC_POOL_ID_IMPL(PLAYER, MAX_CLIENTS)
+
 PLAYER::PLAYER(int client_id)
 {
 	character = 0;
 	this->client_id = client_id;
 }
 
+PLAYER::~PLAYER()
+{
+	delete character;
+	character = 0;
+}
+
 /*
 void PLAYER::init(int client_id)
 {
@@ -168,7 +176,7 @@ void PLAYER::try_respawn()
 	if(num_ents == 0)
 	{
 		spawning = false;
-		character = new CHARACTER();
+		character = new(client_id) CHARACTER();
 		character->spawn(this, spawnpos, team);
 	}
 }