From eb21e9d6bb772c6fba533bfe4b421dc7efe181b1 Mon Sep 17 00:00:00 2001 From: Magnus Auvinen Date: Wed, 24 Sep 2008 09:03:49 +0000 Subject: cleaned up the code a bit more. pooling of character and player objects with reusable macros. fixed crashing when changing maps and a couple of other bugs --- src/game/server/player.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src/game/server/player.cpp') 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); } } -- cgit 1.4.1