summaryrefslogtreecommitdiffstats
path: root/source/packets/cPacket_Login.h
blob: 71fa6e9c188a71ce32028806e017d088688fe7df (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#pragma once

#include "cPacket.h"
#include <string>
#include "PacketID.h"

class cPacket_Login : public cPacket											//tolua_export
{																				//tolua_export
public:
	cPacket_Login()
		: m_ProtocolVersion( 0 )
		, m_MapSeed( 0 )
		, 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 bool Parse(cSocket & a_Socket);
	virtual bool Send(cSocket & a_Socket);

	int m_ProtocolVersion;														//tolua_export
	std::string m_Username;														//tolua_export
	long long m_MapSeed;														//tolua_export
	std::string m_LevelType;													//tolua_export
	int m_ServerMode;															//tolua_export
	char m_Dimension;															//tolua_export
	char m_Difficulty;															//tolua_export
	unsigned char m_WorldHeight;												//tolua_export
	unsigned char m_MaxPlayers;													//tolua_export
	static const unsigned int c_Size = 1 + 4 + 2 + 8 + 2 + 4 + 1 + 1 + 1 + 1; // Minimal size


	static const std::string LEVEL_TYPE_DEFAULT;
	static const std::string LEVEL_TYPE_SUPERFLAT;
};	//tolua_export