From adb4dbc9047947c8da872e578b4356053bdfd908 Mon Sep 17 00:00:00 2001 From: "lapayo94@gmail.com" Date: Sun, 25 Dec 2011 20:23:30 +0000 Subject: - fixed the code from the last commit :) git-svn-id: http://mc-server.googlecode.com/svn/trunk@111 0a769ca7-a7f5-676a-18bf-c427514a06d6 --- source/cEntity.cpp | 10 ++++++---- source/cEntity.h | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/source/cEntity.cpp b/source/cEntity.cpp index b32439869..f739a3243 100644 --- a/source/cEntity.cpp +++ b/source/cEntity.cpp @@ -51,7 +51,7 @@ void cEntity::Initialize( cWorld* a_World ) m_World = a_World; m_World->AddEntity( this ); - MoveToCorrectChunk(); + MoveToCorrectChunk(true); /* Not needed because itīs covered by the MoveToCorrectChunk function @@ -73,16 +73,18 @@ void cEntity::WrapRotation() while(m_Rot->y < -180.f) m_Rot->y+=360.f; } -void cEntity::MoveToCorrectChunk() +void cEntity::MoveToCorrectChunk(bool a_IgnoreOldChunk) { if( !m_World ) return; // Entity needs a world to move to a chunk int ChunkX = 0, ChunkY = 0, ChunkZ = 0; cWorld::BlockToChunk( (int)m_Pos->x, (int)m_Pos->y, (int)m_Pos->z, ChunkX, ChunkY, ChunkZ ); - if( m_ChunkX != ChunkX || m_ChunkY != ChunkY || m_ChunkZ != ChunkZ ) + if(a_IgnoreOldChunk || m_ChunkX != ChunkX || m_ChunkY != ChunkY || m_ChunkZ != ChunkZ) { LOG("From %i %i To %i %i", m_ChunkX, m_ChunkZ, ChunkX, ChunkZ ); - cChunk* Chunk = m_World->GetChunkUnreliable( m_ChunkX, m_ChunkY, m_ChunkZ ); + cChunk* Chunk = 0; + if(!a_IgnoreOldChunk) + Chunk = m_World->GetChunkUnreliable( m_ChunkX, m_ChunkY, m_ChunkZ ); typedef std::list< cClientHandle* > ClientList; ClientList BeforeClients; diff --git a/source/cEntity.h b/source/cEntity.h index c25c3e293..49689f735 100644 --- a/source/cEntity.h +++ b/source/cEntity.h @@ -86,7 +86,7 @@ public: //tolua_export void WrapRotation(); protected: - void MoveToCorrectChunk(); + void MoveToCorrectChunk(bool a_IgnoreOldChunk = false); friend class cReferenceManager; void AddReference( cEntity*& a_EntityPtr ); -- cgit v1.2.3