mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-05-10 11:03:51 +00:00
feat(editor): add WLCK JSON round-trip authoring workflow
Closes the WLCK open-format loop with --export-wlck-json /
--import-wlck-json, mirroring the JSON pairs added for
every other novel binary format. All 12 binary formats
added since WOL now have full JSON round-trip authoring.
Each lock round-trips:
• lockId, name, flags
• all 5 channel slots (even unused ones, kind=None)
• each channel: kind (dual int + name) + skillRequired +
targetId
The flag bitset emits string-array form so a hand-author
can write ["destruct"] instead of having to remember that
DestructOnOpen = 0x01. Channel kindName makes the difference
between item / lockpick / spell / damage obvious without
needing to know the int values.
Verified byte-identical round-trip on the dungeon preset
(3 locks: light lockpick + steel chest with dual key/pick
channels + boss-key seal with destruct flag).
Adds 2 flags (530 documented total now).
This commit is contained in:
parent
95e593e59c
commit
929693405e
3 changed files with 158 additions and 0 deletions
|
|
@ -961,6 +961,10 @@ void printUsage(const char* argv0) {
|
|||
std::printf(" Print WLCK lock entries with per-channel detail (kind / target / required skill rank)\n");
|
||||
std::printf(" --validate-wlck <wlck-base> [--json]\n");
|
||||
std::printf(" Static checks: lockId>0+unique, at least 1 active channel, item/spell/lockpick need targetId\n");
|
||||
std::printf(" --export-wlck-json <wlck-base> [out.json]\n");
|
||||
std::printf(" Export binary .wlck to a human-editable JSON sidecar (defaults to <base>.wlck.json)\n");
|
||||
std::printf(" --import-wlck-json <json-path> [out-base]\n");
|
||||
std::printf(" Import a .wlck.json sidecar back into binary .wlck (accepts kind/flag int OR name forms)\n");
|
||||
std::printf(" --gen-skills <wskl-base> [name]\n");
|
||||
std::printf(" Emit .wskl starter: Swords + Common + First Aid + Mining (id=186) + Lockpicking (id=633) — matches WGOT/WLCK\n");
|
||||
std::printf(" --gen-skills-professions <wskl-base> [name]\n");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue