2012-01-29 11:28:19 -08:00
|
|
|
|
|
|
|
#include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules
|
|
|
|
|
2011-10-03 11:41:19 -07:00
|
|
|
#include "cPacket_MultiBlock.h"
|
|
|
|
|
2012-01-29 11:28:19 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-03 11:41:19 -07:00
|
|
|
cPacket_MultiBlock::cPacket_MultiBlock( const cPacket_MultiBlock & a_Copy )
|
|
|
|
{
|
|
|
|
m_PacketID = E_MULTI_BLOCK;
|
|
|
|
m_ChunkX = a_Copy.m_ChunkX;
|
|
|
|
m_ChunkZ = a_Copy.m_ChunkZ;
|
|
|
|
m_NumBlocks = a_Copy.m_NumBlocks;
|
|
|
|
m_BlockCoordinates = new unsigned short[m_NumBlocks];
|
|
|
|
memcpy( m_BlockCoordinates, a_Copy.m_BlockCoordinates, sizeof(short)*m_NumBlocks );
|
|
|
|
m_BlockTypes = new char[m_NumBlocks];
|
|
|
|
memcpy( m_BlockTypes, a_Copy.m_BlockTypes, m_NumBlocks );
|
|
|
|
m_BlockMetas = new char[m_NumBlocks];
|
|
|
|
memcpy( m_BlockMetas, a_Copy.m_BlockMetas, m_NumBlocks );
|
|
|
|
}
|
|
|
|
|
2012-02-07 12:49:52 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-03 11:41:19 -07:00
|
|
|
cPacket_MultiBlock::~cPacket_MultiBlock()
|
|
|
|
{
|
|
|
|
if( m_BlockCoordinates ) delete [] m_BlockCoordinates;
|
|
|
|
if( m_BlockTypes ) delete [] m_BlockTypes;
|
|
|
|
if( m_BlockMetas ) delete [] m_BlockMetas;
|
|
|
|
}
|
|
|
|
|
2012-02-07 12:49:52 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void cPacket_MultiBlock::Serialize(AString & a_Data) const
|
2011-10-03 11:41:19 -07:00
|
|
|
{
|
2012-02-07 12:49:52 -08:00
|
|
|
AppendByte (a_Data, m_PacketID);
|
|
|
|
AppendInteger(a_Data, m_ChunkX);
|
|
|
|
AppendInteger(a_Data, m_ChunkZ);
|
|
|
|
AppendShort (a_Data, m_NumBlocks);
|
|
|
|
|
|
|
|
AppendData (a_Data, (char *)m_BlockCoordinates, sizeof(short) * m_NumBlocks);
|
|
|
|
AppendData (a_Data, m_BlockTypes, m_NumBlocks);
|
|
|
|
AppendData (a_Data, m_BlockMetas, m_NumBlocks);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|