60 lines
1.5 KiB
C++
60 lines
1.5 KiB
C++
|
|
#pragma once
|
|
|
|
#include "cPacket.h"
|
|
|
|
|
|
|
|
|
|
|
|
class cPacket_Login : public cPacket //tolua_export
|
|
{ //tolua_export
|
|
public:
|
|
cPacket_Login()
|
|
: m_ProtocolVersion( 0 )
|
|
#if (MINECRAFT_1_2_2 != 1)
|
|
, m_MapSeed( 0 )
|
|
#endif
|
|
, m_ServerMode( 0 )
|
|
, m_Dimension( 0 )
|
|
, m_Difficulty( 0 )
|
|
, m_WorldHeight( 0 )
|
|
, m_MaxPlayers( 0 )
|
|
, m_LevelType( LEVEL_TYPE_DEFAULT )
|
|
{ m_PacketID = E_LOGIN; }
|
|
virtual cPacket* Clone() const { return new cPacket_Login(*this); }
|
|
|
|
virtual int Parse(const char * a_Data, int a_Size) override;
|
|
virtual void Serialize(AString & a_Data) const override;
|
|
|
|
// 1.2.2 http://wiki.vg/Pre-release_protocol#Login_Request_.280x01.29
|
|
int m_ProtocolVersion; //tolua_export
|
|
AString m_Username; //tolua_export
|
|
#if (MINECRAFT_1_2_2 != 1)
|
|
long long m_MapSeed;
|
|
#endif
|
|
AString m_LevelType; //tolua_export
|
|
int m_ServerMode; //tolua_export
|
|
#if (MINECRAFT_1_2_2 == 1 )
|
|
int m_Dimension;
|
|
#else
|
|
char m_Dimension;
|
|
#endif
|
|
char m_Difficulty; //tolua_export
|
|
unsigned char m_WorldHeight; //tolua_export
|
|
unsigned char m_MaxPlayers; //tolua_export
|
|
|
|
#if (MINECRAFT_1_2_2 == 1 )
|
|
static const unsigned int c_Size = 1 + 4 + 2 + 2 + 4 + 4 + 1 + 1 + 1;
|
|
#else
|
|
static const unsigned int c_Size = 1 + 4 + 2 + 8 + 2 + 4 + 1 + 1 + 1 + 1; // Minimal size
|
|
#endif
|
|
|
|
static const AString LEVEL_TYPE_DEFAULT;
|
|
static const AString LEVEL_TYPE_SUPERFLAT;
|
|
}; //tolua_export
|
|
|
|
|
|
|
|
|