public void readBinary(ArkArchive archive) { LocalProfileVersion = archive.GetInt(); if (LocalProfileVersion != 1) { throw new NotSupportedException($@"Unknown Local Profile Version {LocalProfileVersion} in ""{_fileName}""" + (LocalProfileVersion == 0 ? " (possibly corrupt)" : "")); } var unknownDataSize = archive.GetInt(); unknownData = archive.GetBytes(unknownDataSize); var profilesCount = archive.GetInt(); for (int i = 0; i < profilesCount; i++) { Objects.Add(new GameObject(archive, _arkNameCache)); } for (int i = 0; i < profilesCount; i++) { GameObject obj = Objects[i]; if (obj.ClassName.Token.Equals("PrimalLocalProfile")) { _localprofile = obj; } obj.loadProperties(archive, i < profilesCount - 1 ? Objects[i + 1] : null, 0); } }