Fixed a bug that no chunks were unloaded on the client. Now chunks are properly unloaded on the clients.
git-svn-id: http://mc-server.googlecode.com/svn/trunk@318 0a769ca7-a7f5-676a-18bf-c427514a06d6master
parent
1cb756cbf2
commit
6015b59f13
|
@ -67,6 +67,7 @@
|
|||
#include "packets/cPacket_PlayerListItem.h"
|
||||
#include "packets/cPacket_NamedEntitySpawn.h"
|
||||
#include "packets/cPacket_MapChunk.h"
|
||||
#include "packets/cPacket_PreChunk.h"
|
||||
|
||||
|
||||
|
||||
|
@ -344,6 +345,7 @@ void cClientHandle::StreamChunks(void)
|
|||
if ((RelX > VIEWDISTANCE) || (RelX < -VIEWDISTANCE) || (RelZ > VIEWDISTANCE) || (RelZ < -VIEWDISTANCE))
|
||||
{
|
||||
World->RemoveChunkClient(itr->m_ChunkX, itr->m_ChunkY, itr->m_ChunkZ, this);
|
||||
Send( cPacket_PreChunk( itr->m_ChunkX, itr->m_ChunkZ, false ) );
|
||||
itr = m_LoadedChunks.erase(itr);
|
||||
}
|
||||
else
|
||||
|
|
|
@ -15,6 +15,11 @@ public:
|
|||
, m_PosZ( 0 )
|
||||
, m_bLoad( false )
|
||||
{ m_PacketID = E_PRE_CHUNK; }
|
||||
cPacket_PreChunk( int a_PosX, int a_PosZ, bool a_bLoad )
|
||||
: m_PosX( a_PosX )
|
||||
, m_PosZ( a_PosZ )
|
||||
, m_bLoad( a_bLoad )
|
||||
{ m_PacketID = E_PRE_CHUNK; }
|
||||
virtual cPacket* Clone() const { return new cPacket_PreChunk(*this); }
|
||||
|
||||
virtual void Serialize(AString & a_Data) const override;
|
||||
|
|
Loading…
Reference in New Issue