mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-05-10 11:03:51 +00:00
feat(editor): add WGSP JSON round-trip authoring workflow
Closes the WGSP open-format loop with --export-wgsp-json /
--import-wgsp-json, mirroring the JSON pairs added for
every other novel binary format. All 17 binary formats
added since WOL now have full JSON round-trip authoring.
Each menu round-trips:
• menuId, titleText
• options[] with optionId / text / kind (dual int + name) /
actionTarget / requiredFlags (dual int + flag-string array) /
moneyCostCopper
The kindName field makes it obvious that a hand-edited
"vendor" / "trainer" / "submenu" string maps to the right
internal value without needing to know that vendor=2 and
submenu=1.
Verified byte-identical round-trip on the innkeeper preset
(2 menus, 7 options including Submenu cross-references that
must stay byte-stable to preserve the inter-menu graph).
Adds 2 flags (566 documented total now).
This commit is contained in:
parent
3b107459b2
commit
429460798f
3 changed files with 171 additions and 0 deletions
|
|
@ -1033,6 +1033,10 @@ void printUsage(const char* argv0) {
|
|||
std::printf(" Print WGSP entries (menuId / title / per-option kind / target / cost / flags)\n");
|
||||
std::printf(" --validate-wgsp <wgsp-base> [--json]\n");
|
||||
std::printf(" Static checks: menuId>0+unique, options non-empty, Submenu actionTarget exists, Coinpouch needs cost, faction conflict\n");
|
||||
std::printf(" --export-wgsp-json <wgsp-base> [out.json]\n");
|
||||
std::printf(" Export binary .wgsp to a human-editable JSON sidecar (defaults to <base>.wgsp.json)\n");
|
||||
std::printf(" --import-wgsp-json <json-path> [out-base]\n");
|
||||
std::printf(" Import a .wgsp.json sidecar back into binary .wgsp (accepts kind/flag int OR name forms)\n");
|
||||
std::printf(" --gen-taxi <wtax-base> [name]\n");
|
||||
std::printf(" Emit .wtax starter: 2 nodes (Stormwind / Goldshire) + 2 paths (round-trip, 50s each, 3 waypoints)\n");
|
||||
std::printf(" --gen-taxi-region <wtax-base> [name]\n");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue