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(); } }
public static EntryFileListEntry1 ReadEntryFileListEntry1(BinaryReader reader) { EntryFileListEntry1 entry1 = new EntryFileListEntry1(); entry1.Unknown1 = reader.ReadInt16(); entry1.Unknown2 = reader.ReadInt16(); return(entry1); }