Exemple #1
0
        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);
        }
Exemple #2
0
 private void ExtractEntries()
 {
     Entries = new WAREntry[Reader.ReadUInt16()];
 }