mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-06-03 13:41:43 -04:00
feat(editor): add --validate-wow weather schedule audit
Mirrors --validate-wol but for the .wow weather format. Walks
every entry and reports structural problems:
• unknown weather typeId (above the Blizzard sentinel)
• intensity bounds outside [0, 1] or min > max
• non-positive weight (would zero a row in weighted-random
selection and warp probabilities)
• zero or inverted duration bounds
• non-finite floats
Returns exit code 0 on PASS / 1 on FAIL — CI-friendly. JSON
output via --json for tooling.
All four built-in presets (--gen-weather-temperate / arctic /
desert / stormy) validate clean. The WOW format now has
parity with WOL on the inspect/validate front:
WOL: --info-wol / --info-wol-at / --validate-wol
WOW: --info-wow / --validate-wow
Milestone: kArgRequired now at 440 documented flags.
This commit is contained in:
@@ -795,6 +795,8 @@ void printUsage(const char* argv0) {
|
||||
std::printf(" Emit a single-keyframe .wol with moonlit directional + far fog (always-night zone / shadow realm)\n");
|
||||
std::printf(" --info-wow <wow-base> [--json]\n");
|
||||
std::printf(" Print WOW weather entries (zone + per-state type / intensity / weight / duration) and exit\n");
|
||||
std::printf(" --validate-wow <wow-base> [--json]\n");
|
||||
std::printf(" Walk every WOW entry; check typeId / intensity bounds [0,1] / weight > 0 / duration min ≤ max\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");
|
||||
|
||||
Reference in New Issue
Block a user