Example #1
0
        public void Open(string filePath)
        {
            FileInfo fileInfo = new FileInfo(filePath);

            if (m_Indexes == null)
                m_Indexes = new Dictionary<int, int>();
            m_UnDiacriticalIndex = new Dictionary<int, int>();
            m_TextIndexes = new Dictionary<string, int>();
            m_TextIndexesOverride = new Dictionary<string, string>();
            m_TextSortIndex = new Dictionary<int, int>();

            byte[] fileContent = new byte[fileInfo.Length];
            FileStream fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read);
            fileStream.Read(fileContent, 0, fileContent.Length);
            fileStream.Dispose();

            m_Stream = new BigEndianReader(fileContent);

            int position = m_Stream.ReadInt();
            m_Stream.Seek(position);

            int indexCount = m_Stream.ReadInt();

            for (int index = 0; index < indexCount; index += 9)
            {
                int key = m_Stream.ReadInt();
                bool diacriticalText = m_Stream.ReadBoolean();
                int pointeur = m_Stream.ReadInt();
                m_Indexes.Add(key, pointeur);

                if (diacriticalText)
                {
                    index += 4;
                    m_UnDiacriticalIndex.Add(key, m_Stream.ReadInt());
                }
                else
                    m_UnDiacriticalIndex.Add(key, pointeur);
            }

            int textIndexesCount = m_Stream.ReadInt();

            while (textIndexesCount > 0)
            {
                position = (int)m_Stream.Position;
                m_TextIndexes.Add(m_Stream.ReadUTF(), m_Stream.ReadInt());
                textIndexesCount -= (int)(m_Stream.Position - position);
            }

            textIndexesCount = m_Stream.ReadInt();

            int i = 0;

            while (textIndexesCount > 0)
            {
                position = (int)m_Stream.Position;
                m_TextSortIndex.Add(m_Stream.ReadInt(), ++i);
                textIndexesCount -= (int)(m_Stream.Position - position);
            }
        }
 public override void Deserialize(BigEndianReader reader)
 {
     int serversCount = reader.ReadUShort();
     int serversIndex;
     m_servers = new System.Collections.Generic.List<ushort>();
     for (serversIndex = 0; (serversIndex < serversCount); serversIndex = (serversIndex + 1))
     {
         m_servers.Add(reader.ReadVarUShort());
     }
 }
Example #3
0
 public override void Deserialize(BigEndianReader reader)
 {
     m_salt = reader.ReadUTF();
     int keyCount = reader.ReadUShort();
     int keyIndex;
     m_key = new System.Collections.Generic.List<byte>();
     for (keyIndex = 0; (keyIndex < keyCount); keyIndex = (keyIndex + 1))
     {
         m_key.Add(reader.ReadByte());
     }
 }
Example #4
0
 public override void Deserialize(BigEndianReader reader)
 {
     int serversCount = reader.ReadUShort();
     int serversIndex;
     m_servers = new System.Collections.Generic.List<GameServerInformations>();
     for (serversIndex = 0; (serversIndex < serversCount); serversIndex = (serversIndex + 1))
     {
         GameServerInformations objectToAdd = new GameServerInformations();
         objectToAdd.Deserialize(reader);
         m_servers.Add(objectToAdd);
     }
     m_alreadyConnectedToServerId = reader.ReadVarUhShort();
     m_canCreateNewCharacter = reader.ReadBoolean();
 }
Example #5
0
 public override void Deserialize(BigEndianReader reader)
 {
 }
Example #6
0
 public abstract void Deserialize(BigEndianReader reader);
 public override void Deserialize(BigEndianReader reader)
 {
     byte flag = reader.ReadByte();
     m_hasRights = BooleanByteWrapper.GetFlag(flag, 0);
     m_wasAlreadyConnected = BooleanByteWrapper.GetFlag(flag, 1);
     m_login = reader.ReadUTF();
     m_nickname = reader.ReadUTF();
     m_accountId = reader.ReadInt();
     m_communityId = reader.ReadByte();
     m_secretQuestion = reader.ReadUTF();
     m_accountCreation = reader.ReadDouble();
     m_subscriptionElapsedDuration = reader.ReadDouble();
     m_subscriptionEndDate = reader.ReadDouble();
 }
 public override void Deserialize(BigEndianReader reader)
 {
     base.Deserialize(reader);
     m_forcedAccountLogin = reader.ReadUTF();
 }
 public override void Deserialize(BigEndianReader reader)
 {
     base.Deserialize(reader);
     m_requiredVersion = new Protocol.Types.Version.Version();
     m_requiredVersion.Deserialize(reader);
 }
