protected bool getMcpPacket(ref NetworkStream mcpStream, ref List<byte> mcpBuffer, ref List<byte> data)
{
while (mcpBuffer.Count < 3)
{
try
{
byte temp = (byte)mcpStream.ReadByte();
mcpBuffer.Add(temp);
if (ClientlessBot.debugging)
{
Console.Write("{0:X2} ", (byte)temp);
}
}
catch
{
Console.WriteLine("\n{0}: [MCP] Lost Connection to MCP", m_owner.Account);
Kill();
return false;
}
}
if (ClientlessBot.debugging)
Console.WriteLine("");
byte[] bytes = new byte[mcpBuffer.Count];
mcpBuffer.CopyTo(bytes);
short packetLength = BitConverter.ToInt16(bytes, 0);
while (packetLength > mcpBuffer.Count)
{
try
{
byte temp = (byte)mcpStream.ReadByte();
mcpBuffer.Add(temp);
if (ClientlessBot.debugging)
{
Console.Write("{0:X2} ", (byte)temp);
}
}
catch
{
Console.WriteLine("\n{0}: [MCP] Lost Connection to MCP", m_owner.Account);
Kill();
return false;
}
}
if (ClientlessBot.debugging)
Console.WriteLine("");
data = new List<byte>(mcpBuffer.GetRange(0, packetLength));
mcpBuffer.RemoveRange(0, packetLength);
return true;
}