private void ExtractEntryOffsets() { int? LastValid = null; var bas = Reader.BaseStream.Position; for (int i = 0; i < Entries.Length; i++ ) { Entries[i] = new WAREntry((uint) (Reader.ReadUInt32())); if (i > 0 && Entries[i].IsValid && LastValid != null) { Entries[(int) LastValid].EntryLength = Entries[i].EntryPosition - Entries[(int) LastValid].EntryPosition; } if (Entries[i].IsValid) { LastValid = i; } } if (Entries.Length == 0) return; Entries[Entries.Length - 1].EntryLength = (uint) (Data.Length - Entries[Entries.Length - 1].EntryPosition); }
private void ExtractEntries() { Entries = new WAREntry[Reader.ReadUInt16()]; }