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:
Kelsi 2026-05-09 14:13:30 -07:00
parent 0a7c6c096d
commit bf8d37c145
3 changed files with 77 additions and 1 deletions

View file

@ -17,7 +17,8 @@ const char* const kArgRequired[] = {
"--info-wob", "--info-wob-stats", "--info-woc", "--info-wot",
"--info-wol", "--info-wol-at", "--validate-wol", "--gen-light",
"--gen-light-cave", "--gen-light-dungeon", "--gen-light-night",
"--info-wow", "--gen-weather-temperate", "--gen-weather-arctic",
"--info-wow", "--validate-wow",
"--gen-weather-temperate", "--gen-weather-arctic",
"--gen-weather-desert", "--gen-weather-stormy",
"--info-creatures", "--info-objects", "--info-quests",
"--info-extract", "--info-extract-tree", "--info-extract-budget",