feat(editor): add WCHC JSON round-trip authoring workflow

Closes the WCHC open-format loop with --export-wchc-json /
--import-wchc-json, mirroring the JSON pairs added for
every other novel binary format. All 21 binary formats
added since WOL now have full JSON round-trip authoring.

Three top-level arrays mirror the binary layout:
  • classes[] — id / name / icon / powerType (dual int +
                name) / displayPower / baseHP+power scaling /
                factionAvailability bitmask
  • races[]   — id / name / icon / factionId (dual int +
                name) / male+female displayId / 5 base
                stats / starting map+zone / language+mount
                spell IDs
  • outfits[] — classId+raceId+gender (dual int + name) +
                items array (each: itemId + displaySlot)

Verified byte-identical round-trip on the starter preset
(2 classes / 2 races / 4 outfits with full WIT itemId
cross-references preserved through the JSON layer).

Adds 2 flags (594 documented total now).
This commit is contained in:
Kelsi 2026-05-09 16:55:31 -07:00
parent b632554b5b
commit 41156f4a95
3 changed files with 238 additions and 0 deletions

View file

@ -79,6 +79,7 @@ const char* const kArgRequired[] = {
"--export-wms-json", "--import-wms-json",
"--gen-chars", "--gen-chars-alliance", "--gen-chars-allraces",
"--info-wchc", "--validate-wchc",
"--export-wchc-json", "--import-wchc-json",
"--gen-tokens", "--gen-tokens-pvp", "--gen-tokens-seasonal",
"--info-wtkn", "--validate-wtkn",
"--gen-weather-temperate", "--gen-weather-arctic",