about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/game/server/entities/character.cpp9
-rw-r--r--src/game/server/entities/character.h1
2 files changed, 7 insertions, 3 deletions
diff --git a/src/game/server/entities/character.cpp b/src/game/server/entities/character.cpp
index 27be82f8..697260a2 100644
--- a/src/game/server/entities/character.cpp
+++ b/src/game/server/entities/character.cpp
@@ -52,6 +52,12 @@ CCharacter::CCharacter(CGameWorld *pWorld)
 	m_LastPositions = new LastPosition[m_LastPositionsSize]();
 }
 
+CCharacter::~CCharacter()
+{
+	// delete last positions
+	delete[] m_LastPositions;
+}
+
 void CCharacter::Reset()
 {
 	Destroy();
@@ -110,9 +116,6 @@ void CCharacter::Destroy()
 {
 	GameServer()->m_World.m_Core.m_apCharacters[m_pPlayer->GetCID()] = 0;
 	m_Alive = false;
-	
-	// delete last positions
-	delete[] m_LastPositions;
 }
 
 // checks whether the player has been at those coords recently (like a few ticks ago)
diff --git a/src/game/server/entities/character.h b/src/game/server/entities/character.h
index 7b949e29..77997903 100644
--- a/src/game/server/entities/character.h
+++ b/src/game/server/entities/character.h
@@ -25,6 +25,7 @@ public:
 	static const int ms_PhysSize = 28;
 
 	CCharacter(CGameWorld *pWorld);
+	~CCharacter();
 
 	virtual void Reset();
 	virtual void Destroy();