private void ReadFiles(EndianReader reader, long blockSize) { long offset = reader.Position; long endOffset = offset + blockSize; while (offset < endOffset) { // TODO: should we just read the file values here instead of in the SoundBankFile constructor? SoundBankFile file = new SoundBankFile(this, reader); offset += 0xC; // Each file entry is 0xC bytes long _filesById[file.ID] = file; _objects.Add(file); } }