Kelsidavis-WoWee/tools/editor/cli_zone_packs.hpp
Kelsi 774dab9330 refactor(editor): extract zone-pack orchestrators into cli_zone_packs.cpp
Continues the modularization started in 6c9ab6fa. Moves the four
pack-orchestrator handlers (--gen-zone-texture-pack, -mesh-pack,
-starter-pack, --gen-project-starter-pack) into their own file
following the same handle<Family> pattern.

Side cleanup:
  - Consolidated the duplicated --seed flag parser into a single
    parseSeedFlag helper
  - Consolidated the std::system + > /dev/null wrap into runSilently

main.cpp drops 28,329 → 28,070 lines (-259). Pack family is fully
self-contained (~260 lines), behavior unchanged (verified by
re-running gen-zone-starter-pack and confirming 6 PNGs + 5 WOMs).
2026-05-08 16:46:14 -07:00

22 lines
641 B
C++

#pragma once
namespace wowee {
namespace editor {
namespace cli {
// Dispatch the four zone/project pack-orchestrator handlers:
// --gen-zone-texture-pack
// --gen-zone-mesh-pack
// --gen-zone-starter-pack
// --gen-project-starter-pack
//
// Each fans out to per-asset commands via subprocess, so this
// module has no dependency on the procedural generators it calls.
//
// Returns true if matched; outRc holds the exit code. Returns
// false if no match — caller should continue its dispatch chain.
bool handleZonePacks(int& i, int argc, char** argv, int& outRc);
} // namespace cli
} // namespace editor
} // namespace wowee