summaryrefslogtreecommitdiffstats
path: root/source/packets
diff options
context:
space:
mode:
Diffstat (limited to 'source/packets')
-rw-r--r--source/packets/cPacket_Login.cpp12
-rw-r--r--source/packets/cPacket_Login.h13
2 files changed, 23 insertions, 2 deletions
diff --git a/source/packets/cPacket_Login.cpp b/source/packets/cPacket_Login.cpp
index a96d456cc..bbb81ef52 100644
--- a/source/packets/cPacket_Login.cpp
+++ b/source/packets/cPacket_Login.cpp
@@ -21,10 +21,16 @@ int cPacket_Login::Parse(const char * a_Data, int a_Size)
m_Username.clear();
HANDLE_PACKET_READ(ReadInteger, m_ProtocolVersion, TotalBytes);
HANDLE_PACKET_READ(ReadString16, m_Username, TotalBytes);
+#if (MINECRAFT_1_2_2 != 1 )
HANDLE_PACKET_READ(ReadLong, m_MapSeed, TotalBytes);
+#endif
HANDLE_PACKET_READ(ReadString16, m_LevelType, TotalBytes);
HANDLE_PACKET_READ(ReadInteger, m_ServerMode, TotalBytes);
+#if (MINECRAFT_1_2_2 == 1 )
+ HANDLE_PACKET_READ(ReadInteger, m_Dimension, TotalBytes);
+#else
HANDLE_PACKET_READ(ReadByte, m_Dimension, TotalBytes);
+#endif
HANDLE_PACKET_READ(ReadByte, m_Difficulty, TotalBytes);
HANDLE_PACKET_READ(ReadByte, m_WorldHeight, TotalBytes);
HANDLE_PACKET_READ(ReadByte, m_MaxPlayers, TotalBytes);
@@ -40,10 +46,16 @@ void cPacket_Login::Serialize(AString & a_Data) const
AppendByte (a_Data, m_PacketID);
AppendInteger (a_Data, m_ProtocolVersion);
AppendString16(a_Data, m_Username);
+#if (MINECRAFT_1_2_2 != 1 )
AppendLong (a_Data, m_MapSeed);
+#endif
AppendString16(a_Data, m_LevelType);
AppendInteger (a_Data, m_ServerMode);
+#if (MINECRAFT_1_2_2 == 1 )
+ AppendInteger (a_Data, m_Dimension);
+#else
AppendByte (a_Data, m_Dimension);
+#endif
AppendByte (a_Data, m_Difficulty);
AppendByte (a_Data, m_WorldHeight);
AppendByte (a_Data, m_MaxPlayers);
diff --git a/source/packets/cPacket_Login.h b/source/packets/cPacket_Login.h
index 364a268eb..7884bbfb1 100644
--- a/source/packets/cPacket_Login.h
+++ b/source/packets/cPacket_Login.h
@@ -12,7 +12,9 @@ class cPacket_Login : public cPacket //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 )
@@ -25,12 +27,19 @@ public:
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/Protocol#Login_Request_.280x01.29
int m_ProtocolVersion; //tolua_export
AString m_Username; //tolua_export
- long long m_MapSeed; //tolua_export
+#if (MINECRAFT_1_2_2 != 1)
+ long long m_MapSeed;
+#endif
AString m_LevelType; //tolua_export
int m_ServerMode; //tolua_export
- char m_Dimension; //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