feat(editor): add WBOS JSON round-trip (--export/--import-wbos-json)

Closes the editing loop on the boss-encounter catalog: dump a
.wbos to JSON, hand-edit phaseCount / enrageTimerMs / berserk
spell / recommended item level / required party size (e.g.
shorten Lich King's enrage from 15 to 12 minutes for a sweatier
server, raise Marrowgar's recommended ilvl from 232 to 245 for
a Heroic-equivalent variant, swap a 5-phase encounter to 6
phases for a custom server fight), re-import to a byte-identical
binary.

All fields are scalar uint32/uint16/uint8 so no dual encoding
needed — the JSON exporter emits each field directly. The
catalog is the highest fan-out so far among raid-content
catalogs, cross-referencing five other catalogs (WCRT for boss
creature, WMS for map, WCDF for difficulty routing, WSPL for
berserk spell, WACR back-references via achievement targetId).

Verified byte-identical round-trip on all three presets
(5man / raid / world). CLI flag count 1060 -> 1062.
This commit is contained in:
Kelsi 2026-05-09 23:47:19 -07:00
parent acaef78696
commit b16ee9886b
3 changed files with 125 additions and 0 deletions

View file

@ -281,6 +281,7 @@ const char* const kArgRequired[] = {
"--export-wcmr-json", "--import-wcmr-json",
"--gen-bos", "--gen-bos-raid10", "--gen-bos-world",
"--info-wbos", "--validate-wbos",
"--export-wbos-json", "--import-wbos-json",
"--gen-weather-temperate", "--gen-weather-arctic",
"--gen-weather-desert", "--gen-weather-stormy",
"--gen-zone-atmosphere",