feat(editor): WPRT JSON round-trip closure

Adds --export-wprt-json / --import-wprt-json with the established
readEnumField template factoring int+name dual encoding for both
factionAccess ("both"/"alliance"/"horde"/"neutral") and portalKind
("teleport"/"portal"). Float fields (destX/Y/Z, destOrientation)
preserved bit-for-bit through JSON.

All 3 presets (alliance/horde/teleports) byte-identical binary
roundtrip OK including the Teleport: Orgrimmar Horde-faction
entry that crosses the otherwise-Alliance teleports preset.

Live-tested reagent-mismatch warning: hand-mutated Stormwind
Portal entry (Portal kind) to use Rune of Teleportation (17031
— Teleport reagent), validator correctly emitted: "Portal kind
with reagentItemId=17031 — vanilla group portals require Rune
of Portals (itemId 17032). Verify intentional".

CLI flag count 1362 -> 1364.
This commit is contained in:
Kelsi 2026-05-10 04:03:57 -07:00
parent be3a253dcc
commit f41f913a2a
3 changed files with 193 additions and 0 deletions

View file

@ -397,6 +397,7 @@ const char* const kArgRequired[] = {
"--export-wtsc-json", "--import-wtsc-json",
"--gen-prt-alliance", "--gen-prt-horde", "--gen-prt-teleports",
"--info-wprt", "--validate-wprt",
"--export-wprt-json", "--import-wprt-json",
"--gen-weather-temperate", "--gen-weather-arctic",
"--gen-weather-desert", "--gen-weather-stormy",
"--gen-zone-atmosphere",