feat(editor): add WCDF JSON round-trip (--export/--import-wcdf-json)

Closes the editing loop on the creature-difficulty routing
catalog: dump a .wcdf to JSON, hand-edit baseCreatureId / 4
variant ids / spawnGroupKind (e.g. swap a Lich King variant from
heroic25Id 39168 to a custom encore template, change a 5-man
boss from Boss to MiniBoss kind, route a new world boss through
the WorldBoss kind), re-import to a byte-identical binary.

The exporter emits both spawnGroupKind (int 0..5) and the human-
readable spawnGroupKindName ("boss" / "mini-boss" / "rare-elite"
/ "trash" / "add" / "world-boss"); the importer accepts either
form.

Verified byte-identical round-trip on all three presets
(starter / wotlk / fiveman). CLI flag count 941 -> 943.
This commit is contained in:
Kelsi 2026-05-09 22:11:16 -07:00
parent fa8719009b
commit 75c254925f
3 changed files with 154 additions and 0 deletions

View file

@ -230,6 +230,7 @@ const char* const kArgRequired[] = {
"--export-wgfs-json", "--import-wgfs-json",
"--gen-cdf", "--gen-cdf-wotlk-raid", "--gen-cdf-fiveman",
"--info-wcdf", "--validate-wcdf",
"--export-wcdf-json", "--import-wcdf-json",
"--gen-weather-temperate", "--gen-weather-arctic",
"--gen-weather-desert", "--gen-weather-stormy",
"--gen-zone-atmosphere",