git-svn-id: http://mc-server.googlecode.com/svn/trunk@431 0a769ca7-a7f5-676a-18bf-c427514a06d6
		
			
				
	
	
		
			151 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			151 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
 | 
						|
// cPacket_Player.h
 | 
						|
 | 
						|
/* Interfaces to the player-related packets:
 | 
						|
	- PlayerAbilities (0xca)
 | 
						|
	- PlayerListItem  (0xc9)
 | 
						|
	- PlayerLook      (0x0c)
 | 
						|
	- PlayerMoveLook  (0x0d)
 | 
						|
	- PlayerPosition  (0x0b)
 | 
						|
*/
 | 
						|
 | 
						|
#pragma once
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
#include "cPacket.h"
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
// fwd:
 | 
						|
class cPlayer;
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
class cPacket_PlayerAbilities : public cPacket
 | 
						|
{
 | 
						|
public:
 | 
						|
	cPacket_PlayerAbilities(void) { m_PacketID = E_PLAYER_LIST_ITEM; }
 | 
						|
 | 
						|
	virtual int Parse(const char * a_Data, int a_Size) override;
 | 
						|
	virtual void Serialize(AString & a_Data) const override;
 | 
						|
 | 
						|
	virtual cPacket * Clone() const { return new cPacket_PlayerAbilities(*this); }
 | 
						|
 | 
						|
	bool m_Invulnerable;  // Speculation
 | 
						|
	bool m_IsFlying;
 | 
						|
	bool m_CanFly;
 | 
						|
	bool m_InstaMine;  // Speculation
 | 
						|
} ;
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
class cPacket_PlayerListItem : public cPacket
 | 
						|
{
 | 
						|
public:
 | 
						|
	cPacket_PlayerListItem() { m_PacketID = E_PLAYER_LIST_ITEM; }
 | 
						|
	cPacket_PlayerListItem(const AString & a_PlayerName, bool a_Online, short a_Ping);
 | 
						|
 | 
						|
	virtual int Parse(const char * a_Data, int a_Size) override;
 | 
						|
	virtual void Serialize(AString & a_Data) const override;
 | 
						|
 | 
						|
	virtual cPacket* Clone() const { return new cPacket_PlayerListItem(*this); }
 | 
						|
 | 
						|
	AString m_PlayerName; // Supports chat coloring, limited to 16 characters.
 | 
						|
	bool    m_Online;
 | 
						|
	short   m_Ping;
 | 
						|
} ;
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
class cPacket_PlayerLook : public cPacket
 | 
						|
{
 | 
						|
public:
 | 
						|
	cPacket_PlayerLook()
 | 
						|
		: m_Rotation( 0 )
 | 
						|
		, m_Pitch( 0 )
 | 
						|
		, m_bFlying( false )
 | 
						|
	{ m_PacketID = E_PLAYERLOOK;  }
 | 
						|
	cPacket_PlayerLook( cPlayer* a_Player );
 | 
						|
	virtual cPacket* Clone() const { return new cPacket_PlayerLook(*this); }
 | 
						|
 | 
						|
	virtual int Parse(const char * a_Data, int a_Size) override;
 | 
						|
	virtual void Serialize(AString & a_Data) const override;
 | 
						|
 | 
						|
	float m_Rotation;
 | 
						|
	float m_Pitch;
 | 
						|
	bool  m_bFlying; // Yeah.. wtf
 | 
						|
} ;
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
class cPacket_PlayerMoveLook : public cPacket
 | 
						|
{
 | 
						|
public:
 | 
						|
	cPacket_PlayerMoveLook()
 | 
						|
		: m_PosX( 0.0 )
 | 
						|
		, m_PosY( 0.0 )
 | 
						|
		, m_Stance( 0.0 )
 | 
						|
		, m_PosZ( 0.0 )
 | 
						|
		, m_Rotation( 0.f )
 | 
						|
		, m_Pitch( 0.f )
 | 
						|
		, m_bFlying( false )
 | 
						|
	{ m_PacketID = E_PLAYERMOVELOOK;  }
 | 
						|
	cPacket_PlayerMoveLook( cPlayer* a_Player );
 | 
						|
	virtual cPacket* Clone() const { return new cPacket_PlayerMoveLook(*this); }
 | 
						|
 | 
						|
	virtual int Parse(const char * a_Data, int a_Size) override;
 | 
						|
	virtual void Serialize(AString & a_Data) const override;
 | 
						|
 | 
						|
	double m_PosX;
 | 
						|
	double m_PosY;
 | 
						|
	double m_Stance;
 | 
						|
	double m_PosZ;
 | 
						|
	float  m_Rotation;
 | 
						|
	float  m_Pitch;
 | 
						|
	bool   m_bFlying; // Yeah.. wtf
 | 
						|
} ;
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 | 
						|
class cPacket_PlayerPosition : public cPacket
 | 
						|
{
 | 
						|
public:
 | 
						|
	cPacket_PlayerPosition( cPlayer* a_Player );
 | 
						|
	cPacket_PlayerPosition()
 | 
						|
		: m_PosX( 0.0 )
 | 
						|
		, m_PosY( 0.0 )
 | 
						|
		, m_Stance( 0.0 )
 | 
						|
		, m_PosZ( 0.0 )
 | 
						|
		, m_bFlying( false )
 | 
						|
	{ m_PacketID = E_PLAYERPOS;  }
 | 
						|
	virtual cPacket* Clone() const { return new cPacket_PlayerPosition(*this); }
 | 
						|
 | 
						|
	virtual int Parse(const char * a_Data, int a_Size) override;
 | 
						|
	virtual void Serialize(AString & a_Data) const override;
 | 
						|
 | 
						|
	double m_PosX;
 | 
						|
	double m_PosY;
 | 
						|
	double m_Stance;
 | 
						|
	double m_PosZ;
 | 
						|
	bool   m_bFlying; // Yeah.. wtf
 | 
						|
} ;
 | 
						|
 | 
						|
 | 
						|
 | 
						|
 |