From 7023548de006843963d6f56dcc6541f7bf9676e1 Mon Sep 17 00:00:00 2001 From: Tiger Wang Date: Fri, 28 Aug 2020 21:32:46 +0100 Subject: Simplify MoveEntityToNewChunk - No longer try getting from the chunkmap if GetNeighborChunk fails, since nothing else does this and entities (in future) will not tick close to an unloaded chunk edge * GetRelNeighborChunk uses FindChunk --- src/Chunk.cpp | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) (limited to 'src/Chunk.cpp') diff --git a/src/Chunk.cpp b/src/Chunk.cpp index 84c5e9fc5..ea9862c6a 100644 --- a/src/Chunk.cpp +++ b/src/Chunk.cpp @@ -724,12 +724,8 @@ void cChunk::MoveEntityToNewChunk(OwnedEntity a_Entity) cChunk * Neighbor = GetNeighborChunk(a_Entity->GetChunkX() * cChunkDef::Width, a_Entity->GetChunkZ() * cChunkDef::Width); if (Neighbor == nullptr) { - Neighbor = m_ChunkMap->GetChunk(a_Entity->GetChunkX(), a_Entity->GetChunkZ()); - if (Neighbor == nullptr) // This will assert inside GetChunk in debug builds - { - LOGWARNING("%s: Failed to move entity, destination chunk unreachable. Entity lost", __FUNCTION__); - return; - } + LOGWARNING("%s: Failed to move entity, destination chunk unreachable. Entity lost", __FUNCTION__); + return; } ASSERT(Neighbor != this); // Moving into the same chunk? wtf? @@ -2151,7 +2147,7 @@ cChunk * cChunk::GetRelNeighborChunk(int a_RelX, int a_RelZ) int BlockZ = m_PosZ * cChunkDef::Width + a_RelZ; int ChunkX, ChunkZ; BlockToChunk(BlockX, BlockZ, ChunkX, ChunkZ); - return m_ChunkMap->GetChunkNoLoad(ChunkX, ChunkZ); + return m_ChunkMap->FindChunk(ChunkX, ChunkZ); } // Walk the neighbors: -- cgit v1.2.3