@rom-weaver/cli 0.15.0 → 0.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +39 -22
- package/docs/completions/_rom-weaver +1242 -644
- package/docs/completions/rom-weaver.bash +690 -109
- package/docs/completions/rom-weaver.elv +973 -576
- package/docs/completions/rom-weaver.fish +841 -536
- package/docs/completions/rom-weaver.ps1 +1006 -588
- package/docs/man/rom-weaver-bundle-create.1 +55 -8
- package/docs/man/rom-weaver-bundle-parse.1 +15 -6
- package/docs/man/rom-weaver-bundle-schema.1 +16 -7
- package/docs/man/rom-weaver-bundle.1 +15 -6
- package/docs/man/rom-weaver-cheat.1 +107 -0
- package/docs/man/rom-weaver-checksum.1 +21 -6
- package/docs/man/rom-weaver-completions.1 +15 -6
- package/docs/man/rom-weaver-compress.1 +23 -11
- package/docs/man/rom-weaver-extract.1 +23 -8
- package/docs/man/rom-weaver-formats.1 +15 -6
- package/docs/man/rom-weaver-identify-database-import-redump.1 +15 -6
- package/docs/man/rom-weaver-identify-database-install-all.1 +15 -6
- package/docs/man/rom-weaver-identify-database-install-group.1 +15 -6
- package/docs/man/rom-weaver-identify-database-install.1 +15 -6
- package/docs/man/rom-weaver-identify-database-list.1 +15 -6
- package/docs/man/rom-weaver-identify-database-path.1 +15 -6
- package/docs/man/rom-weaver-identify-database-remove.1 +15 -6
- package/docs/man/rom-weaver-identify-database-status.1 +15 -6
- package/docs/man/rom-weaver-identify-database-update.1 +15 -6
- package/docs/man/rom-weaver-identify-database.1 +15 -6
- package/docs/man/rom-weaver-identify.1 +27 -6
- package/docs/man/rom-weaver-man.1 +15 -6
- package/docs/man/rom-weaver-patch-apply.1 +64 -15
- package/docs/man/rom-weaver-patch-create.1 +33 -8
- package/docs/man/rom-weaver-patch-validate.1 +35 -7
- package/docs/man/rom-weaver-patch.1 +15 -6
- package/docs/man/rom-weaver-probe.1 +18 -6
- package/docs/man/rom-weaver-save-export-schema.1 +80 -0
- package/docs/man/rom-weaver-save-get.1 +83 -0
- package/docs/man/rom-weaver-save-identify.1 +80 -0
- package/docs/man/rom-weaver-save-inspect.1 +80 -0
- package/docs/man/rom-weaver-save-set.1 +89 -0
- package/docs/man/rom-weaver-save.1 +87 -0
- package/docs/man/rom-weaver-setup.1 +18 -6
- package/docs/man/rom-weaver-tools-ppf-undo.1 +16 -7
- package/docs/man/rom-weaver-tools.1 +15 -6
- package/docs/man/rom-weaver-trim.1 +24 -15
- package/docs/man/rom-weaver-weave.1 +64 -15
- package/docs/man/rom-weaver.1 +23 -8
- package/package.json +20 -13
|
@@ -15,14 +15,18 @@ _rom-weaver() {
|
|
|
15
15
|
|
|
16
16
|
local context curcontext="$curcontext" state line
|
|
17
17
|
_arguments "${_arguments_options[@]}" : \
|
|
18
|
-
'(-v --verbose -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\:
|
|
19
|
-
'
|
|
20
|
-
'
|
|
18
|
+
'(-v --verbose --debug -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\: warn\]]:LOG_LEVEL:(off error warn info debug trace)' \
|
|
19
|
+
'-n[Plan the command without changing files or downloading data]' \
|
|
20
|
+
'--dry-run[Plan the command without changing files or downloading data]' \
|
|
21
|
+
'(--jsonl)--json[Print one complete JSON report; progress and diagnostics use stderr]' \
|
|
22
|
+
'(--json)--jsonl[Stream JSON events, including progress, one object per line]' \
|
|
23
|
+
'(--no-progress)--progress[Show progress on stderr (off by default; JSONL includes progress)]' \
|
|
21
24
|
'(--progress)--no-progress[Hide progress]' \
|
|
22
|
-
'(--log-level
|
|
23
|
-
'(--log-level
|
|
24
|
-
'(--log-level -v --verbose
|
|
25
|
-
'(--log-level
|
|
25
|
+
'(--log-level --debug)*-v[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
26
|
+
'(--log-level --debug)*--verbose[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
27
|
+
'(--log-level -v --verbose -q --quiet)--debug[Show developer diagnostics and trace events on stderr (same as -vvv)]' \
|
|
28
|
+
'(--log-level --debug)-q[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
29
|
+
'(--log-level --debug)--quiet[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
26
30
|
'--dep-trace[Also log trace output from bundled libraries (for bug reports)]' \
|
|
27
31
|
'(--no-color)--color[Keep colors even when output is piped]' \
|
|
28
32
|
'(--color)--no-color[Turn colors off]' \
|
|
@@ -41,23 +45,63 @@ _rom-weaver() {
|
|
|
41
45
|
(( CURRENT += 1 ))
|
|
42
46
|
curcontext="${curcontext%:*:*}:rom-weaver-command-$line[1]:"
|
|
43
47
|
case $line[1] in
|
|
44
|
-
(
|
|
48
|
+
(setup)
|
|
45
49
|
_arguments "${_arguments_options[@]}" : \
|
|
46
|
-
'-
|
|
47
|
-
'--
|
|
48
|
-
'
|
|
49
|
-
'
|
|
50
|
-
'
|
|
51
|
-
'
|
|
52
|
-
'--
|
|
50
|
+
'--database-dir=[Install into this directory instead of the per-user data directory]:DIR:_files' \
|
|
51
|
+
'--from=[Local rom-weaver-identify-data.tar.br; omit to download the archive for this version]:ARCHIVE:_files' \
|
|
52
|
+
'(-v --verbose --debug -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\: warn\]]:LOG_LEVEL:(off error warn info debug trace)' \
|
|
53
|
+
'--force[Download the database again even when it is already installed]' \
|
|
54
|
+
'-n[Plan the command without changing files or downloading data]' \
|
|
55
|
+
'--dry-run[Plan the command without changing files or downloading data]' \
|
|
56
|
+
'(--jsonl)--json[Print one complete JSON report; progress and diagnostics use stderr]' \
|
|
57
|
+
'(--json)--jsonl[Stream JSON events, including progress, one object per line]' \
|
|
58
|
+
'(--no-progress)--progress[Show progress on stderr (off by default; JSONL includes progress)]' \
|
|
59
|
+
'(--progress)--no-progress[Hide progress]' \
|
|
60
|
+
'(--log-level --debug)*-v[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
61
|
+
'(--log-level --debug)*--verbose[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
62
|
+
'(--log-level -v --verbose -q --quiet)--debug[Show developer diagnostics and trace events on stderr (same as -vvv)]' \
|
|
63
|
+
'(--log-level --debug)-q[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
64
|
+
'(--log-level --debug)--quiet[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
65
|
+
'--dep-trace[Also log trace output from bundled libraries (for bug reports)]' \
|
|
66
|
+
'(--no-color)--color[Keep colors even when output is piped]' \
|
|
67
|
+
'(--color)--no-color[Turn colors off]' \
|
|
68
|
+
'-y[Answer yes to every confirmation instead of asking. Does not choose between candidates]' \
|
|
69
|
+
'--yes[Answer yes to every confirmation instead of asking. Does not choose between candidates]' \
|
|
70
|
+
'-h[Print help (see more with '\''--help'\'')]' \
|
|
71
|
+
'--help[Print help (see more with '\''--help'\'')]' \
|
|
72
|
+
&& ret=0
|
|
73
|
+
;;
|
|
74
|
+
(ingest)
|
|
75
|
+
_arguments "${_arguments_options[@]}" : \
|
|
76
|
+
'-i+[File to sort into ROMs and patches]:INPUT:_files' \
|
|
77
|
+
'--input=[File to sort into ROMs and patches]:INPUT:_files' \
|
|
78
|
+
'-o+[Directory to write anything unpacked along the way into]:DIR:_files' \
|
|
79
|
+
'--output=[Directory to write anything unpacked along the way into]:DIR:_files' \
|
|
80
|
+
'*-d+[RWFP1 identify pack, raw or Brotli, for ROM titles (repeatable; native defaults to built-in data)]:PACK:_files' \
|
|
81
|
+
'*--database=[RWFP1 identify pack, raw or Brotli, for ROM titles (repeatable; native defaults to built-in data)]:PACK:_files' \
|
|
82
|
+
'*-s+[Pick which ROM to use when the archive holds more than one, by exact name, prefix, or glob (repeatable)]:SELECT:_default' \
|
|
83
|
+
'*--select=[Pick which ROM to use when the archive holds more than one, by exact name, prefix, or glob (repeatable)]:SELECT:_default' \
|
|
84
|
+
'*--sidecar-name=[Optional loose patch names to match against \`source\` without ingesting it. This keeps the browser'\''s sibling-sidecar lookup on the ingest command surface while reusing Rust'\''s matcher]:SIDECAR_NAMES:_default' \
|
|
85
|
+
'--split-bin=[For a multi-track CD-format CHD, write one BIN per track (--split-bin) or one merged BIN (--split-bin false). Omit to be asked]::SPLIT_BIN:(true false)' \
|
|
86
|
+
'*--checksum=[Which checksums to compute for each ROM found (repeatable, comma-separable) \[default\: crc32,md5,sha1\]]:ALGO:(crc32 md5 sha1 sha256 blake3 crc32c crc16 adler32)' \
|
|
87
|
+
'*--algo=[Which checksums to compute for each ROM found (repeatable, comma-separable) \[default\: crc32,md5,sha1\]]:ALGO:(crc32 md5 sha1 sha256 blake3 crc32c crc16 adler32)' \
|
|
88
|
+
'-j+[How many threads to use at most. auto uses every core; a format may still use fewer]:auto|N:_default' \
|
|
89
|
+
'--threads=[How many threads to use at most. auto uses every core; a format may still use fewer]:auto|N:_default' \
|
|
90
|
+
'(-v --verbose --debug -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\: warn\]]:LOG_LEVEL:(off error warn info debug trace)' \
|
|
91
|
+
'--sidecar-only[]' \
|
|
53
92
|
'--no-ignore[Also consider files normally skipped inside archives\: readmes, images, checksum sidecars, and OS clutter such as .DS_Store]' \
|
|
54
|
-
'--
|
|
55
|
-
'
|
|
93
|
+
'--no-nested-extract[Stop after one layer; leave any archive found inside the input packed]' \
|
|
94
|
+
'-n[Plan the command without changing files or downloading data]' \
|
|
95
|
+
'--dry-run[Plan the command without changing files or downloading data]' \
|
|
96
|
+
'(--jsonl)--json[Print one complete JSON report; progress and diagnostics use stderr]' \
|
|
97
|
+
'(--json)--jsonl[Stream JSON events, including progress, one object per line]' \
|
|
98
|
+
'(--no-progress)--progress[Show progress on stderr (off by default; JSONL includes progress)]' \
|
|
56
99
|
'(--progress)--no-progress[Hide progress]' \
|
|
57
|
-
'(--log-level
|
|
58
|
-
'(--log-level
|
|
59
|
-
'(--log-level -v --verbose
|
|
60
|
-
'(--log-level
|
|
100
|
+
'(--log-level --debug)*-v[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
101
|
+
'(--log-level --debug)*--verbose[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
102
|
+
'(--log-level -v --verbose -q --quiet)--debug[Show developer diagnostics and trace events on stderr (same as -vvv)]' \
|
|
103
|
+
'(--log-level --debug)-q[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
104
|
+
'(--log-level --debug)--quiet[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
61
105
|
'--dep-trace[Also log trace output from bundled libraries (for bug reports)]' \
|
|
62
106
|
'(--no-color)--color[Keep colors even when output is piped]' \
|
|
63
107
|
'(--color)--no-color[Turn colors off]' \
|
|
@@ -67,23 +111,346 @@ _arguments "${_arguments_options[@]}" : \
|
|
|
67
111
|
'--help[Print help (see more with '\''--help'\'')]' \
|
|
68
112
|
&& ret=0
|
|
69
113
|
;;
|
|
70
|
-
(
|
|
114
|
+
(cheat)
|
|
115
|
+
_arguments "${_arguments_options[@]}" : \
|
|
116
|
+
'-i+[The ROM the cheats are for. Its header picks the cheat shard and its bytes decide each cheat'\''s delivery]:ROM:_files' \
|
|
117
|
+
'--input=[The ROM the cheats are for. Its header picks the cheat shard and its bytes decide each cheat'\''s delivery]:ROM:_files' \
|
|
118
|
+
'*--cheat=[Database cheat to use, by record ID or exact description. Repeat for each cheat]:ID_OR_DESCRIPTION:_default' \
|
|
119
|
+
'--cheat-database=[Directory holding manifest.json and the <system>.json cheat shards. Defaults to \$ROM_WEAVER_CHEAT_DATABASE, then the per-user data directory]:DIR:_files' \
|
|
120
|
+
'--cheat-system=[Console the cheat shard is for (nes, snes, genesis, gameboy, gameboy-color, gba), when the ROM header does not say]:SYS:_default' \
|
|
121
|
+
'--game=[Use this database game ID instead of matching the ROM by checksum or title]:ID:_default' \
|
|
122
|
+
'(-v --verbose --debug -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\: warn\]]:LOG_LEVEL:(off error warn info debug trace)' \
|
|
123
|
+
'--allow-cheat-conflicts[Let a later cheat overwrite an earlier one at the same offset instead of failing]' \
|
|
124
|
+
'-n[Plan the command without changing files or downloading data]' \
|
|
125
|
+
'--dry-run[Plan the command without changing files or downloading data]' \
|
|
126
|
+
'(--jsonl)--json[Print one complete JSON report; progress and diagnostics use stderr]' \
|
|
127
|
+
'(--json)--jsonl[Stream JSON events, including progress, one object per line]' \
|
|
128
|
+
'(--no-progress)--progress[Show progress on stderr (off by default; JSONL includes progress)]' \
|
|
129
|
+
'(--progress)--no-progress[Hide progress]' \
|
|
130
|
+
'(--log-level --debug)*-v[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
131
|
+
'(--log-level --debug)*--verbose[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
132
|
+
'(--log-level -v --verbose -q --quiet)--debug[Show developer diagnostics and trace events on stderr (same as -vvv)]' \
|
|
133
|
+
'(--log-level --debug)-q[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
134
|
+
'(--log-level --debug)--quiet[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
135
|
+
'--dep-trace[Also log trace output from bundled libraries (for bug reports)]' \
|
|
136
|
+
'(--no-color)--color[Keep colors even when output is piped]' \
|
|
137
|
+
'(--color)--no-color[Turn colors off]' \
|
|
138
|
+
'-y[Answer yes to every confirmation instead of asking. Does not choose between candidates]' \
|
|
139
|
+
'--yes[Answer yes to every confirmation instead of asking. Does not choose between candidates]' \
|
|
140
|
+
'-h[Print help (see more with '\''--help'\'')]' \
|
|
141
|
+
'--help[Print help (see more with '\''--help'\'')]' \
|
|
142
|
+
':action -- list\: print the matched game'\''s cheats:((list\:"Print the cheats the database holds for the input ROM"))' \
|
|
143
|
+
&& ret=0
|
|
144
|
+
;;
|
|
145
|
+
(bundle)
|
|
146
|
+
_arguments "${_arguments_options[@]}" : \
|
|
147
|
+
'(-v --verbose --debug -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\: warn\]]:LOG_LEVEL:(off error warn info debug trace)' \
|
|
148
|
+
'-n[Plan the command without changing files or downloading data]' \
|
|
149
|
+
'--dry-run[Plan the command without changing files or downloading data]' \
|
|
150
|
+
'(--jsonl)--json[Print one complete JSON report; progress and diagnostics use stderr]' \
|
|
151
|
+
'(--json)--jsonl[Stream JSON events, including progress, one object per line]' \
|
|
152
|
+
'(--no-progress)--progress[Show progress on stderr (off by default; JSONL includes progress)]' \
|
|
153
|
+
'(--progress)--no-progress[Hide progress]' \
|
|
154
|
+
'(--log-level --debug)*-v[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
155
|
+
'(--log-level --debug)*--verbose[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
156
|
+
'(--log-level -v --verbose -q --quiet)--debug[Show developer diagnostics and trace events on stderr (same as -vvv)]' \
|
|
157
|
+
'(--log-level --debug)-q[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
158
|
+
'(--log-level --debug)--quiet[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
159
|
+
'--dep-trace[Also log trace output from bundled libraries (for bug reports)]' \
|
|
160
|
+
'(--no-color)--color[Keep colors even when output is piped]' \
|
|
161
|
+
'(--color)--no-color[Turn colors off]' \
|
|
162
|
+
'-y[Answer yes to every confirmation instead of asking. Does not choose between candidates]' \
|
|
163
|
+
'--yes[Answer yes to every confirmation instead of asking. Does not choose between candidates]' \
|
|
164
|
+
'-h[Print help]' \
|
|
165
|
+
'--help[Print help]' \
|
|
166
|
+
":: :_rom-weaver__subcmd__bundle_commands" \
|
|
167
|
+
"*::: :->bundle" \
|
|
168
|
+
&& ret=0
|
|
169
|
+
|
|
170
|
+
case $state in
|
|
171
|
+
(bundle)
|
|
172
|
+
words=($line[1] "${words[@]}")
|
|
173
|
+
(( CURRENT += 1 ))
|
|
174
|
+
curcontext="${curcontext%:*:*}:rom-weaver-bundle-command-$line[1]:"
|
|
175
|
+
case $line[1] in
|
|
176
|
+
(create)
|
|
177
|
+
_arguments "${_arguments_options[@]}" : \
|
|
178
|
+
'-i+[ROM the patches apply to. Its checksums and size are read from the file and recorded in the bundle]:INPUT:_files' \
|
|
179
|
+
'--input=[ROM the patches apply to. Its checksums and size are read from the file and recorded in the bundle]:INPUT:_files' \
|
|
180
|
+
'*--assume-in=[Take the ROM'\''s checksum and size on trust rather than reading it, as in crc32=1234abcd,size=1048576 (repeatable, comma-separable)]:ALGO=HEX:_default' \
|
|
181
|
+
'--rom-url=[Where the ROM can be downloaded from. With --input, the local file still supplies the checksums; on its own, the bundle records only this url]:ROM_URL:_default' \
|
|
182
|
+
'--rom-name=[Expected source ROM file name to show and use for output naming; a mismatch is advisory]:ROM_NAME:_default' \
|
|
183
|
+
'--rom-member=[Use this exact archive member or disc track as the bundle ROM target]:ROM_MEMBER:_default' \
|
|
184
|
+
'*--patch=[Patch to list in the bundle. Repeat once per patch, in the order they should be applied]:PATCH:_files' \
|
|
185
|
+
'*--patch-id=[Identifier for the preceding --patch that stays the same across releases, so a replacement keeps its settings]:PATCH_ID:_default' \
|
|
186
|
+
'*--patch-version=[Version of the preceding --patch, in whatever form its author uses]:PATCH_VERSION:_default' \
|
|
187
|
+
'*--patch-name=[Name to show for the preceding --patch]:PATCH_NAME:_default' \
|
|
188
|
+
'*--patch-description=[What the preceding --patch does]:PATCH_DESCRIPTION:_default' \
|
|
189
|
+
'*--patch-author=[Who made the preceding --patch]:PATCH_AUTHOR:_default' \
|
|
190
|
+
'*--patch-label=[Short status note for the preceding --patch, such as beta or recommended]:PATCH_LABEL:_default' \
|
|
191
|
+
'*--patch-optional=[Mark the preceding --patch optional, so it starts switched off and needs --with to run]:PATCH_OPTIONAL:(true false)' \
|
|
192
|
+
'*--patch-source-url=[Where the preceding --patch can be downloaded from. The local file is still read to build the bundle]:PATCH_SOURCE_URL:_default' \
|
|
193
|
+
'*--patch-header=[Whether the preceding --patch applies to the ROM with or without its copier header\: auto, keep, or strip]:PATCH_HEADER:(keep strip auto)' \
|
|
194
|
+
'*--patch-basis=[Override the preceding --patch input rule\: base or previous. Use auto to inherit the bundle rule]:PATCH_BASIS:(auto base previous)' \
|
|
195
|
+
'--default-patch-basis=[Shared input ROM rule recorded in the v2 bundle\: auto, base, or previous \[default\: auto\]]:DEFAULT_PATCH_BASIS:(auto base previous)' \
|
|
196
|
+
'*--patch-expect-in=[Checksum the ROM should have before the preceding --patch runs. Recorded only when it differs from the bundle'\''s ROM checksums (repeatable, comma-separable)]:ALGO=HEX:_default' \
|
|
197
|
+
'*--patch-expect-out=[Checksum the ROM should have after the preceding --patch runs. Recorded only when it differs from the final output checksums (repeatable, comma-separable)]:ALGO=HEX:_default' \
|
|
198
|
+
'*--expect-out=[Checksum the ROM should have once every patch has run, so users can confirm they got the right result (repeatable, comma-separable)]:ALGO=HEX:_default' \
|
|
199
|
+
'--output-name=[File name the bundle suggests for the patched ROM]:OUTPUT_NAME:_default' \
|
|
200
|
+
'--output-header=[Whether the patched ROM should keep its copier header\: auto, keep, or strip]:OUTPUT_HEADER:(keep strip auto)' \
|
|
201
|
+
'*--cheat=[Database cheat to use, by record ID or exact description. Repeat for each cheat]:ID_OR_DESCRIPTION:_default' \
|
|
202
|
+
'--cheat-database=[Directory holding manifest.json and the <system>.json cheat shards. Defaults to \$ROM_WEAVER_CHEAT_DATABASE, then the per-user data directory]:DIR:_files' \
|
|
203
|
+
'--cheat-system=[Console the cheat shard is for (nes, snes, genesis, gameboy, gameboy-color, gba), when the ROM header does not say]:SYS:_default' \
|
|
204
|
+
'--game=[Use this database game ID instead of matching the ROM by checksum or title]:ID:_default' \
|
|
205
|
+
'-o+[Where to write the bundle. Name it rom-weaver-bundle.json, or add .gz or .zst to compress it]:OUTPUT:_files' \
|
|
206
|
+
'--output=[Where to write the bundle. Name it rom-weaver-bundle.json, or add .gz or .zst to compress it]:OUTPUT:_files' \
|
|
207
|
+
'--bundle=[Also pack the bundle and its ROM and patches into one shareable archive, such as release.zip]:BUNDLE:_files' \
|
|
208
|
+
'--bundle-rom=[Pack this file into --bundle as the ROM, while --input supplies the checksums and metadata]:BUNDLE_ROM:_files' \
|
|
209
|
+
'*--checksum=[Which checksums to record for the ROM (repeatable, comma-separable) \[default\: crc32,md5,sha1\]]:ALGO:(crc32 md5 sha1 sha256 blake3 crc32c crc16 adler32)' \
|
|
210
|
+
'*--algo=[Which checksums to record for the ROM (repeatable, comma-separable) \[default\: crc32,md5,sha1\]]:ALGO:(crc32 md5 sha1 sha256 blake3 crc32c crc16 adler32)' \
|
|
211
|
+
'--from=[Build the bundle from a hand-written rom-weaver-bundle.json instead of flags. Use - to read it from stdin]:FILE:_files' \
|
|
212
|
+
'--schema-ref=[Record this \$schema URL in the bundle so editors can validate it. Left out unless asked for]:URL:_default' \
|
|
213
|
+
'-j+[How many threads to use at most. auto uses every core; a format may still use fewer]:auto|N:_default' \
|
|
214
|
+
'--threads=[How many threads to use at most. auto uses every core; a format may still use fewer]:auto|N:_default' \
|
|
215
|
+
'(-v --verbose --debug -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\: warn\]]:LOG_LEVEL:(off error warn info debug trace)' \
|
|
216
|
+
'--allow-cheat-conflicts[Let a later cheat overwrite an earlier one at the same offset instead of failing]' \
|
|
217
|
+
'--no-bundle-rom[Keep the ROM out of --bundle and record only its checksums, so whoever applies the bundle brings their own copy]' \
|
|
218
|
+
'--force[Overwrite the output if it already exists (without this, the command stops instead)]' \
|
|
219
|
+
'-n[Plan the command without changing files or downloading data]' \
|
|
220
|
+
'--dry-run[Plan the command without changing files or downloading data]' \
|
|
221
|
+
'(--jsonl)--json[Print one complete JSON report; progress and diagnostics use stderr]' \
|
|
222
|
+
'(--json)--jsonl[Stream JSON events, including progress, one object per line]' \
|
|
223
|
+
'(--no-progress)--progress[Show progress on stderr (off by default; JSONL includes progress)]' \
|
|
224
|
+
'(--progress)--no-progress[Hide progress]' \
|
|
225
|
+
'(--log-level --debug)*-v[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
226
|
+
'(--log-level --debug)*--verbose[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
227
|
+
'(--log-level -v --verbose -q --quiet)--debug[Show developer diagnostics and trace events on stderr (same as -vvv)]' \
|
|
228
|
+
'(--log-level --debug)-q[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
229
|
+
'(--log-level --debug)--quiet[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
230
|
+
'--dep-trace[Also log trace output from bundled libraries (for bug reports)]' \
|
|
231
|
+
'(--no-color)--color[Keep colors even when output is piped]' \
|
|
232
|
+
'(--color)--no-color[Turn colors off]' \
|
|
233
|
+
'-y[Answer yes to every confirmation instead of asking. Does not choose between candidates]' \
|
|
234
|
+
'--yes[Answer yes to every confirmation instead of asking. Does not choose between candidates]' \
|
|
235
|
+
'-h[Print help (see more with '\''--help'\'')]' \
|
|
236
|
+
'--help[Print help (see more with '\''--help'\'')]' \
|
|
237
|
+
&& ret=0
|
|
238
|
+
;;
|
|
239
|
+
(parse)
|
|
240
|
+
_arguments "${_arguments_options[@]}" : \
|
|
241
|
+
'-i+[Bundle file, or an archive with a bundle at its root]:INPUT:_files' \
|
|
242
|
+
'--input=[Bundle file, or an archive with a bundle at its root]:INPUT:_files' \
|
|
243
|
+
'*-s+[Handle only the bundle entries whose file name matches this exact name, prefix, or glob (repeatable)]:SELECT:_default' \
|
|
244
|
+
'*--select=[Handle only the bundle entries whose file name matches this exact name, prefix, or glob (repeatable)]:SELECT:_default' \
|
|
245
|
+
'*--filter=[Handle only the bundle'\''s rom entry or only its patch entries (repeatable, comma-separable)]:FILTER:(rom patch)' \
|
|
246
|
+
'-o+[Directory to unpack the bundle'\''s files into. Without it, files packed in an archive are listed but not written out]:DIR:_files' \
|
|
247
|
+
'--output=[Directory to unpack the bundle'\''s files into. Without it, files packed in an archive are listed but not written out]:DIR:_files' \
|
|
248
|
+
'-j+[How many threads to use at most. auto uses every core; a format may still use fewer]:auto|N:_default' \
|
|
249
|
+
'--threads=[How many threads to use at most. auto uses every core; a format may still use fewer]:auto|N:_default' \
|
|
250
|
+
'(-v --verbose --debug -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\: warn\]]:LOG_LEVEL:(off error warn info debug trace)' \
|
|
251
|
+
'--no-extract[Report what the bundle contains without unpacking any of it]' \
|
|
252
|
+
'-n[Plan the command without changing files or downloading data]' \
|
|
253
|
+
'--dry-run[Plan the command without changing files or downloading data]' \
|
|
254
|
+
'(--jsonl)--json[Print one complete JSON report; progress and diagnostics use stderr]' \
|
|
255
|
+
'(--json)--jsonl[Stream JSON events, including progress, one object per line]' \
|
|
256
|
+
'(--no-progress)--progress[Show progress on stderr (off by default; JSONL includes progress)]' \
|
|
257
|
+
'(--progress)--no-progress[Hide progress]' \
|
|
258
|
+
'(--log-level --debug)*-v[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
259
|
+
'(--log-level --debug)*--verbose[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
260
|
+
'(--log-level -v --verbose -q --quiet)--debug[Show developer diagnostics and trace events on stderr (same as -vvv)]' \
|
|
261
|
+
'(--log-level --debug)-q[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
262
|
+
'(--log-level --debug)--quiet[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
263
|
+
'--dep-trace[Also log trace output from bundled libraries (for bug reports)]' \
|
|
264
|
+
'(--no-color)--color[Keep colors even when output is piped]' \
|
|
265
|
+
'(--color)--no-color[Turn colors off]' \
|
|
266
|
+
'-y[Answer yes to every confirmation instead of asking. Does not choose between candidates]' \
|
|
267
|
+
'--yes[Answer yes to every confirmation instead of asking. Does not choose between candidates]' \
|
|
268
|
+
'-h[Print help (see more with '\''--help'\'')]' \
|
|
269
|
+
'--help[Print help (see more with '\''--help'\'')]' \
|
|
270
|
+
&& ret=0
|
|
271
|
+
;;
|
|
272
|
+
(schema)
|
|
273
|
+
_arguments "${_arguments_options[@]}" : \
|
|
274
|
+
'(-v --verbose --debug -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\: warn\]]:LOG_LEVEL:(off error warn info debug trace)' \
|
|
275
|
+
'-n[Plan the command without changing files or downloading data]' \
|
|
276
|
+
'--dry-run[Plan the command without changing files or downloading data]' \
|
|
277
|
+
'(--jsonl)--json[Print one complete JSON report; progress and diagnostics use stderr]' \
|
|
278
|
+
'(--json)--jsonl[Stream JSON events, including progress, one object per line]' \
|
|
279
|
+
'(--no-progress)--progress[Show progress on stderr (off by default; JSONL includes progress)]' \
|
|
280
|
+
'(--progress)--no-progress[Hide progress]' \
|
|
281
|
+
'(--log-level --debug)*-v[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
282
|
+
'(--log-level --debug)*--verbose[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
283
|
+
'(--log-level -v --verbose -q --quiet)--debug[Show developer diagnostics and trace events on stderr (same as -vvv)]' \
|
|
284
|
+
'(--log-level --debug)-q[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
285
|
+
'(--log-level --debug)--quiet[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
286
|
+
'--dep-trace[Also log trace output from bundled libraries (for bug reports)]' \
|
|
287
|
+
'(--no-color)--color[Keep colors even when output is piped]' \
|
|
288
|
+
'(--color)--no-color[Turn colors off]' \
|
|
289
|
+
'-y[Answer yes to every confirmation instead of asking. Does not choose between candidates]' \
|
|
290
|
+
'--yes[Answer yes to every confirmation instead of asking. Does not choose between candidates]' \
|
|
291
|
+
'-h[Print help (see more with '\''--help'\'')]' \
|
|
292
|
+
'--help[Print help (see more with '\''--help'\'')]' \
|
|
293
|
+
&& ret=0
|
|
294
|
+
;;
|
|
295
|
+
(help)
|
|
296
|
+
_arguments "${_arguments_options[@]}" : \
|
|
297
|
+
":: :_rom-weaver__subcmd__bundle__subcmd__help_commands" \
|
|
298
|
+
"*::: :->help" \
|
|
299
|
+
&& ret=0
|
|
300
|
+
|
|
301
|
+
case $state in
|
|
302
|
+
(help)
|
|
303
|
+
words=($line[1] "${words[@]}")
|
|
304
|
+
(( CURRENT += 1 ))
|
|
305
|
+
curcontext="${curcontext%:*:*}:rom-weaver-bundle-help-command-$line[1]:"
|
|
306
|
+
case $line[1] in
|
|
307
|
+
(create)
|
|
308
|
+
_arguments "${_arguments_options[@]}" : \
|
|
309
|
+
&& ret=0
|
|
310
|
+
;;
|
|
311
|
+
(parse)
|
|
312
|
+
_arguments "${_arguments_options[@]}" : \
|
|
313
|
+
&& ret=0
|
|
314
|
+
;;
|
|
315
|
+
(schema)
|
|
316
|
+
_arguments "${_arguments_options[@]}" : \
|
|
317
|
+
&& ret=0
|
|
318
|
+
;;
|
|
319
|
+
(help)
|
|
320
|
+
_arguments "${_arguments_options[@]}" : \
|
|
321
|
+
&& ret=0
|
|
322
|
+
;;
|
|
323
|
+
esac
|
|
324
|
+
;;
|
|
325
|
+
esac
|
|
326
|
+
;;
|
|
327
|
+
esac
|
|
328
|
+
;;
|
|
329
|
+
esac
|
|
330
|
+
;;
|
|
331
|
+
(plan-extract-batch)
|
|
332
|
+
_arguments "${_arguments_options[@]}" : \
|
|
333
|
+
'*--job-size=[Source size in bytes for one job; repeat once per job, in input order]:BYTES:_default' \
|
|
334
|
+
'-j+[How many threads to use at most. auto uses every core; a format may still use fewer]:auto|N:_default' \
|
|
335
|
+
'--threads=[How many threads to use at most. auto uses every core; a format may still use fewer]:auto|N:_default' \
|
|
336
|
+
'--max-concurrency=[Hard cap on jobs running at once; defaults to the thread budget]:MAX_CONCURRENCY:_default' \
|
|
337
|
+
'--total-memory-bytes=[Total memory budget concurrent jobs may reserve (e.g. browser device memory); defaults to the platform'\''s physical memory]:TOTAL_MEMORY_BYTES:_default' \
|
|
338
|
+
'--memory-ceiling-bytes=[Combined working-set ceiling to plan against, used verbatim (no fraction/clamp). The browser passes its own resolved, mobile-capped ceiling here; when set it overrides --total-memory-bytes]:MEMORY_CEILING_BYTES:_default' \
|
|
339
|
+
'(-v --verbose --debug -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\: warn\]]:LOG_LEVEL:(off error warn info debug trace)' \
|
|
340
|
+
'-n[Plan the command without changing files or downloading data]' \
|
|
341
|
+
'--dry-run[Plan the command without changing files or downloading data]' \
|
|
342
|
+
'(--jsonl)--json[Print one complete JSON report; progress and diagnostics use stderr]' \
|
|
343
|
+
'(--json)--jsonl[Stream JSON events, including progress, one object per line]' \
|
|
344
|
+
'(--no-progress)--progress[Show progress on stderr (off by default; JSONL includes progress)]' \
|
|
345
|
+
'(--progress)--no-progress[Hide progress]' \
|
|
346
|
+
'(--log-level --debug)*-v[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
347
|
+
'(--log-level --debug)*--verbose[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
348
|
+
'(--log-level -v --verbose -q --quiet)--debug[Show developer diagnostics and trace events on stderr (same as -vvv)]' \
|
|
349
|
+
'(--log-level --debug)-q[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
350
|
+
'(--log-level --debug)--quiet[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
351
|
+
'--dep-trace[Also log trace output from bundled libraries (for bug reports)]' \
|
|
352
|
+
'(--no-color)--color[Keep colors even when output is piped]' \
|
|
353
|
+
'(--color)--no-color[Turn colors off]' \
|
|
354
|
+
'-y[Answer yes to every confirmation instead of asking. Does not choose between candidates]' \
|
|
355
|
+
'--yes[Answer yes to every confirmation instead of asking. Does not choose between candidates]' \
|
|
356
|
+
'-h[Print help]' \
|
|
357
|
+
'--help[Print help]' \
|
|
358
|
+
&& ret=0
|
|
359
|
+
;;
|
|
360
|
+
(completions)
|
|
361
|
+
_arguments "${_arguments_options[@]}" : \
|
|
362
|
+
'(-v --verbose --debug -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\: warn\]]:LOG_LEVEL:(off error warn info debug trace)' \
|
|
363
|
+
'-n[Plan the command without changing files or downloading data]' \
|
|
364
|
+
'--dry-run[Plan the command without changing files or downloading data]' \
|
|
365
|
+
'(--jsonl)--json[Print one complete JSON report; progress and diagnostics use stderr]' \
|
|
366
|
+
'(--json)--jsonl[Stream JSON events, including progress, one object per line]' \
|
|
367
|
+
'(--no-progress)--progress[Show progress on stderr (off by default; JSONL includes progress)]' \
|
|
368
|
+
'(--progress)--no-progress[Hide progress]' \
|
|
369
|
+
'(--log-level --debug)*-v[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
370
|
+
'(--log-level --debug)*--verbose[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
371
|
+
'(--log-level -v --verbose -q --quiet)--debug[Show developer diagnostics and trace events on stderr (same as -vvv)]' \
|
|
372
|
+
'(--log-level --debug)-q[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
373
|
+
'(--log-level --debug)--quiet[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
374
|
+
'--dep-trace[Also log trace output from bundled libraries (for bug reports)]' \
|
|
375
|
+
'(--no-color)--color[Keep colors even when output is piped]' \
|
|
376
|
+
'(--color)--no-color[Turn colors off]' \
|
|
377
|
+
'-y[Answer yes to every confirmation instead of asking. Does not choose between candidates]' \
|
|
378
|
+
'--yes[Answer yes to every confirmation instead of asking. Does not choose between candidates]' \
|
|
379
|
+
'-h[Print help (see more with '\''--help'\'')]' \
|
|
380
|
+
'--help[Print help (see more with '\''--help'\'')]' \
|
|
381
|
+
':shell -- Shell to print completions for:(bash elvish fish powershell zsh)' \
|
|
382
|
+
&& ret=0
|
|
383
|
+
;;
|
|
384
|
+
(man)
|
|
385
|
+
_arguments "${_arguments_options[@]}" : \
|
|
386
|
+
'--man-dir=[Directory to install pages into]:DIR:_files' \
|
|
387
|
+
'(-v --verbose --debug -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\: warn\]]:LOG_LEVEL:(off error warn info debug trace)' \
|
|
388
|
+
'--install[Install the generated pages instead of printing one]' \
|
|
389
|
+
'-n[Plan the command without changing files or downloading data]' \
|
|
390
|
+
'--dry-run[Plan the command without changing files or downloading data]' \
|
|
391
|
+
'(--jsonl)--json[Print one complete JSON report; progress and diagnostics use stderr]' \
|
|
392
|
+
'(--json)--jsonl[Stream JSON events, including progress, one object per line]' \
|
|
393
|
+
'(--no-progress)--progress[Show progress on stderr (off by default; JSONL includes progress)]' \
|
|
394
|
+
'(--progress)--no-progress[Hide progress]' \
|
|
395
|
+
'(--log-level --debug)*-v[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
396
|
+
'(--log-level --debug)*--verbose[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
397
|
+
'(--log-level -v --verbose -q --quiet)--debug[Show developer diagnostics and trace events on stderr (same as -vvv)]' \
|
|
398
|
+
'(--log-level --debug)-q[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
399
|
+
'(--log-level --debug)--quiet[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
400
|
+
'--dep-trace[Also log trace output from bundled libraries (for bug reports)]' \
|
|
401
|
+
'(--no-color)--color[Keep colors even when output is piped]' \
|
|
402
|
+
'(--color)--no-color[Turn colors off]' \
|
|
403
|
+
'-y[Answer yes to every confirmation instead of asking. Does not choose between candidates]' \
|
|
404
|
+
'--yes[Answer yes to every confirmation instead of asking. Does not choose between candidates]' \
|
|
405
|
+
'-h[Print help (see more with '\''--help'\'')]' \
|
|
406
|
+
'--help[Print help (see more with '\''--help'\'')]' \
|
|
407
|
+
'*::command -- Command path to print:_default' \
|
|
408
|
+
&& ret=0
|
|
409
|
+
;;
|
|
410
|
+
(formats)
|
|
411
|
+
_arguments "${_arguments_options[@]}" : \
|
|
412
|
+
'(-v --verbose --debug -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\: warn\]]:LOG_LEVEL:(off error warn info debug trace)' \
|
|
413
|
+
'-n[Plan the command without changing files or downloading data]' \
|
|
414
|
+
'--dry-run[Plan the command without changing files or downloading data]' \
|
|
415
|
+
'(--jsonl)--json[Print one complete JSON report; progress and diagnostics use stderr]' \
|
|
416
|
+
'(--json)--jsonl[Stream JSON events, including progress, one object per line]' \
|
|
417
|
+
'(--no-progress)--progress[Show progress on stderr (off by default; JSONL includes progress)]' \
|
|
418
|
+
'(--progress)--no-progress[Hide progress]' \
|
|
419
|
+
'(--log-level --debug)*-v[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
420
|
+
'(--log-level --debug)*--verbose[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
421
|
+
'(--log-level -v --verbose -q --quiet)--debug[Show developer diagnostics and trace events on stderr (same as -vvv)]' \
|
|
422
|
+
'(--log-level --debug)-q[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
423
|
+
'(--log-level --debug)--quiet[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
424
|
+
'--dep-trace[Also log trace output from bundled libraries (for bug reports)]' \
|
|
425
|
+
'(--no-color)--color[Keep colors even when output is piped]' \
|
|
426
|
+
'(--color)--no-color[Turn colors off]' \
|
|
427
|
+
'-y[Answer yes to every confirmation instead of asking. Does not choose between candidates]' \
|
|
428
|
+
'--yes[Answer yes to every confirmation instead of asking. Does not choose between candidates]' \
|
|
429
|
+
'-h[Print help (see more with '\''--help'\'')]' \
|
|
430
|
+
'--help[Print help (see more with '\''--help'\'')]' \
|
|
431
|
+
&& ret=0
|
|
432
|
+
;;
|
|
433
|
+
(probe)
|
|
71
434
|
_arguments "${_arguments_options[@]}" : \
|
|
72
|
-
'-i+[File to identify. Use - to read from stdin]:INPUT:_files' \
|
|
73
|
-
'--input=[File to identify. Use - to read from stdin]:INPUT:_files' \
|
|
74
435
|
'*-s+[Pick which file inside the archive to use, by exact name, prefix, or glob (repeatable)]:SELECT:_default' \
|
|
75
436
|
'*--select=[Pick which file inside the archive to use, by exact name, prefix, or glob (repeatable)]:SELECT:_default' \
|
|
76
437
|
'*--filter=[Consider only files that look like a rom or a patch, judged by extension (repeatable, comma-separable)]:FILTER:(rom patch)' \
|
|
77
|
-
'
|
|
438
|
+
'-i+[File to identify. Use - to read from stdin]:INPUT:_files' \
|
|
439
|
+
'--input=[File to identify. Use - to read from stdin]:INPUT:_files' \
|
|
440
|
+
'(-v --verbose --debug -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\: warn\]]:LOG_LEVEL:(off error warn info debug trace)' \
|
|
78
441
|
'--no-extract[Do not look inside archives; identify the file itself]' \
|
|
79
442
|
'--no-ignore[Also consider files normally skipped inside archives\: readmes, images, checksum sidecars, and OS clutter such as .DS_Store]' \
|
|
80
|
-
'
|
|
81
|
-
'
|
|
443
|
+
'-n[Plan the command without changing files or downloading data]' \
|
|
444
|
+
'--dry-run[Plan the command without changing files or downloading data]' \
|
|
445
|
+
'(--jsonl)--json[Print one complete JSON report; progress and diagnostics use stderr]' \
|
|
446
|
+
'(--json)--jsonl[Stream JSON events, including progress, one object per line]' \
|
|
447
|
+
'(--no-progress)--progress[Show progress on stderr (off by default; JSONL includes progress)]' \
|
|
82
448
|
'(--progress)--no-progress[Hide progress]' \
|
|
83
|
-
'(--log-level
|
|
84
|
-
'(--log-level
|
|
85
|
-
'(--log-level -v --verbose
|
|
86
|
-
'(--log-level
|
|
449
|
+
'(--log-level --debug)*-v[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
450
|
+
'(--log-level --debug)*--verbose[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
451
|
+
'(--log-level -v --verbose -q --quiet)--debug[Show developer diagnostics and trace events on stderr (same as -vvv)]' \
|
|
452
|
+
'(--log-level --debug)-q[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
453
|
+
'(--log-level --debug)--quiet[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
87
454
|
'--dep-trace[Also log trace output from bundled libraries (for bug reports)]' \
|
|
88
455
|
'(--no-color)--color[Keep colors even when output is piped]' \
|
|
89
456
|
'(--color)--no-color[Turn colors off]' \
|
|
@@ -91,35 +458,30 @@ _arguments "${_arguments_options[@]}" : \
|
|
|
91
458
|
'--yes[Answer yes to every confirmation instead of asking. Does not choose between candidates]' \
|
|
92
459
|
'-h[Print help (see more with '\''--help'\'')]' \
|
|
93
460
|
'--help[Print help (see more with '\''--help'\'')]' \
|
|
461
|
+
'::file -- File input; an alternative to -i, --input:_files' \
|
|
94
462
|
&& ret=0
|
|
95
463
|
;;
|
|
96
|
-
(
|
|
464
|
+
(inspect)
|
|
97
465
|
_arguments "${_arguments_options[@]}" : \
|
|
98
|
-
'
|
|
99
|
-
'
|
|
100
|
-
'
|
|
101
|
-
'
|
|
102
|
-
'
|
|
103
|
-
'-
|
|
104
|
-
'--
|
|
105
|
-
'*--checksum=[Also hash every extracted file (repeatable, comma-separable)]:ALGO:(crc32 md5 sha1 sha256 blake3 crc32c crc16 adler32)' \
|
|
106
|
-
'*--algo=[Also hash every extracted file (repeatable, comma-separable)]:ALGO:(crc32 md5 sha1 sha256 blake3 crc32c crc16 adler32)' \
|
|
107
|
-
'(--checksum)*--checksum-rom=[Like --checksum, but hash only the ROMs and skip sidecar files. Cannot be combined with --checksum]:ALGO:(crc32 md5 sha1 sha256 blake3 crc32c crc16 adler32)' \
|
|
108
|
-
'-j+[How many threads to use at most. auto uses every core; a format may still use fewer]:auto|N:_default' \
|
|
109
|
-
'--threads=[How many threads to use at most. auto uses every core; a format may still use fewer]:auto|N:_default' \
|
|
110
|
-
'(-v --verbose -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\: off\]]:LOG_LEVEL:(off error warn info debug trace)' \
|
|
111
|
-
'--split-bin[Write a CD-format CHD as a CUE plus one BIN per track (*.trackNN.bin), rather than one merged BIN]' \
|
|
466
|
+
'*-s+[Pick which file inside the archive to use, by exact name, prefix, or glob (repeatable)]:SELECT:_default' \
|
|
467
|
+
'*--select=[Pick which file inside the archive to use, by exact name, prefix, or glob (repeatable)]:SELECT:_default' \
|
|
468
|
+
'*--filter=[Consider only files that look like a rom or a patch, judged by extension (repeatable, comma-separable)]:FILTER:(rom patch)' \
|
|
469
|
+
'-i+[File to identify. Use - to read from stdin]:INPUT:_files' \
|
|
470
|
+
'--input=[File to identify. Use - to read from stdin]:INPUT:_files' \
|
|
471
|
+
'(-v --verbose --debug -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\: warn\]]:LOG_LEVEL:(off error warn info debug trace)' \
|
|
472
|
+
'--no-extract[Do not look inside archives; identify the file itself]' \
|
|
112
473
|
'--no-ignore[Also consider files normally skipped inside archives\: readmes, images, checksum sidecars, and OS clutter such as .DS_Store]' \
|
|
113
|
-
'
|
|
114
|
-
'--
|
|
115
|
-
'--
|
|
116
|
-
'--json[
|
|
117
|
-
'(--no-progress)--progress[Show progress
|
|
474
|
+
'-n[Plan the command without changing files or downloading data]' \
|
|
475
|
+
'--dry-run[Plan the command without changing files or downloading data]' \
|
|
476
|
+
'(--jsonl)--json[Print one complete JSON report; progress and diagnostics use stderr]' \
|
|
477
|
+
'(--json)--jsonl[Stream JSON events, including progress, one object per line]' \
|
|
478
|
+
'(--no-progress)--progress[Show progress on stderr (off by default; JSONL includes progress)]' \
|
|
118
479
|
'(--progress)--no-progress[Hide progress]' \
|
|
119
|
-
'(--log-level
|
|
120
|
-
'(--log-level
|
|
121
|
-
'(--log-level -v --verbose
|
|
122
|
-
'(--log-level
|
|
480
|
+
'(--log-level --debug)*-v[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
481
|
+
'(--log-level --debug)*--verbose[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
482
|
+
'(--log-level -v --verbose -q --quiet)--debug[Show developer diagnostics and trace events on stderr (same as -vvv)]' \
|
|
483
|
+
'(--log-level --debug)-q[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
484
|
+
'(--log-level --debug)--quiet[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
123
485
|
'--dep-trace[Also log trace output from bundled libraries (for bug reports)]' \
|
|
124
486
|
'(--no-color)--color[Keep colors even when output is piped]' \
|
|
125
487
|
'(--color)--no-color[Turn colors off]' \
|
|
@@ -127,12 +489,11 @@ _arguments "${_arguments_options[@]}" : \
|
|
|
127
489
|
'--yes[Answer yes to every confirmation instead of asking. Does not choose between candidates]' \
|
|
128
490
|
'-h[Print help (see more with '\''--help'\'')]' \
|
|
129
491
|
'--help[Print help (see more with '\''--help'\'')]' \
|
|
492
|
+
'::file -- File input; an alternative to -i, --input:_files' \
|
|
130
493
|
&& ret=0
|
|
131
494
|
;;
|
|
132
495
|
(checksum)
|
|
133
496
|
_arguments "${_arguments_options[@]}" : \
|
|
134
|
-
'-i+[File to hash. Use - to read from stdin]:INPUT:_files' \
|
|
135
|
-
'--input=[File to hash. Use - to read from stdin]:INPUT:_files' \
|
|
136
497
|
'*-a+[Which checksum to compute (repeatable, comma-separable)]:ALGO:(crc32 md5 sha1 sha256 blake3 crc32c crc16 adler32)' \
|
|
137
498
|
'*--algo=[Which checksum to compute (repeatable, comma-separable)]:ALGO:(crc32 md5 sha1 sha256 blake3 crc32c crc16 adler32)' \
|
|
138
499
|
'*--checksum=[Which checksum to compute (repeatable, comma-separable)]:ALGO:(crc32 md5 sha1 sha256 blake3 crc32c crc16 adler32)' \
|
|
@@ -143,18 +504,25 @@ _arguments "${_arguments_options[@]}" : \
|
|
|
143
504
|
'--length=[How many bytes to hash from --start. Defaults to the rest of the file]:BYTES:_default' \
|
|
144
505
|
'-j+[How many threads to use at most. auto uses every core; a format may still use fewer]:auto|N:_default' \
|
|
145
506
|
'--threads=[How many threads to use at most. auto uses every core; a format may still use fewer]:auto|N:_default' \
|
|
146
|
-
'
|
|
507
|
+
'-i+[File to hash. Use - to read from stdin]:INPUT:_files' \
|
|
508
|
+
'--input=[File to hash. Use - to read from stdin]:INPUT:_files' \
|
|
509
|
+
'(-v --verbose --debug -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\: warn\]]:LOG_LEVEL:(off error warn info debug trace)' \
|
|
147
510
|
'--no-extract[Do not look inside archives; hash the file itself]' \
|
|
148
511
|
'--no-ignore[Also consider files normally skipped inside archives\: readmes, images, checksum sidecars, and OS clutter such as .DS_Store]' \
|
|
149
512
|
'--no-trim-fix[Skip the extra checksums computed for how a trimmable ROM would hash trimmed or untrimmed]' \
|
|
150
513
|
'--probe[Also report the platform of the hashed bytes, and fail if it matches no known platform]' \
|
|
151
|
-
'--json[Print
|
|
152
|
-
'
|
|
514
|
+
'(--json --jsonl -n --dry-run)--digest[Print only the digest; requires one --algo (no labels or elapsed time)]' \
|
|
515
|
+
'-n[Plan the command without changing files or downloading data]' \
|
|
516
|
+
'--dry-run[Plan the command without changing files or downloading data]' \
|
|
517
|
+
'(--jsonl)--json[Print one complete JSON report; progress and diagnostics use stderr]' \
|
|
518
|
+
'(--json)--jsonl[Stream JSON events, including progress, one object per line]' \
|
|
519
|
+
'(--no-progress)--progress[Show progress on stderr (off by default; JSONL includes progress)]' \
|
|
153
520
|
'(--progress)--no-progress[Hide progress]' \
|
|
154
|
-
'(--log-level
|
|
155
|
-
'(--log-level
|
|
156
|
-
'(--log-level -v --verbose
|
|
157
|
-
'(--log-level
|
|
521
|
+
'(--log-level --debug)*-v[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
522
|
+
'(--log-level --debug)*--verbose[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
523
|
+
'(--log-level -v --verbose -q --quiet)--debug[Show developer diagnostics and trace events on stderr (same as -vvv)]' \
|
|
524
|
+
'(--log-level --debug)-q[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
525
|
+
'(--log-level --debug)--quiet[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
158
526
|
'--dep-trace[Also log trace output from bundled libraries (for bug reports)]' \
|
|
159
527
|
'(--no-color)--color[Keep colors even when output is piped]' \
|
|
160
528
|
'(--color)--no-color[Turn colors off]' \
|
|
@@ -162,6 +530,7 @@ _arguments "${_arguments_options[@]}" : \
|
|
|
162
530
|
'--yes[Answer yes to every confirmation instead of asking. Does not choose between candidates]' \
|
|
163
531
|
'-h[Print help (see more with '\''--help'\'')]' \
|
|
164
532
|
'--help[Print help (see more with '\''--help'\'')]' \
|
|
533
|
+
'::file -- File input; an alternative to -i, --input:_files' \
|
|
165
534
|
&& ret=0
|
|
166
535
|
;;
|
|
167
536
|
(identify)
|
|
@@ -173,25 +542,32 @@ _arguments "${_arguments_options[@]}" : \
|
|
|
173
542
|
'*-d+[RWFP1 identify pack, raw or Brotli, to search instead of the built-in data (repeatable)]:PACK:_files' \
|
|
174
543
|
'*--database=[RWFP1 identify pack, raw or Brotli, to search instead of the built-in data (repeatable)]:PACK:_files' \
|
|
175
544
|
'--system=[Search only this system'\''s pack. Takes a canonical platform name or a common alias (e.g. \`snes\`, \`psx\`)]:SYSTEM:_default' \
|
|
545
|
+
'--name=[Search the database for games whose name matches QUERY, instead of identifying a file or checksum]:QUERY:_default' \
|
|
546
|
+
'--title-index=[Search a cross-platform title index with --name instead of database packs]:JSON:_files' \
|
|
547
|
+
'--limit=[Maximum number of matches --name returns \[default\: 50\]]:N:_default' \
|
|
176
548
|
'--database-dir=[Directory of installed identify packs (*.pack plus optional catalog.json). Defaults to the per-user data directory]:DIR:_files' \
|
|
177
549
|
'*-s+[Pick which file inside the archive to use, by exact name, prefix, or glob (repeatable)]:SELECT:_default' \
|
|
178
550
|
'*--select=[Pick which file inside the archive to use, by exact name, prefix, or glob (repeatable)]:SELECT:_default' \
|
|
179
551
|
'*--filter=[Consider only files that look like a rom or a patch, judged by extension (repeatable, comma-separable)]:FILTER:(rom patch)' \
|
|
180
552
|
'-j+[How many threads to use at most. auto uses every core; a format may still use fewer]:auto|N:_default' \
|
|
181
553
|
'--threads=[How many threads to use at most. auto uses every core; a format may still use fewer]:auto|N:_default' \
|
|
182
|
-
'(-v --verbose -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\:
|
|
554
|
+
'(-v --verbose --debug -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\: warn\]]:LOG_LEVEL:(off error warn info debug trace)' \
|
|
183
555
|
'--offline[Assert that identify performs no network access (it never does natively; this flag records the guarantee)]' \
|
|
184
556
|
'--exhaustive-database-search[Search every installed pack instead of only the packs the detected platform routes to]' \
|
|
185
557
|
'--no-extract[Do not look inside archives; identify the file itself]' \
|
|
186
558
|
'--no-ignore[Also consider files normally skipped inside archives\: readmes, images, checksum sidecars, and OS clutter such as .DS_Store]' \
|
|
187
559
|
'--no-trim-fix[Skip extra checksums for trimmed and untrimmed ROM forms]' \
|
|
188
|
-
'
|
|
189
|
-
'
|
|
560
|
+
'-n[Plan the command without changing files or downloading data]' \
|
|
561
|
+
'--dry-run[Plan the command without changing files or downloading data]' \
|
|
562
|
+
'(--jsonl)--json[Print one complete JSON report; progress and diagnostics use stderr]' \
|
|
563
|
+
'(--json)--jsonl[Stream JSON events, including progress, one object per line]' \
|
|
564
|
+
'(--no-progress)--progress[Show progress on stderr (off by default; JSONL includes progress)]' \
|
|
190
565
|
'(--progress)--no-progress[Hide progress]' \
|
|
191
|
-
'(--log-level
|
|
192
|
-
'(--log-level
|
|
193
|
-
'(--log-level -v --verbose
|
|
194
|
-
'(--log-level
|
|
566
|
+
'(--log-level --debug)*-v[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
567
|
+
'(--log-level --debug)*--verbose[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
568
|
+
'(--log-level -v --verbose -q --quiet)--debug[Show developer diagnostics and trace events on stderr (same as -vvv)]' \
|
|
569
|
+
'(--log-level --debug)-q[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
570
|
+
'(--log-level --debug)--quiet[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
195
571
|
'--dep-trace[Also log trace output from bundled libraries (for bug reports)]' \
|
|
196
572
|
'(--no-color)--color[Keep colors even when output is piped]' \
|
|
197
573
|
'(--color)--no-color[Turn colors off]' \
|
|
@@ -199,26 +575,31 @@ _arguments "${_arguments_options[@]}" : \
|
|
|
199
575
|
'--yes[Answer yes to every confirmation instead of asking. Does not choose between candidates]' \
|
|
200
576
|
'-h[Print help (see more with '\''--help'\'')]' \
|
|
201
577
|
'--help[Print help (see more with '\''--help'\'')]' \
|
|
578
|
+
'::file -- File input; an alternative to -i, --input:_files' \
|
|
202
579
|
":: :_rom-weaver__subcmd__identify_commands" \
|
|
203
580
|
"*::: :->identify" \
|
|
204
581
|
&& ret=0
|
|
205
582
|
|
|
206
583
|
case $state in
|
|
207
584
|
(identify)
|
|
208
|
-
words=($line[
|
|
585
|
+
words=($line[2] "${words[@]}")
|
|
209
586
|
(( CURRENT += 1 ))
|
|
210
|
-
curcontext="${curcontext%:*:*}:rom-weaver-identify-command-$line[
|
|
211
|
-
case $line[
|
|
587
|
+
curcontext="${curcontext%:*:*}:rom-weaver-identify-command-$line[2]:"
|
|
588
|
+
case $line[2] in
|
|
212
589
|
(database)
|
|
213
590
|
_arguments "${_arguments_options[@]}" : \
|
|
214
|
-
'(-v --verbose -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\:
|
|
215
|
-
'
|
|
216
|
-
'
|
|
591
|
+
'(-v --verbose --debug -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\: warn\]]:LOG_LEVEL:(off error warn info debug trace)' \
|
|
592
|
+
'-n[Plan the command without changing files or downloading data]' \
|
|
593
|
+
'--dry-run[Plan the command without changing files or downloading data]' \
|
|
594
|
+
'(--jsonl)--json[Print one complete JSON report; progress and diagnostics use stderr]' \
|
|
595
|
+
'(--json)--jsonl[Stream JSON events, including progress, one object per line]' \
|
|
596
|
+
'(--no-progress)--progress[Show progress on stderr (off by default; JSONL includes progress)]' \
|
|
217
597
|
'(--progress)--no-progress[Hide progress]' \
|
|
218
|
-
'(--log-level
|
|
219
|
-
'(--log-level
|
|
220
|
-
'(--log-level -v --verbose
|
|
221
|
-
'(--log-level
|
|
598
|
+
'(--log-level --debug)*-v[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
599
|
+
'(--log-level --debug)*--verbose[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
600
|
+
'(--log-level -v --verbose -q --quiet)--debug[Show developer diagnostics and trace events on stderr (same as -vvv)]' \
|
|
601
|
+
'(--log-level --debug)-q[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
602
|
+
'(--log-level --debug)--quiet[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
222
603
|
'--dep-trace[Also log trace output from bundled libraries (for bug reports)]' \
|
|
223
604
|
'(--no-color)--color[Keep colors even when output is piped]' \
|
|
224
605
|
'(--color)--no-color[Turn colors off]' \
|
|
@@ -239,14 +620,18 @@ _arguments "${_arguments_options[@]}" : \
|
|
|
239
620
|
(list)
|
|
240
621
|
_arguments "${_arguments_options[@]}" : \
|
|
241
622
|
'--database-dir=[Identify database directory. Defaults to the per-user data directory]:DIR:_files' \
|
|
242
|
-
'(-v --verbose -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\:
|
|
243
|
-
'
|
|
244
|
-
'
|
|
623
|
+
'(-v --verbose --debug -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\: warn\]]:LOG_LEVEL:(off error warn info debug trace)' \
|
|
624
|
+
'-n[Plan the command without changing files or downloading data]' \
|
|
625
|
+
'--dry-run[Plan the command without changing files or downloading data]' \
|
|
626
|
+
'(--jsonl)--json[Print one complete JSON report; progress and diagnostics use stderr]' \
|
|
627
|
+
'(--json)--jsonl[Stream JSON events, including progress, one object per line]' \
|
|
628
|
+
'(--no-progress)--progress[Show progress on stderr (off by default; JSONL includes progress)]' \
|
|
245
629
|
'(--progress)--no-progress[Hide progress]' \
|
|
246
|
-
'(--log-level
|
|
247
|
-
'(--log-level
|
|
248
|
-
'(--log-level -v --verbose
|
|
249
|
-
'(--log-level
|
|
630
|
+
'(--log-level --debug)*-v[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
631
|
+
'(--log-level --debug)*--verbose[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
632
|
+
'(--log-level -v --verbose -q --quiet)--debug[Show developer diagnostics and trace events on stderr (same as -vvv)]' \
|
|
633
|
+
'(--log-level --debug)-q[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
634
|
+
'(--log-level --debug)--quiet[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
250
635
|
'--dep-trace[Also log trace output from bundled libraries (for bug reports)]' \
|
|
251
636
|
'(--no-color)--color[Keep colors even when output is piped]' \
|
|
252
637
|
'(--color)--no-color[Turn colors off]' \
|
|
@@ -259,14 +644,18 @@ _arguments "${_arguments_options[@]}" : \
|
|
|
259
644
|
(status)
|
|
260
645
|
_arguments "${_arguments_options[@]}" : \
|
|
261
646
|
'--database-dir=[Identify database directory. Defaults to the per-user data directory]:DIR:_files' \
|
|
262
|
-
'(-v --verbose -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\:
|
|
263
|
-
'
|
|
264
|
-
'
|
|
647
|
+
'(-v --verbose --debug -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\: warn\]]:LOG_LEVEL:(off error warn info debug trace)' \
|
|
648
|
+
'-n[Plan the command without changing files or downloading data]' \
|
|
649
|
+
'--dry-run[Plan the command without changing files or downloading data]' \
|
|
650
|
+
'(--jsonl)--json[Print one complete JSON report; progress and diagnostics use stderr]' \
|
|
651
|
+
'(--json)--jsonl[Stream JSON events, including progress, one object per line]' \
|
|
652
|
+
'(--no-progress)--progress[Show progress on stderr (off by default; JSONL includes progress)]' \
|
|
265
653
|
'(--progress)--no-progress[Hide progress]' \
|
|
266
|
-
'(--log-level
|
|
267
|
-
'(--log-level
|
|
268
|
-
'(--log-level -v --verbose
|
|
269
|
-
'(--log-level
|
|
654
|
+
'(--log-level --debug)*-v[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
655
|
+
'(--log-level --debug)*--verbose[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
656
|
+
'(--log-level -v --verbose -q --quiet)--debug[Show developer diagnostics and trace events on stderr (same as -vvv)]' \
|
|
657
|
+
'(--log-level --debug)-q[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
658
|
+
'(--log-level --debug)--quiet[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
270
659
|
'--dep-trace[Also log trace output from bundled libraries (for bug reports)]' \
|
|
271
660
|
'(--no-color)--color[Keep colors even when output is piped]' \
|
|
272
661
|
'(--color)--no-color[Turn colors off]' \
|
|
@@ -279,14 +668,18 @@ _arguments "${_arguments_options[@]}" : \
|
|
|
279
668
|
(path)
|
|
280
669
|
_arguments "${_arguments_options[@]}" : \
|
|
281
670
|
'--database-dir=[Identify database directory. Defaults to the per-user data directory]:DIR:_files' \
|
|
282
|
-
'(-v --verbose -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\:
|
|
283
|
-
'
|
|
284
|
-
'
|
|
671
|
+
'(-v --verbose --debug -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\: warn\]]:LOG_LEVEL:(off error warn info debug trace)' \
|
|
672
|
+
'-n[Plan the command without changing files or downloading data]' \
|
|
673
|
+
'--dry-run[Plan the command without changing files or downloading data]' \
|
|
674
|
+
'(--jsonl)--json[Print one complete JSON report; progress and diagnostics use stderr]' \
|
|
675
|
+
'(--json)--jsonl[Stream JSON events, including progress, one object per line]' \
|
|
676
|
+
'(--no-progress)--progress[Show progress on stderr (off by default; JSONL includes progress)]' \
|
|
285
677
|
'(--progress)--no-progress[Hide progress]' \
|
|
286
|
-
'(--log-level
|
|
287
|
-
'(--log-level
|
|
288
|
-
'(--log-level -v --verbose
|
|
289
|
-
'(--log-level
|
|
678
|
+
'(--log-level --debug)*-v[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
679
|
+
'(--log-level --debug)*--verbose[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
680
|
+
'(--log-level -v --verbose -q --quiet)--debug[Show developer diagnostics and trace events on stderr (same as -vvv)]' \
|
|
681
|
+
'(--log-level --debug)-q[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
682
|
+
'(--log-level --debug)--quiet[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
290
683
|
'--dep-trace[Also log trace output from bundled libraries (for bug reports)]' \
|
|
291
684
|
'(--no-color)--color[Keep colors even when output is piped]' \
|
|
292
685
|
'(--color)--no-color[Turn colors off]' \
|
|
@@ -299,14 +692,18 @@ _arguments "${_arguments_options[@]}" : \
|
|
|
299
692
|
(remove)
|
|
300
693
|
_arguments "${_arguments_options[@]}" : \
|
|
301
694
|
'--database-dir=[Identify database directory. Defaults to the per-user data directory]:DIR:_files' \
|
|
302
|
-
'(-v --verbose -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\:
|
|
303
|
-
'
|
|
304
|
-
'
|
|
695
|
+
'(-v --verbose --debug -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\: warn\]]:LOG_LEVEL:(off error warn info debug trace)' \
|
|
696
|
+
'-n[Plan the command without changing files or downloading data]' \
|
|
697
|
+
'--dry-run[Plan the command without changing files or downloading data]' \
|
|
698
|
+
'(--jsonl)--json[Print one complete JSON report; progress and diagnostics use stderr]' \
|
|
699
|
+
'(--json)--jsonl[Stream JSON events, including progress, one object per line]' \
|
|
700
|
+
'(--no-progress)--progress[Show progress on stderr (off by default; JSONL includes progress)]' \
|
|
305
701
|
'(--progress)--no-progress[Hide progress]' \
|
|
306
|
-
'(--log-level
|
|
307
|
-
'(--log-level
|
|
308
|
-
'(--log-level -v --verbose
|
|
309
|
-
'(--log-level
|
|
702
|
+
'(--log-level --debug)*-v[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
703
|
+
'(--log-level --debug)*--verbose[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
704
|
+
'(--log-level -v --verbose -q --quiet)--debug[Show developer diagnostics and trace events on stderr (same as -vvv)]' \
|
|
705
|
+
'(--log-level --debug)-q[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
706
|
+
'(--log-level --debug)--quiet[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
310
707
|
'--dep-trace[Also log trace output from bundled libraries (for bug reports)]' \
|
|
311
708
|
'(--no-color)--color[Keep colors even when output is piped]' \
|
|
312
709
|
'(--color)--no-color[Turn colors off]' \
|
|
@@ -320,14 +717,18 @@ _arguments "${_arguments_options[@]}" : \
|
|
|
320
717
|
(import-redump)
|
|
321
718
|
_arguments "${_arguments_options[@]}" : \
|
|
322
719
|
'--database-dir=[Identify database directory. Defaults to the per-user data directory]:DIR:_files' \
|
|
323
|
-
'(-v --verbose -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\:
|
|
324
|
-
'
|
|
325
|
-
'
|
|
720
|
+
'(-v --verbose --debug -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\: warn\]]:LOG_LEVEL:(off error warn info debug trace)' \
|
|
721
|
+
'-n[Plan the command without changing files or downloading data]' \
|
|
722
|
+
'--dry-run[Plan the command without changing files or downloading data]' \
|
|
723
|
+
'(--jsonl)--json[Print one complete JSON report; progress and diagnostics use stderr]' \
|
|
724
|
+
'(--json)--jsonl[Stream JSON events, including progress, one object per line]' \
|
|
725
|
+
'(--no-progress)--progress[Show progress on stderr (off by default; JSONL includes progress)]' \
|
|
326
726
|
'(--progress)--no-progress[Hide progress]' \
|
|
327
|
-
'(--log-level
|
|
328
|
-
'(--log-level
|
|
329
|
-
'(--log-level -v --verbose
|
|
330
|
-
'(--log-level
|
|
727
|
+
'(--log-level --debug)*-v[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
728
|
+
'(--log-level --debug)*--verbose[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
729
|
+
'(--log-level -v --verbose -q --quiet)--debug[Show developer diagnostics and trace events on stderr (same as -vvv)]' \
|
|
730
|
+
'(--log-level --debug)-q[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
731
|
+
'(--log-level --debug)--quiet[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
331
732
|
'--dep-trace[Also log trace output from bundled libraries (for bug reports)]' \
|
|
332
733
|
'(--no-color)--color[Keep colors even when output is piped]' \
|
|
333
734
|
'(--color)--no-color[Turn colors off]' \
|
|
@@ -341,14 +742,18 @@ _arguments "${_arguments_options[@]}" : \
|
|
|
341
742
|
(install-all)
|
|
342
743
|
_arguments "${_arguments_options[@]}" : \
|
|
343
744
|
'--database-dir=[Identify database directory. Defaults to the per-user data directory]:DIR:_files' \
|
|
344
|
-
'(-v --verbose -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\:
|
|
345
|
-
'
|
|
346
|
-
'
|
|
745
|
+
'(-v --verbose --debug -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\: warn\]]:LOG_LEVEL:(off error warn info debug trace)' \
|
|
746
|
+
'-n[Plan the command without changing files or downloading data]' \
|
|
747
|
+
'--dry-run[Plan the command without changing files or downloading data]' \
|
|
748
|
+
'(--jsonl)--json[Print one complete JSON report; progress and diagnostics use stderr]' \
|
|
749
|
+
'(--json)--jsonl[Stream JSON events, including progress, one object per line]' \
|
|
750
|
+
'(--no-progress)--progress[Show progress on stderr (off by default; JSONL includes progress)]' \
|
|
347
751
|
'(--progress)--no-progress[Hide progress]' \
|
|
348
|
-
'(--log-level
|
|
349
|
-
'(--log-level
|
|
350
|
-
'(--log-level -v --verbose
|
|
351
|
-
'(--log-level
|
|
752
|
+
'(--log-level --debug)*-v[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
753
|
+
'(--log-level --debug)*--verbose[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
754
|
+
'(--log-level -v --verbose -q --quiet)--debug[Show developer diagnostics and trace events on stderr (same as -vvv)]' \
|
|
755
|
+
'(--log-level --debug)-q[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
756
|
+
'(--log-level --debug)--quiet[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
352
757
|
'--dep-trace[Also log trace output from bundled libraries (for bug reports)]' \
|
|
353
758
|
'(--no-color)--color[Keep colors even when output is piped]' \
|
|
354
759
|
'(--color)--no-color[Turn colors off]' \
|
|
@@ -362,14 +767,18 @@ _arguments "${_arguments_options[@]}" : \
|
|
|
362
767
|
_arguments "${_arguments_options[@]}" : \
|
|
363
768
|
'--from=[Local group archive; omit to download the archive for this version]:ARCHIVE:_files' \
|
|
364
769
|
'--database-dir=[Identify database directory. Defaults to the per-user data directory]:DIR:_files' \
|
|
365
|
-
'(-v --verbose -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\:
|
|
366
|
-
'
|
|
367
|
-
'
|
|
770
|
+
'(-v --verbose --debug -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\: warn\]]:LOG_LEVEL:(off error warn info debug trace)' \
|
|
771
|
+
'-n[Plan the command without changing files or downloading data]' \
|
|
772
|
+
'--dry-run[Plan the command without changing files or downloading data]' \
|
|
773
|
+
'(--jsonl)--json[Print one complete JSON report; progress and diagnostics use stderr]' \
|
|
774
|
+
'(--json)--jsonl[Stream JSON events, including progress, one object per line]' \
|
|
775
|
+
'(--no-progress)--progress[Show progress on stderr (off by default; JSONL includes progress)]' \
|
|
368
776
|
'(--progress)--no-progress[Hide progress]' \
|
|
369
|
-
'(--log-level
|
|
370
|
-
'(--log-level
|
|
371
|
-
'(--log-level -v --verbose
|
|
372
|
-
'(--log-level
|
|
777
|
+
'(--log-level --debug)*-v[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
778
|
+
'(--log-level --debug)*--verbose[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
779
|
+
'(--log-level -v --verbose -q --quiet)--debug[Show developer diagnostics and trace events on stderr (same as -vvv)]' \
|
|
780
|
+
'(--log-level --debug)-q[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
781
|
+
'(--log-level --debug)--quiet[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
373
782
|
'--dep-trace[Also log trace output from bundled libraries (for bug reports)]' \
|
|
374
783
|
'(--no-color)--color[Keep colors even when output is piped]' \
|
|
375
784
|
'(--color)--no-color[Turn colors off]' \
|
|
@@ -384,15 +793,19 @@ _arguments "${_arguments_options[@]}" : \
|
|
|
384
793
|
_arguments "${_arguments_options[@]}" : \
|
|
385
794
|
'--from=[Local Redump DAT ZIP file; omit to download from Redump]:ZIP:_files' \
|
|
386
795
|
'--database-dir=[Identify database directory. Defaults to the per-user data directory]:DIR:_files' \
|
|
387
|
-
'(-v --verbose -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\:
|
|
796
|
+
'(-v --verbose --debug -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\: warn\]]:LOG_LEVEL:(off error warn info debug trace)' \
|
|
388
797
|
'()--all[Install every platform in the dump]' \
|
|
389
|
-
'
|
|
390
|
-
'
|
|
798
|
+
'-n[Plan the command without changing files or downloading data]' \
|
|
799
|
+
'--dry-run[Plan the command without changing files or downloading data]' \
|
|
800
|
+
'(--jsonl)--json[Print one complete JSON report; progress and diagnostics use stderr]' \
|
|
801
|
+
'(--json)--jsonl[Stream JSON events, including progress, one object per line]' \
|
|
802
|
+
'(--no-progress)--progress[Show progress on stderr (off by default; JSONL includes progress)]' \
|
|
391
803
|
'(--progress)--no-progress[Hide progress]' \
|
|
392
|
-
'(--log-level
|
|
393
|
-
'(--log-level
|
|
394
|
-
'(--log-level -v --verbose
|
|
395
|
-
'(--log-level
|
|
804
|
+
'(--log-level --debug)*-v[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
805
|
+
'(--log-level --debug)*--verbose[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
806
|
+
'(--log-level -v --verbose -q --quiet)--debug[Show developer diagnostics and trace events on stderr (same as -vvv)]' \
|
|
807
|
+
'(--log-level --debug)-q[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
808
|
+
'(--log-level --debug)--quiet[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
396
809
|
'--dep-trace[Also log trace output from bundled libraries (for bug reports)]' \
|
|
397
810
|
'(--no-color)--color[Keep colors even when output is piped]' \
|
|
398
811
|
'(--color)--no-color[Turn colors off]' \
|
|
@@ -407,14 +820,18 @@ _arguments "${_arguments_options[@]}" : \
|
|
|
407
820
|
_arguments "${_arguments_options[@]}" : \
|
|
408
821
|
'--from=[Local Redump DAT ZIP file; omit to download from Redump]:ZIP:_files' \
|
|
409
822
|
'--database-dir=[Identify database directory. Defaults to the per-user data directory]:DIR:_files' \
|
|
410
|
-
'(-v --verbose -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\:
|
|
411
|
-
'
|
|
412
|
-
'
|
|
823
|
+
'(-v --verbose --debug -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\: warn\]]:LOG_LEVEL:(off error warn info debug trace)' \
|
|
824
|
+
'-n[Plan the command without changing files or downloading data]' \
|
|
825
|
+
'--dry-run[Plan the command without changing files or downloading data]' \
|
|
826
|
+
'(--jsonl)--json[Print one complete JSON report; progress and diagnostics use stderr]' \
|
|
827
|
+
'(--json)--jsonl[Stream JSON events, including progress, one object per line]' \
|
|
828
|
+
'(--no-progress)--progress[Show progress on stderr (off by default; JSONL includes progress)]' \
|
|
413
829
|
'(--progress)--no-progress[Hide progress]' \
|
|
414
|
-
'(--log-level
|
|
415
|
-
'(--log-level
|
|
416
|
-
'(--log-level -v --verbose
|
|
417
|
-
'(--log-level
|
|
830
|
+
'(--log-level --debug)*-v[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
831
|
+
'(--log-level --debug)*--verbose[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
832
|
+
'(--log-level -v --verbose -q --quiet)--debug[Show developer diagnostics and trace events on stderr (same as -vvv)]' \
|
|
833
|
+
'(--log-level --debug)-q[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
834
|
+
'(--log-level --debug)--quiet[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
418
835
|
'--dep-trace[Also log trace output from bundled libraries (for bug reports)]' \
|
|
419
836
|
'(--no-color)--color[Keep colors even when output is piped]' \
|
|
420
837
|
'(--color)--no-color[Turn colors off]' \
|
|
@@ -561,54 +978,38 @@ esac
|
|
|
561
978
|
;;
|
|
562
979
|
esac
|
|
563
980
|
;;
|
|
564
|
-
(
|
|
565
|
-
_arguments "${_arguments_options[@]}" : \
|
|
566
|
-
'--database-dir=[Install into this directory instead of the per-user data directory]:DIR:_files' \
|
|
567
|
-
'(-v --verbose -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\: off\]]:LOG_LEVEL:(off error warn info debug trace)' \
|
|
568
|
-
'--force[Download the database again even when it is already installed]' \
|
|
569
|
-
'--json[Print one JSON object per line instead of human-readable output]' \
|
|
570
|
-
'(--no-progress)--progress[Show progress even when output is piped to a file or another program]' \
|
|
571
|
-
'(--progress)--no-progress[Hide progress]' \
|
|
572
|
-
'(--log-level -q --quiet)*-v[Log more\: -v for info, -vv for debug, -vvv for trace]' \
|
|
573
|
-
'(--log-level -q --quiet)*--verbose[Log more\: -v for info, -vv for debug, -vvv for trace]' \
|
|
574
|
-
'(--log-level -v --verbose)-q[Log errors only]' \
|
|
575
|
-
'(--log-level -v --verbose)--quiet[Log errors only]' \
|
|
576
|
-
'--dep-trace[Also log trace output from bundled libraries (for bug reports)]' \
|
|
577
|
-
'(--no-color)--color[Keep colors even when output is piped]' \
|
|
578
|
-
'(--color)--no-color[Turn colors off]' \
|
|
579
|
-
'-y[Answer yes to every confirmation instead of asking. Does not choose between candidates]' \
|
|
580
|
-
'--yes[Answer yes to every confirmation instead of asking. Does not choose between candidates]' \
|
|
581
|
-
'-h[Print help (see more with '\''--help'\'')]' \
|
|
582
|
-
'--help[Print help (see more with '\''--help'\'')]' \
|
|
583
|
-
&& ret=0
|
|
584
|
-
;;
|
|
585
|
-
(ingest)
|
|
981
|
+
(extract)
|
|
586
982
|
_arguments "${_arguments_options[@]}" : \
|
|
587
|
-
'
|
|
588
|
-
'
|
|
589
|
-
'
|
|
590
|
-
'
|
|
591
|
-
'
|
|
592
|
-
'*--
|
|
593
|
-
'*-s+[Pick which ROM to use when the archive holds more than one, by exact name, prefix, or glob (repeatable)]:SELECT:_default' \
|
|
594
|
-
'*--select=[Pick which ROM to use when the archive holds more than one, by exact name, prefix, or glob (repeatable)]:SELECT:_default' \
|
|
595
|
-
'*--sidecar-name=[Optional loose patch names to match against \`source\` without ingesting it. This keeps the browser'\''s sibling-sidecar lookup on the ingest command surface while reusing Rust'\''s matcher]:SIDECAR_NAMES:_default' \
|
|
596
|
-
'--split-bin=[For a multi-track CD-format CHD, write one BIN per track (--split-bin) or one merged BIN (--split-bin false). Omit to be asked]::SPLIT_BIN:(true false)' \
|
|
597
|
-
'*--checksum=[Which checksums to compute for each ROM found (repeatable, comma-separable) \[default\: crc32,md5,sha1\]]:ALGO:(crc32 md5 sha1 sha256 blake3 crc32c crc16 adler32)' \
|
|
598
|
-
'*--algo=[Which checksums to compute for each ROM found (repeatable, comma-separable) \[default\: crc32,md5,sha1\]]:ALGO:(crc32 md5 sha1 sha256 blake3 crc32c crc16 adler32)' \
|
|
983
|
+
'*-s+[Extract only these files, by exact name, prefix, or glob (repeatable). For example\: --select '\''game.disc0?.bin'\'']:SELECT:_default' \
|
|
984
|
+
'*--select=[Extract only these files, by exact name, prefix, or glob (repeatable). For example\: --select '\''game.disc0?.bin'\'']:SELECT:_default' \
|
|
985
|
+
'*--filter=[Extract only files that look like a rom or a patch, judged by extension (repeatable, comma-separable)]:FILTER:(rom patch)' \
|
|
986
|
+
'*--checksum=[Also hash every extracted file (repeatable, comma-separable)]:ALGO:(crc32 md5 sha1 sha256 blake3 crc32c crc16 adler32)' \
|
|
987
|
+
'*--algo=[Also hash every extracted file (repeatable, comma-separable)]:ALGO:(crc32 md5 sha1 sha256 blake3 crc32c crc16 adler32)' \
|
|
988
|
+
'(--checksum)*--checksum-rom=[Like --checksum, but hash only the ROMs and skip sidecar files. Cannot be combined with --checksum]:ALGO:(crc32 md5 sha1 sha256 blake3 crc32c crc16 adler32)' \
|
|
599
989
|
'-j+[How many threads to use at most. auto uses every core; a format may still use fewer]:auto|N:_default' \
|
|
600
990
|
'--threads=[How many threads to use at most. auto uses every core; a format may still use fewer]:auto|N:_default' \
|
|
601
|
-
'
|
|
602
|
-
'
|
|
991
|
+
'--stdin-name=[Filename for input - (default\: stdin.bin); one filename, no directories]:NAME:_default' \
|
|
992
|
+
'-i+[Input path; - reads stdin using a temporary file]:INPUT:_files' \
|
|
993
|
+
'--input=[Input path; - reads stdin using a temporary file]:INPUT:_files' \
|
|
994
|
+
'-o+[Output path; - writes one binary result to stdout (compress requires --format)]:DIR:_files' \
|
|
995
|
+
'--output=[Output path; - writes one binary result to stdout (compress requires --format)]:DIR:_files' \
|
|
996
|
+
'(-v --verbose --debug -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\: warn\]]:LOG_LEVEL:(off error warn info debug trace)' \
|
|
997
|
+
'--split-bin[Write a CD-format CHD as a CUE plus one BIN per track (*.trackNN.bin), rather than one merged BIN]' \
|
|
603
998
|
'--no-ignore[Also consider files normally skipped inside archives\: readmes, images, checksum sidecars, and OS clutter such as .DS_Store]' \
|
|
604
999
|
'--no-nested-extract[Stop after one layer; leave any archive found inside the input packed]' \
|
|
605
|
-
'--
|
|
606
|
-
'
|
|
1000
|
+
'--force[Overwrite files already in the output directory (without this, extraction stops instead)]' \
|
|
1001
|
+
'--probe[Also report the format and platform of what was extracted, and fail if a lone payload matches no known platform]' \
|
|
1002
|
+
'-n[Plan the command without changing files or downloading data]' \
|
|
1003
|
+
'--dry-run[Plan the command without changing files or downloading data]' \
|
|
1004
|
+
'(--jsonl)--json[Print one complete JSON report; progress and diagnostics use stderr]' \
|
|
1005
|
+
'(--json)--jsonl[Stream JSON events, including progress, one object per line]' \
|
|
1006
|
+
'(--no-progress)--progress[Show progress on stderr (off by default; JSONL includes progress)]' \
|
|
607
1007
|
'(--progress)--no-progress[Hide progress]' \
|
|
608
|
-
'(--log-level
|
|
609
|
-
'(--log-level
|
|
610
|
-
'(--log-level -v --verbose
|
|
611
|
-
'(--log-level
|
|
1008
|
+
'(--log-level --debug)*-v[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
1009
|
+
'(--log-level --debug)*--verbose[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
1010
|
+
'(--log-level -v --verbose -q --quiet)--debug[Show developer diagnostics and trace events on stderr (same as -vvv)]' \
|
|
1011
|
+
'(--log-level --debug)-q[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
1012
|
+
'(--log-level --debug)--quiet[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
612
1013
|
'--dep-trace[Also log trace output from bundled libraries (for bug reports)]' \
|
|
613
1014
|
'(--no-color)--color[Keep colors even when output is piped]' \
|
|
614
1015
|
'(--color)--no-color[Turn colors off]' \
|
|
@@ -616,31 +1017,35 @@ _arguments "${_arguments_options[@]}" : \
|
|
|
616
1017
|
'--yes[Answer yes to every confirmation instead of asking. Does not choose between candidates]' \
|
|
617
1018
|
'-h[Print help (see more with '\''--help'\'')]' \
|
|
618
1019
|
'--help[Print help (see more with '\''--help'\'')]' \
|
|
1020
|
+
'::file -- File input; an alternative to -i, --input:_files' \
|
|
619
1021
|
&& ret=0
|
|
620
1022
|
;;
|
|
621
1023
|
(compress)
|
|
622
1024
|
_arguments "${_arguments_options[@]}" : \
|
|
623
|
-
'*-i+[File to put in the archive; repeat for each one. For a disc image, pass the .cue or .gdi alone and its tracks come along]:INPUT:_files' \
|
|
624
|
-
'*--input=[File to put in the archive; repeat for each one. For a disc image, pass the .cue or .gdi alone and its tracks come along]:INPUT:_files' \
|
|
625
1025
|
'-f+[Output format, such as zip, 7z, chd, rvz, or z3ds \[default\: from the --output extension\]]:FORMAT:(zip 7z chd rvz z3ds)' \
|
|
626
1026
|
'--format=[Output format, such as zip, 7z, chd, rvz, or z3ds \[default\: from the --output extension\]]:FORMAT:(zip 7z chd rvz z3ds)' \
|
|
627
|
-
'-o+[Where to write the archive]:PATH:_files' \
|
|
628
|
-
'--output=[Where to write the archive]:PATH:_files' \
|
|
629
1027
|
'*--codec=[Compression method to use, as codec or codec\:level (repeatable, comma-separable)]:CODEC:(store deflate zstd lzma lzma2 zlib huff flac cdzs cdlz cdzl cdfl avhuff)' \
|
|
630
1028
|
'--level=[How hard to compress\: min, very-low, low, medium, high, very-high, or max]:LEVEL:(min very-low low medium high very-high max)' \
|
|
631
1029
|
'-j+[How many threads to use at most. auto uses every core; a format may still use fewer]:auto|N:_default' \
|
|
632
1030
|
'--threads=[How many threads to use at most. auto uses every core; a format may still use fewer]:auto|N:_default' \
|
|
633
|
-
'
|
|
1031
|
+
'--stdin-name=[Filename for input - (default\: stdin.bin); one filename, no directories]:NAME:_default' \
|
|
1032
|
+
'*-i+[Input path; - reads stdin using a temporary file]:INPUT:_files' \
|
|
1033
|
+
'*--input=[Input path; - reads stdin using a temporary file]:INPUT:_files' \
|
|
1034
|
+
'-o+[Output path; - writes one binary result to stdout (compress requires --format)]:PATH:_files' \
|
|
1035
|
+
'--output=[Output path; - writes one binary result to stdout (compress requires --format)]:PATH:_files' \
|
|
1036
|
+
'(-v --verbose --debug -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\: warn\]]:LOG_LEVEL:(off error warn info debug trace)' \
|
|
634
1037
|
'--force[Overwrite the output if it already exists (without this, the command stops instead)]' \
|
|
635
|
-
'-n[
|
|
636
|
-
'--dry-run[
|
|
637
|
-
'--json[Print one JSON
|
|
638
|
-
'(--
|
|
1038
|
+
'-n[Plan the command without changing files or downloading data]' \
|
|
1039
|
+
'--dry-run[Plan the command without changing files or downloading data]' \
|
|
1040
|
+
'(--jsonl)--json[Print one complete JSON report; progress and diagnostics use stderr]' \
|
|
1041
|
+
'(--json)--jsonl[Stream JSON events, including progress, one object per line]' \
|
|
1042
|
+
'(--no-progress)--progress[Show progress on stderr (off by default; JSONL includes progress)]' \
|
|
639
1043
|
'(--progress)--no-progress[Hide progress]' \
|
|
640
|
-
'(--log-level
|
|
641
|
-
'(--log-level
|
|
642
|
-
'(--log-level -v --verbose
|
|
643
|
-
'(--log-level
|
|
1044
|
+
'(--log-level --debug)*-v[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
1045
|
+
'(--log-level --debug)*--verbose[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
1046
|
+
'(--log-level -v --verbose -q --quiet)--debug[Show developer diagnostics and trace events on stderr (same as -vvv)]' \
|
|
1047
|
+
'(--log-level --debug)-q[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
1048
|
+
'(--log-level --debug)--quiet[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
644
1049
|
'--dep-trace[Also log trace output from bundled libraries (for bug reports)]' \
|
|
645
1050
|
'(--no-color)--color[Keep colors even when output is piped]' \
|
|
646
1051
|
'(--color)--no-color[Turn colors off]' \
|
|
@@ -648,39 +1053,115 @@ _arguments "${_arguments_options[@]}" : \
|
|
|
648
1053
|
'--yes[Answer yes to every confirmation instead of asking. Does not choose between candidates]' \
|
|
649
1054
|
'-h[Print help (see more with '\''--help'\'')]' \
|
|
650
1055
|
'--help[Print help (see more with '\''--help'\'')]' \
|
|
1056
|
+
'*::file -- File input; an alternative to -i, --input:_files' \
|
|
651
1057
|
&& ret=0
|
|
652
1058
|
;;
|
|
653
1059
|
(trim)
|
|
654
1060
|
_arguments "${_arguments_options[@]}" : \
|
|
655
|
-
'*-i+[File or folder to trim. Repeat for each one]:INPUT:_files' \
|
|
656
|
-
'*--input=[File or folder to trim. Repeat for each one]:INPUT:_files' \
|
|
657
|
-
'(--in-place)-o+[Where to write the trimmed file. Only valid with a single trimmable input]:OUTPUT:_files' \
|
|
658
|
-
'(--in-place)--output=[Where to write the trimmed file. Only valid with a single trimmable input]:OUTPUT:_files' \
|
|
659
1061
|
'-e+[Save next to each original under this extension. {ext} stands for the original one, as in trim.{ext}]:EXTENSION:_default' \
|
|
660
1062
|
'--extension=[Save next to each original under this extension. {ext} stands for the original one, as in trim.{ext}]:EXTENSION:_default' \
|
|
661
1063
|
'*--filter=[Consider only files that look like a rom or a patch, judged by extension (repeatable, comma-separable)]:FILTER:(rom patch)' \
|
|
662
1064
|
'-j+[How many threads to use at most. auto uses every core; a format may still use fewer]:auto|N:_default' \
|
|
663
1065
|
'--threads=[How many threads to use at most. auto uses every core; a format may still use fewer]:auto|N:_default' \
|
|
664
|
-
'
|
|
1066
|
+
'*-i+[File or folder to trim. Repeat for each one]:INPUT:_files' \
|
|
1067
|
+
'*--input=[File or folder to trim. Repeat for each one]:INPUT:_files' \
|
|
1068
|
+
'(--in-place)-o+[Output path; - writes one completed binary file to stdout]:OUTPUT:_files' \
|
|
1069
|
+
'(--in-place)--output=[Output path; - writes one completed binary file to stdout]:OUTPUT:_files' \
|
|
1070
|
+
'(-v --verbose --debug -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\: warn\]]:LOG_LEVEL:(off error warn info debug trace)' \
|
|
665
1071
|
'--in-place[Overwrite the original instead of writing a new file]' \
|
|
666
|
-
'-n[Report what would be trimmed without writing anything]' \
|
|
667
|
-
'--dry-run[Report what would be trimmed without writing anything]' \
|
|
668
1072
|
'--revert[Pad a trimmed file back to full size (NDS, GBA, and 3DS only)]' \
|
|
669
1073
|
'--untrim[Pad a trimmed file back to full size (NDS, GBA, and 3DS only)]' \
|
|
670
1074
|
'--restore[Pad a trimmed file back to full size (NDS, GBA, and 3DS only)]' \
|
|
671
1075
|
'--no-recursive[When an input is a folder, look only at its top level]' \
|
|
672
1076
|
'--no-filter[Consider every file inside an archive, not just the ones that look like ROMs]' \
|
|
673
1077
|
'--no-extract[Do not look inside archives; trim only the files named directly]' \
|
|
674
|
-
'--revert-marker[Add a
|
|
675
|
-
'--reversible[Add a
|
|
1078
|
+
'--revert-marker[Add a footer with the original size and a fill byte for --revert]' \
|
|
1079
|
+
'--reversible[Add a footer with the original size and a fill byte for --revert]' \
|
|
1080
|
+
'--force[Overwrite the output if it already exists (without this, the command stops instead)]' \
|
|
1081
|
+
'-n[Plan the command without changing files or downloading data]' \
|
|
1082
|
+
'--dry-run[Plan the command without changing files or downloading data]' \
|
|
1083
|
+
'(--jsonl)--json[Print one complete JSON report; progress and diagnostics use stderr]' \
|
|
1084
|
+
'(--json)--jsonl[Stream JSON events, including progress, one object per line]' \
|
|
1085
|
+
'(--no-progress)--progress[Show progress on stderr (off by default; JSONL includes progress)]' \
|
|
1086
|
+
'(--progress)--no-progress[Hide progress]' \
|
|
1087
|
+
'(--log-level --debug)*-v[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
1088
|
+
'(--log-level --debug)*--verbose[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
1089
|
+
'(--log-level -v --verbose -q --quiet)--debug[Show developer diagnostics and trace events on stderr (same as -vvv)]' \
|
|
1090
|
+
'(--log-level --debug)-q[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
1091
|
+
'(--log-level --debug)--quiet[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
1092
|
+
'--dep-trace[Also log trace output from bundled libraries (for bug reports)]' \
|
|
1093
|
+
'(--no-color)--color[Keep colors even when output is piped]' \
|
|
1094
|
+
'(--color)--no-color[Turn colors off]' \
|
|
1095
|
+
'-y[Answer yes to every confirmation instead of asking. Does not choose between candidates]' \
|
|
1096
|
+
'--yes[Answer yes to every confirmation instead of asking. Does not choose between candidates]' \
|
|
1097
|
+
'-h[Print help (see more with '\''--help'\'')]' \
|
|
1098
|
+
'--help[Print help (see more with '\''--help'\'')]' \
|
|
1099
|
+
'*::file -- File input; an alternative to -i, --input:_files' \
|
|
1100
|
+
&& ret=0
|
|
1101
|
+
;;
|
|
1102
|
+
(weave)
|
|
1103
|
+
_arguments "${_arguments_options[@]}" : \
|
|
1104
|
+
'-i+[ROM to patch. May be an archive, a disc sheet (.cue/.gdi), or a bundle]:PATH:_files' \
|
|
1105
|
+
'--input=[ROM to patch. May be an archive, a disc sheet (.cue/.gdi), or a bundle]:PATH:_files' \
|
|
1106
|
+
'*-s+[Pick which file to use when the ROM or a patch is inside an archive, by exact name, prefix, or glob (repeatable). --patch-select overrides it for the patch it follows]:SELECT:_default' \
|
|
1107
|
+
'*--select=[Pick which file to use when the ROM or a patch is inside an archive, by exact name, prefix, or glob (repeatable). --patch-select overrides it for the patch it follows]:SELECT:_default' \
|
|
1108
|
+
'--target=[For a .cue or .gdi input, which track gets the patch. Matched like --select and must hit exactly one track]:TARGET:_default' \
|
|
1109
|
+
'*--filter=[Consider only files that look like a rom or a patch, judged by extension (repeatable, comma-separable)]:FILTER:(rom patch)' \
|
|
1110
|
+
'*--patch=[Patch to apply. Repeat once per patch; they run in the order given]:PATCHES:_files' \
|
|
1111
|
+
'*--patch-select=[Pick which file to use inside the --patch archive before it. Repeatable, one per --patch; falls back to --select]:GLOB:_default' \
|
|
1112
|
+
'--bundle=[Follow a rom-weaver-bundle.json recipe\: a file path, or an http(s) URL]:BUNDLE:_files' \
|
|
1113
|
+
'*--with=[Turn on a bundle patch the bundle leaves off by default, matched by name or file name (repeatable)]:GLOB:_default' \
|
|
1114
|
+
'*--without=[Turn off a bundle patch, matched by name or file name (repeatable)]:GLOB:_default' \
|
|
1115
|
+
'--compress-format=[Format to compress the patched ROM into \[default\: from the --output extension\]]:COMPRESS_FORMAT:(zip 7z chd rvz z3ds)' \
|
|
1116
|
+
'--format=[Format to compress the patched ROM into \[default\: from the --output extension\]]:COMPRESS_FORMAT:(zip 7z chd rvz z3ds)' \
|
|
1117
|
+
'*--compress-codec=[Compression method to use, as codec or codec\:level (repeatable, comma-separable)]:COMPRESS_CODEC:(store deflate zstd lzma lzma2 zlib huff flac cdzs cdlz cdzl cdfl avhuff)' \
|
|
1118
|
+
'*--codec=[Compression method to use, as codec or codec\:level (repeatable, comma-separable)]:COMPRESS_CODEC:(store deflate zstd lzma lzma2 zlib huff flac cdzs cdlz cdzl cdfl avhuff)' \
|
|
1119
|
+
'--compress-level=[How hard to compress\: min, very-low, low, medium, high, very-high, or max \[default\: max\]]:COMPRESS_LEVEL:(min very-low low medium high very-high max)' \
|
|
1120
|
+
'--level=[How hard to compress\: min, very-low, low, medium, high, very-high, or max \[default\: max\]]:COMPRESS_LEVEL:(min very-low low medium high very-high max)' \
|
|
1121
|
+
'*--assume-in=[Take this checksum on trust instead of reading the ROM to compute it, as in crc32=1234abcd (repeatable, comma-separable)]:ALGO=HEX:_default' \
|
|
1122
|
+
'*--expect-in=[Stop unless the ROM about to be patched has this checksum, as in crc32=1234abcd (repeatable, comma-separable)]:ALGO=HEX:_default' \
|
|
1123
|
+
'*--patch-header=[Whether a patch applies to the ROM with or without its copier header\: auto, keep, or strip \[default\: auto\]]:PATCH_HEADER:(keep strip auto)' \
|
|
1124
|
+
'*--patch-basis=[Override the preceding --patch input rule\: auto, base, or previous]:PATCH_BASIS:(auto base previous)' \
|
|
1125
|
+
'*--patch-input-check=[Expected input checks for the preceding patch (repeatable, comma-separable)]:ALGO=HEX:_default' \
|
|
1126
|
+
'*--patch-output-check=[Expected output checks for the preceding patch (repeatable, comma-separable)]:ALGO=HEX:_default' \
|
|
1127
|
+
'--default-patch-basis=[Shared input ROM rule for every patch\: auto, base, or previous \[default\: auto\]]:DEFAULT_PATCH_BASIS:(auto base previous)' \
|
|
1128
|
+
'--output-header=[Whether the finished ROM keeps its copier header\: auto, keep, or strip \[default\: auto\]]:OUTPUT_HEADER:(keep strip auto)' \
|
|
1129
|
+
'*--n64-byte-order=[Byte order to put an N64 ROM in for each patch\: auto, keep, big-endian, little-endian, or byte-swapped \[default\: auto\]]:N64_BYTE_ORDER:(auto keep big-endian little-endian byte-swapped)' \
|
|
1130
|
+
'*--expect-out=[Fail unless the patched ROM has this checksum, as in sha1=abc... (repeatable, comma-separable)]:ALGO=HEX:_default' \
|
|
1131
|
+
'*--code=[Game Genie or GameShark/Pro Action Replay code to bake into the ROM. Repeat for each code]:CODES:_default' \
|
|
1132
|
+
'--code-system=[Console the --code values are for (nes, snes, genesis, 32x, sms, gamegear, sg1000, gameboy, gba, psx), when the ROM header does not say]:CODE_SYSTEM:_default' \
|
|
1133
|
+
'--code-kind=[Which cheat scheme the --code values use\: auto, game-genie, gameshark/par, or xploder]:CODE_KIND:_default' \
|
|
1134
|
+
'*--cheat=[Database cheat to use, by record ID or exact description. Repeat for each cheat]:ID_OR_DESCRIPTION:_default' \
|
|
1135
|
+
'--cheat-database=[Directory holding manifest.json and the <system>.json cheat shards. Defaults to \$ROM_WEAVER_CHEAT_DATABASE, then the per-user data directory]:DIR:_files' \
|
|
1136
|
+
'--cheat-system=[Console the cheat shard is for (nes, snes, genesis, gameboy, gameboy-color, gba), when the ROM header does not say]:SYS:_default' \
|
|
1137
|
+
'--game=[Use this database game ID instead of matching the ROM by checksum or title]:ID:_default' \
|
|
1138
|
+
'--emit-bundle=[Also write a rom-weaver-bundle.json recording this run, so someone else can repeat it]:PATH:_files' \
|
|
1139
|
+
'-j+[How many threads to use at most. auto uses every core; a format may still use fewer]:auto|N:_default' \
|
|
1140
|
+
'--threads=[How many threads to use at most. auto uses every core; a format may still use fewer]:auto|N:_default' \
|
|
1141
|
+
'-o+[Output path; - writes one completed binary file to stdout]:OUTPUT:_files' \
|
|
1142
|
+
'--output=[Output path; - writes one completed binary file to stdout]:OUTPUT:_files' \
|
|
1143
|
+
'(-v --verbose --debug -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\: warn\]]:LOG_LEVEL:(off error warn info debug trace)' \
|
|
1144
|
+
'--no-extract[Do not look inside archives; treat the input and every patch as raw files]' \
|
|
1145
|
+
'--no-ignore[Also consider files normally skipped inside archives\: readmes, images, checksum sidecars, and OS clutter such as .DS_Store]' \
|
|
1146
|
+
'--without-cheats[Ignore every cheat the bundle records and run only its patch chain]' \
|
|
1147
|
+
'--no-compress[Write a plain ROM instead of compressing the result]' \
|
|
1148
|
+
'--raw[Write a plain ROM instead of compressing the result]' \
|
|
1149
|
+
'--repair-checksum[Recompute the ROM'\''s internal header checksum afterwards, so the console does not reject it (SNES, NES, GB, GBA, Mega Drive, SMS, N64, NDS)]' \
|
|
1150
|
+
'--ignore-checksum-validation[Apply the patch even when its own checksums do not match. Can produce a broken ROM]' \
|
|
1151
|
+
'--allow-cheat-conflicts[Let a later cheat overwrite an earlier one at the same offset instead of failing]' \
|
|
1152
|
+
'--tui[Ask for each patch'\''s name, version, and author, then apply and write a bundle. Needs a terminal]' \
|
|
676
1153
|
'--force[Overwrite the output if it already exists (without this, the command stops instead)]' \
|
|
677
|
-
'
|
|
678
|
-
'
|
|
1154
|
+
'-n[Plan the command without changing files or downloading data]' \
|
|
1155
|
+
'--dry-run[Plan the command without changing files or downloading data]' \
|
|
1156
|
+
'(--jsonl)--json[Print one complete JSON report; progress and diagnostics use stderr]' \
|
|
1157
|
+
'(--json)--jsonl[Stream JSON events, including progress, one object per line]' \
|
|
1158
|
+
'(--no-progress)--progress[Show progress on stderr (off by default; JSONL includes progress)]' \
|
|
679
1159
|
'(--progress)--no-progress[Hide progress]' \
|
|
680
|
-
'(--log-level
|
|
681
|
-
'(--log-level
|
|
682
|
-
'(--log-level -v --verbose
|
|
683
|
-
'(--log-level
|
|
1160
|
+
'(--log-level --debug)*-v[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
1161
|
+
'(--log-level --debug)*--verbose[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
1162
|
+
'(--log-level -v --verbose -q --quiet)--debug[Show developer diagnostics and trace events on stderr (same as -vvv)]' \
|
|
1163
|
+
'(--log-level --debug)-q[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
1164
|
+
'(--log-level --debug)--quiet[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
684
1165
|
'--dep-trace[Also log trace output from bundled libraries (for bug reports)]' \
|
|
685
1166
|
'(--no-color)--color[Keep colors even when output is piped]' \
|
|
686
1167
|
'(--color)--no-color[Turn colors off]' \
|
|
@@ -692,14 +1173,18 @@ _arguments "${_arguments_options[@]}" : \
|
|
|
692
1173
|
;;
|
|
693
1174
|
(patch)
|
|
694
1175
|
_arguments "${_arguments_options[@]}" : \
|
|
695
|
-
'(-v --verbose -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\:
|
|
696
|
-
'
|
|
697
|
-
'
|
|
1176
|
+
'(-v --verbose --debug -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\: warn\]]:LOG_LEVEL:(off error warn info debug trace)' \
|
|
1177
|
+
'-n[Plan the command without changing files or downloading data]' \
|
|
1178
|
+
'--dry-run[Plan the command without changing files or downloading data]' \
|
|
1179
|
+
'(--jsonl)--json[Print one complete JSON report; progress and diagnostics use stderr]' \
|
|
1180
|
+
'(--json)--jsonl[Stream JSON events, including progress, one object per line]' \
|
|
1181
|
+
'(--no-progress)--progress[Show progress on stderr (off by default; JSONL includes progress)]' \
|
|
698
1182
|
'(--progress)--no-progress[Hide progress]' \
|
|
699
|
-
'(--log-level
|
|
700
|
-
'(--log-level
|
|
701
|
-
'(--log-level -v --verbose
|
|
702
|
-
'(--log-level
|
|
1183
|
+
'(--log-level --debug)*-v[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
1184
|
+
'(--log-level --debug)*--verbose[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
1185
|
+
'(--log-level -v --verbose -q --quiet)--debug[Show developer diagnostics and trace events on stderr (same as -vvv)]' \
|
|
1186
|
+
'(--log-level --debug)-q[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
1187
|
+
'(--log-level --debug)--quiet[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
703
1188
|
'--dep-trace[Also log trace output from bundled libraries (for bug reports)]' \
|
|
704
1189
|
'(--no-color)--color[Keep colors even when output is piped]' \
|
|
705
1190
|
'(--color)--no-color[Turn colors off]' \
|
|
@@ -717,7 +1202,52 @@ _arguments "${_arguments_options[@]}" : \
|
|
|
717
1202
|
(( CURRENT += 1 ))
|
|
718
1203
|
curcontext="${curcontext%:*:*}:rom-weaver-patch-command-$line[1]:"
|
|
719
1204
|
case $line[1] in
|
|
720
|
-
(
|
|
1205
|
+
(validate)
|
|
1206
|
+
_arguments "${_arguments_options[@]}" : \
|
|
1207
|
+
'-i+[ROM to check the patches against. May be an archive]:PATH:_files' \
|
|
1208
|
+
'--input=[ROM to check the patches against. May be an archive]:PATH:_files' \
|
|
1209
|
+
'*-s+[Pick which file to use when the ROM or a patch is inside an archive, by exact name, prefix, or glob (repeatable). --patch-select overrides it for the patch it follows]:SELECT:_default' \
|
|
1210
|
+
'*--select=[Pick which file to use when the ROM or a patch is inside an archive, by exact name, prefix, or glob (repeatable). --patch-select overrides it for the patch it follows]:SELECT:_default' \
|
|
1211
|
+
'*--filter=[Consider only files that look like a rom or a patch, judged by extension (repeatable, comma-separable)]:FILTER:(rom patch)' \
|
|
1212
|
+
'*--patch=[Patch to check. Repeat once per patch; they are checked in the order given]:PATCHES:_files' \
|
|
1213
|
+
'*--patch-select=[Pick which file to use inside the --patch archive before it. Repeatable, one per --patch; falls back to --select]:GLOB:_default' \
|
|
1214
|
+
'*--assume-in=[Take this checksum on trust instead of reading the ROM to compute it, as in crc32=1234abcd (repeatable, comma-separable)]:ALGO=HEX:_default' \
|
|
1215
|
+
'*--expect-in=[Fail unless the ROM matches\: a checksum (crc32=1234abcd), an exact size (size=N), or a floor (min-size=N). Repeatable, comma-separable]:ALGO=HEX:_default' \
|
|
1216
|
+
'--n64-byte-order=[Byte order to put an N64 ROM in before checking\: auto, keep, big-endian, little-endian, or byte-swapped \[default\: auto\]]:N64_BYTE_ORDER:(auto keep big-endian little-endian byte-swapped)' \
|
|
1217
|
+
'*--patch-basis=[Override the preceding --patch input rule\: auto, base, or previous]:PATCH_BASIS:(auto base previous)' \
|
|
1218
|
+
'--default-patch-basis=[Shared input ROM rule for every patch\: auto, base, or previous \[default\: auto\]]:DEFAULT_PATCH_BASIS:(auto base previous)' \
|
|
1219
|
+
'*--patch-input-check=[Checksum the preceding --patch expects to see going in, when the patch does not carry one (comma-separable; empty means none)]:ALGO=HEX:_default' \
|
|
1220
|
+
'*--patch-output-check=[Checksum the preceding --patch should produce, when the patch does not carry one (comma-separable; empty means none)]:ALGO=HEX:_default' \
|
|
1221
|
+
'-j+[How many threads to use at most. auto uses every core; a format may still use fewer]:auto|N:_default' \
|
|
1222
|
+
'--threads=[How many threads to use at most. auto uses every core; a format may still use fewer]:auto|N:_default' \
|
|
1223
|
+
'(-v --verbose --debug -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\: warn\]]:LOG_LEVEL:(off error warn info debug trace)' \
|
|
1224
|
+
'--no-extract[Do not look inside archives; treat the input and every patch as raw files]' \
|
|
1225
|
+
'--no-ignore[Also consider files normally skipped inside archives\: readmes, images, checksum sidecars, and OS clutter such as .DS_Store]' \
|
|
1226
|
+
'--strip-header[Remove the ROM'\''s copier header before checking (A78, LNX, NES, FDS, SMC signatures, plus the SNES and PCE size rules)]' \
|
|
1227
|
+
'--ignore-checksum-validation[Report a patch as usable even when its own checksums do not match]' \
|
|
1228
|
+
'--independent[Check every patch against the original ROM rather than as a chain, and report a verdict for each instead of stopping at the first failure]' \
|
|
1229
|
+
'--plan[Report the order the patches would run in and what each would be checked against, without reading the ROM more than needed]' \
|
|
1230
|
+
'-n[Plan the command without changing files or downloading data]' \
|
|
1231
|
+
'--dry-run[Plan the command without changing files or downloading data]' \
|
|
1232
|
+
'(--jsonl)--json[Print one complete JSON report; progress and diagnostics use stderr]' \
|
|
1233
|
+
'(--json)--jsonl[Stream JSON events, including progress, one object per line]' \
|
|
1234
|
+
'(--no-progress)--progress[Show progress on stderr (off by default; JSONL includes progress)]' \
|
|
1235
|
+
'(--progress)--no-progress[Hide progress]' \
|
|
1236
|
+
'(--log-level --debug)*-v[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
1237
|
+
'(--log-level --debug)*--verbose[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
1238
|
+
'(--log-level -v --verbose -q --quiet)--debug[Show developer diagnostics and trace events on stderr (same as -vvv)]' \
|
|
1239
|
+
'(--log-level --debug)-q[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
1240
|
+
'(--log-level --debug)--quiet[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
1241
|
+
'--dep-trace[Also log trace output from bundled libraries (for bug reports)]' \
|
|
1242
|
+
'(--no-color)--color[Keep colors even when output is piped]' \
|
|
1243
|
+
'(--color)--no-color[Turn colors off]' \
|
|
1244
|
+
'-y[Answer yes to every confirmation instead of asking. Does not choose between candidates]' \
|
|
1245
|
+
'--yes[Answer yes to every confirmation instead of asking. Does not choose between candidates]' \
|
|
1246
|
+
'-h[Print help (see more with '\''--help'\'')]' \
|
|
1247
|
+
'--help[Print help (see more with '\''--help'\'')]' \
|
|
1248
|
+
&& ret=0
|
|
1249
|
+
;;
|
|
1250
|
+
(apply)
|
|
721
1251
|
_arguments "${_arguments_options[@]}" : \
|
|
722
1252
|
'-i+[ROM to patch. May be an archive, a disc sheet (.cue/.gdi), or a bundle]:PATH:_files' \
|
|
723
1253
|
'--input=[ROM to patch. May be an archive, a disc sheet (.cue/.gdi), or a bundle]:PATH:_files' \
|
|
@@ -727,8 +1257,6 @@ _arguments "${_arguments_options[@]}" : \
|
|
|
727
1257
|
'*--filter=[Consider only files that look like a rom or a patch, judged by extension (repeatable, comma-separable)]:FILTER:(rom patch)' \
|
|
728
1258
|
'*--patch=[Patch to apply. Repeat once per patch; they run in the order given]:PATCHES:_files' \
|
|
729
1259
|
'*--patch-select=[Pick which file to use inside the --patch archive before it. Repeatable, one per --patch; falls back to --select]:GLOB:_default' \
|
|
730
|
-
'-o+[Where to write the patched ROM. Optional when a bundle already names the output]:OUTPUT:_files' \
|
|
731
|
-
'--output=[Where to write the patched ROM. Optional when a bundle already names the output]:OUTPUT:_files' \
|
|
732
1260
|
'--bundle=[Follow a rom-weaver-bundle.json recipe\: a file path, or an http(s) URL]:BUNDLE:_files' \
|
|
733
1261
|
'*--with=[Turn on a bundle patch the bundle leaves off by default, matched by name or file name (repeatable)]:GLOB:_default' \
|
|
734
1262
|
'*--without=[Turn off a bundle patch, matched by name or file name (repeatable)]:GLOB:_default' \
|
|
@@ -741,34 +1269,47 @@ _arguments "${_arguments_options[@]}" : \
|
|
|
741
1269
|
'*--assume-in=[Take this checksum on trust instead of reading the ROM to compute it, as in crc32=1234abcd (repeatable, comma-separable)]:ALGO=HEX:_default' \
|
|
742
1270
|
'*--expect-in=[Stop unless the ROM about to be patched has this checksum, as in crc32=1234abcd (repeatable, comma-separable)]:ALGO=HEX:_default' \
|
|
743
1271
|
'*--patch-header=[Whether a patch applies to the ROM with or without its copier header\: auto, keep, or strip \[default\: auto\]]:PATCH_HEADER:(keep strip auto)' \
|
|
744
|
-
'*--patch-basis=[
|
|
1272
|
+
'*--patch-basis=[Override the preceding --patch input rule\: auto, base, or previous]:PATCH_BASIS:(auto base previous)' \
|
|
1273
|
+
'*--patch-input-check=[Expected input checks for the preceding patch (repeatable, comma-separable)]:ALGO=HEX:_default' \
|
|
1274
|
+
'*--patch-output-check=[Expected output checks for the preceding patch (repeatable, comma-separable)]:ALGO=HEX:_default' \
|
|
1275
|
+
'--default-patch-basis=[Shared input ROM rule for every patch\: auto, base, or previous \[default\: auto\]]:DEFAULT_PATCH_BASIS:(auto base previous)' \
|
|
745
1276
|
'--output-header=[Whether the finished ROM keeps its copier header\: auto, keep, or strip \[default\: auto\]]:OUTPUT_HEADER:(keep strip auto)' \
|
|
746
1277
|
'*--n64-byte-order=[Byte order to put an N64 ROM in for each patch\: auto, keep, big-endian, little-endian, or byte-swapped \[default\: auto\]]:N64_BYTE_ORDER:(auto keep big-endian little-endian byte-swapped)' \
|
|
747
1278
|
'*--expect-out=[Fail unless the patched ROM has this checksum, as in sha1=abc... (repeatable, comma-separable)]:ALGO=HEX:_default' \
|
|
748
1279
|
'*--code=[Game Genie or GameShark/Pro Action Replay code to bake into the ROM. Repeat for each code]:CODES:_default' \
|
|
749
|
-
'--code-system=[Console the --code values are for (nes, snes, genesis, gameboy, gba, psx), when the ROM header does not say]:CODE_SYSTEM:_default' \
|
|
1280
|
+
'--code-system=[Console the --code values are for (nes, snes, genesis, 32x, sms, gamegear, sg1000, gameboy, gba, psx), when the ROM header does not say]:CODE_SYSTEM:_default' \
|
|
750
1281
|
'--code-kind=[Which cheat scheme the --code values use\: auto, game-genie, gameshark/par, or xploder]:CODE_KIND:_default' \
|
|
1282
|
+
'*--cheat=[Database cheat to use, by record ID or exact description. Repeat for each cheat]:ID_OR_DESCRIPTION:_default' \
|
|
1283
|
+
'--cheat-database=[Directory holding manifest.json and the <system>.json cheat shards. Defaults to \$ROM_WEAVER_CHEAT_DATABASE, then the per-user data directory]:DIR:_files' \
|
|
1284
|
+
'--cheat-system=[Console the cheat shard is for (nes, snes, genesis, gameboy, gameboy-color, gba), when the ROM header does not say]:SYS:_default' \
|
|
1285
|
+
'--game=[Use this database game ID instead of matching the ROM by checksum or title]:ID:_default' \
|
|
751
1286
|
'--emit-bundle=[Also write a rom-weaver-bundle.json recording this run, so someone else can repeat it]:PATH:_files' \
|
|
752
1287
|
'-j+[How many threads to use at most. auto uses every core; a format may still use fewer]:auto|N:_default' \
|
|
753
1288
|
'--threads=[How many threads to use at most. auto uses every core; a format may still use fewer]:auto|N:_default' \
|
|
754
|
-
'
|
|
1289
|
+
'-o+[Output path; - writes one completed binary file to stdout]:OUTPUT:_files' \
|
|
1290
|
+
'--output=[Output path; - writes one completed binary file to stdout]:OUTPUT:_files' \
|
|
1291
|
+
'(-v --verbose --debug -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\: warn\]]:LOG_LEVEL:(off error warn info debug trace)' \
|
|
755
1292
|
'--no-extract[Do not look inside archives; treat the input and every patch as raw files]' \
|
|
756
1293
|
'--no-ignore[Also consider files normally skipped inside archives\: readmes, images, checksum sidecars, and OS clutter such as .DS_Store]' \
|
|
1294
|
+
'--without-cheats[Ignore every cheat the bundle records and run only its patch chain]' \
|
|
757
1295
|
'--no-compress[Write a plain ROM instead of compressing the result]' \
|
|
758
1296
|
'--raw[Write a plain ROM instead of compressing the result]' \
|
|
759
1297
|
'--repair-checksum[Recompute the ROM'\''s internal header checksum afterwards, so the console does not reject it (SNES, NES, GB, GBA, Mega Drive, SMS, N64, NDS)]' \
|
|
760
1298
|
'--ignore-checksum-validation[Apply the patch even when its own checksums do not match. Can produce a broken ROM]' \
|
|
1299
|
+
'--allow-cheat-conflicts[Let a later cheat overwrite an earlier one at the same offset instead of failing]' \
|
|
761
1300
|
'--tui[Ask for each patch'\''s name, version, and author, then apply and write a bundle. Needs a terminal]' \
|
|
762
1301
|
'--force[Overwrite the output if it already exists (without this, the command stops instead)]' \
|
|
763
|
-
'-n[
|
|
764
|
-
'--dry-run[
|
|
765
|
-
'--json[Print one JSON
|
|
766
|
-
'(--
|
|
1302
|
+
'-n[Plan the command without changing files or downloading data]' \
|
|
1303
|
+
'--dry-run[Plan the command without changing files or downloading data]' \
|
|
1304
|
+
'(--jsonl)--json[Print one complete JSON report; progress and diagnostics use stderr]' \
|
|
1305
|
+
'(--json)--jsonl[Stream JSON events, including progress, one object per line]' \
|
|
1306
|
+
'(--no-progress)--progress[Show progress on stderr (off by default; JSONL includes progress)]' \
|
|
767
1307
|
'(--progress)--no-progress[Hide progress]' \
|
|
768
|
-
'(--log-level
|
|
769
|
-
'(--log-level
|
|
770
|
-
'(--log-level -v --verbose
|
|
771
|
-
'(--log-level
|
|
1308
|
+
'(--log-level --debug)*-v[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
1309
|
+
'(--log-level --debug)*--verbose[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
1310
|
+
'(--log-level -v --verbose -q --quiet)--debug[Show developer diagnostics and trace events on stderr (same as -vvv)]' \
|
|
1311
|
+
'(--log-level --debug)-q[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
1312
|
+
'(--log-level --debug)--quiet[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
772
1313
|
'--dep-trace[Also log trace output from bundled libraries (for bug reports)]' \
|
|
773
1314
|
'(--no-color)--color[Keep colors even when output is piped]' \
|
|
774
1315
|
'(--color)--no-color[Turn colors off]' \
|
|
@@ -788,8 +1329,6 @@ _arguments "${_arguments_options[@]}" : \
|
|
|
788
1329
|
'*--filter=[Consider only files that look like a rom or a patch, judged by extension (repeatable, comma-separable)]:FILTER:(rom patch)' \
|
|
789
1330
|
'*--patch=[Patch to apply. Repeat once per patch; they run in the order given]:PATCHES:_files' \
|
|
790
1331
|
'*--patch-select=[Pick which file to use inside the --patch archive before it. Repeatable, one per --patch; falls back to --select]:GLOB:_default' \
|
|
791
|
-
'-o+[Where to write the patched ROM. Optional when a bundle already names the output]:OUTPUT:_files' \
|
|
792
|
-
'--output=[Where to write the patched ROM. Optional when a bundle already names the output]:OUTPUT:_files' \
|
|
793
1332
|
'--bundle=[Follow a rom-weaver-bundle.json recipe\: a file path, or an http(s) URL]:BUNDLE:_files' \
|
|
794
1333
|
'*--with=[Turn on a bundle patch the bundle leaves off by default, matched by name or file name (repeatable)]:GLOB:_default' \
|
|
795
1334
|
'*--without=[Turn off a bundle patch, matched by name or file name (repeatable)]:GLOB:_default' \
|
|
@@ -802,74 +1341,47 @@ _arguments "${_arguments_options[@]}" : \
|
|
|
802
1341
|
'*--assume-in=[Take this checksum on trust instead of reading the ROM to compute it, as in crc32=1234abcd (repeatable, comma-separable)]:ALGO=HEX:_default' \
|
|
803
1342
|
'*--expect-in=[Stop unless the ROM about to be patched has this checksum, as in crc32=1234abcd (repeatable, comma-separable)]:ALGO=HEX:_default' \
|
|
804
1343
|
'*--patch-header=[Whether a patch applies to the ROM with or without its copier header\: auto, keep, or strip \[default\: auto\]]:PATCH_HEADER:(keep strip auto)' \
|
|
805
|
-
'*--patch-basis=[
|
|
1344
|
+
'*--patch-basis=[Override the preceding --patch input rule\: auto, base, or previous]:PATCH_BASIS:(auto base previous)' \
|
|
1345
|
+
'*--patch-input-check=[Expected input checks for the preceding patch (repeatable, comma-separable)]:ALGO=HEX:_default' \
|
|
1346
|
+
'*--patch-output-check=[Expected output checks for the preceding patch (repeatable, comma-separable)]:ALGO=HEX:_default' \
|
|
1347
|
+
'--default-patch-basis=[Shared input ROM rule for every patch\: auto, base, or previous \[default\: auto\]]:DEFAULT_PATCH_BASIS:(auto base previous)' \
|
|
806
1348
|
'--output-header=[Whether the finished ROM keeps its copier header\: auto, keep, or strip \[default\: auto\]]:OUTPUT_HEADER:(keep strip auto)' \
|
|
807
1349
|
'*--n64-byte-order=[Byte order to put an N64 ROM in for each patch\: auto, keep, big-endian, little-endian, or byte-swapped \[default\: auto\]]:N64_BYTE_ORDER:(auto keep big-endian little-endian byte-swapped)' \
|
|
808
1350
|
'*--expect-out=[Fail unless the patched ROM has this checksum, as in sha1=abc... (repeatable, comma-separable)]:ALGO=HEX:_default' \
|
|
809
1351
|
'*--code=[Game Genie or GameShark/Pro Action Replay code to bake into the ROM. Repeat for each code]:CODES:_default' \
|
|
810
|
-
'--code-system=[Console the --code values are for (nes, snes, genesis, gameboy, gba, psx), when the ROM header does not say]:CODE_SYSTEM:_default' \
|
|
1352
|
+
'--code-system=[Console the --code values are for (nes, snes, genesis, 32x, sms, gamegear, sg1000, gameboy, gba, psx), when the ROM header does not say]:CODE_SYSTEM:_default' \
|
|
811
1353
|
'--code-kind=[Which cheat scheme the --code values use\: auto, game-genie, gameshark/par, or xploder]:CODE_KIND:_default' \
|
|
1354
|
+
'*--cheat=[Database cheat to use, by record ID or exact description. Repeat for each cheat]:ID_OR_DESCRIPTION:_default' \
|
|
1355
|
+
'--cheat-database=[Directory holding manifest.json and the <system>.json cheat shards. Defaults to \$ROM_WEAVER_CHEAT_DATABASE, then the per-user data directory]:DIR:_files' \
|
|
1356
|
+
'--cheat-system=[Console the cheat shard is for (nes, snes, genesis, gameboy, gameboy-color, gba), when the ROM header does not say]:SYS:_default' \
|
|
1357
|
+
'--game=[Use this database game ID instead of matching the ROM by checksum or title]:ID:_default' \
|
|
812
1358
|
'--emit-bundle=[Also write a rom-weaver-bundle.json recording this run, so someone else can repeat it]:PATH:_files' \
|
|
813
1359
|
'-j+[How many threads to use at most. auto uses every core; a format may still use fewer]:auto|N:_default' \
|
|
814
1360
|
'--threads=[How many threads to use at most. auto uses every core; a format may still use fewer]:auto|N:_default' \
|
|
815
|
-
'
|
|
1361
|
+
'-o+[Output path; - writes one completed binary file to stdout]:OUTPUT:_files' \
|
|
1362
|
+
'--output=[Output path; - writes one completed binary file to stdout]:OUTPUT:_files' \
|
|
1363
|
+
'(-v --verbose --debug -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\: warn\]]:LOG_LEVEL:(off error warn info debug trace)' \
|
|
816
1364
|
'--no-extract[Do not look inside archives; treat the input and every patch as raw files]' \
|
|
817
1365
|
'--no-ignore[Also consider files normally skipped inside archives\: readmes, images, checksum sidecars, and OS clutter such as .DS_Store]' \
|
|
1366
|
+
'--without-cheats[Ignore every cheat the bundle records and run only its patch chain]' \
|
|
818
1367
|
'--no-compress[Write a plain ROM instead of compressing the result]' \
|
|
819
1368
|
'--raw[Write a plain ROM instead of compressing the result]' \
|
|
820
1369
|
'--repair-checksum[Recompute the ROM'\''s internal header checksum afterwards, so the console does not reject it (SNES, NES, GB, GBA, Mega Drive, SMS, N64, NDS)]' \
|
|
821
1370
|
'--ignore-checksum-validation[Apply the patch even when its own checksums do not match. Can produce a broken ROM]' \
|
|
1371
|
+
'--allow-cheat-conflicts[Let a later cheat overwrite an earlier one at the same offset instead of failing]' \
|
|
822
1372
|
'--tui[Ask for each patch'\''s name, version, and author, then apply and write a bundle. Needs a terminal]' \
|
|
823
1373
|
'--force[Overwrite the output if it already exists (without this, the command stops instead)]' \
|
|
824
|
-
'-n[
|
|
825
|
-
'--dry-run[
|
|
826
|
-
'--json[Print one JSON
|
|
827
|
-
'(--
|
|
1374
|
+
'-n[Plan the command without changing files or downloading data]' \
|
|
1375
|
+
'--dry-run[Plan the command without changing files or downloading data]' \
|
|
1376
|
+
'(--jsonl)--json[Print one complete JSON report; progress and diagnostics use stderr]' \
|
|
1377
|
+
'(--json)--jsonl[Stream JSON events, including progress, one object per line]' \
|
|
1378
|
+
'(--no-progress)--progress[Show progress on stderr (off by default; JSONL includes progress)]' \
|
|
828
1379
|
'(--progress)--no-progress[Hide progress]' \
|
|
829
|
-
'(--log-level
|
|
830
|
-
'(--log-level
|
|
831
|
-
'(--log-level -v --verbose
|
|
832
|
-
'(--log-level
|
|
833
|
-
'--
|
|
834
|
-
'(--no-color)--color[Keep colors even when output is piped]' \
|
|
835
|
-
'(--color)--no-color[Turn colors off]' \
|
|
836
|
-
'-y[Answer yes to every confirmation instead of asking. Does not choose between candidates]' \
|
|
837
|
-
'--yes[Answer yes to every confirmation instead of asking. Does not choose between candidates]' \
|
|
838
|
-
'-h[Print help (see more with '\''--help'\'')]' \
|
|
839
|
-
'--help[Print help (see more with '\''--help'\'')]' \
|
|
840
|
-
&& ret=0
|
|
841
|
-
;;
|
|
842
|
-
(validate)
|
|
843
|
-
_arguments "${_arguments_options[@]}" : \
|
|
844
|
-
'-i+[ROM to check the patches against. May be an archive]:PATH:_files' \
|
|
845
|
-
'--input=[ROM to check the patches against. May be an archive]:PATH:_files' \
|
|
846
|
-
'*-s+[Pick which file to use when the ROM or a patch is inside an archive, by exact name, prefix, or glob (repeatable). --patch-select overrides it for the patch it follows]:SELECT:_default' \
|
|
847
|
-
'*--select=[Pick which file to use when the ROM or a patch is inside an archive, by exact name, prefix, or glob (repeatable). --patch-select overrides it for the patch it follows]:SELECT:_default' \
|
|
848
|
-
'*--filter=[Consider only files that look like a rom or a patch, judged by extension (repeatable, comma-separable)]:FILTER:(rom patch)' \
|
|
849
|
-
'*--patch=[Patch to check. Repeat once per patch; they are checked in the order given]:PATCHES:_files' \
|
|
850
|
-
'*--patch-select=[Pick which file to use inside the --patch archive before it. Repeatable, one per --patch; falls back to --select]:GLOB:_default' \
|
|
851
|
-
'*--assume-in=[Take this checksum on trust instead of reading the ROM to compute it, as in crc32=1234abcd (repeatable, comma-separable)]:ALGO=HEX:_default' \
|
|
852
|
-
'*--expect-in=[Fail unless the ROM matches\: a checksum (crc32=1234abcd), an exact size (size=N), or a floor (min-size=N). Repeatable, comma-separable]:ALGO=HEX:_default' \
|
|
853
|
-
'--n64-byte-order=[Byte order to put an N64 ROM in before checking\: auto, keep, big-endian, little-endian, or byte-swapped \[default\: auto\]]:N64_BYTE_ORDER:(auto keep big-endian little-endian byte-swapped)' \
|
|
854
|
-
'*--patch-basis=[Which ROM the preceding --patch was built against\: auto, base, or previous \[default\: auto\]]:PATCH_BASIS:(auto base previous)' \
|
|
855
|
-
'*--patch-input-check=[Checksum the preceding --patch expects to see going in, when the patch does not carry one (comma-separable; empty means none)]:ALGO=HEX:_default' \
|
|
856
|
-
'*--patch-output-check=[Checksum the preceding --patch should produce, when the patch does not carry one (comma-separable; empty means none)]:ALGO=HEX:_default' \
|
|
857
|
-
'-j+[How many threads to use at most. auto uses every core; a format may still use fewer]:auto|N:_default' \
|
|
858
|
-
'--threads=[How many threads to use at most. auto uses every core; a format may still use fewer]:auto|N:_default' \
|
|
859
|
-
'(-v --verbose -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\: off\]]:LOG_LEVEL:(off error warn info debug trace)' \
|
|
860
|
-
'--no-extract[Do not look inside archives; treat the input and every patch as raw files]' \
|
|
861
|
-
'--no-ignore[Also consider files normally skipped inside archives\: readmes, images, checksum sidecars, and OS clutter such as .DS_Store]' \
|
|
862
|
-
'--strip-header[Remove the ROM'\''s copier header before checking (A78, LNX, NES, FDS, SMC signatures, plus the SNES and PCE size rules)]' \
|
|
863
|
-
'--ignore-checksum-validation[Report a patch as usable even when its own checksums do not match]' \
|
|
864
|
-
'--independent[Check every patch against the original ROM rather than as a chain, and report a verdict for each instead of stopping at the first failure]' \
|
|
865
|
-
'--plan[Report the order the patches would run in and what each would be checked against, without reading the ROM more than needed]' \
|
|
866
|
-
'--json[Print one JSON object per line instead of human-readable output]' \
|
|
867
|
-
'(--no-progress)--progress[Show progress even when output is piped to a file or another program]' \
|
|
868
|
-
'(--progress)--no-progress[Hide progress]' \
|
|
869
|
-
'(--log-level -q --quiet)*-v[Log more\: -v for info, -vv for debug, -vvv for trace]' \
|
|
870
|
-
'(--log-level -q --quiet)*--verbose[Log more\: -v for info, -vv for debug, -vvv for trace]' \
|
|
871
|
-
'(--log-level -v --verbose)-q[Log errors only]' \
|
|
872
|
-
'(--log-level -v --verbose)--quiet[Log errors only]' \
|
|
1380
|
+
'(--log-level --debug)*-v[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
1381
|
+
'(--log-level --debug)*--verbose[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
1382
|
+
'(--log-level -v --verbose -q --quiet)--debug[Show developer diagnostics and trace events on stderr (same as -vvv)]' \
|
|
1383
|
+
'(--log-level --debug)-q[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
1384
|
+
'(--log-level --debug)--quiet[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
873
1385
|
'--dep-trace[Also log trace output from bundled libraries (for bug reports)]' \
|
|
874
1386
|
'(--no-color)--color[Keep colors even when output is piped]' \
|
|
875
1387
|
'(--color)--no-color[Turn colors off]' \
|
|
@@ -885,12 +1397,14 @@ _arguments "${_arguments_options[@]}" : \
|
|
|
885
1397
|
'--modified=[The changed ROM. Leave out when using --code, which produces the changed ROM for you]:MODIFIED:_files' \
|
|
886
1398
|
'-f+[Patch format, such as bps, ips, or xdelta \[default\: from the --output extension\]]:FORMAT:_default' \
|
|
887
1399
|
'--format=[Patch format, such as bps, ips, or xdelta \[default\: from the --output extension\]]:FORMAT:_default' \
|
|
888
|
-
'-o+[Where to write the patch. Required unless --plan is used]:PATH:_files' \
|
|
889
|
-
'--output=[Where to write the patch. Required unless --plan is used]:PATH:_files' \
|
|
890
1400
|
'*--assume-in=[Take the original ROM'\''s checksum on trust rather than reading the file, as in crc32=1234abcd (repeatable, comma-separable)]:ALGO=HEX:_default' \
|
|
891
1401
|
'*--code=[Build the patch from a Game Genie or GameShark/Pro Action Replay code instead of a second ROM. Repeat for each code; cannot be used with --modified]:CODES:_default' \
|
|
892
|
-
'--code-system=[Console the --code values are for (nes, snes, genesis, gameboy, gba, psx), when the ROM header does not say]:CODE_SYSTEM:_default' \
|
|
1402
|
+
'--code-system=[Console the --code values are for (nes, snes, genesis, 32x, sms, gamegear, sg1000, gameboy, gba, psx), when the ROM header does not say]:CODE_SYSTEM:_default' \
|
|
893
1403
|
'--code-kind=[Which cheat scheme the --code values use\: auto, game-genie, gameshark/par, or xploder]:CODE_KIND:_default' \
|
|
1404
|
+
'*--cheat=[Database cheat to use, by record ID or exact description. Repeat for each cheat]:ID_OR_DESCRIPTION:_default' \
|
|
1405
|
+
'--cheat-database=[Directory holding manifest.json and the <system>.json cheat shards. Defaults to \$ROM_WEAVER_CHEAT_DATABASE, then the per-user data directory]:DIR:_files' \
|
|
1406
|
+
'--cheat-system=[Console the cheat shard is for (nes, snes, genesis, gameboy, gameboy-color, gba), when the ROM header does not say]:SYS:_default' \
|
|
1407
|
+
'--game=[Use this database game ID instead of matching the ROM by checksum or title]:ID:_default' \
|
|
894
1408
|
'-j+[How many threads to use at most. auto uses every core; a format may still use fewer]:auto|N:_default' \
|
|
895
1409
|
'--threads=[How many threads to use at most. auto uses every core; a format may still use fewer]:auto|N:_default' \
|
|
896
1410
|
'--solid-system=[SOLID patches only\: console the ROM is for]:SOLID_SYSTEM:_default' \
|
|
@@ -901,19 +1415,26 @@ _arguments "${_arguments_options[@]}" : \
|
|
|
901
1415
|
'--solid-contact=[SOLID patches only\: how to reach the author. Switches the patch to its extended header]:SOLID_CONTACT:_default' \
|
|
902
1416
|
'--solid-comment=[SOLID patches only\: free-form note. Switches the patch to its extended header]:SOLID_COMMENT:_default' \
|
|
903
1417
|
'--xdelta-secondary=[xdelta patches only\: compress the patch'\''s own contents]:XDELTA_SECONDARY:(auto lzma djw fgk none)' \
|
|
904
|
-
'
|
|
1418
|
+
'-o+[Output path; - writes one completed binary file to stdout]:PATH:_files' \
|
|
1419
|
+
'--output=[Output path; - writes one completed binary file to stdout]:PATH:_files' \
|
|
1420
|
+
'(-v --verbose --debug -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\: warn\]]:LOG_LEVEL:(off error warn info debug trace)' \
|
|
905
1421
|
'--plan[Only report which formats suit these two ROMs; write nothing]' \
|
|
906
1422
|
'--ignore-checksum-validation[Write the patch even when the format'\''s own consistency checks fail, and leave its checksums out]' \
|
|
907
1423
|
'--checksum-name[Put the original ROM'\''s crc32 in the patch file name, as \[crc32\:HEX\]]' \
|
|
1424
|
+
'--allow-cheat-conflicts[Let a later cheat overwrite an earlier one at the same offset instead of failing]' \
|
|
908
1425
|
'--solid-extended[SOLID patches only\: use the extended header even with none of the extended fields filled in]' \
|
|
909
1426
|
'--force[Overwrite the output if it already exists (without this, the command stops instead)]' \
|
|
910
|
-
'
|
|
911
|
-
'
|
|
1427
|
+
'-n[Plan the command without changing files or downloading data]' \
|
|
1428
|
+
'--dry-run[Plan the command without changing files or downloading data]' \
|
|
1429
|
+
'(--jsonl)--json[Print one complete JSON report; progress and diagnostics use stderr]' \
|
|
1430
|
+
'(--json)--jsonl[Stream JSON events, including progress, one object per line]' \
|
|
1431
|
+
'(--no-progress)--progress[Show progress on stderr (off by default; JSONL includes progress)]' \
|
|
912
1432
|
'(--progress)--no-progress[Hide progress]' \
|
|
913
|
-
'(--log-level
|
|
914
|
-
'(--log-level
|
|
915
|
-
'(--log-level -v --verbose
|
|
916
|
-
'(--log-level
|
|
1433
|
+
'(--log-level --debug)*-v[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
1434
|
+
'(--log-level --debug)*--verbose[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
1435
|
+
'(--log-level -v --verbose -q --quiet)--debug[Show developer diagnostics and trace events on stderr (same as -vvv)]' \
|
|
1436
|
+
'(--log-level --debug)-q[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
1437
|
+
'(--log-level --debug)--quiet[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
917
1438
|
'--dep-trace[Also log trace output from bundled libraries (for bug reports)]' \
|
|
918
1439
|
'(--no-color)--color[Keep colors even when output is piped]' \
|
|
919
1440
|
'(--color)--no-color[Turn colors off]' \
|
|
@@ -935,11 +1456,11 @@ _arguments "${_arguments_options[@]}" : \
|
|
|
935
1456
|
(( CURRENT += 1 ))
|
|
936
1457
|
curcontext="${curcontext%:*:*}:rom-weaver-patch-help-command-$line[1]:"
|
|
937
1458
|
case $line[1] in
|
|
938
|
-
(
|
|
1459
|
+
(validate)
|
|
939
1460
|
_arguments "${_arguments_options[@]}" : \
|
|
940
1461
|
&& ret=0
|
|
941
1462
|
;;
|
|
942
|
-
(
|
|
1463
|
+
(apply)
|
|
943
1464
|
_arguments "${_arguments_options[@]}" : \
|
|
944
1465
|
&& ret=0
|
|
945
1466
|
;;
|
|
@@ -959,16 +1480,20 @@ esac
|
|
|
959
1480
|
;;
|
|
960
1481
|
esac
|
|
961
1482
|
;;
|
|
962
|
-
(
|
|
1483
|
+
(save)
|
|
963
1484
|
_arguments "${_arguments_options[@]}" : \
|
|
964
|
-
'(-v --verbose -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\:
|
|
965
|
-
'
|
|
966
|
-
'
|
|
1485
|
+
'(-v --verbose --debug -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\: warn\]]:LOG_LEVEL:(off error warn info debug trace)' \
|
|
1486
|
+
'-n[Plan the command without changing files or downloading data]' \
|
|
1487
|
+
'--dry-run[Plan the command without changing files or downloading data]' \
|
|
1488
|
+
'(--jsonl)--json[Print one complete JSON report; progress and diagnostics use stderr]' \
|
|
1489
|
+
'(--json)--jsonl[Stream JSON events, including progress, one object per line]' \
|
|
1490
|
+
'(--no-progress)--progress[Show progress on stderr (off by default; JSONL includes progress)]' \
|
|
967
1491
|
'(--progress)--no-progress[Hide progress]' \
|
|
968
|
-
'(--log-level
|
|
969
|
-
'(--log-level
|
|
970
|
-
'(--log-level -v --verbose
|
|
971
|
-
'(--log-level
|
|
1492
|
+
'(--log-level --debug)*-v[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
1493
|
+
'(--log-level --debug)*--verbose[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
1494
|
+
'(--log-level -v --verbose -q --quiet)--debug[Show developer diagnostics and trace events on stderr (same as -vvv)]' \
|
|
1495
|
+
'(--log-level --debug)-q[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
1496
|
+
'(--log-level --debug)--quiet[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
972
1497
|
'--dep-trace[Also log trace output from bundled libraries (for bug reports)]' \
|
|
973
1498
|
'(--no-color)--color[Keep colors even when output is piped]' \
|
|
974
1499
|
'(--color)--no-color[Turn colors off]' \
|
|
@@ -976,162 +1501,111 @@ _arguments "${_arguments_options[@]}" : \
|
|
|
976
1501
|
'--yes[Answer yes to every confirmation instead of asking. Does not choose between candidates]' \
|
|
977
1502
|
'-h[Print help]' \
|
|
978
1503
|
'--help[Print help]' \
|
|
979
|
-
":: :_rom-
|
|
980
|
-
"*::: :->
|
|
1504
|
+
":: :_rom-weaver__subcmd__save_commands" \
|
|
1505
|
+
"*::: :->save" \
|
|
981
1506
|
&& ret=0
|
|
982
1507
|
|
|
983
1508
|
case $state in
|
|
984
|
-
(
|
|
1509
|
+
(save)
|
|
985
1510
|
words=($line[1] "${words[@]}")
|
|
986
1511
|
(( CURRENT += 1 ))
|
|
987
|
-
curcontext="${curcontext%:*:*}:rom-weaver-
|
|
1512
|
+
curcontext="${curcontext%:*:*}:rom-weaver-save-command-$line[1]:"
|
|
988
1513
|
case $line[1] in
|
|
989
|
-
(
|
|
990
|
-
_arguments "${_arguments_options[@]}" : \
|
|
991
|
-
'
|
|
992
|
-
'--
|
|
993
|
-
'
|
|
994
|
-
'
|
|
995
|
-
'--
|
|
996
|
-
'
|
|
997
|
-
'
|
|
998
|
-
'
|
|
999
|
-
'*--patch-name=[Name to show for the preceding --patch]:PATCH_NAME:_default' \
|
|
1000
|
-
'*--patch-description=[What the preceding --patch does]:PATCH_DESCRIPTION:_default' \
|
|
1001
|
-
'*--patch-author=[Who made the preceding --patch]:PATCH_AUTHOR:_default' \
|
|
1002
|
-
'*--patch-label=[Short status note for the preceding --patch, such as beta or recommended]:PATCH_LABEL:_default' \
|
|
1003
|
-
'*--patch-optional=[Mark the preceding --patch optional, so it starts switched off and needs --with to run]:PATCH_OPTIONAL:(true false)' \
|
|
1004
|
-
'*--patch-source-url=[Where the preceding --patch can be downloaded from. The local file is still read to build the bundle]:PATCH_SOURCE_URL:_default' \
|
|
1005
|
-
'*--patch-header=[Whether the preceding --patch applies to the ROM with or without its copier header\: auto, keep, or strip]:PATCH_HEADER:(keep strip auto)' \
|
|
1006
|
-
'*--patch-basis=[Which ROM the preceding --patch was built against\: base (the bundle'\''s ROM) or previous (the patch before it). Use auto to leave it out and let apply infer it]:PATCH_BASIS:(auto base previous)' \
|
|
1007
|
-
'*--patch-expect-in=[Checksum the ROM should have before the preceding --patch runs. Recorded only when it differs from the bundle'\''s ROM checksums (repeatable, comma-separable)]:ALGO=HEX:_default' \
|
|
1008
|
-
'*--patch-expect-out=[Checksum the ROM should have after the preceding --patch runs. Recorded only when it differs from the final output checksums (repeatable, comma-separable)]:ALGO=HEX:_default' \
|
|
1009
|
-
'*--expect-out=[Checksum the ROM should have once every patch has run, so users can confirm they got the right result (repeatable, comma-separable)]:ALGO=HEX:_default' \
|
|
1010
|
-
'--output-name=[File name the bundle suggests for the patched ROM]:OUTPUT_NAME:_default' \
|
|
1011
|
-
'--output-header=[Whether the patched ROM should keep its copier header\: auto, keep, or strip]:OUTPUT_HEADER:(keep strip auto)' \
|
|
1012
|
-
'-o+[Where to write the bundle. Name it rom-weaver-bundle.json, or add .gz or .zst to compress it]:OUTPUT:_files' \
|
|
1013
|
-
'--output=[Where to write the bundle. Name it rom-weaver-bundle.json, or add .gz or .zst to compress it]:OUTPUT:_files' \
|
|
1014
|
-
'--bundle=[Also pack the bundle and its ROM and patches into one shareable archive, such as release.zip]:BUNDLE:_files' \
|
|
1015
|
-
'--bundle-rom=[Pack this file into --bundle as the ROM, while --input supplies the checksums and metadata]:BUNDLE_ROM:_files' \
|
|
1016
|
-
'*--checksum=[Which checksums to record for the ROM (repeatable, comma-separable) \[default\: crc32,md5,sha1\]]:ALGO:(crc32 md5 sha1 sha256 blake3 crc32c crc16 adler32)' \
|
|
1017
|
-
'*--algo=[Which checksums to record for the ROM (repeatable, comma-separable) \[default\: crc32,md5,sha1\]]:ALGO:(crc32 md5 sha1 sha256 blake3 crc32c crc16 adler32)' \
|
|
1018
|
-
'--from=[Build the bundle from a hand-written rom-weaver-bundle.json instead of flags. Use - to read it from stdin]:FILE:_files' \
|
|
1019
|
-
'--schema-ref=[Record this \$schema URL in the bundle so editors can validate it. Left out unless asked for]:URL:_default' \
|
|
1020
|
-
'-j+[How many threads to use at most. auto uses every core; a format may still use fewer]:auto|N:_default' \
|
|
1021
|
-
'--threads=[How many threads to use at most. auto uses every core; a format may still use fewer]:auto|N:_default' \
|
|
1022
|
-
'(-v --verbose -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\: off\]]:LOG_LEVEL:(off error warn info debug trace)' \
|
|
1023
|
-
'--no-bundle-rom[Keep the ROM out of --bundle and record only its checksums, so whoever applies the bundle brings their own copy]' \
|
|
1024
|
-
'--force[Overwrite the output if it already exists (without this, the command stops instead)]' \
|
|
1025
|
-
'--json[Print one JSON object per line instead of human-readable output]' \
|
|
1026
|
-
'(--no-progress)--progress[Show progress even when output is piped to a file or another program]' \
|
|
1514
|
+
(identify)
|
|
1515
|
+
_arguments "${_arguments_options[@]}" : \
|
|
1516
|
+
'--game=[Force a game id instead of detecting one]:GAME_ID:_default' \
|
|
1517
|
+
'--rom-sha1=[SHA-1 of the matching ROM, used to pick a game]:SHA1:_default' \
|
|
1518
|
+
'(-v --verbose --debug -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\: warn\]]:LOG_LEVEL:(off error warn info debug trace)' \
|
|
1519
|
+
'-n[Plan the command without changing files or downloading data]' \
|
|
1520
|
+
'--dry-run[Plan the command without changing files or downloading data]' \
|
|
1521
|
+
'(--jsonl)--json[Print one complete JSON report; progress and diagnostics use stderr]' \
|
|
1522
|
+
'(--json)--jsonl[Stream JSON events, including progress, one object per line]' \
|
|
1523
|
+
'(--no-progress)--progress[Show progress on stderr (off by default; JSONL includes progress)]' \
|
|
1027
1524
|
'(--progress)--no-progress[Hide progress]' \
|
|
1028
|
-
'(--log-level
|
|
1029
|
-
'(--log-level
|
|
1030
|
-
'(--log-level -v --verbose
|
|
1031
|
-
'(--log-level
|
|
1525
|
+
'(--log-level --debug)*-v[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
1526
|
+
'(--log-level --debug)*--verbose[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
1527
|
+
'(--log-level -v --verbose -q --quiet)--debug[Show developer diagnostics and trace events on stderr (same as -vvv)]' \
|
|
1528
|
+
'(--log-level --debug)-q[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
1529
|
+
'(--log-level --debug)--quiet[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
1032
1530
|
'--dep-trace[Also log trace output from bundled libraries (for bug reports)]' \
|
|
1033
1531
|
'(--no-color)--color[Keep colors even when output is piped]' \
|
|
1034
1532
|
'(--color)--no-color[Turn colors off]' \
|
|
1035
1533
|
'-y[Answer yes to every confirmation instead of asking. Does not choose between candidates]' \
|
|
1036
1534
|
'--yes[Answer yes to every confirmation instead of asking. Does not choose between candidates]' \
|
|
1037
|
-
'-h[Print help
|
|
1038
|
-
'--help[Print help
|
|
1535
|
+
'-h[Print help]' \
|
|
1536
|
+
'--help[Print help]' \
|
|
1537
|
+
':input -- Save file to read:_files' \
|
|
1039
1538
|
&& ret=0
|
|
1040
1539
|
;;
|
|
1041
|
-
(
|
|
1540
|
+
(inspect)
|
|
1042
1541
|
_arguments "${_arguments_options[@]}" : \
|
|
1043
|
-
'
|
|
1044
|
-
'--
|
|
1045
|
-
'
|
|
1046
|
-
'
|
|
1047
|
-
'
|
|
1048
|
-
'
|
|
1049
|
-
'--
|
|
1050
|
-
'-
|
|
1051
|
-
'--threads=[How many threads to use at most. auto uses every core; a format may still use fewer]:auto|N:_default' \
|
|
1052
|
-
'(-v --verbose -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\: off\]]:LOG_LEVEL:(off error warn info debug trace)' \
|
|
1053
|
-
'--no-extract[Report what the bundle contains without unpacking any of it]' \
|
|
1054
|
-
'--json[Print one JSON object per line instead of human-readable output]' \
|
|
1055
|
-
'(--no-progress)--progress[Show progress even when output is piped to a file or another program]' \
|
|
1542
|
+
'--game=[Force a game id instead of detecting one]:GAME_ID:_default' \
|
|
1543
|
+
'--rom-sha1=[SHA-1 of the matching ROM, used to pick a game]:SHA1:_default' \
|
|
1544
|
+
'(-v --verbose --debug -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\: warn\]]:LOG_LEVEL:(off error warn info debug trace)' \
|
|
1545
|
+
'-n[Plan the command without changing files or downloading data]' \
|
|
1546
|
+
'--dry-run[Plan the command without changing files or downloading data]' \
|
|
1547
|
+
'(--jsonl)--json[Print one complete JSON report; progress and diagnostics use stderr]' \
|
|
1548
|
+
'(--json)--jsonl[Stream JSON events, including progress, one object per line]' \
|
|
1549
|
+
'(--no-progress)--progress[Show progress on stderr (off by default; JSONL includes progress)]' \
|
|
1056
1550
|
'(--progress)--no-progress[Hide progress]' \
|
|
1057
|
-
'(--log-level
|
|
1058
|
-
'(--log-level
|
|
1059
|
-
'(--log-level -v --verbose
|
|
1060
|
-
'(--log-level
|
|
1551
|
+
'(--log-level --debug)*-v[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
1552
|
+
'(--log-level --debug)*--verbose[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
1553
|
+
'(--log-level -v --verbose -q --quiet)--debug[Show developer diagnostics and trace events on stderr (same as -vvv)]' \
|
|
1554
|
+
'(--log-level --debug)-q[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
1555
|
+
'(--log-level --debug)--quiet[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
1061
1556
|
'--dep-trace[Also log trace output from bundled libraries (for bug reports)]' \
|
|
1062
1557
|
'(--no-color)--color[Keep colors even when output is piped]' \
|
|
1063
1558
|
'(--color)--no-color[Turn colors off]' \
|
|
1064
1559
|
'-y[Answer yes to every confirmation instead of asking. Does not choose between candidates]' \
|
|
1065
1560
|
'--yes[Answer yes to every confirmation instead of asking. Does not choose between candidates]' \
|
|
1066
|
-
'-h[Print help
|
|
1067
|
-
'--help[Print help
|
|
1561
|
+
'-h[Print help]' \
|
|
1562
|
+
'--help[Print help]' \
|
|
1563
|
+
':input -- Save file to read:_files' \
|
|
1068
1564
|
&& ret=0
|
|
1069
1565
|
;;
|
|
1070
|
-
(
|
|
1566
|
+
(get)
|
|
1071
1567
|
_arguments "${_arguments_options[@]}" : \
|
|
1072
|
-
'
|
|
1073
|
-
'--
|
|
1074
|
-
'(--
|
|
1568
|
+
'--game=[Force a game id instead of detecting one]:GAME_ID:_default' \
|
|
1569
|
+
'--rom-sha1=[SHA-1 of the matching ROM, used to pick a game]:SHA1:_default' \
|
|
1570
|
+
'(-v --verbose --debug -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\: warn\]]:LOG_LEVEL:(off error warn info debug trace)' \
|
|
1571
|
+
'-n[Plan the command without changing files or downloading data]' \
|
|
1572
|
+
'--dry-run[Plan the command without changing files or downloading data]' \
|
|
1573
|
+
'(--jsonl)--json[Print one complete JSON report; progress and diagnostics use stderr]' \
|
|
1574
|
+
'(--json)--jsonl[Stream JSON events, including progress, one object per line]' \
|
|
1575
|
+
'(--no-progress)--progress[Show progress on stderr (off by default; JSONL includes progress)]' \
|
|
1075
1576
|
'(--progress)--no-progress[Hide progress]' \
|
|
1076
|
-
'(--log-level
|
|
1077
|
-
'(--log-level
|
|
1078
|
-
'(--log-level -v --verbose
|
|
1079
|
-
'(--log-level
|
|
1577
|
+
'(--log-level --debug)*-v[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
1578
|
+
'(--log-level --debug)*--verbose[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
1579
|
+
'(--log-level -v --verbose -q --quiet)--debug[Show developer diagnostics and trace events on stderr (same as -vvv)]' \
|
|
1580
|
+
'(--log-level --debug)-q[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
1581
|
+
'(--log-level --debug)--quiet[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
1080
1582
|
'--dep-trace[Also log trace output from bundled libraries (for bug reports)]' \
|
|
1081
1583
|
'(--no-color)--color[Keep colors even when output is piped]' \
|
|
1082
1584
|
'(--color)--no-color[Turn colors off]' \
|
|
1083
1585
|
'-y[Answer yes to every confirmation instead of asking. Does not choose between candidates]' \
|
|
1084
1586
|
'--yes[Answer yes to every confirmation instead of asking. Does not choose between candidates]' \
|
|
1085
|
-
'-h[Print help
|
|
1086
|
-
'--help[Print help
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
(help)
|
|
1090
|
-
_arguments "${_arguments_options[@]}" : \
|
|
1091
|
-
":: :_rom-weaver__subcmd__bundle__subcmd__help_commands" \
|
|
1092
|
-
"*::: :->help" \
|
|
1093
|
-
&& ret=0
|
|
1094
|
-
|
|
1095
|
-
case $state in
|
|
1096
|
-
(help)
|
|
1097
|
-
words=($line[1] "${words[@]}")
|
|
1098
|
-
(( CURRENT += 1 ))
|
|
1099
|
-
curcontext="${curcontext%:*:*}:rom-weaver-bundle-help-command-$line[1]:"
|
|
1100
|
-
case $line[1] in
|
|
1101
|
-
(create)
|
|
1102
|
-
_arguments "${_arguments_options[@]}" : \
|
|
1103
|
-
&& ret=0
|
|
1104
|
-
;;
|
|
1105
|
-
(parse)
|
|
1106
|
-
_arguments "${_arguments_options[@]}" : \
|
|
1107
|
-
&& ret=0
|
|
1108
|
-
;;
|
|
1109
|
-
(schema)
|
|
1110
|
-
_arguments "${_arguments_options[@]}" : \
|
|
1111
|
-
&& ret=0
|
|
1112
|
-
;;
|
|
1113
|
-
(help)
|
|
1114
|
-
_arguments "${_arguments_options[@]}" : \
|
|
1587
|
+
'-h[Print help]' \
|
|
1588
|
+
'--help[Print help]' \
|
|
1589
|
+
':input -- Save file to read:_files' \
|
|
1590
|
+
':field -- Field id to read, such as trainer.money:_default' \
|
|
1115
1591
|
&& ret=0
|
|
1116
1592
|
;;
|
|
1117
|
-
|
|
1118
|
-
;;
|
|
1119
|
-
esac
|
|
1120
|
-
;;
|
|
1121
|
-
esac
|
|
1122
|
-
;;
|
|
1123
|
-
esac
|
|
1124
|
-
;;
|
|
1125
|
-
(tools)
|
|
1593
|
+
(export-schema)
|
|
1126
1594
|
_arguments "${_arguments_options[@]}" : \
|
|
1127
|
-
'
|
|
1128
|
-
'--
|
|
1129
|
-
'(--
|
|
1595
|
+
'--game=[Force a game id instead of detecting one]:GAME_ID:_default' \
|
|
1596
|
+
'--rom-sha1=[SHA-1 of the matching ROM, used to pick a game]:SHA1:_default' \
|
|
1597
|
+
'(-v --verbose --debug -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\: warn\]]:LOG_LEVEL:(off error warn info debug trace)' \
|
|
1598
|
+
'-n[Plan the command without changing files or downloading data]' \
|
|
1599
|
+
'--dry-run[Plan the command without changing files or downloading data]' \
|
|
1600
|
+
'(--jsonl)--json[Print one complete JSON report; progress and diagnostics use stderr]' \
|
|
1601
|
+
'(--json)--jsonl[Stream JSON events, including progress, one object per line]' \
|
|
1602
|
+
'(--no-progress)--progress[Show progress on stderr (off by default; JSONL includes progress)]' \
|
|
1130
1603
|
'(--progress)--no-progress[Hide progress]' \
|
|
1131
|
-
'(--log-level
|
|
1132
|
-
'(--log-level
|
|
1133
|
-
'(--log-level -v --verbose
|
|
1134
|
-
'(--log-level
|
|
1604
|
+
'(--log-level --debug)*-v[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
1605
|
+
'(--log-level --debug)*--verbose[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
1606
|
+
'(--log-level -v --verbose -q --quiet)--debug[Show developer diagnostics and trace events on stderr (same as -vvv)]' \
|
|
1607
|
+
'(--log-level --debug)-q[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
1608
|
+
'(--log-level --debug)--quiet[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
1135
1609
|
'--dep-trace[Also log trace output from bundled libraries (for bug reports)]' \
|
|
1136
1610
|
'(--no-color)--color[Keep colors even when output is piped]' \
|
|
1137
1611
|
'(--color)--no-color[Turn colors off]' \
|
|
@@ -1139,43 +1613,42 @@ _arguments "${_arguments_options[@]}" : \
|
|
|
1139
1613
|
'--yes[Answer yes to every confirmation instead of asking. Does not choose between candidates]' \
|
|
1140
1614
|
'-h[Print help]' \
|
|
1141
1615
|
'--help[Print help]' \
|
|
1142
|
-
|
|
1143
|
-
|
|
1144
|
-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1151
|
-
|
|
1152
|
-
|
|
1153
|
-
|
|
1154
|
-
'
|
|
1155
|
-
'--
|
|
1156
|
-
'--
|
|
1157
|
-
'-
|
|
1158
|
-
'--output=[Where to write the restored ROM]:PATH:_files' \
|
|
1159
|
-
'(-v --verbose -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\: off\]]:LOG_LEVEL:(off error warn info debug trace)' \
|
|
1160
|
-
'--json[Print one JSON object per line instead of human-readable output]' \
|
|
1161
|
-
'(--no-progress)--progress[Show progress even when output is piped to a file or another program]' \
|
|
1616
|
+
'::input -- Save file to read. Omit it and pass --game instead:_files' \
|
|
1617
|
+
&& ret=0
|
|
1618
|
+
;;
|
|
1619
|
+
(set)
|
|
1620
|
+
_arguments "${_arguments_options[@]}" : \
|
|
1621
|
+
'--game=[Force a game id instead of detecting one]:GAME_ID:_default' \
|
|
1622
|
+
'--rom-sha1=[SHA-1 of the matching ROM, used to pick a game]:SHA1:_default' \
|
|
1623
|
+
'-o+[Output path; - writes one completed binary file to stdout]:PATH:_files' \
|
|
1624
|
+
'--output=[Output path; - writes one completed binary file to stdout]:PATH:_files' \
|
|
1625
|
+
'(-v --verbose --debug -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\: warn\]]:LOG_LEVEL:(off error warn info debug trace)' \
|
|
1626
|
+
'-n[Validate and preview every change without writing a file]' \
|
|
1627
|
+
'--dry-run[Validate and preview every change without writing a file]' \
|
|
1628
|
+
'--force[Overwrite an explicit output path if it already exists]' \
|
|
1629
|
+
'(--jsonl)--json[Print one complete JSON report; progress and diagnostics use stderr]' \
|
|
1630
|
+
'(--json)--jsonl[Stream JSON events, including progress, one object per line]' \
|
|
1631
|
+
'(--no-progress)--progress[Show progress on stderr (off by default; JSONL includes progress)]' \
|
|
1162
1632
|
'(--progress)--no-progress[Hide progress]' \
|
|
1163
|
-
'(--log-level
|
|
1164
|
-
'(--log-level
|
|
1165
|
-
'(--log-level -v --verbose
|
|
1166
|
-
'(--log-level
|
|
1633
|
+
'(--log-level --debug)*-v[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
1634
|
+
'(--log-level --debug)*--verbose[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
1635
|
+
'(--log-level -v --verbose -q --quiet)--debug[Show developer diagnostics and trace events on stderr (same as -vvv)]' \
|
|
1636
|
+
'(--log-level --debug)-q[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
1637
|
+
'(--log-level --debug)--quiet[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
1167
1638
|
'--dep-trace[Also log trace output from bundled libraries (for bug reports)]' \
|
|
1168
1639
|
'(--no-color)--color[Keep colors even when output is piped]' \
|
|
1169
1640
|
'(--color)--no-color[Turn colors off]' \
|
|
1170
1641
|
'-y[Answer yes to every confirmation instead of asking. Does not choose between candidates]' \
|
|
1171
1642
|
'--yes[Answer yes to every confirmation instead of asking. Does not choose between candidates]' \
|
|
1172
|
-
'-h[Print help
|
|
1173
|
-
'--help[Print help
|
|
1643
|
+
'-h[Print help]' \
|
|
1644
|
+
'--help[Print help]' \
|
|
1645
|
+
':input -- Save file to read:_files' \
|
|
1646
|
+
'*::assignments -- Field assignments to apply, such as trainer.money=999999:_default' \
|
|
1174
1647
|
&& ret=0
|
|
1175
1648
|
;;
|
|
1176
1649
|
(help)
|
|
1177
1650
|
_arguments "${_arguments_options[@]}" : \
|
|
1178
|
-
":: :_rom-
|
|
1651
|
+
":: :_rom-weaver__subcmd__save__subcmd__help_commands" \
|
|
1179
1652
|
"*::: :->help" \
|
|
1180
1653
|
&& ret=0
|
|
1181
1654
|
|
|
@@ -1183,162 +1656,90 @@ _arguments "${_arguments_options[@]}" : \
|
|
|
1183
1656
|
(help)
|
|
1184
1657
|
words=($line[1] "${words[@]}")
|
|
1185
1658
|
(( CURRENT += 1 ))
|
|
1186
|
-
curcontext="${curcontext%:*:*}:rom-weaver-
|
|
1659
|
+
curcontext="${curcontext%:*:*}:rom-weaver-save-help-command-$line[1]:"
|
|
1187
1660
|
case $line[1] in
|
|
1188
|
-
(
|
|
1661
|
+
(identify)
|
|
1189
1662
|
_arguments "${_arguments_options[@]}" : \
|
|
1190
1663
|
&& ret=0
|
|
1191
1664
|
;;
|
|
1192
|
-
(
|
|
1665
|
+
(inspect)
|
|
1193
1666
|
_arguments "${_arguments_options[@]}" : \
|
|
1194
1667
|
&& ret=0
|
|
1195
1668
|
;;
|
|
1196
|
-
|
|
1197
|
-
;;
|
|
1198
|
-
esac
|
|
1199
|
-
;;
|
|
1200
|
-
esac
|
|
1201
|
-
;;
|
|
1202
|
-
esac
|
|
1203
|
-
;;
|
|
1204
|
-
(plan-extract-batch)
|
|
1669
|
+
(get)
|
|
1205
1670
|
_arguments "${_arguments_options[@]}" : \
|
|
1206
|
-
'*--job-size=[Source size in bytes for one job; repeat once per job, in input order]:BYTES:_default' \
|
|
1207
|
-
'-j+[How many threads to use at most. auto uses every core; a format may still use fewer]:auto|N:_default' \
|
|
1208
|
-
'--threads=[How many threads to use at most. auto uses every core; a format may still use fewer]:auto|N:_default' \
|
|
1209
|
-
'--max-concurrency=[Hard cap on jobs running at once; defaults to the thread budget]:MAX_CONCURRENCY:_default' \
|
|
1210
|
-
'--total-memory-bytes=[Total memory budget concurrent jobs may reserve (e.g. browser device memory); defaults to the platform'\''s physical memory]:TOTAL_MEMORY_BYTES:_default' \
|
|
1211
|
-
'--memory-ceiling-bytes=[Combined working-set ceiling to plan against, used verbatim (no fraction/clamp). The browser passes its own resolved, mobile-capped ceiling here; when set it overrides --total-memory-bytes]:MEMORY_CEILING_BYTES:_default' \
|
|
1212
|
-
'(-v --verbose -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\: off\]]:LOG_LEVEL:(off error warn info debug trace)' \
|
|
1213
|
-
'--json[Print one JSON object per line instead of human-readable output]' \
|
|
1214
|
-
'(--no-progress)--progress[Show progress even when output is piped to a file or another program]' \
|
|
1215
|
-
'(--progress)--no-progress[Hide progress]' \
|
|
1216
|
-
'(--log-level -q --quiet)*-v[Log more\: -v for info, -vv for debug, -vvv for trace]' \
|
|
1217
|
-
'(--log-level -q --quiet)*--verbose[Log more\: -v for info, -vv for debug, -vvv for trace]' \
|
|
1218
|
-
'(--log-level -v --verbose)-q[Log errors only]' \
|
|
1219
|
-
'(--log-level -v --verbose)--quiet[Log errors only]' \
|
|
1220
|
-
'--dep-trace[Also log trace output from bundled libraries (for bug reports)]' \
|
|
1221
|
-
'(--no-color)--color[Keep colors even when output is piped]' \
|
|
1222
|
-
'(--color)--no-color[Turn colors off]' \
|
|
1223
|
-
'-y[Answer yes to every confirmation instead of asking. Does not choose between candidates]' \
|
|
1224
|
-
'--yes[Answer yes to every confirmation instead of asking. Does not choose between candidates]' \
|
|
1225
|
-
'-h[Print help]' \
|
|
1226
|
-
'--help[Print help]' \
|
|
1227
1671
|
&& ret=0
|
|
1228
1672
|
;;
|
|
1229
|
-
(
|
|
1673
|
+
(export-schema)
|
|
1674
|
+
_arguments "${_arguments_options[@]}" : \
|
|
1675
|
+
&& ret=0
|
|
1676
|
+
;;
|
|
1677
|
+
(set)
|
|
1230
1678
|
_arguments "${_arguments_options[@]}" : \
|
|
1231
|
-
'-i+[ROM to patch. May be an archive, a disc sheet (.cue/.gdi), or a bundle]:PATH:_files' \
|
|
1232
|
-
'--input=[ROM to patch. May be an archive, a disc sheet (.cue/.gdi), or a bundle]:PATH:_files' \
|
|
1233
|
-
'*-s+[Pick which file to use when the ROM or a patch is inside an archive, by exact name, prefix, or glob (repeatable). --patch-select overrides it for the patch it follows]:SELECT:_default' \
|
|
1234
|
-
'*--select=[Pick which file to use when the ROM or a patch is inside an archive, by exact name, prefix, or glob (repeatable). --patch-select overrides it for the patch it follows]:SELECT:_default' \
|
|
1235
|
-
'--target=[For a .cue or .gdi input, which track gets the patch. Matched like --select and must hit exactly one track]:TARGET:_default' \
|
|
1236
|
-
'*--filter=[Consider only files that look like a rom or a patch, judged by extension (repeatable, comma-separable)]:FILTER:(rom patch)' \
|
|
1237
|
-
'*--patch=[Patch to apply. Repeat once per patch; they run in the order given]:PATCHES:_files' \
|
|
1238
|
-
'*--patch-select=[Pick which file to use inside the --patch archive before it. Repeatable, one per --patch; falls back to --select]:GLOB:_default' \
|
|
1239
|
-
'-o+[Where to write the patched ROM. Optional when a bundle already names the output]:OUTPUT:_files' \
|
|
1240
|
-
'--output=[Where to write the patched ROM. Optional when a bundle already names the output]:OUTPUT:_files' \
|
|
1241
|
-
'--bundle=[Follow a rom-weaver-bundle.json recipe\: a file path, or an http(s) URL]:BUNDLE:_files' \
|
|
1242
|
-
'*--with=[Turn on a bundle patch the bundle leaves off by default, matched by name or file name (repeatable)]:GLOB:_default' \
|
|
1243
|
-
'*--without=[Turn off a bundle patch, matched by name or file name (repeatable)]:GLOB:_default' \
|
|
1244
|
-
'--compress-format=[Format to compress the patched ROM into \[default\: from the --output extension\]]:COMPRESS_FORMAT:(zip 7z chd rvz z3ds)' \
|
|
1245
|
-
'--format=[Format to compress the patched ROM into \[default\: from the --output extension\]]:COMPRESS_FORMAT:(zip 7z chd rvz z3ds)' \
|
|
1246
|
-
'*--compress-codec=[Compression method to use, as codec or codec\:level (repeatable, comma-separable)]:COMPRESS_CODEC:(store deflate zstd lzma lzma2 zlib huff flac cdzs cdlz cdzl cdfl avhuff)' \
|
|
1247
|
-
'*--codec=[Compression method to use, as codec or codec\:level (repeatable, comma-separable)]:COMPRESS_CODEC:(store deflate zstd lzma lzma2 zlib huff flac cdzs cdlz cdzl cdfl avhuff)' \
|
|
1248
|
-
'--compress-level=[How hard to compress\: min, very-low, low, medium, high, very-high, or max \[default\: max\]]:COMPRESS_LEVEL:(min very-low low medium high very-high max)' \
|
|
1249
|
-
'--level=[How hard to compress\: min, very-low, low, medium, high, very-high, or max \[default\: max\]]:COMPRESS_LEVEL:(min very-low low medium high very-high max)' \
|
|
1250
|
-
'*--assume-in=[Take this checksum on trust instead of reading the ROM to compute it, as in crc32=1234abcd (repeatable, comma-separable)]:ALGO=HEX:_default' \
|
|
1251
|
-
'*--expect-in=[Stop unless the ROM about to be patched has this checksum, as in crc32=1234abcd (repeatable, comma-separable)]:ALGO=HEX:_default' \
|
|
1252
|
-
'*--patch-header=[Whether a patch applies to the ROM with or without its copier header\: auto, keep, or strip \[default\: auto\]]:PATCH_HEADER:(keep strip auto)' \
|
|
1253
|
-
'*--patch-basis=[Which ROM the preceding --patch was built against\: auto, base, or previous \[default\: auto\]]:PATCH_BASIS:(auto base previous)' \
|
|
1254
|
-
'--output-header=[Whether the finished ROM keeps its copier header\: auto, keep, or strip \[default\: auto\]]:OUTPUT_HEADER:(keep strip auto)' \
|
|
1255
|
-
'*--n64-byte-order=[Byte order to put an N64 ROM in for each patch\: auto, keep, big-endian, little-endian, or byte-swapped \[default\: auto\]]:N64_BYTE_ORDER:(auto keep big-endian little-endian byte-swapped)' \
|
|
1256
|
-
'*--expect-out=[Fail unless the patched ROM has this checksum, as in sha1=abc... (repeatable, comma-separable)]:ALGO=HEX:_default' \
|
|
1257
|
-
'*--code=[Game Genie or GameShark/Pro Action Replay code to bake into the ROM. Repeat for each code]:CODES:_default' \
|
|
1258
|
-
'--code-system=[Console the --code values are for (nes, snes, genesis, gameboy, gba, psx), when the ROM header does not say]:CODE_SYSTEM:_default' \
|
|
1259
|
-
'--code-kind=[Which cheat scheme the --code values use\: auto, game-genie, gameshark/par, or xploder]:CODE_KIND:_default' \
|
|
1260
|
-
'--emit-bundle=[Also write a rom-weaver-bundle.json recording this run, so someone else can repeat it]:PATH:_files' \
|
|
1261
|
-
'-j+[How many threads to use at most. auto uses every core; a format may still use fewer]:auto|N:_default' \
|
|
1262
|
-
'--threads=[How many threads to use at most. auto uses every core; a format may still use fewer]:auto|N:_default' \
|
|
1263
|
-
'(-v --verbose -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\: off\]]:LOG_LEVEL:(off error warn info debug trace)' \
|
|
1264
|
-
'--no-extract[Do not look inside archives; treat the input and every patch as raw files]' \
|
|
1265
|
-
'--no-ignore[Also consider files normally skipped inside archives\: readmes, images, checksum sidecars, and OS clutter such as .DS_Store]' \
|
|
1266
|
-
'--no-compress[Write a plain ROM instead of compressing the result]' \
|
|
1267
|
-
'--raw[Write a plain ROM instead of compressing the result]' \
|
|
1268
|
-
'--repair-checksum[Recompute the ROM'\''s internal header checksum afterwards, so the console does not reject it (SNES, NES, GB, GBA, Mega Drive, SMS, N64, NDS)]' \
|
|
1269
|
-
'--ignore-checksum-validation[Apply the patch even when its own checksums do not match. Can produce a broken ROM]' \
|
|
1270
|
-
'--tui[Ask for each patch'\''s name, version, and author, then apply and write a bundle. Needs a terminal]' \
|
|
1271
|
-
'--force[Overwrite the output if it already exists (without this, the command stops instead)]' \
|
|
1272
|
-
'-n[Print the plan (inputs, patches, output, format, codec, level, threads) and stop without writing]' \
|
|
1273
|
-
'--dry-run[Print the plan (inputs, patches, output, format, codec, level, threads) and stop without writing]' \
|
|
1274
|
-
'--json[Print one JSON object per line instead of human-readable output]' \
|
|
1275
|
-
'(--no-progress)--progress[Show progress even when output is piped to a file or another program]' \
|
|
1276
|
-
'(--progress)--no-progress[Hide progress]' \
|
|
1277
|
-
'(--log-level -q --quiet)*-v[Log more\: -v for info, -vv for debug, -vvv for trace]' \
|
|
1278
|
-
'(--log-level -q --quiet)*--verbose[Log more\: -v for info, -vv for debug, -vvv for trace]' \
|
|
1279
|
-
'(--log-level -v --verbose)-q[Log errors only]' \
|
|
1280
|
-
'(--log-level -v --verbose)--quiet[Log errors only]' \
|
|
1281
|
-
'--dep-trace[Also log trace output from bundled libraries (for bug reports)]' \
|
|
1282
|
-
'(--no-color)--color[Keep colors even when output is piped]' \
|
|
1283
|
-
'(--color)--no-color[Turn colors off]' \
|
|
1284
|
-
'-y[Answer yes to every confirmation instead of asking. Does not choose between candidates]' \
|
|
1285
|
-
'--yes[Answer yes to every confirmation instead of asking. Does not choose between candidates]' \
|
|
1286
|
-
'-h[Print help (see more with '\''--help'\'')]' \
|
|
1287
|
-
'--help[Print help (see more with '\''--help'\'')]' \
|
|
1288
1679
|
&& ret=0
|
|
1289
1680
|
;;
|
|
1290
|
-
(
|
|
1681
|
+
(help)
|
|
1291
1682
|
_arguments "${_arguments_options[@]}" : \
|
|
1292
|
-
'(-v --verbose -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\: off\]]:LOG_LEVEL:(off error warn info debug trace)' \
|
|
1293
|
-
'--json[Print one JSON object per line instead of human-readable output]' \
|
|
1294
|
-
'(--no-progress)--progress[Show progress even when output is piped to a file or another program]' \
|
|
1295
|
-
'(--progress)--no-progress[Hide progress]' \
|
|
1296
|
-
'(--log-level -q --quiet)*-v[Log more\: -v for info, -vv for debug, -vvv for trace]' \
|
|
1297
|
-
'(--log-level -q --quiet)*--verbose[Log more\: -v for info, -vv for debug, -vvv for trace]' \
|
|
1298
|
-
'(--log-level -v --verbose)-q[Log errors only]' \
|
|
1299
|
-
'(--log-level -v --verbose)--quiet[Log errors only]' \
|
|
1300
|
-
'--dep-trace[Also log trace output from bundled libraries (for bug reports)]' \
|
|
1301
|
-
'(--no-color)--color[Keep colors even when output is piped]' \
|
|
1302
|
-
'(--color)--no-color[Turn colors off]' \
|
|
1303
|
-
'-y[Answer yes to every confirmation instead of asking. Does not choose between candidates]' \
|
|
1304
|
-
'--yes[Answer yes to every confirmation instead of asking. Does not choose between candidates]' \
|
|
1305
|
-
'-h[Print help (see more with '\''--help'\'')]' \
|
|
1306
|
-
'--help[Print help (see more with '\''--help'\'')]' \
|
|
1307
|
-
':shell -- Shell to print completions for:(bash elvish fish powershell zsh)' \
|
|
1308
1683
|
&& ret=0
|
|
1309
1684
|
;;
|
|
1310
|
-
|
|
1685
|
+
esac
|
|
1686
|
+
;;
|
|
1687
|
+
esac
|
|
1688
|
+
;;
|
|
1689
|
+
esac
|
|
1690
|
+
;;
|
|
1691
|
+
esac
|
|
1692
|
+
;;
|
|
1693
|
+
(tools)
|
|
1311
1694
|
_arguments "${_arguments_options[@]}" : \
|
|
1312
|
-
'--
|
|
1313
|
-
'
|
|
1314
|
-
'--
|
|
1315
|
-
'--json[Print one JSON
|
|
1316
|
-
'(--
|
|
1695
|
+
'(-v --verbose --debug -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\: warn\]]:LOG_LEVEL:(off error warn info debug trace)' \
|
|
1696
|
+
'-n[Plan the command without changing files or downloading data]' \
|
|
1697
|
+
'--dry-run[Plan the command without changing files or downloading data]' \
|
|
1698
|
+
'(--jsonl)--json[Print one complete JSON report; progress and diagnostics use stderr]' \
|
|
1699
|
+
'(--json)--jsonl[Stream JSON events, including progress, one object per line]' \
|
|
1700
|
+
'(--no-progress)--progress[Show progress on stderr (off by default; JSONL includes progress)]' \
|
|
1317
1701
|
'(--progress)--no-progress[Hide progress]' \
|
|
1318
|
-
'(--log-level
|
|
1319
|
-
'(--log-level
|
|
1320
|
-
'(--log-level -v --verbose
|
|
1321
|
-
'(--log-level
|
|
1702
|
+
'(--log-level --debug)*-v[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
1703
|
+
'(--log-level --debug)*--verbose[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
1704
|
+
'(--log-level -v --verbose -q --quiet)--debug[Show developer diagnostics and trace events on stderr (same as -vvv)]' \
|
|
1705
|
+
'(--log-level --debug)-q[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
1706
|
+
'(--log-level --debug)--quiet[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
1322
1707
|
'--dep-trace[Also log trace output from bundled libraries (for bug reports)]' \
|
|
1323
1708
|
'(--no-color)--color[Keep colors even when output is piped]' \
|
|
1324
1709
|
'(--color)--no-color[Turn colors off]' \
|
|
1325
1710
|
'-y[Answer yes to every confirmation instead of asking. Does not choose between candidates]' \
|
|
1326
1711
|
'--yes[Answer yes to every confirmation instead of asking. Does not choose between candidates]' \
|
|
1327
|
-
'-h[Print help
|
|
1328
|
-
'--help[Print help
|
|
1329
|
-
|
|
1712
|
+
'-h[Print help]' \
|
|
1713
|
+
'--help[Print help]' \
|
|
1714
|
+
":: :_rom-weaver__subcmd__tools_commands" \
|
|
1715
|
+
"*::: :->tools" \
|
|
1330
1716
|
&& ret=0
|
|
1331
|
-
|
|
1332
|
-
|
|
1717
|
+
|
|
1718
|
+
case $state in
|
|
1719
|
+
(tools)
|
|
1720
|
+
words=($line[1] "${words[@]}")
|
|
1721
|
+
(( CURRENT += 1 ))
|
|
1722
|
+
curcontext="${curcontext%:*:*}:rom-weaver-tools-command-$line[1]:"
|
|
1723
|
+
case $line[1] in
|
|
1724
|
+
(ppf-undo)
|
|
1333
1725
|
_arguments "${_arguments_options[@]}" : \
|
|
1334
|
-
'
|
|
1335
|
-
'--
|
|
1336
|
-
'
|
|
1726
|
+
'-i+[The already-patched ROM to undo]:ROM:_files' \
|
|
1727
|
+
'--input=[The already-patched ROM to undo]:ROM:_files' \
|
|
1728
|
+
'--patch=[The PPF3 patch that was applied. It must carry undo data]:PPF:_files' \
|
|
1729
|
+
'-o+[Output path; - writes one completed binary file to stdout]:PATH:_files' \
|
|
1730
|
+
'--output=[Output path; - writes one completed binary file to stdout]:PATH:_files' \
|
|
1731
|
+
'(-v --verbose --debug -q --quiet)--log-level=[How much rom-weaver logs to stderr. Separate from the normal output \[default\: warn\]]:LOG_LEVEL:(off error warn info debug trace)' \
|
|
1732
|
+
'-n[Plan the command without changing files or downloading data]' \
|
|
1733
|
+
'--dry-run[Plan the command without changing files or downloading data]' \
|
|
1734
|
+
'(--jsonl)--json[Print one complete JSON report; progress and diagnostics use stderr]' \
|
|
1735
|
+
'(--json)--jsonl[Stream JSON events, including progress, one object per line]' \
|
|
1736
|
+
'(--no-progress)--progress[Show progress on stderr (off by default; JSONL includes progress)]' \
|
|
1337
1737
|
'(--progress)--no-progress[Hide progress]' \
|
|
1338
|
-
'(--log-level
|
|
1339
|
-
'(--log-level
|
|
1340
|
-
'(--log-level -v --verbose
|
|
1341
|
-
'(--log-level
|
|
1738
|
+
'(--log-level --debug)*-v[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
1739
|
+
'(--log-level --debug)*--verbose[Show user diagnostics on stderr; repeat for developer detail (-vv debug, -vvv trace)]' \
|
|
1740
|
+
'(--log-level -v --verbose -q --quiet)--debug[Show developer diagnostics and trace events on stderr (same as -vvv)]' \
|
|
1741
|
+
'(--log-level --debug)-q[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
1742
|
+
'(--log-level --debug)--quiet[Hide optional diagnostics and progress; keep results, warnings, and errors]' \
|
|
1342
1743
|
'--dep-trace[Also log trace output from bundled libraries (for bug reports)]' \
|
|
1343
1744
|
'(--no-color)--color[Keep colors even when output is piped]' \
|
|
1344
1745
|
'(--color)--no-color[Turn colors off]' \
|
|
@@ -1350,6 +1751,34 @@ _arguments "${_arguments_options[@]}" : \
|
|
|
1350
1751
|
;;
|
|
1351
1752
|
(help)
|
|
1352
1753
|
_arguments "${_arguments_options[@]}" : \
|
|
1754
|
+
":: :_rom-weaver__subcmd__tools__subcmd__help_commands" \
|
|
1755
|
+
"*::: :->help" \
|
|
1756
|
+
&& ret=0
|
|
1757
|
+
|
|
1758
|
+
case $state in
|
|
1759
|
+
(help)
|
|
1760
|
+
words=($line[1] "${words[@]}")
|
|
1761
|
+
(( CURRENT += 1 ))
|
|
1762
|
+
curcontext="${curcontext%:*:*}:rom-weaver-tools-help-command-$line[1]:"
|
|
1763
|
+
case $line[1] in
|
|
1764
|
+
(ppf-undo)
|
|
1765
|
+
_arguments "${_arguments_options[@]}" : \
|
|
1766
|
+
&& ret=0
|
|
1767
|
+
;;
|
|
1768
|
+
(help)
|
|
1769
|
+
_arguments "${_arguments_options[@]}" : \
|
|
1770
|
+
&& ret=0
|
|
1771
|
+
;;
|
|
1772
|
+
esac
|
|
1773
|
+
;;
|
|
1774
|
+
esac
|
|
1775
|
+
;;
|
|
1776
|
+
esac
|
|
1777
|
+
;;
|
|
1778
|
+
esac
|
|
1779
|
+
;;
|
|
1780
|
+
(help)
|
|
1781
|
+
_arguments "${_arguments_options[@]}" : \
|
|
1353
1782
|
":: :_rom-weaver__subcmd__help_commands" \
|
|
1354
1783
|
"*::: :->help" \
|
|
1355
1784
|
&& ret=0
|
|
@@ -1360,11 +1789,63 @@ _arguments "${_arguments_options[@]}" : \
|
|
|
1360
1789
|
(( CURRENT += 1 ))
|
|
1361
1790
|
curcontext="${curcontext%:*:*}:rom-weaver-help-command-$line[1]:"
|
|
1362
1791
|
case $line[1] in
|
|
1363
|
-
(
|
|
1792
|
+
(setup)
|
|
1364
1793
|
_arguments "${_arguments_options[@]}" : \
|
|
1365
1794
|
&& ret=0
|
|
1366
1795
|
;;
|
|
1367
|
-
(
|
|
1796
|
+
(ingest)
|
|
1797
|
+
_arguments "${_arguments_options[@]}" : \
|
|
1798
|
+
&& ret=0
|
|
1799
|
+
;;
|
|
1800
|
+
(cheat)
|
|
1801
|
+
_arguments "${_arguments_options[@]}" : \
|
|
1802
|
+
&& ret=0
|
|
1803
|
+
;;
|
|
1804
|
+
(bundle)
|
|
1805
|
+
_arguments "${_arguments_options[@]}" : \
|
|
1806
|
+
":: :_rom-weaver__subcmd__help__subcmd__bundle_commands" \
|
|
1807
|
+
"*::: :->bundle" \
|
|
1808
|
+
&& ret=0
|
|
1809
|
+
|
|
1810
|
+
case $state in
|
|
1811
|
+
(bundle)
|
|
1812
|
+
words=($line[1] "${words[@]}")
|
|
1813
|
+
(( CURRENT += 1 ))
|
|
1814
|
+
curcontext="${curcontext%:*:*}:rom-weaver-help-bundle-command-$line[1]:"
|
|
1815
|
+
case $line[1] in
|
|
1816
|
+
(create)
|
|
1817
|
+
_arguments "${_arguments_options[@]}" : \
|
|
1818
|
+
&& ret=0
|
|
1819
|
+
;;
|
|
1820
|
+
(parse)
|
|
1821
|
+
_arguments "${_arguments_options[@]}" : \
|
|
1822
|
+
&& ret=0
|
|
1823
|
+
;;
|
|
1824
|
+
(schema)
|
|
1825
|
+
_arguments "${_arguments_options[@]}" : \
|
|
1826
|
+
&& ret=0
|
|
1827
|
+
;;
|
|
1828
|
+
esac
|
|
1829
|
+
;;
|
|
1830
|
+
esac
|
|
1831
|
+
;;
|
|
1832
|
+
(plan-extract-batch)
|
|
1833
|
+
_arguments "${_arguments_options[@]}" : \
|
|
1834
|
+
&& ret=0
|
|
1835
|
+
;;
|
|
1836
|
+
(completions)
|
|
1837
|
+
_arguments "${_arguments_options[@]}" : \
|
|
1838
|
+
&& ret=0
|
|
1839
|
+
;;
|
|
1840
|
+
(man)
|
|
1841
|
+
_arguments "${_arguments_options[@]}" : \
|
|
1842
|
+
&& ret=0
|
|
1843
|
+
;;
|
|
1844
|
+
(formats)
|
|
1845
|
+
_arguments "${_arguments_options[@]}" : \
|
|
1846
|
+
&& ret=0
|
|
1847
|
+
;;
|
|
1848
|
+
(probe)
|
|
1368
1849
|
_arguments "${_arguments_options[@]}" : \
|
|
1369
1850
|
&& ret=0
|
|
1370
1851
|
;;
|
|
@@ -1440,19 +1921,19 @@ esac
|
|
|
1440
1921
|
;;
|
|
1441
1922
|
esac
|
|
1442
1923
|
;;
|
|
1443
|
-
(
|
|
1924
|
+
(extract)
|
|
1444
1925
|
_arguments "${_arguments_options[@]}" : \
|
|
1445
1926
|
&& ret=0
|
|
1446
1927
|
;;
|
|
1447
|
-
(
|
|
1928
|
+
(compress)
|
|
1448
1929
|
_arguments "${_arguments_options[@]}" : \
|
|
1449
1930
|
&& ret=0
|
|
1450
1931
|
;;
|
|
1451
|
-
(
|
|
1932
|
+
(trim)
|
|
1452
1933
|
_arguments "${_arguments_options[@]}" : \
|
|
1453
1934
|
&& ret=0
|
|
1454
1935
|
;;
|
|
1455
|
-
(
|
|
1936
|
+
(weave)
|
|
1456
1937
|
_arguments "${_arguments_options[@]}" : \
|
|
1457
1938
|
&& ret=0
|
|
1458
1939
|
;;
|
|
@@ -1468,11 +1949,11 @@ _arguments "${_arguments_options[@]}" : \
|
|
|
1468
1949
|
(( CURRENT += 1 ))
|
|
1469
1950
|
curcontext="${curcontext%:*:*}:rom-weaver-help-patch-command-$line[1]:"
|
|
1470
1951
|
case $line[1] in
|
|
1471
|
-
(
|
|
1952
|
+
(validate)
|
|
1472
1953
|
_arguments "${_arguments_options[@]}" : \
|
|
1473
1954
|
&& ret=0
|
|
1474
1955
|
;;
|
|
1475
|
-
(
|
|
1956
|
+
(apply)
|
|
1476
1957
|
_arguments "${_arguments_options[@]}" : \
|
|
1477
1958
|
&& ret=0
|
|
1478
1959
|
;;
|
|
@@ -1484,27 +1965,35 @@ _arguments "${_arguments_options[@]}" : \
|
|
|
1484
1965
|
;;
|
|
1485
1966
|
esac
|
|
1486
1967
|
;;
|
|
1487
|
-
(
|
|
1968
|
+
(save)
|
|
1488
1969
|
_arguments "${_arguments_options[@]}" : \
|
|
1489
|
-
":: :_rom-
|
|
1490
|
-
"*::: :->
|
|
1970
|
+
":: :_rom-weaver__subcmd__help__subcmd__save_commands" \
|
|
1971
|
+
"*::: :->save" \
|
|
1491
1972
|
&& ret=0
|
|
1492
1973
|
|
|
1493
1974
|
case $state in
|
|
1494
|
-
(
|
|
1975
|
+
(save)
|
|
1495
1976
|
words=($line[1] "${words[@]}")
|
|
1496
1977
|
(( CURRENT += 1 ))
|
|
1497
|
-
curcontext="${curcontext%:*:*}:rom-weaver-help-
|
|
1978
|
+
curcontext="${curcontext%:*:*}:rom-weaver-help-save-command-$line[1]:"
|
|
1498
1979
|
case $line[1] in
|
|
1499
|
-
(
|
|
1980
|
+
(identify)
|
|
1500
1981
|
_arguments "${_arguments_options[@]}" : \
|
|
1501
1982
|
&& ret=0
|
|
1502
1983
|
;;
|
|
1503
|
-
(
|
|
1984
|
+
(inspect)
|
|
1504
1985
|
_arguments "${_arguments_options[@]}" : \
|
|
1505
1986
|
&& ret=0
|
|
1506
1987
|
;;
|
|
1507
|
-
(
|
|
1988
|
+
(get)
|
|
1989
|
+
_arguments "${_arguments_options[@]}" : \
|
|
1990
|
+
&& ret=0
|
|
1991
|
+
;;
|
|
1992
|
+
(export-schema)
|
|
1993
|
+
_arguments "${_arguments_options[@]}" : \
|
|
1994
|
+
&& ret=0
|
|
1995
|
+
;;
|
|
1996
|
+
(set)
|
|
1508
1997
|
_arguments "${_arguments_options[@]}" : \
|
|
1509
1998
|
&& ret=0
|
|
1510
1999
|
;;
|
|
@@ -1532,26 +2021,6 @@ _arguments "${_arguments_options[@]}" : \
|
|
|
1532
2021
|
;;
|
|
1533
2022
|
esac
|
|
1534
2023
|
;;
|
|
1535
|
-
(plan-extract-batch)
|
|
1536
|
-
_arguments "${_arguments_options[@]}" : \
|
|
1537
|
-
&& ret=0
|
|
1538
|
-
;;
|
|
1539
|
-
(weave)
|
|
1540
|
-
_arguments "${_arguments_options[@]}" : \
|
|
1541
|
-
&& ret=0
|
|
1542
|
-
;;
|
|
1543
|
-
(completions)
|
|
1544
|
-
_arguments "${_arguments_options[@]}" : \
|
|
1545
|
-
&& ret=0
|
|
1546
|
-
;;
|
|
1547
|
-
(man)
|
|
1548
|
-
_arguments "${_arguments_options[@]}" : \
|
|
1549
|
-
&& ret=0
|
|
1550
|
-
;;
|
|
1551
|
-
(formats)
|
|
1552
|
-
_arguments "${_arguments_options[@]}" : \
|
|
1553
|
-
&& ret=0
|
|
1554
|
-
;;
|
|
1555
2024
|
(help)
|
|
1556
2025
|
_arguments "${_arguments_options[@]}" : \
|
|
1557
2026
|
&& ret=0
|
|
@@ -1568,23 +2037,25 @@ esac
|
|
|
1568
2037
|
(( $+functions[_rom-weaver_commands] )) ||
|
|
1569
2038
|
_rom-weaver_commands() {
|
|
1570
2039
|
local commands; commands=(
|
|
2040
|
+
'setup:Install the offline identify database' \
|
|
2041
|
+
'ingest:Sort a file into ROMs and patches, unpacking and hashing along the way' \
|
|
2042
|
+
'cheat:List the cheat database'\''s entries for a ROM' \
|
|
2043
|
+
'bundle:Build and read rom-weaver-bundle.json patch recipes' \
|
|
2044
|
+
'plan-extract-batch:Plan a memory-/thread-aware concurrent extraction schedule from per-job source sizes (no I/O)' \
|
|
2045
|
+
'completions:Print a tab-completion script for your shell' \
|
|
2046
|
+
'man:Print or install the generated CLI man pages' \
|
|
2047
|
+
'formats:List the formats, codecs, and checksum algorithms this build supports' \
|
|
1571
2048
|
'probe:Identify a file\: its format, its platform, and any header it carries' \
|
|
1572
2049
|
'inspect:Identify a file\: its format, its platform, and any header it carries' \
|
|
1573
|
-
'extract:Unpack an archive or single-payload compressed format' \
|
|
1574
2050
|
'checksum:Compute checksums for a file, or for a ROM inside an archive' \
|
|
1575
2051
|
'identify:Identify a ROM title from its checksums' \
|
|
1576
|
-
'
|
|
1577
|
-
'ingest:Sort a file into ROMs and patches, unpacking and hashing along the way' \
|
|
2052
|
+
'extract:Unpack an archive or single-payload compressed format' \
|
|
1578
2053
|
'compress:Pack files into an archive, disc image, or ROM-specific compressed format' \
|
|
1579
2054
|
'trim:Cut the padding off a ROM, or put it back' \
|
|
2055
|
+
'weave:Apply one or more patches to a ROM, in order (same as \`patch apply\`)' \
|
|
1580
2056
|
'patch:Apply, create, or check ROM patches' \
|
|
1581
|
-
'
|
|
2057
|
+
'save:Inspect and edit supported persistent game saves' \
|
|
1582
2058
|
'tools:One-off recovery tools' \
|
|
1583
|
-
'plan-extract-batch:Plan a memory-/thread-aware concurrent extraction schedule from per-job source sizes (no I/O)' \
|
|
1584
|
-
'weave:Apply one or more patches to a ROM, in order (same as \`patch apply\`)' \
|
|
1585
|
-
'completions:Print a tab-completion script for your shell' \
|
|
1586
|
-
'man:Print or install the generated CLI man pages' \
|
|
1587
|
-
'formats:List the formats, codecs, and checksum algorithms this build supports' \
|
|
1588
2059
|
'help:Print this message or the help of the given subcommand(s)' \
|
|
1589
2060
|
)
|
|
1590
2061
|
_describe -t commands 'rom-weaver commands' commands "$@"
|
|
@@ -1644,6 +2115,11 @@ _rom-weaver__subcmd__bundle__subcmd__schema_commands() {
|
|
|
1644
2115
|
local commands; commands=()
|
|
1645
2116
|
_describe -t commands 'rom-weaver bundle schema commands' commands "$@"
|
|
1646
2117
|
}
|
|
2118
|
+
(( $+functions[_rom-weaver__subcmd__cheat_commands] )) ||
|
|
2119
|
+
_rom-weaver__subcmd__cheat_commands() {
|
|
2120
|
+
local commands; commands=()
|
|
2121
|
+
_describe -t commands 'rom-weaver cheat commands' commands "$@"
|
|
2122
|
+
}
|
|
1647
2123
|
(( $+functions[_rom-weaver__subcmd__checksum_commands] )) ||
|
|
1648
2124
|
_rom-weaver__subcmd__checksum_commands() {
|
|
1649
2125
|
local commands; commands=()
|
|
@@ -1672,22 +2148,24 @@ _rom-weaver__subcmd__formats_commands() {
|
|
|
1672
2148
|
(( $+functions[_rom-weaver__subcmd__help_commands] )) ||
|
|
1673
2149
|
_rom-weaver__subcmd__help_commands() {
|
|
1674
2150
|
local commands; commands=(
|
|
1675
|
-
'probe:Identify a file\: its format, its platform, and any header it carries' \
|
|
1676
|
-
'extract:Unpack an archive or single-payload compressed format' \
|
|
1677
|
-
'checksum:Compute checksums for a file, or for a ROM inside an archive' \
|
|
1678
|
-
'identify:Identify a ROM title from its checksums' \
|
|
1679
2151
|
'setup:Install the offline identify database' \
|
|
1680
2152
|
'ingest:Sort a file into ROMs and patches, unpacking and hashing along the way' \
|
|
1681
|
-
'
|
|
1682
|
-
'trim:Cut the padding off a ROM, or put it back' \
|
|
1683
|
-
'patch:Apply, create, or check ROM patches' \
|
|
2153
|
+
'cheat:List the cheat database'\''s entries for a ROM' \
|
|
1684
2154
|
'bundle:Build and read rom-weaver-bundle.json patch recipes' \
|
|
1685
|
-
'tools:One-off recovery tools' \
|
|
1686
2155
|
'plan-extract-batch:Plan a memory-/thread-aware concurrent extraction schedule from per-job source sizes (no I/O)' \
|
|
1687
|
-
'weave:Apply one or more patches to a ROM, in order (same as \`patch apply\`)' \
|
|
1688
2156
|
'completions:Print a tab-completion script for your shell' \
|
|
1689
2157
|
'man:Print or install the generated CLI man pages' \
|
|
1690
2158
|
'formats:List the formats, codecs, and checksum algorithms this build supports' \
|
|
2159
|
+
'probe:Identify a file\: its format, its platform, and any header it carries' \
|
|
2160
|
+
'checksum:Compute checksums for a file, or for a ROM inside an archive' \
|
|
2161
|
+
'identify:Identify a ROM title from its checksums' \
|
|
2162
|
+
'extract:Unpack an archive or single-payload compressed format' \
|
|
2163
|
+
'compress:Pack files into an archive, disc image, or ROM-specific compressed format' \
|
|
2164
|
+
'trim:Cut the padding off a ROM, or put it back' \
|
|
2165
|
+
'weave:Apply one or more patches to a ROM, in order (same as \`patch apply\`)' \
|
|
2166
|
+
'patch:Apply, create, or check ROM patches' \
|
|
2167
|
+
'save:Inspect and edit supported persistent game saves' \
|
|
2168
|
+
'tools:One-off recovery tools' \
|
|
1691
2169
|
'help:Print this message or the help of the given subcommand(s)' \
|
|
1692
2170
|
)
|
|
1693
2171
|
_describe -t commands 'rom-weaver help commands' commands "$@"
|
|
@@ -1716,6 +2194,11 @@ _rom-weaver__subcmd__help__subcmd__bundle__subcmd__schema_commands() {
|
|
|
1716
2194
|
local commands; commands=()
|
|
1717
2195
|
_describe -t commands 'rom-weaver help bundle schema commands' commands "$@"
|
|
1718
2196
|
}
|
|
2197
|
+
(( $+functions[_rom-weaver__subcmd__help__subcmd__cheat_commands] )) ||
|
|
2198
|
+
_rom-weaver__subcmd__help__subcmd__cheat_commands() {
|
|
2199
|
+
local commands; commands=()
|
|
2200
|
+
_describe -t commands 'rom-weaver help cheat commands' commands "$@"
|
|
2201
|
+
}
|
|
1719
2202
|
(( $+functions[_rom-weaver__subcmd__help__subcmd__checksum_commands] )) ||
|
|
1720
2203
|
_rom-weaver__subcmd__help__subcmd__checksum_commands() {
|
|
1721
2204
|
local commands; commands=()
|
|
@@ -1826,8 +2309,8 @@ _rom-weaver__subcmd__help__subcmd__man_commands() {
|
|
|
1826
2309
|
(( $+functions[_rom-weaver__subcmd__help__subcmd__patch_commands] )) ||
|
|
1827
2310
|
_rom-weaver__subcmd__help__subcmd__patch_commands() {
|
|
1828
2311
|
local commands; commands=(
|
|
1829
|
-
'apply:Apply one or more patches to a ROM, in order' \
|
|
1830
2312
|
'validate:Check that patches would apply cleanly, without writing anything' \
|
|
2313
|
+
'apply:Apply one or more patches to a ROM, in order' \
|
|
1831
2314
|
'create:Build a patch from an original ROM and a changed one' \
|
|
1832
2315
|
)
|
|
1833
2316
|
_describe -t commands 'rom-weaver help patch commands' commands "$@"
|
|
@@ -1857,6 +2340,42 @@ _rom-weaver__subcmd__help__subcmd__probe_commands() {
|
|
|
1857
2340
|
local commands; commands=()
|
|
1858
2341
|
_describe -t commands 'rom-weaver help probe commands' commands "$@"
|
|
1859
2342
|
}
|
|
2343
|
+
(( $+functions[_rom-weaver__subcmd__help__subcmd__save_commands] )) ||
|
|
2344
|
+
_rom-weaver__subcmd__help__subcmd__save_commands() {
|
|
2345
|
+
local commands; commands=(
|
|
2346
|
+
'identify:Identify a supported game save without changing it' \
|
|
2347
|
+
'inspect:Show the sections and fields in a supported game save' \
|
|
2348
|
+
'get:Read one field from a supported game save' \
|
|
2349
|
+
'export-schema:Print the generic field schema for a supported game save' \
|
|
2350
|
+
'set:Write validated field changes to a new game save' \
|
|
2351
|
+
)
|
|
2352
|
+
_describe -t commands 'rom-weaver help save commands' commands "$@"
|
|
2353
|
+
}
|
|
2354
|
+
(( $+functions[_rom-weaver__subcmd__help__subcmd__save__subcmd__export-schema_commands] )) ||
|
|
2355
|
+
_rom-weaver__subcmd__help__subcmd__save__subcmd__export-schema_commands() {
|
|
2356
|
+
local commands; commands=()
|
|
2357
|
+
_describe -t commands 'rom-weaver help save export-schema commands' commands "$@"
|
|
2358
|
+
}
|
|
2359
|
+
(( $+functions[_rom-weaver__subcmd__help__subcmd__save__subcmd__get_commands] )) ||
|
|
2360
|
+
_rom-weaver__subcmd__help__subcmd__save__subcmd__get_commands() {
|
|
2361
|
+
local commands; commands=()
|
|
2362
|
+
_describe -t commands 'rom-weaver help save get commands' commands "$@"
|
|
2363
|
+
}
|
|
2364
|
+
(( $+functions[_rom-weaver__subcmd__help__subcmd__save__subcmd__identify_commands] )) ||
|
|
2365
|
+
_rom-weaver__subcmd__help__subcmd__save__subcmd__identify_commands() {
|
|
2366
|
+
local commands; commands=()
|
|
2367
|
+
_describe -t commands 'rom-weaver help save identify commands' commands "$@"
|
|
2368
|
+
}
|
|
2369
|
+
(( $+functions[_rom-weaver__subcmd__help__subcmd__save__subcmd__inspect_commands] )) ||
|
|
2370
|
+
_rom-weaver__subcmd__help__subcmd__save__subcmd__inspect_commands() {
|
|
2371
|
+
local commands; commands=()
|
|
2372
|
+
_describe -t commands 'rom-weaver help save inspect commands' commands "$@"
|
|
2373
|
+
}
|
|
2374
|
+
(( $+functions[_rom-weaver__subcmd__help__subcmd__save__subcmd__set_commands] )) ||
|
|
2375
|
+
_rom-weaver__subcmd__help__subcmd__save__subcmd__set_commands() {
|
|
2376
|
+
local commands; commands=()
|
|
2377
|
+
_describe -t commands 'rom-weaver help save set commands' commands "$@"
|
|
2378
|
+
}
|
|
1860
2379
|
(( $+functions[_rom-weaver__subcmd__help__subcmd__setup_commands] )) ||
|
|
1861
2380
|
_rom-weaver__subcmd__help__subcmd__setup_commands() {
|
|
1862
2381
|
local commands; commands=()
|
|
@@ -2105,9 +2624,9 @@ _rom-weaver__subcmd__man_commands() {
|
|
|
2105
2624
|
(( $+functions[_rom-weaver__subcmd__patch_commands] )) ||
|
|
2106
2625
|
_rom-weaver__subcmd__patch_commands() {
|
|
2107
2626
|
local commands; commands=(
|
|
2627
|
+
'validate:Check that patches would apply cleanly, without writing anything' \
|
|
2108
2628
|
'apply:Apply one or more patches to a ROM, in order' \
|
|
2109
2629
|
'weave:Apply one or more patches to a ROM, in order' \
|
|
2110
|
-
'validate:Check that patches would apply cleanly, without writing anything' \
|
|
2111
2630
|
'create:Build a patch from an original ROM and a changed one' \
|
|
2112
2631
|
'help:Print this message or the help of the given subcommand(s)' \
|
|
2113
2632
|
)
|
|
@@ -2126,8 +2645,8 @@ _rom-weaver__subcmd__patch__subcmd__create_commands() {
|
|
|
2126
2645
|
(( $+functions[_rom-weaver__subcmd__patch__subcmd__help_commands] )) ||
|
|
2127
2646
|
_rom-weaver__subcmd__patch__subcmd__help_commands() {
|
|
2128
2647
|
local commands; commands=(
|
|
2129
|
-
'apply:Apply one or more patches to a ROM, in order' \
|
|
2130
2648
|
'validate:Check that patches would apply cleanly, without writing anything' \
|
|
2649
|
+
'apply:Apply one or more patches to a ROM, in order' \
|
|
2131
2650
|
'create:Build a patch from an original ROM and a changed one' \
|
|
2132
2651
|
'help:Print this message or the help of the given subcommand(s)' \
|
|
2133
2652
|
)
|
|
@@ -2168,6 +2687,85 @@ _rom-weaver__subcmd__probe_commands() {
|
|
|
2168
2687
|
local commands; commands=()
|
|
2169
2688
|
_describe -t commands 'rom-weaver probe commands' commands "$@"
|
|
2170
2689
|
}
|
|
2690
|
+
(( $+functions[_rom-weaver__subcmd__save_commands] )) ||
|
|
2691
|
+
_rom-weaver__subcmd__save_commands() {
|
|
2692
|
+
local commands; commands=(
|
|
2693
|
+
'identify:Identify a supported game save without changing it' \
|
|
2694
|
+
'inspect:Show the sections and fields in a supported game save' \
|
|
2695
|
+
'get:Read one field from a supported game save' \
|
|
2696
|
+
'export-schema:Print the generic field schema for a supported game save' \
|
|
2697
|
+
'set:Write validated field changes to a new game save' \
|
|
2698
|
+
'help:Print this message or the help of the given subcommand(s)' \
|
|
2699
|
+
)
|
|
2700
|
+
_describe -t commands 'rom-weaver save commands' commands "$@"
|
|
2701
|
+
}
|
|
2702
|
+
(( $+functions[_rom-weaver__subcmd__save__subcmd__export-schema_commands] )) ||
|
|
2703
|
+
_rom-weaver__subcmd__save__subcmd__export-schema_commands() {
|
|
2704
|
+
local commands; commands=()
|
|
2705
|
+
_describe -t commands 'rom-weaver save export-schema commands' commands "$@"
|
|
2706
|
+
}
|
|
2707
|
+
(( $+functions[_rom-weaver__subcmd__save__subcmd__get_commands] )) ||
|
|
2708
|
+
_rom-weaver__subcmd__save__subcmd__get_commands() {
|
|
2709
|
+
local commands; commands=()
|
|
2710
|
+
_describe -t commands 'rom-weaver save get commands' commands "$@"
|
|
2711
|
+
}
|
|
2712
|
+
(( $+functions[_rom-weaver__subcmd__save__subcmd__help_commands] )) ||
|
|
2713
|
+
_rom-weaver__subcmd__save__subcmd__help_commands() {
|
|
2714
|
+
local commands; commands=(
|
|
2715
|
+
'identify:Identify a supported game save without changing it' \
|
|
2716
|
+
'inspect:Show the sections and fields in a supported game save' \
|
|
2717
|
+
'get:Read one field from a supported game save' \
|
|
2718
|
+
'export-schema:Print the generic field schema for a supported game save' \
|
|
2719
|
+
'set:Write validated field changes to a new game save' \
|
|
2720
|
+
'help:Print this message or the help of the given subcommand(s)' \
|
|
2721
|
+
)
|
|
2722
|
+
_describe -t commands 'rom-weaver save help commands' commands "$@"
|
|
2723
|
+
}
|
|
2724
|
+
(( $+functions[_rom-weaver__subcmd__save__subcmd__help__subcmd__export-schema_commands] )) ||
|
|
2725
|
+
_rom-weaver__subcmd__save__subcmd__help__subcmd__export-schema_commands() {
|
|
2726
|
+
local commands; commands=()
|
|
2727
|
+
_describe -t commands 'rom-weaver save help export-schema commands' commands "$@"
|
|
2728
|
+
}
|
|
2729
|
+
(( $+functions[_rom-weaver__subcmd__save__subcmd__help__subcmd__get_commands] )) ||
|
|
2730
|
+
_rom-weaver__subcmd__save__subcmd__help__subcmd__get_commands() {
|
|
2731
|
+
local commands; commands=()
|
|
2732
|
+
_describe -t commands 'rom-weaver save help get commands' commands "$@"
|
|
2733
|
+
}
|
|
2734
|
+
(( $+functions[_rom-weaver__subcmd__save__subcmd__help__subcmd__help_commands] )) ||
|
|
2735
|
+
_rom-weaver__subcmd__save__subcmd__help__subcmd__help_commands() {
|
|
2736
|
+
local commands; commands=()
|
|
2737
|
+
_describe -t commands 'rom-weaver save help help commands' commands "$@"
|
|
2738
|
+
}
|
|
2739
|
+
(( $+functions[_rom-weaver__subcmd__save__subcmd__help__subcmd__identify_commands] )) ||
|
|
2740
|
+
_rom-weaver__subcmd__save__subcmd__help__subcmd__identify_commands() {
|
|
2741
|
+
local commands; commands=()
|
|
2742
|
+
_describe -t commands 'rom-weaver save help identify commands' commands "$@"
|
|
2743
|
+
}
|
|
2744
|
+
(( $+functions[_rom-weaver__subcmd__save__subcmd__help__subcmd__inspect_commands] )) ||
|
|
2745
|
+
_rom-weaver__subcmd__save__subcmd__help__subcmd__inspect_commands() {
|
|
2746
|
+
local commands; commands=()
|
|
2747
|
+
_describe -t commands 'rom-weaver save help inspect commands' commands "$@"
|
|
2748
|
+
}
|
|
2749
|
+
(( $+functions[_rom-weaver__subcmd__save__subcmd__help__subcmd__set_commands] )) ||
|
|
2750
|
+
_rom-weaver__subcmd__save__subcmd__help__subcmd__set_commands() {
|
|
2751
|
+
local commands; commands=()
|
|
2752
|
+
_describe -t commands 'rom-weaver save help set commands' commands "$@"
|
|
2753
|
+
}
|
|
2754
|
+
(( $+functions[_rom-weaver__subcmd__save__subcmd__identify_commands] )) ||
|
|
2755
|
+
_rom-weaver__subcmd__save__subcmd__identify_commands() {
|
|
2756
|
+
local commands; commands=()
|
|
2757
|
+
_describe -t commands 'rom-weaver save identify commands' commands "$@"
|
|
2758
|
+
}
|
|
2759
|
+
(( $+functions[_rom-weaver__subcmd__save__subcmd__inspect_commands] )) ||
|
|
2760
|
+
_rom-weaver__subcmd__save__subcmd__inspect_commands() {
|
|
2761
|
+
local commands; commands=()
|
|
2762
|
+
_describe -t commands 'rom-weaver save inspect commands' commands "$@"
|
|
2763
|
+
}
|
|
2764
|
+
(( $+functions[_rom-weaver__subcmd__save__subcmd__set_commands] )) ||
|
|
2765
|
+
_rom-weaver__subcmd__save__subcmd__set_commands() {
|
|
2766
|
+
local commands; commands=()
|
|
2767
|
+
_describe -t commands 'rom-weaver save set commands' commands "$@"
|
|
2768
|
+
}
|
|
2171
2769
|
(( $+functions[_rom-weaver__subcmd__setup_commands] )) ||
|
|
2172
2770
|
_rom-weaver__subcmd__setup_commands() {
|
|
2173
2771
|
local commands; commands=()
|