1
0

Made cChunkPtr a plain old pointer again, since it's safe now

git-svn-id: http://mc-server.googlecode.com/svn/trunk@324 0a769ca7-a7f5-676a-18bf-c427514a06d6
This commit is contained in:
madmaxoft@gmail.com 2012-02-23 21:02:38 +00:00
parent 8f85b9c625
commit 9d3b837461
2 changed files with 7 additions and 5 deletions

View File

@ -280,7 +280,7 @@ private:
cClientHandleList GetAllClients(void) const {return m_LoadedByClient; } cClientHandleList GetAllClients(void) const {return m_LoadedByClient; }
}; };
typedef std::tr1::shared_ptr<cChunk> cChunkPtr; typedef cChunk * cChunkPtr;
typedef std::list<cChunkPtr> cChunkPtrList; typedef std::list<cChunkPtr> cChunkPtrList;

View File

@ -803,6 +803,7 @@ cChunkMap::cChunkLayer::cChunkLayer(int a_LayerX, int a_LayerZ, cChunkMap * a_Pa
, m_Parent( a_Parent ) , m_Parent( a_Parent )
, m_NumChunksLoaded( 0 ) , m_NumChunksLoaded( 0 )
{ {
memset(m_Chunks, 0, sizeof(m_Chunks));
} }
@ -820,13 +821,13 @@ cChunkPtr cChunkMap::cChunkLayer::GetChunk( int a_ChunkX, int a_ChunkY, int a_Ch
if (!((LocalX < LAYER_SIZE) && (LocalZ < LAYER_SIZE) && (LocalX > -1) && (LocalZ > -1))) if (!((LocalX < LAYER_SIZE) && (LocalZ < LAYER_SIZE) && (LocalX > -1) && (LocalZ > -1)))
{ {
ASSERT(!"Asking a cChunkLayer for a chunk that doesn't belong to it!"); ASSERT(!"Asking a cChunkLayer for a chunk that doesn't belong to it!");
return cChunkPtr(); return NULL;
} }
int Index = LocalX + LocalZ * LAYER_SIZE; int Index = LocalX + LocalZ * LAYER_SIZE;
if (m_Chunks[Index].get() == NULL) if (m_Chunks[Index] == NULL)
{ {
m_Chunks[Index].reset(new cChunk(a_ChunkX, 0, a_ChunkZ, m_Parent, m_Parent->GetWorld())); m_Chunks[Index] = new cChunk(a_ChunkX, 0, a_ChunkZ, m_Parent, m_Parent->GetWorld());
} }
return m_Chunks[Index]; return m_Chunks[Index];
} }
@ -890,7 +891,8 @@ void cChunkMap::cChunkLayer::UnloadUnusedChunks(void)
{ {
if ((m_Chunks[i] != NULL) && (m_Chunks[i]->CanUnload())) if ((m_Chunks[i] != NULL) && (m_Chunks[i]->CanUnload()))
{ {
m_Chunks[i].reset(); delete m_Chunks[i];
m_Chunks[i] = NULL;
} }
} // for i - m_Chunks[] } // for i - m_Chunks[]
} }