#include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules #include "cPacket_MultiBlock.h" 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_Data = new sBlockChange[m_NumBlocks]; memcpy(m_Data, a_Copy.m_Data, sizeof(sBlockChange) * m_NumBlocks); } cPacket_MultiBlock::~cPacket_MultiBlock() { delete[] m_Data; } void cPacket_MultiBlock::Serialize(AString & a_Data) const { AppendByte (a_Data, m_PacketID); AppendInteger(a_Data, m_ChunkX); AppendInteger(a_Data, m_ChunkZ); AppendShort (a_Data, m_NumBlocks); AppendInteger(a_Data, sizeof(*m_Data) * m_NumBlocks); for (short i = 0; i < m_NumBlocks; ++i) { AppendInteger(a_Data, m_Data[i].Data); } }