1
0

Monster classes don't use cPackets. Chat messages are sent / broadcast without cPackets. BlockEntities don't use cPackets.

git-svn-id: http://mc-server.googlecode.com/svn/trunk@783 0a769ca7-a7f5-676a-18bf-c427514a06d6
This commit is contained in:
madmaxoft@gmail.com
2012-08-24 07:58:26 +00:00
parent 263ce31bd6
commit e92b9e7ecb
39 changed files with 562 additions and 426 deletions

View File

@@ -10,16 +10,16 @@
int cPacket_PickupSpawn::Parse(cByteBuffer & a_Buffer)
{
int TotalBytes = 0;
HANDLE_PACKET_READ(ReadBEInt, m_UniqueID, TotalBytes);
HANDLE_PACKET_READ(ReadBEShort, m_Item, TotalBytes);
HANDLE_PACKET_READ(ReadChar, m_Count, TotalBytes);
HANDLE_PACKET_READ(ReadBEShort, m_Health, TotalBytes);
HANDLE_PACKET_READ(ReadBEInt, m_PosX, TotalBytes);
HANDLE_PACKET_READ(ReadBEInt, m_PosY, TotalBytes);
HANDLE_PACKET_READ(ReadBEInt, m_PosZ, TotalBytes);
HANDLE_PACKET_READ(ReadChar, m_Rotation, TotalBytes);
HANDLE_PACKET_READ(ReadChar, m_Pitch, TotalBytes);
HANDLE_PACKET_READ(ReadChar, m_Roll, TotalBytes);
HANDLE_PACKET_READ(ReadBEInt, m_UniqueID, TotalBytes);
HANDLE_PACKET_READ(ReadBEShort, m_ItemType, TotalBytes);
HANDLE_PACKET_READ(ReadChar, m_ItemCount, TotalBytes);
HANDLE_PACKET_READ(ReadBEShort, m_ItemDamage, TotalBytes);
HANDLE_PACKET_READ(ReadBEInt, m_PosX, TotalBytes);
HANDLE_PACKET_READ(ReadBEInt, m_PosY, TotalBytes);
HANDLE_PACKET_READ(ReadBEInt, m_PosZ, TotalBytes);
HANDLE_PACKET_READ(ReadChar, m_Rotation, TotalBytes);
HANDLE_PACKET_READ(ReadChar, m_Pitch, TotalBytes);
HANDLE_PACKET_READ(ReadChar, m_Roll, TotalBytes);
return TotalBytes;
}
@@ -31,9 +31,9 @@ void cPacket_PickupSpawn::Serialize(AString & a_Data) const
{
AppendByte (a_Data, m_PacketID);
AppendInteger(a_Data, m_UniqueID);
AppendShort (a_Data, m_Item);
AppendByte (a_Data, m_Count);
AppendShort (a_Data, m_Health);
AppendShort (a_Data, m_ItemType);
AppendByte (a_Data, m_ItemCount);
AppendShort (a_Data, m_ItemDamage);
AppendInteger(a_Data, m_PosX);
AppendInteger(a_Data, m_PosY);
AppendInteger(a_Data, m_PosZ);

View File

@@ -12,33 +12,34 @@ class cPacket_PickupSpawn : public cPacket
public:
cPacket_PickupSpawn()
: m_UniqueID( 0 )
, m_Item( 0 )
, m_Count( 0 )
, m_Health( 0 )
, m_ItemType( 0 )
, m_ItemCount( 0 )
, m_ItemDamage( 0 )
, m_PosX( 0 )
, m_PosY( 0 )
, m_PosZ( 0 )
, m_Rotation( 0 )
, m_Pitch( 0 )
, m_Roll( 0 )
{ m_PacketID = E_PICKUP_SPAWN; }
{
m_PacketID = E_PICKUP_SPAWN;
}
virtual cPacket* Clone() const { return new cPacket_PickupSpawn(*this); }
virtual int Parse(cByteBuffer & a_Buffer) override;
virtual int Parse(cByteBuffer & a_Buffer) override;
virtual void Serialize(AString & a_Data) const override;
int m_UniqueID;
short m_Item;
char m_Count;
short m_Health;
int m_PosX;
int m_PosY;
int m_PosZ;
char m_Rotation;
char m_Pitch;
char m_Roll;
static const unsigned int c_Size = 1 + 4 + 2 + 1 + 2 + 4 + 4 + 4 + 1 + 1 + 1;
int m_UniqueID;
short m_ItemType;
char m_ItemCount;
short m_ItemDamage;
int m_PosX;
int m_PosY;
int m_PosZ;
char m_Rotation;
char m_Pitch;
char m_Roll;
};

