mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-05-10 19:13:52 +00:00
feat(editor): add WSCH JSON round-trip (export/import sidecar)
Closes the JSON round-trip gap on the spell school catalog format shipped last batch. WSCH has no enum fields with name forms — just raw numeric school bits and flag bytes — so the JSON mapping is a direct dump. --import-wsch-json defaults canBeImmune/Absorbed/Crit to 1 and canBeReflected to 0 when omitted, matching the WoW canonical behavior for most schools (only Holy is non-immune, only Physical isn't reflectable). Verified byte-identical round-trip on all three preset emitters (starter / magical / combined). 806 documented CLI flags.
This commit is contained in:
parent
a664027f5f
commit
8a4276338c
3 changed files with 132 additions and 0 deletions
|
|
@ -1525,6 +1525,10 @@ void printUsage(const char* argv0) {
|
|||
std::printf(" Print WSCH entries (schoolId / immune+absorb+reflect+crit flags / resistance cap / combined-mask / name)\n");
|
||||
std::printf(" --validate-wsch <wsch-base> [--json]\n");
|
||||
std::printf(" Static checks: id+name required, reflected-without-absorbed warning, combined-mask references defined schools, no self-reference\n");
|
||||
std::printf(" --export-wsch-json <wsch-base> [out.json]\n");
|
||||
std::printf(" Export binary .wsch to a human-editable JSON sidecar (defaults to <base>.wsch.json)\n");
|
||||
std::printf(" --import-wsch-json <json-path> [out-base]\n");
|
||||
std::printf(" Import a .wsch.json sidecar back into binary .wsch (canBeImmune/Absorbed/Crit default to 1, canBeReflected to 0)\n");
|
||||
std::printf(" --gen-weather-temperate <wow-base> [zoneName]\n");
|
||||
std::printf(" Emit .wow weather schedule: clear-dominant + occasional rain + fog (forest / grassland)\n");
|
||||
std::printf(" --gen-weather-arctic <wow-base> [zoneName]\n");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue