diff --git a/src/StageCatalog.cpp b/src/StageCatalog.cpp index 0637c21..fad0033 100644 --- a/src/StageCatalog.cpp +++ b/src/StageCatalog.cpp @@ -115,16 +115,9 @@ bool ParseStageCatalog(const std::vector& bytes, entries->push_back(std::move(entry)); } - if (r.tell() != bytes.size()) { - if (error) { - std::ostringstream message; - message << "stage_param.dat has " << (bytes.size() - r.tell()) - << " trailing bytes after " << count << " records"; - *error = message.str(); - } - entries->clear(); - return false; - } + // game471's loader trusts the leading count and stops after that many + // records. GC 4.75 appends a version-specific metadata block, so requiring + // EOF here rejects a catalog whose complete declared record array is valid. return true; }