mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-05-11 11:33:52 +00:00
feat(editor): add WSET JSON round-trip (export/import sidecar)
Closes the JSON round-trip gap on the item set catalog format
shipped this batch. --export-wset-json emits all 8 scalar
fields plus two nested arrays — itemIds[] (only the populated
slots) and bonuses[{threshold, spellId}] (only the populated
bonus pairs). --import-wset-json derives pieceCount and
bonusCount from the array sizes (the explicit count fields
in the binary header are recomputed on import) and clears any
trailing slots so a 5-piece PvP set imported from JSON
correctly leaves slots 5-7 zero. requiredClassMask is dumped
as a raw uint32 — users hand-edit using WCHC bit positions
(Druid=0x800, Mage=0x100, Paladin=0x04 etc).
Verified byte-identical round-trip on all three preset
emitters (starter / tier / PvP — including the 5-piece PvP
variant with 2/4-piece bonuses). 769 documented CLI flags.
This commit is contained in:
parent
42bc024bd3
commit
104de8ffe6
3 changed files with 141 additions and 0 deletions
|
|
@ -1451,6 +1451,10 @@ void printUsage(const char* argv0) {
|
|||
std::printf(" Print WSET entries (id / pieces / bonuses / classMask / skill+rank gates / first item ID / name)\n");
|
||||
std::printf(" --validate-wset <wset-base> [--json]\n");
|
||||
std::printf(" Static checks: id+name+pieceCount required, piece/bonus arrays match counts, monotonic bonus thresholds within pieceCount\n");
|
||||
std::printf(" --export-wset-json <wset-base> [out.json]\n");
|
||||
std::printf(" Export binary .wset to a human-editable JSON sidecar with nested itemIds[] + bonuses[] arrays\n");
|
||||
std::printf(" --import-wset-json <json-path> [out-base]\n");
|
||||
std::printf(" Import a .wset.json sidecar back into binary .wset (pieceCount/bonusCount derived from array sizes; missing slots cleared)\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