feat(editor): add WBKD JSON round-trip (--export/--import-wbkd-json)

Closes the editing loop on the NPC service catalog: dump a .wbkd
to JSON, hand-edit serviceKind / requiresGold / factionRequiredId
/ gossipTextId (e.g. retag a city-mail NPC from Mailbox kind to
GuildBanker, raise stable master cost from 1s to 5s, gate an
auctioneer behind faction rep), re-import to a byte-identical
binary.

The exporter emits both serviceKind (int 0..11) and the human-
readable serviceKindName ("banker" / "mailbox" / "auctioneer" /
"stable-master" / "flight-master" / "trainer" / "innkeeper" /
"battlemaster" / "guild-banker" / "reagent-vendor" /
"tabard-vendor" / "misc"); the importer accepts either form.

Verified byte-identical round-trip on all three presets
(city / battle / prof). CLI flag count 1030 -> 1032.
This commit is contained in:
Kelsi 2026-05-09 23:16:32 -07:00
parent dac8ba8cbc
commit 14c6a947ee
3 changed files with 157 additions and 0 deletions

View file

@ -268,6 +268,7 @@ const char* const kArgRequired[] = {
"--export-wifs-json", "--import-wifs-json",
"--gen-bkd", "--gen-bkd-battle", "--gen-bkd-profession",
"--info-wbkd", "--validate-wbkd",
"--export-wbkd-json", "--import-wbkd-json",
"--gen-weather-temperate", "--gen-weather-arctic",
"--gen-weather-desert", "--gen-weather-stormy",
"--gen-zone-atmosphere",