summaryrefslogtreecommitdiffstats
path: root/source/packets/cPacket_Login.cpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--source/packets/cPacket_Login.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/source/packets/cPacket_Login.cpp b/source/packets/cPacket_Login.cpp
index f0a9aaf30..2716aaf97 100644
--- a/source/packets/cPacket_Login.cpp
+++ b/source/packets/cPacket_Login.cpp
@@ -1,5 +1,8 @@
#include "cPacket_Login.h"
+const std::string cPacket_Login::LEVEL_TYPE_DEFAULT = "DEFAULT";
+const std::string cPacket_Login::LEVEL_TYPE_SUPERFLAT = "SUPERFLAT";
+
bool cPacket_Login::Parse( cSocket & a_Socket )
{
//printf("Parse: NEW Login\n");
@@ -10,6 +13,7 @@ bool cPacket_Login::Parse( cSocket & a_Socket )
if( !ReadInteger( m_ProtocolVersion ) ) return false;
if( !ReadString16( m_Username ) ) return false;
if( !ReadLong ( m_MapSeed ) ) return false;
+ if( !ReadString16( m_LevelType ) ) return false;
if( !ReadInteger( m_ServerMode ) ) return false;
if( !ReadByte ( m_Dimension ) ) return false;
if( !ReadByte ( m_Difficulty ) ) return false;
@@ -21,7 +25,7 @@ bool cPacket_Login::Parse( cSocket & a_Socket )
bool cPacket_Login::Send( cSocket & a_Socket )
{
//printf("Send: NEW Login\n");
- unsigned int TotalSize = c_Size + m_Username.size() * sizeof(short);
+ unsigned int TotalSize = c_Size + m_Username.size() * sizeof(short) + m_LevelType.size() * sizeof(short);
char* Message = new char[TotalSize];
unsigned int i = 0;
@@ -29,6 +33,7 @@ bool cPacket_Login::Send( cSocket & a_Socket )
AppendInteger( m_ProtocolVersion, Message, i );
AppendString16 ( m_Username, Message, i );
AppendLong ( m_MapSeed, Message, i );
+ AppendString16( m_LevelType, Message, i );
AppendInteger( m_ServerMode, Message, i );
AppendByte ( m_Dimension, Message, i );
AppendByte ( m_Difficulty, Message, i );