public void WriteVarShort(int value) { if (value > short.MaxValue || value < short.MinValue) { throw new Exception("Forbidden value"); } BigEndianWriter buffer = new BigEndianWriter(); if (value >= 0 && value <= 127) { buffer.WriteByte((byte)value); WriteBytes(buffer.Content); return; } short valueToWrite = (short)(value & 65535); while (valueToWrite != 0) { byte byteToWrite = Convert.ToByte(valueToWrite & 127); valueToWrite = (short)(valueToWrite >> 7); if (valueToWrite > 0) { byteToWrite = Convert.ToByte(byteToWrite | 128); } buffer.WriteByte(byteToWrite); } WriteBytes(buffer.Content); }
public void WriteVarInt(int value) { BigEndianWriter buffer = new BigEndianWriter(); if (value >= 0 && value <= 127) { WriteBytes(BitConverter.GetBytes(value)); return; } int valueToWrite = value; while (valueToWrite != 0) { byte desiredValue = Convert.ToByte(valueToWrite & 127); // extract the first 7 bits valueToWrite = valueToWrite >> 7; //get the next 7 bits if (valueToWrite > 0) //we're not finished { desiredValue = (byte)(desiredValue | 128); //Set the continuation flag } buffer.WriteByte(desiredValue); } WriteBytes(buffer.Content); }
public override void Serialize(BigEndianWriter writer) { writer.WriteUTF(m_salt); writer.WriteShort(((short)(m_key.Count))); int keyIndex; for (keyIndex = 0; (keyIndex < m_key.Count); keyIndex = (keyIndex + 1)) { writer.WriteByte(m_key[keyIndex]); } }
public override void Serialize(BigEndianWriter writer) { writer.WriteByte(m_reason); }
public override void Serialize(BigEndianWriter writer) { byte flag = new byte(); BooleanByteWrapper.SetFlag(0, flag, m_hasRights); BooleanByteWrapper.SetFlag(1, flag, m_wasAlreadyConnected); writer.WriteByte(flag); writer.WriteUTF(m_login); writer.WriteUTF(m_nickname); writer.WriteInt(m_accountId); writer.WriteByte(m_communityId); writer.WriteUTF(m_secretQuestion); writer.WriteDouble(m_accountCreation); writer.WriteDouble(m_subscriptionElapsedDuration); writer.WriteDouble(m_subscriptionEndDate); }
public override void Serialize(BigEndianWriter writer) { writer.WriteVarUShort(m_serverId); writer.WriteByte(m_error); writer.WriteByte(m_serverStatus); }
public override void Serialize(BigEndianWriter writer) { writer.WriteVarUhShort(m_serverId); writer.WriteUTF(m_address); writer.WriteUShort(m_port); writer.WriteBoolean(m_canCreateNewCharacter); writer.WriteShort(((short)(m_ticket.Count))); int ticketIndex; for (ticketIndex = 0; (ticketIndex < m_ticket.Count); ticketIndex = (ticketIndex + 1)) { writer.WriteByte(m_ticket[ticketIndex]); } }
public override void Serialize(BigEndianWriter writer) { byte flag = new byte(); BooleanByteWrapper.SetFlag(0, flag, m_autoconnect); BooleanByteWrapper.SetFlag(1, flag, m_useCertificate); BooleanByteWrapper.SetFlag(2, flag, m_useLoginToken); writer.WriteByte(flag); m_version.Serialize(writer); writer.WriteUTF(m_lang); writer.WriteShort(((short)(m_credentials.Count))); int credentialsIndex; for (credentialsIndex = 0; (credentialsIndex < m_credentials.Count); credentialsIndex = (credentialsIndex + 1)) { writer.WriteByte(m_credentials[credentialsIndex]); } writer.WriteShort(m_serverId); writer.WriteVarLong(m_sessionOptionalSalt); writer.WriteShort(((short)(m_failedAttempts.Count))); int failedAttemptsIndex; for (failedAttemptsIndex = 0; (failedAttemptsIndex < m_failedAttempts.Count); failedAttemptsIndex = (failedAttemptsIndex + 1)) { writer.WriteVarUhShort(m_failedAttempts[failedAttemptsIndex]); } }
public void WriteVarShort(int value) { if (value > short.MaxValue || value < short.MinValue) { throw new Exception("Forbidden value"); } BigEndianWriter buffer = new BigEndianWriter(); if (value >= 0 && value <= 127) { buffer.WriteByte((byte)value); WriteBytes(buffer.Content); return; } short valueToWrite = (short)(value & 65535); while (valueToWrite != 0) { byte byteToWrite = Convert.ToByte(valueToWrite & 127); valueToWrite = (short)(valueToWrite >> 7); if (valueToWrite > 0) { byteToWrite = Convert.ToByte(byteToWrite | 128); } buffer.WriteByte(byteToWrite); } WriteBytes(buffer.Content); }
public void WriteVarInt(int value) { BigEndianWriter buffer = new BigEndianWriter(); if (value >= 0 && value <= 127) { WriteBytes(BitConverter.GetBytes(value)); return; } int valueToWrite = value; while (valueToWrite != 0) { byte desiredValue = Convert.ToByte(valueToWrite & 127);// extract the first 7 bits valueToWrite = valueToWrite >> 7; //get the next 7 bits if (valueToWrite > 0) //we're not finished { desiredValue = (byte)(desiredValue | 128); //Set the continuation flag } buffer.WriteByte(desiredValue); } WriteBytes(buffer.Content); }
public override void Serialize(BigEndianWriter writer) { writer.WriteVarUhShort(m_ObjectId); writer.WriteByte(m_status); writer.WriteByte(m_completion); writer.WriteBoolean(m_isSelectable); writer.WriteByte(m_charactersCount); writer.WriteDouble(m_date); }
public override void Serialize(BigEndianWriter writer) { writer.WriteByte(m_major); writer.WriteByte(m_minor); writer.WriteByte(m_release); writer.WriteInt(m_revision); writer.WriteByte(m_patch); writer.WriteByte(m_buildType); }
public override void Serialize(BigEndianWriter writer) { base.Serialize(writer); writer.WriteByte(m_install); writer.WriteByte(m_technology); }