Example #10
0
 public override void Deserialize(BigEndianReader reader)
 {
     m_serverId = reader.ReadVarUShort();
 }
 public override void Deserialize(BigEndianReader reader)
 {
     m_server = new GameServerInformations();
     m_server.Deserialize(reader);
 }
Example #12
0
 public override void Deserialize(BigEndianReader reader)
 {
     m_ObjectId = reader.ReadVarUShort();
     m_status = reader.ReadByte();
     m_completion = reader.ReadByte();
     m_isSelectable = reader.ReadBoolean();
     m_charactersCount = reader.ReadByte();
     m_date = reader.ReadDouble();
 }
 public override void Deserialize(BigEndianReader reader)
 {
     base.Deserialize(reader);
     m_loginToken = reader.ReadUTF();
 }
Example #14
0
 public override void Deserialize(BigEndianReader reader)
 {
     m_major = reader.ReadByte();
     m_minor = reader.ReadByte();
     m_release = reader.ReadByte();
     m_revision = reader.ReadInt();
     m_patch = reader.ReadByte();
     m_buildType = reader.ReadByte();
 }
 public override void Deserialize(BigEndianReader reader)
 {
     base.Deserialize(reader);
     m_banEndDate = reader.ReadDouble();
 }
Example #16
0
 public override void Deserialize(BigEndianReader reader)
 {
     m_reason = reader.ReadByte();
 }
Example #17
0
 public override void Deserialize(BigEndianReader reader)
 {
     byte flag = reader.ReadByte();
     m_autoconnect = BooleanByteWrapper.GetFlag(flag, 0);
     m_useCertificate = BooleanByteWrapper.GetFlag(flag, 1);
     m_useLoginToken = BooleanByteWrapper.GetFlag(flag, 2);
     m_version = new VersionExtended();
     m_version.Deserialize(reader);
     m_lang = reader.ReadUTF();
     int credentialsCount = reader.ReadUShort();
     int credentialsIndex;
     m_credentials = new System.Collections.Generic.List<byte>();
     for (credentialsIndex = 0; (credentialsIndex < credentialsCount); credentialsIndex = (credentialsIndex + 1))
     {
         m_credentials.Add(reader.ReadByte());
     }
     m_serverId = reader.ReadShort();
     m_sessionOptionalSalt = reader.ReadVarLong();
     int failedAttemptsCount = reader.ReadUShort();
     int failedAttemptsIndex;
     m_failedAttempts = new System.Collections.Generic.List<ushort>();
     for (failedAttemptsIndex = 0; (failedAttemptsIndex < failedAttemptsCount); failedAttemptsIndex = (failedAttemptsIndex + 1))
     {
         m_failedAttempts.Add(reader.ReadVarUhShort());
     }
 }
 public override void Deserialize(BigEndianReader reader)
 {
     m_nickname = reader.ReadUTF();
 }
 public override void Deserialize(BigEndianReader reader)
 {
     m_serverId = reader.ReadVarUShort();
     m_address = reader.ReadUTF();
     m_port = reader.ReadUShort();
     m_canCreateNewCharacter = reader.ReadBoolean();
     int ticketCount = reader.ReadUShort();
     int ticketIndex;
     m_ticket = new System.Collections.Generic.List<byte>();
     for (ticketIndex = 0; (ticketIndex < ticketCount); ticketIndex = (ticketIndex + 1))
     {
         m_ticket.Add(reader.ReadByte());
     }
 }
 public override void Deserialize(BigEndianReader reader)
 {
     m_serverId = reader.ReadVarUShort();
     m_error = reader.ReadByte();
     m_serverStatus = reader.ReadByte();
 }
Example #21
0
 public override void Deserialize(BigEndianReader reader)
 {
     base.Deserialize(reader);
     m_install = reader.ReadByte();
     m_technology = reader.ReadByte();
 }