diff options
Diffstat (limited to 'source/packets/cPacket_Login.cpp')
-rw-r--r-- | source/packets/cPacket_Login.cpp | 7 |
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 );
|