mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-05-11 03:23:51 +00:00
feat(editor): add --catalog-find directory-wide id search
New utility complements --catalog-pluck (single-file id lookup) by walking a directory tree recursively and searching every catalog for entries whose primary key matches the supplied id. Reports each hit as [WXXX] file:fieldName=id "name" so the operator can locate where any given id lives across a 100+ format project. Useful when chasing cross-references like "id 631 is referenced by WGRP.mapId — where is it actually defined?" Optional --magic <WXXX> filter narrows the search to one format family. Necessary because primary-key id ranges overlap across formats (id=200 might be both a WCMG group and a WGRP composition); without the filter the operator gets all collisions, which is itself useful for spotting unintentional id reuse. Auto-detects per-file format magic, skips files with unknown magic and files whose format has no --info-* surface (asset formats like .wom that aren't catalog- shaped). Re-uses the same primary-key auto-discovery + external-ref filter as --catalog-pluck. Both utilities should grow into a shared helper header once a third utility needs the same lookup logic — for now a noted duplication. CLI flag count 1133 -> 1134.
This commit is contained in:
parent
dc0c71fdd7
commit
471ddfef07
6 changed files with 341 additions and 1 deletions
|
|
@ -2183,6 +2183,8 @@ void printUsage(const char* argv0) {
|
|||
std::printf(" Import a .wemo.json sidecar back into binary .wemo (emoteKind int OR \"social\"/\"combat\"/\"roleplay\"/\"system\"; sex int OR \"both\"/\"male\"/\"female\"; ttsHint int OR \"talk\"/\"whisper\"/\"yell\"/\"silent\")\n");
|
||||
std::printf(" --catalog-pluck <wXXX-file> <id> [--json]\n");
|
||||
std::printf(" Extract one entry by id from any registered catalog format. Auto-detects magic, dispatches to the per-format --info-* handler internally, then prints just the matching entry. Primary-key field is auto-detected (first *Id field, or first numeric)\n");
|
||||
std::printf(" --catalog-find <directory> <id> [--magic <WXXX>] [--json]\n");
|
||||
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(" --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