private void readBinaryDataFiles(ArkArchive archive, ReadingOptions options) { int count = archive.ReadInt(); DataFiles.Clear(); if (options.DataFiles) { for (int n = 0; n < count; n++) { DataFiles.Add(archive.ReadString()); } } else { archive.HasUnknownData = true; for (int n = 0; n < count; n++) { archive.SkipString(); } } }
private void readBinaryDataFilesObjectMap(ArkArchive archive, ReadingOptions options) { DataFilesObjectMap.Clear(); if (options.DataFilesObjectMap) { int dataFilesCount = archive.ReadInt(); for (int n = 0; n < dataFilesCount; n++) { int level = archive.ReadInt(); int count = archive.ReadInt(); string[] names = new string[count]; for (int index = 0; index < count; index++) { names[index] = archive.ReadString(); } if (!DataFilesObjectMap.ContainsKey(level) || DataFilesObjectMap[level] == null) { DataFilesObjectMap.Add(level, new List <string[]> { names }); } } } else { archive.HasUnknownData = true; int count = archive.ReadInt(); for (int entry = 0; entry < count; entry++) { archive.SkipBytes(4); int stringCount = archive.ReadInt(); for (int stringIndex = 0; stringIndex < stringCount; stringIndex++) { archive.SkipString(); } } } }