View File

@@ -11,7 +11,6 @@
cPacket_SpawnMob::~cPacket_SpawnMob()
{
if( m_MetaData ) delete [] m_MetaData;
delete m_Pos;
}
@@ -21,7 +20,6 @@ cPacket_SpawnMob::~cPacket_SpawnMob()
cPacket_SpawnMob::cPacket_SpawnMob()
: m_UniqueID( 0 )
, m_Type( 0 )
, m_Pos( new Vector3i() )
, m_Yaw( 0 )
, m_Pitch( 0 )
, m_MetaDataSize( 0 )
@@ -37,12 +35,10 @@ cPacket_SpawnMob::cPacket_SpawnMob()
cPacket_SpawnMob::cPacket_SpawnMob( const cPacket_SpawnMob & a_Clone )
{
m_Pos = new Vector3i();
m_PacketID = E_SPAWN_MOB;
m_UniqueID = a_Clone.m_UniqueID;
m_Type = a_Clone.m_Type;
*m_Pos = *a_Clone.m_Pos;
m_Pos = a_Clone.m_Pos;
m_Yaw = a_Clone.m_Yaw;
m_Pitch = a_Clone.m_Pitch;
m_HeadYaw = a_Clone.m_HeadYaw;
@@ -61,9 +57,9 @@ void cPacket_SpawnMob::Serialize(AString & a_Data) const
AppendByte (a_Data, m_PacketID);
AppendInteger (a_Data, m_UniqueID);
AppendByte (a_Data, m_Type);
AppendInteger (a_Data, m_Pos->x);
AppendInteger (a_Data, m_Pos->y);
AppendInteger (a_Data, m_Pos->z);
AppendInteger (a_Data, m_Pos.x);
AppendInteger (a_Data, m_Pos.y);
AppendInteger (a_Data, m_Pos.z);
AppendByte (a_Data, m_Yaw);
AppendByte (a_Data, m_Pitch);
AppendByte (a_Data, m_HeadYaw);

View File

@@ -2,18 +2,14 @@
#pragma once
#include "cPacket.h"
#include "../Vector3i.h"
class Vector3i;
class cPacket_SpawnMob : public cPacket
class cPacket_SpawnMob :
public cPacket
{
public:
cPacket_SpawnMob();
@@ -23,15 +19,15 @@ public:
virtual void Serialize(AString & a_Data) const override;
int m_UniqueID;
char m_Type;
Vector3i* m_Pos;
char m_Yaw;
char m_Pitch;
char m_HeadYaw;
int m_UniqueID;
char m_Type;
Vector3i m_Pos;
char m_Yaw;
char m_Pitch;
char m_HeadYaw;
unsigned int m_MetaDataSize;
char * m_MetaData;
char * m_MetaData;
};

View File

@@ -18,7 +18,7 @@ public:
m_PacketID = E_UPDATE_SIGN;
}
virtual cPacket * Clone() const { return new cPacket_UpdateSign( *this ); }
virtual cPacket * Clone() const { return new cPacket_UpdateSign( *this); }
virtual int Parse(cByteBuffer & a_Buffer) override;
virtual void Serialize(AString & a_Data) const override;