feat(editor): zone validation for open format completeness scoring

- ContentPacker::validateZone() scans a zone directory and checks
  for all open format files (WOT, WHM, PNG, WOM, zone.json, etc.)
- openFormatScore(): returns 0-5 based on how many open formats present
- summary(): human-readable list of found formats
- Foundation for quality gate on WCP export: warn if zone uses
  Blizzard formats that could be converted to open versions
This commit is contained in:
Kelsi 2026-05-05 10:38:57 -07:00
parent 8517ae3778
commit a54ce494be
2 changed files with 47 additions and 0 deletions

View file

@ -34,6 +34,16 @@ public:
// Read pack info without extracting
static bool readInfo(const std::string& wcpPath, ContentPackInfo& info);
// Validate that a zone directory has all required open format files
struct ValidationResult {
bool hasWot = false, hasWhm = false, hasZoneJson = false;
bool hasPng = false, hasWom = false, hasCreatures = false;
bool hasQuests = false, hasObjects = false;
int openFormatScore() const;
std::string summary() const;
};
static ValidationResult validateZone(const std::string& zoneDir);
};
} // namespace editor