summaryrefslogtreecommitdiffstats
path: root/source/packets/cPacket_MapChunk.cpp
diff options
context:
space:
mode:
authormadmaxoft@gmail.com <madmaxoft@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6>2012-02-07 21:49:52 +0100
committermadmaxoft@gmail.com <madmaxoft@gmail.com@0a769ca7-a7f5-676a-18bf-c427514a06d6>2012-02-07 21:49:52 +0100
commitb7d524423c23470cd11e720eeb48368c072838cb (patch)
treef1478e6d8e9dc68332f493595e1f9265c964e68c /source/packets/cPacket_MapChunk.cpp
parentcSocketThreads initial commit. Not yet tested and not yet integrated (diff)
downloadcuberite-b7d524423c23470cd11e720eeb48368c072838cb.tar
cuberite-b7d524423c23470cd11e720eeb48368c072838cb.tar.gz
cuberite-b7d524423c23470cd11e720eeb48368c072838cb.tar.bz2
cuberite-b7d524423c23470cd11e720eeb48368c072838cb.tar.lz
cuberite-b7d524423c23470cd11e720eeb48368c072838cb.tar.xz
cuberite-b7d524423c23470cd11e720eeb48368c072838cb.tar.zst
cuberite-b7d524423c23470cd11e720eeb48368c072838cb.zip
Diffstat (limited to '')
-rw-r--r--source/packets/cPacket_MapChunk.cpp53
1 files changed, 29 insertions, 24 deletions
diff --git a/source/packets/cPacket_MapChunk.cpp b/source/packets/cPacket_MapChunk.cpp
index 6bc764e09..a9448f050 100644
--- a/source/packets/cPacket_MapChunk.cpp
+++ b/source/packets/cPacket_MapChunk.cpp
@@ -12,12 +12,13 @@
cPacket_MapChunk::~cPacket_MapChunk()
{
- if( m_CompressedData )
- {
- delete [] m_CompressedData;
- }
+ delete [] m_CompressedData;
}
+
+
+
+
cPacket_MapChunk::cPacket_MapChunk(cChunk* a_Chunk)
{
m_PacketID = E_MAP_CHUNK;
@@ -31,7 +32,7 @@ cPacket_MapChunk::cPacket_MapChunk(cChunk* a_Chunk)
m_SizeZ = 15;
uLongf CompressedSize = compressBound( cChunk::c_BlockDataSize );
- char* CompressedBlockData = new char[CompressedSize];
+ char * CompressedBlockData = new char[CompressedSize];
compress2( (Bytef*)CompressedBlockData, &CompressedSize, (const Bytef*)a_Chunk->pGetBlockData(), cChunk::c_BlockDataSize, Z_DEFAULT_COMPRESSION);
@@ -39,6 +40,10 @@ cPacket_MapChunk::cPacket_MapChunk(cChunk* a_Chunk)
m_CompressedSize = CompressedSize;
}
+
+
+
+
cPacket_MapChunk::cPacket_MapChunk( const cPacket_MapChunk & a_Copy )
{
m_PacketID = E_MAP_CHUNK;
@@ -54,23 +59,23 @@ cPacket_MapChunk::cPacket_MapChunk( const cPacket_MapChunk & a_Copy )
memcpy( m_CompressedData, a_Copy.m_CompressedData, m_CompressedSize );
}
-bool cPacket_MapChunk::Send(cSocket & a_Socket)
+
+
+
+
+void cPacket_MapChunk::Serialize(AString & a_Data) const
{
- unsigned int TotalSize = c_Size + m_CompressedSize;
- char* Message = new char[TotalSize];
-
- unsigned int i = 0;
- AppendByte ( (char)m_PacketID, Message, i );
- AppendInteger ( m_PosX, Message, i );
- AppendShort ( m_PosY, Message, i );
- AppendInteger ( m_PosZ, Message, i );
- AppendByte ( m_SizeX, Message, i );
- AppendByte ( m_SizeY, Message, i );
- AppendByte ( m_SizeZ, Message, i );
- AppendInteger ( m_CompressedSize, Message, i );
- AppendData ( m_CompressedData, m_CompressedSize, Message, i );
-
- bool RetVal = !cSocket::IsSocketError( SendData( a_Socket, Message, TotalSize, 0 ) );
- delete [] Message;
- return RetVal;
-} \ No newline at end of file
+ AppendByte (a_Data, m_PacketID);
+ AppendInteger(a_Data, m_PosX);
+ AppendShort (a_Data, m_PosY);
+ AppendInteger(a_Data, m_PosZ);
+ AppendByte (a_Data, m_SizeX);
+ AppendByte (a_Data, m_SizeY);
+ AppendByte (a_Data, m_SizeZ);
+ AppendInteger(a_Data, m_CompressedSize);
+ AppendData (a_Data, m_CompressedData, m_CompressedSize);
+}
+
+
+
+