Beispiel #1
0
        private void Read(Stream inputStream)
        {
            MemoryStream dataStream = Decompress(inputStream);
            BinaryReader reader     = new BinaryReader(dataStream, Encoding.Unicode, true);

            int unknown1 = reader.ReadInt32(); // 0
            int count1   = reader.ReadInt32();
            int count2   = reader.ReadInt32();
            int unknown2 = reader.ReadInt32(); // 0

            EntryFileListEntry1[] array1 = new EntryFileListEntry1[count1];
            for (int i = 0; i < count1; i++)
            {
                array1[i] = EntryFileListEntry1.ReadEntryFileListEntry1(reader);
            }

            reader.Align(16);

            EntryFileListEntry2[] array2 = new EntryFileListEntry2[count2];
            for (int i = 0; i < count2; i++)
            {
                array2[i] = EntryFileListEntry2.ReadEntryFileListEntry2(reader);
            }

            reader.Align(16);

            short padding = reader.ReadInt16(); // Might as well be an empty string.

            for (int i = 0; i < count2; i++)
            {
                array2[i].EntryFileName = reader.ReadNullTerminatedString();
            }
        }
Beispiel #2
0
            public static EntryFileListEntry2 ReadEntryFileListEntry2(BinaryReader reader)
            {
                EntryFileListEntry2 entry = new EntryFileListEntry2();

                entry.Unknown1 = reader.ReadUInt32();
                entry.Unknown2 = reader.ReadInt32();
                return(entry);
            }