From b7d524423c23470cd11e720eeb48368c072838cb Mon Sep 17 00:00:00 2001 From: "madmaxoft@gmail.com" Date: Tue, 7 Feb 2012 20:49:52 +0000 Subject: Rewritten all packets to use buffers instead of direct sockets, for future cSocketThreads compatibility. Moved data sending from cPacket into cSocket git-svn-id: http://mc-server.googlecode.com/svn/trunk@240 0a769ca7-a7f5-676a-18bf-c427514a06d6 --- source/packets/cPacket_BlockPlace.cpp | 40 +++++++++++++++++------------------ 1 file changed, 20 insertions(+), 20 deletions(-) (limited to 'source/packets/cPacket_BlockPlace.cpp') diff --git a/source/packets/cPacket_BlockPlace.cpp b/source/packets/cPacket_BlockPlace.cpp index 6fd8cef28..6582c7890 100644 --- a/source/packets/cPacket_BlockPlace.cpp +++ b/source/packets/cPacket_BlockPlace.cpp @@ -8,29 +8,29 @@ -bool cPacket_BlockPlace::Parse(cSocket & a_Socket) +int cPacket_BlockPlace::Parse(const char * a_Data, int a_Size) { - m_Socket = a_Socket; - if( !ReadInteger( m_PosX ) ) return false; - if( !ReadByte ( m_PosY ) ) return false; - if( !ReadInteger( m_PosZ ) ) return false; - if( !ReadByte ( m_Direction ) ) return false; - - /* - if( !ReadShort ( m_ItemType ) ) return false; - if( m_ItemType > -1 ) - { - if( !ReadByte ( m_Count ) ) return false; - if( !ReadShort ( m_Uses ) ) return false; - }*/ + int TotalBytes = 0; + HANDLE_PACKET_READ(ReadInteger, m_PosX, TotalBytes); + HANDLE_PACKET_READ(ReadByte, m_PosY, TotalBytes); + HANDLE_PACKET_READ(ReadInteger, m_PosZ, TotalBytes); + HANDLE_PACKET_READ(ReadByte, m_Direction, TotalBytes); cPacket_ItemData Item; - - Item.Parse(m_Socket); + int res = Item.Parse(a_Data + TotalBytes, a_Size - TotalBytes); + if (res < 0) + { + return res; + } + TotalBytes += res; m_ItemType = Item.m_ItemID; - m_Count = Item.m_ItemCount; - m_Uses = Item.m_ItemUses; + m_Count = Item.m_ItemCount; + m_Uses = Item.m_ItemUses; + + return TotalBytes; +} + + + - return true; -} \ No newline at end of file -- cgit v1.2.3