mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-05-10 19:13:52 +00:00
feat(pipeline): add WLDS (Wowee Loading Screen) catalog
63rd open format — replaces LoadingScreens.dbc plus the per-zone background-image tables. Defines the loading-screen images shown when the client crosses into a new map / instance, with optional level-bracket gating and expansion gating (TBC art only shown if expansion installed). When multiple screens match the player's current map + level + expansion, displayWeight selects randomly between them — a zone with 3 weighted variants gets a different image roughly proportional to weight. 4 expansion gates (Classic / TBC / WotLK / TurtleWoW), isAnimated flag for screens with subtle animation, isWideAspect flag for 16:9 raid intro art (vs 4:3 standard). Cross-references with prior formats — mapId points at WMS.map.mapId (which map triggers this loading screen); mapId=0 is the catch-all sentinel for screens shown when no map-specific screen matches. CLI: --gen-lds (3 base screens — Elwynn level 1-30, Orgrimmar, GenericFallback level 31-80 catch-all), --gen-lds-instances (5 WotLK dungeon screens with mapId+expansion cross-refs: Halls of Lightning/Stone, Utgarde Pinnacle, Violet Hold, Old Kingdom), --gen-lds-raid (3 raid intro screens — Naxxramas/Ulduar/ToC at isWideAspect=1 with weight=3), --info-wlds, --validate-wlds with --json variants. Validator catches id+name+texture required, expansion 0..3, level range valid, weight=0 (in pool but never picked), and the practical catch-all overlap warning when multiple mapId=0 screens share overlapping level brackets (random pick becomes non-deterministic). Format graph: 62 → 63 binary formats. CLI flag count: 847 → 854.
This commit is contained in:
parent
0574a0f5d8
commit
07137acc89
10 changed files with 672 additions and 0 deletions
|
|
@ -1615,6 +1615,16 @@ void printUsage(const char* argv0) {
|
|||
std::printf(" Export binary .wrun to a human-editable JSON sidecar (defaults to <base>.wrun.json)\n");
|
||||
std::printf(" --import-wrun-json <json-path> [out-base]\n");
|
||||
std::printf(" Import a .wrun.json sidecar back into binary .wrun (accepts spellTreeBranch int OR name string)\n");
|
||||
std::printf(" --gen-lds <wlds-base> [name]\n");
|
||||
std::printf(" Emit .wlds starter: 3 base loading screens (Elwynn / Orgrimmar / GenericFallback catch-all)\n");
|
||||
std::printf(" --gen-lds-instances <wlds-base> [name]\n");
|
||||
std::printf(" Emit .wlds 5 WotLK dungeon loading screens (Halls of Lightning / Stone / UP / Violet Hold / Old Kingdom)\n");
|
||||
std::printf(" --gen-lds-raid <wlds-base> [name]\n");
|
||||
std::printf(" Emit .wlds 3 raid intro screens (Naxxramas / Ulduar / Trial of the Crusader) with isWideAspect=1\n");
|
||||
std::printf(" --info-wlds <wlds-base> [--json]\n");
|
||||
std::printf(" Print WLDS entries (id / mapId / level range / display weight / expansion / animated+wide flags / name)\n");
|
||||
std::printf(" --validate-wlds <wlds-base> [--json]\n");
|
||||
std::printf(" Static checks: id+name+texture required, expansion 0..3, level range valid, weight=0 warning, catch-all overlap\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