From bb25ba4977198728b6ee30b61fcc6f48d1d94d4d Mon Sep 17 00:00:00 2001 From: "madmaxoft@gmail.com" Date: Sat, 25 Aug 2012 17:52:08 +0000 Subject: Removed cPackets from cChunk. Also decoupled a possible deadlock in player login code. git-svn-id: http://mc-server.googlecode.com/svn/trunk@788 0a769ca7-a7f5-676a-18bf-c427514a06d6 --- source/packets/cPacket_MultiBlock.cpp | 19 +++++++++---------- source/packets/cPacket_MultiBlock.h | 24 ++++++++++-------------- 2 files changed, 19 insertions(+), 24 deletions(-) (limited to 'source/packets') diff --git a/source/packets/cPacket_MultiBlock.cpp b/source/packets/cPacket_MultiBlock.cpp index 9ae175508..68daf2700 100644 --- a/source/packets/cPacket_MultiBlock.cpp +++ b/source/packets/cPacket_MultiBlock.cpp @@ -7,15 +7,14 @@ -cPacket_MultiBlock::cPacket_MultiBlock( const cPacket_MultiBlock & a_Copy ) +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_PacketID = E_MULTI_BLOCK; + m_ChunkX = a_Copy.m_ChunkX; + m_ChunkZ = a_Copy.m_ChunkZ; m_NumBlocks = a_Copy.m_NumBlocks; - m_DataSize = a_Copy.m_DataSize; - m_Data = new sBlockChange[m_NumBlocks]; - memcpy( m_Data, a_Copy.m_Data, sizeof(sBlockChange)*m_NumBlocks ); + m_Data = new sBlockChange[m_NumBlocks]; + memcpy(m_Data, a_Copy.m_Data, sizeof(sBlockChange) * m_NumBlocks); } @@ -24,7 +23,7 @@ cPacket_MultiBlock::cPacket_MultiBlock( const cPacket_MultiBlock & a_Copy ) cPacket_MultiBlock::~cPacket_MultiBlock() { - delete [] m_Data; + delete[] m_Data; } @@ -38,8 +37,8 @@ void cPacket_MultiBlock::Serialize(AString & a_Data) const AppendInteger(a_Data, m_ChunkZ); AppendShort (a_Data, m_NumBlocks); - AppendInteger(a_Data, m_DataSize); - for( int i = 0; i < m_NumBlocks; ++i ) + AppendInteger(a_Data, sizeof(*m_Data) * m_NumBlocks); + for (short i = 0; i < m_NumBlocks; ++i) { AppendInteger(a_Data, m_Data[i].Data); } diff --git a/source/packets/cPacket_MultiBlock.h b/source/packets/cPacket_MultiBlock.h index af3d24267..7399fe853 100644 --- a/source/packets/cPacket_MultiBlock.h +++ b/source/packets/cPacket_MultiBlock.h @@ -12,34 +12,30 @@ class cPacket_MultiBlock : public cPacket public: struct sBlockChange { - sBlockChange() - : Data( 0 ) - {} unsigned int Data; -// short Data; // 4bits metadata ... 12bits block ID -// short Coords; // 8bits Y ... 4bits Z ... 4bits X + // short Data; // 4bits metadata ... 12bits block ID + // short Coords; // 8bits Y ... 4bits Z ... 4bits X }; cPacket_MultiBlock() : m_ChunkX( 0 ) , m_ChunkZ( 0 ) , m_NumBlocks( 0 ) - , m_DataSize( 0 ) , m_Data( NULL ) - { m_PacketID = E_MULTI_BLOCK; } + { + m_PacketID = E_MULTI_BLOCK; + } - cPacket_MultiBlock( const cPacket_MultiBlock & a_Copy ); + cPacket_MultiBlock(const cPacket_MultiBlock & a_Copy); ~cPacket_MultiBlock(); virtual cPacket* Clone() const { return new cPacket_MultiBlock(*this); } virtual void Serialize(AString & a_Data) const override; - int m_ChunkX; - int m_ChunkZ; - short m_NumBlocks; - - int m_DataSize; // Should be 4 * m_NumBlocks ?? - sBlockChange * m_Data; + int m_ChunkX; + int m_ChunkZ; + short m_NumBlocks; + sBlockChange * m_Data; // m_NumBlocks items in the array }; -- cgit v1.2.3