mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-05-10 19:13:52 +00:00
feat(editor): add --catalog-id-range for ID-allocation planning
New utility scans every catalog file under a directory tree and reports the primary-key id range, gap count, first gap, and recommended next id (smallest gap if any, else max+1). Useful when adding new entries without conflicts: instead of opening the file in --info to read the current max id, run --catalog-id-range and pick the recNext value. Optional --magic <WXXX> filter narrows to one format family. Output is sorted by file path for deterministic shell-pipeline behavior. Skips files whose format has no --info-* surface (asset formats like .wom/.wob/.whm). Permission-denied subdirs handled gracefully via skip_permission_denied. Reuses the same primary-key heuristic + foreign-key filter as --catalog-pluck and --catalog-find. CLI flag count 1198 -> 1199.
This commit is contained in:
parent
cf886ec94b
commit
cbc4991305
6 changed files with 318 additions and 0 deletions
|
|
@ -2313,6 +2313,8 @@ void printUsage(const char* argv0) {
|
|||
std::printf(" Search every catalog file under <directory> for an entry with the given id (recursive walk). Prints all hits as [WXXX] file:fieldName=id name. Use --magic to limit search to one format family when the same id is a primary key in multiple\n");
|
||||
std::printf(" --catalog-by-name <directory> <substring> [--magic <WXXX>] [--ignore-case] [--json]\n");
|
||||
std::printf(" Search every catalog file under <directory> for entries whose name contains the substring. Complements --catalog-find (id-based) and --catalog-grep (catalog-header label only). --ignore-case for fuzzy substring matching\n");
|
||||
std::printf(" --catalog-id-range <directory> [--magic <WXXX>] [--json]\n");
|
||||
std::printf(" For every catalog file under <directory>, print entry count, min/max primary-key id, gap count, first gap, and a recommended next id (smallest gap if any, else max+1). Useful when adding new entries without ID conflicts. --magic narrows to one format family\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