Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
 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]);
     }
 }
Esempio n. 4
0
 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);
 }
Esempio n. 7
0
 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]);
     }
 }
Esempio n. 8
0
 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]);
     }
 }
Esempio n. 9
0
        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);
        }
Esempio n. 10
0
 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);
 }
Esempio n. 11
0
 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);
 }
Esempio n. 12
0
 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);
 }
Esempio n. 13
0
 public override void Serialize(BigEndianWriter writer)
 {
     base.Serialize(writer);
     writer.WriteByte(m_install);
     writer.WriteByte(m_technology);
 }