2012-01-29 14:28:19 -05:00
|
|
|
|
|
|
|
#include "Globals.h" // NOTE: MSVC stupidness requires this to be the same across all modules
|
|
|
|
|
2011-10-03 14:41:19 -04:00
|
|
|
#include "cPacket_Respawn.h"
|
|
|
|
|
2012-01-29 14:28:19 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2011-10-03 14:41:19 -04:00
|
|
|
bool cPacket_Respawn::Send(cSocket & a_Socket)
|
|
|
|
{
|
2012-01-20 12:39:16 -05:00
|
|
|
unsigned int TotalSize = c_Size + m_LevelType.size() * sizeof(short);
|
2011-10-03 14:41:19 -04:00
|
|
|
|
|
|
|
char* Message = new char[TotalSize];
|
|
|
|
|
|
|
|
unsigned int i = 0;
|
|
|
|
AppendByte ( (char)m_PacketID, Message, i );
|
|
|
|
AppendByte ( m_World, Message, i );
|
|
|
|
AppendByte ( m_Difficulty, Message, i );
|
|
|
|
AppendByte ( m_CreativeMode, Message, i );
|
|
|
|
AppendShort ( m_WorldHeight, Message, i );
|
|
|
|
AppendLong ( m_MapSeed, Message, i );
|
2012-01-20 12:39:16 -05:00
|
|
|
AppendString16 ( m_LevelType, Message, i );
|
2011-10-03 14:41:19 -04:00
|
|
|
|
|
|
|
bool RetVal = !cSocket::IsSocketError( SendData( a_Socket, Message, TotalSize, 0 ) );
|
|
|
|
delete [] Message;
|
|
|
|
return RetVal;
|
|
|
|
}
|
|
|
|
|
|
|
|
bool cPacket_Respawn::Parse(cSocket & a_Socket)
|
|
|
|
{
|
|
|
|
m_Socket = a_Socket;
|
|
|
|
if( !ReadByte( m_World ) ) return false;
|
|
|
|
if( !ReadByte( m_Difficulty ) ) return false;
|
|
|
|
if( !ReadByte( m_CreativeMode ) ) return false;
|
|
|
|
if( !ReadShort( m_WorldHeight ) ) return false;
|
|
|
|
if( !ReadLong( m_MapSeed ) ) return false;
|
2012-01-20 12:39:16 -05:00
|
|
|
if( !ReadString16( m_LevelType ) ) return false;
|
2011-10-03 14:41:19 -04:00
|
|
|
return true;
|
|
|
|
}
|