@rom-weaver/cli 0.10.2 → 0.11.1

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.
@@ -0,0 +1,166 @@
1
+ .ie \n(.g .ds Aq \(aq
2
+ .el .ds Aq '
3
+ .TH rom-weaver-patch-create 1 "rom-weaver-patch-create "
4
+ .SH NAME
5
+ rom\-weaver\-patch\-create \- Build a patch from an original ROM and a changed one
6
+ .SH SYNOPSIS
7
+ \fBrom\-weaver patch create\fR [\fB\-\-json\fR] <\fB\-\-original\fR> [\fB\-\-modified\fR] [\fB\-\-progress\fR] [\fB\-f\fR|\fB\-\-format\fR] [\fB\-\-no\-progress\fR] [\fB\-\-log\-level\fR] [\fB\-o\fR|\fB\-\-output\fR] [\fB\-\-plan\fR] [\fB\-v\fR|\fB\-\-verbose\fR]... [\fB\-\-ignore\-checksum\-validation\fR] [\fB\-q\fR|\fB\-\-quiet\fR] [\fB\-\-checksum\-name\fR] [\fB\-\-dep\-trace\fR] [\fB\-\-assume\-in\fR] [\fB\-\-color\fR] [\fB\-\-code\fR] [\fB\-\-no\-color\fR] [\fB\-\-code\-system\fR] [\fB\-\-code\-kind\fR] [\fB\-j\fR|\fB\-\-threads\fR] [\fB\-\-solid\-system\fR] [\fB\-\-solid\-game\fR] [\fB\-\-solid\-hack\fR] [\fB\-\-solid\-version\fR] [\fB\-\-solid\-author\fR] [\fB\-\-solid\-contact\fR] [\fB\-\-solid\-comment\fR] [\fB\-\-solid\-extended\fR] [\fB\-\-xdelta\-secondary\fR] [\fB\-h\fR|\fB\-\-help\fR]
8
+ .SH DESCRIPTION
9
+ Build a patch from an original ROM and a changed one, so you can share the
10
+ change without sharing the ROM.
11
+ .PP
12
+ The format comes from the \-\-output extension, so `\-\-output hack.bps` writes a
13
+ BPS patch. Use \-\-plan to see which formats suit these two files before
14
+ committing to one.
15
+ .PP
16
+ Instead of a second ROM, \-\-code builds the patch from Game Genie or
17
+ GameShark/Pro Action Replay codes.
18
+ .SH OPTIONS
19
+ .TP
20
+ \fB\-\-original\fR \fI<PATH>\fR
21
+ The unmodified ROM
22
+ .TP
23
+ \fB\-\-modified\fR \fI<MODIFIED>\fR
24
+ The changed ROM. Leave out when using \-\-code, which produces the changed ROM for you
25
+ .TP
26
+ \fB\-f\fR, \fB\-\-format\fR \fI<FORMAT>\fR
27
+ Patch format, such as bps, ips, or xdelta.
28
+
29
+ Normally you do not need this: the format comes from the \-\-output extension, so
30
+ `\-\-output hack.bps` writes a BPS patch. Pass it when the output name has no
31
+ recognizable patch extension.
32
+
33
+ Common alternate spellings are accepted, so `xdelta3` works as well as `xdelta`
34
+ and `bsdiff` as well as `bdf`. The CLI guide lists every alias.
35
+ .TP
36
+ \fB\-o\fR, \fB\-\-output\fR \fI<PATH>\fR
37
+ Where to write the patch. Required unless \-\-plan is used
38
+ .TP
39
+ \fB\-\-plan\fR
40
+ Only report which formats suit these two ROMs; write nothing
41
+ .TP
42
+ \fB\-\-ignore\-checksum\-validation\fR
43
+ Write the patch even when the format\*(Aqs own consistency checks fail, and leave its checksums out
44
+ .TP
45
+ \fB\-\-checksum\-name\fR
46
+ Put the original ROM\*(Aqs crc32 in the patch file name, as [crc32:HEX].
47
+
48
+ Formats like IPS carry no checksum of their own, so there is nothing to catch
49
+ the patch being applied to the wrong ROM. rom\-weaver reads this token back on
50
+ apply and verifies the input, as long as the file name survives.
51
+ .TP
52
+ \fB\-\-assume\-in\fR \fI<ALGO=HEX>\fR
53
+ Take the original ROM\*(Aqs checksum on trust rather than reading the file, as in crc32=1234abcd (repeatable, comma\-separable)
54
+ .TP
55
+ \fB\-\-code\fR \fI<CODES>\fR
56
+ 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
57
+ .TP
58
+ \fB\-\-code\-system\fR \fI<CODE_SYSTEM>\fR
59
+ Console the \-\-code values are for (nes, snes, genesis, gameboy), when the ROM header does not say
60
+ .TP
61
+ \fB\-\-code\-kind\fR \fI<CODE_KIND>\fR [default: auto]
62
+ Which cheat scheme the \-\-code values use: auto, game\-genie, or gameshark/par
63
+ .TP
64
+ \fB\-j\fR, \fB\-\-threads\fR \fI<auto|N>\fR [default: auto]
65
+ How many threads to use at most. auto uses every core; a format may still use fewer
66
+ .TP
67
+ \fB\-\-solid\-system\fR \fI<SOLID_SYSTEM>\fR
68
+ SOLID patches only: console the ROM is for
69
+ .TP
70
+ \fB\-\-solid\-game\fR \fI<SOLID_GAME>\fR
71
+ SOLID patches only: name of the game
72
+ .TP
73
+ \fB\-\-solid\-hack\fR \fI<SOLID_HACK>\fR
74
+ SOLID patches only: name of the hack
75
+ .TP
76
+ \fB\-\-solid\-version\fR \fI<SOLID_VERSION>\fR
77
+ SOLID patches only: version of the hack. Switches the patch to its extended header
78
+ .TP
79
+ \fB\-\-solid\-author\fR \fI<SOLID_AUTHOR>\fR
80
+ SOLID patches only: who made the hack. Switches the patch to its extended header
81
+ .TP
82
+ \fB\-\-solid\-contact\fR \fI<SOLID_CONTACT>\fR
83
+ SOLID patches only: how to reach the author. Switches the patch to its extended header
84
+ .TP
85
+ \fB\-\-solid\-comment\fR \fI<SOLID_COMMENT>\fR
86
+ SOLID patches only: free\-form note. Switches the patch to its extended header
87
+ .TP
88
+ \fB\-\-solid\-extended\fR
89
+ SOLID patches only: use the extended header even with none of the extended fields filled in
90
+ .TP
91
+ \fB\-\-xdelta\-secondary\fR \fI<XDELTA_SECONDARY>\fR [default: none]
92
+ xdelta patches only: compress the patch\*(Aqs own contents.
93
+
94
+ none Leave it uncompressed. The default, and what xdelta3 does without \-S.
95
+ lzma Add LZMA, like xdelta3 \-S lzma.
96
+ djw xdelta3\*(Aqs Huffman coder.
97
+ fgk xdelta3\*(Aqs adaptive Huffman coder.
98
+ auto Try djw, lzma, and fgk, and keep whichever comes out smallest.
99
+
100
+ Leaving it at none is usually right: patch payloads are often already\-compressed
101
+ game assets, and the patch tends to get compressed again downstream anyway.
102
+ .br
103
+
104
+ .br
105
+ \fIPossible values:\fR
106
+ .RS 14
107
+ .IP \(bu 2
108
+ auto
109
+ .IP \(bu 2
110
+ lzma
111
+ .IP \(bu 2
112
+ djw
113
+ .IP \(bu 2
114
+ fgk
115
+ .IP \(bu 2
116
+ none
117
+ .RE
118
+ .TP
119
+ \fB\-h\fR, \fB\-\-help\fR
120
+ Print help (see a summary with \*(Aq\-h\*(Aq)
121
+ .SH "GLOBAL OPTIONS"
122
+ .TP
123
+ \fB\-\-json\fR
124
+ Print one JSON object per line instead of human\-readable output
125
+ .TP
126
+ \fB\-\-progress\fR
127
+ Show progress even when output is piped to a file or another program
128
+ .TP
129
+ \fB\-\-no\-progress\fR
130
+ Hide progress
131
+ .TP
132
+ \fB\-\-log\-level\fR \fI<LOG_LEVEL>\fR
133
+ How much rom\-weaver logs to stderr. Separate from the normal output [default: off]
134
+ .br
135
+
136
+ .br
137
+ \fIPossible values:\fR
138
+ .RS 14
139
+ .IP \(bu 2
140
+ off
141
+ .IP \(bu 2
142
+ error
143
+ .IP \(bu 2
144
+ warn
145
+ .IP \(bu 2
146
+ info
147
+ .IP \(bu 2
148
+ debug
149
+ .IP \(bu 2
150
+ trace
151
+ .RE
152
+ .TP
153
+ \fB\-v\fR, \fB\-\-verbose\fR
154
+ Log more: \-v for info, \-vv for debug, \-vvv for trace
155
+ .TP
156
+ \fB\-q\fR, \fB\-\-quiet\fR
157
+ Log errors only
158
+ .TP
159
+ \fB\-\-dep\-trace\fR
160
+ Also log trace output from bundled libraries (for bug reports)
161
+ .TP
162
+ \fB\-\-color\fR
163
+ Keep colors even when output is piped
164
+ .TP
165
+ \fB\-\-no\-color\fR
166
+ Turn colors off
@@ -0,0 +1,161 @@
1
+ .ie \n(.g .ds Aq \(aq
2
+ .el .ds Aq '
3
+ .TH rom-weaver-patch-validate 1 "rom-weaver-patch-validate "
4
+ .SH NAME
5
+ rom\-weaver\-patch\-validate \- Check that patches would apply cleanly, without writing anything
6
+ .SH SYNOPSIS
7
+ \fBrom\-weaver patch validate\fR <\fB\-i\fR|\fB\-\-input\fR> [\fB\-\-json\fR] [\fB\-\-progress\fR] [\fB\-s\fR|\fB\-\-select\fR] [\fB\-\-filter\fR] [\fB\-\-no\-progress\fR] [\fB\-\-log\-level\fR] [\fB\-\-no\-extract\fR] [\fB\-\-no\-ignore\fR] [\fB\-v\fR|\fB\-\-verbose\fR]... <\fB\-\-patch\fR> [\fB\-q\fR|\fB\-\-quiet\fR] [\fB\-\-assume\-in\fR] [\fB\-\-dep\-trace\fR] [\fB\-\-color\fR] [\fB\-\-expect\-in\fR] [\fB\-\-no\-color\fR] [\fB\-\-strip\-header\fR] [\fB\-\-n64\-byte\-order\fR] [\fB\-\-ignore\-checksum\-validation\fR] [\fB\-\-independent\fR] [\fB\-\-plan\fR] [\fB\-\-patch\-basis\fR] [\fB\-\-patch\-input\-check\fR] [\fB\-\-patch\-output\-check\fR] [\fB\-j\fR|\fB\-\-threads\fR] [\fB\-h\fR|\fB\-\-help\fR]
8
+ .SH DESCRIPTION
9
+ Check that patches would apply cleanly to a ROM, without writing anything.
10
+ .PP
11
+ This runs the same checks apply does: it parses each patch and verifies every
12
+ checksum the format carries. Use \-\-expect\-in to also confirm the ROM itself is
13
+ the one you think it is, by checksum or by size.
14
+ .PP
15
+ Patches are checked as a chain by default, each against the output of the one
16
+ before it. Pass \-\-independent to check each one against the original ROM
17
+ instead and get a verdict per patch.
18
+ .SH OPTIONS
19
+ .TP
20
+ \fB\-i\fR, \fB\-\-input\fR \fI<PATH>\fR
21
+ ROM to check the patches against. May be an archive
22
+ .TP
23
+ \fB\-s\fR, \fB\-\-select\fR \fI<SELECT>\fR
24
+ Pick which file to use when the ROM or a patch is inside an archive, by exact name, prefix, or glob (repeatable)
25
+ .TP
26
+ \fB\-\-filter\fR \fI<FILTER>\fR
27
+ Consider only files that look like a rom or a patch, judged by extension (repeatable, comma\-separable)
28
+ .br
29
+
30
+ .br
31
+ \fIPossible values:\fR
32
+ .RS 14
33
+ .IP \(bu 2
34
+ rom
35
+ .IP \(bu 2
36
+ patch
37
+ .RE
38
+ .TP
39
+ \fB\-\-no\-extract\fR
40
+ Do not look inside archives; treat the input and every patch as raw files
41
+ .TP
42
+ \fB\-\-no\-ignore\fR
43
+ Also consider files normally skipped inside archives: readmes, images, checksum sidecars, and OS clutter such as .DS_Store
44
+ .TP
45
+ \fB\-\-patch\fR \fI<PATCHES>\fR
46
+ Patch to check. Repeat once per patch; they are checked in the order given
47
+ .TP
48
+ \fB\-\-assume\-in\fR \fI<ALGO=HEX>\fR
49
+ Take this checksum on trust instead of reading the ROM to compute it, as in
50
+ crc32=1234abcd. Repeatable and comma\-separable.
51
+
52
+ This is a speed option for scripts that already know the checksum: it skips a
53
+ full read of a large ROM. It does not verify anything. To check a ROM against a
54
+ checksum, use \-\-expect\-in.
55
+ .TP
56
+ \fB\-\-expect\-in\fR \fI<ALGO=HEX>\fR
57
+ Fail unless the ROM matches: a checksum (crc32=1234abcd), an exact size (size=N), or a floor (min\-size=N). Repeatable, comma\-separable
58
+ .TP
59
+ \fB\-\-strip\-header\fR
60
+ Remove the ROM\*(Aqs copier header before checking (A78, LNX, NES, FDS, SMC signatures, plus the SNES and PCE size rules)
61
+ .TP
62
+ \fB\-\-n64\-byte\-order\fR \fI<N64_BYTE_ORDER>\fR
63
+ Byte order to put an N64 ROM in before checking: auto, keep, big\-endian, little\-endian, or byte\-swapped [default: auto]
64
+ .br
65
+
66
+ .br
67
+ \fIPossible values:\fR
68
+ .RS 14
69
+ .IP \(bu 2
70
+ auto
71
+ .IP \(bu 2
72
+ keep
73
+ .IP \(bu 2
74
+ big\-endian
75
+ .IP \(bu 2
76
+ little\-endian
77
+ .IP \(bu 2
78
+ byte\-swapped
79
+ .RE
80
+ .TP
81
+ \fB\-\-ignore\-checksum\-validation\fR
82
+ Report a patch as usable even when its own checksums do not match
83
+ .TP
84
+ \fB\-\-independent\fR
85
+ 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
86
+ .TP
87
+ \fB\-\-plan\fR
88
+ Report the order the patches would run in and what each would be checked against, without reading the ROM more than needed
89
+ .TP
90
+ \fB\-\-patch\-basis\fR \fI<PATCH_BASIS>\fR
91
+ Which ROM the preceding \-\-patch was built against: auto, base, or previous [default: auto]
92
+ .br
93
+
94
+ .br
95
+ \fIPossible values:\fR
96
+ .RS 14
97
+ .IP \(bu 2
98
+ auto
99
+ .IP \(bu 2
100
+ base
101
+ .IP \(bu 2
102
+ previous
103
+ .RE
104
+ .TP
105
+ \fB\-\-patch\-input\-check\fR \fI<ALGO=HEX>\fR
106
+ Checksum the preceding \-\-patch expects to see going in, when the patch does not carry one (comma\-separable; empty means none)
107
+ .TP
108
+ \fB\-\-patch\-output\-check\fR \fI<ALGO=HEX>\fR
109
+ Checksum the preceding \-\-patch should produce, when the patch does not carry one (comma\-separable; empty means none)
110
+ .TP
111
+ \fB\-j\fR, \fB\-\-threads\fR \fI<auto|N>\fR [default: auto]
112
+ How many threads to use at most. auto uses every core; a format may still use fewer
113
+ .TP
114
+ \fB\-h\fR, \fB\-\-help\fR
115
+ Print help (see a summary with \*(Aq\-h\*(Aq)
116
+ .SH "GLOBAL OPTIONS"
117
+ .TP
118
+ \fB\-\-json\fR
119
+ Print one JSON object per line instead of human\-readable output
120
+ .TP
121
+ \fB\-\-progress\fR
122
+ Show progress even when output is piped to a file or another program
123
+ .TP
124
+ \fB\-\-no\-progress\fR
125
+ Hide progress
126
+ .TP
127
+ \fB\-\-log\-level\fR \fI<LOG_LEVEL>\fR
128
+ How much rom\-weaver logs to stderr. Separate from the normal output [default: off]
129
+ .br
130
+
131
+ .br
132
+ \fIPossible values:\fR
133
+ .RS 14
134
+ .IP \(bu 2
135
+ off
136
+ .IP \(bu 2
137
+ error
138
+ .IP \(bu 2
139
+ warn
140
+ .IP \(bu 2
141
+ info
142
+ .IP \(bu 2
143
+ debug
144
+ .IP \(bu 2
145
+ trace
146
+ .RE
147
+ .TP
148
+ \fB\-v\fR, \fB\-\-verbose\fR
149
+ Log more: \-v for info, \-vv for debug, \-vvv for trace
150
+ .TP
151
+ \fB\-q\fR, \fB\-\-quiet\fR
152
+ Log errors only
153
+ .TP
154
+ \fB\-\-dep\-trace\fR
155
+ Also log trace output from bundled libraries (for bug reports)
156
+ .TP
157
+ \fB\-\-color\fR
158
+ Keep colors even when output is piped
159
+ .TP
160
+ \fB\-\-no\-color\fR
161
+ Turn colors off
@@ -0,0 +1,69 @@
1
+ .ie \n(.g .ds Aq \(aq
2
+ .el .ds Aq '
3
+ .TH rom-weaver-patch 1 "rom-weaver-patch "
4
+ .SH NAME
5
+ rom\-weaver\-patch \- Apply, create, or check ROM patches
6
+ .SH SYNOPSIS
7
+ \fBrom\-weaver patch\fR [\fB\-\-json\fR] [\fB\-\-progress\fR] [\fB\-\-no\-progress\fR] [\fB\-\-log\-level\fR] [\fB\-v\fR|\fB\-\-verbose\fR]... [\fB\-q\fR|\fB\-\-quiet\fR] [\fB\-\-dep\-trace\fR] [\fB\-\-color\fR] [\fB\-\-no\-color\fR] [\fB\-h\fR|\fB\-\-help\fR] <\fIsubcommands\fR>
8
+ .SH DESCRIPTION
9
+ Apply, create, or check ROM patches
10
+ .SH OPTIONS
11
+ .TP
12
+ \fB\-h\fR, \fB\-\-help\fR
13
+ Print help
14
+ .SH "GLOBAL OPTIONS"
15
+ .TP
16
+ \fB\-\-json\fR
17
+ Print one JSON object per line instead of human\-readable output
18
+ .TP
19
+ \fB\-\-progress\fR
20
+ Show progress even when output is piped to a file or another program
21
+ .TP
22
+ \fB\-\-no\-progress\fR
23
+ Hide progress
24
+ .TP
25
+ \fB\-\-log\-level\fR \fI<LOG_LEVEL>\fR
26
+ How much rom\-weaver logs to stderr. Separate from the normal output [default: off]
27
+ .br
28
+
29
+ .br
30
+ \fIPossible values:\fR
31
+ .RS 14
32
+ .IP \(bu 2
33
+ off
34
+ .IP \(bu 2
35
+ error
36
+ .IP \(bu 2
37
+ warn
38
+ .IP \(bu 2
39
+ info
40
+ .IP \(bu 2
41
+ debug
42
+ .IP \(bu 2
43
+ trace
44
+ .RE
45
+ .TP
46
+ \fB\-v\fR, \fB\-\-verbose\fR
47
+ Log more: \-v for info, \-vv for debug, \-vvv for trace
48
+ .TP
49
+ \fB\-q\fR, \fB\-\-quiet\fR
50
+ Log errors only
51
+ .TP
52
+ \fB\-\-dep\-trace\fR
53
+ Also log trace output from bundled libraries (for bug reports)
54
+ .TP
55
+ \fB\-\-color\fR
56
+ Keep colors even when output is piped
57
+ .TP
58
+ \fB\-\-no\-color\fR
59
+ Turn colors off
60
+ .SH SUBCOMMANDS
61
+ .TP
62
+ rom\-weaver\-patch\-apply(1)
63
+ Apply one or more patches to a ROM, in order
64
+ .TP
65
+ rom\-weaver\-patch\-validate(1)
66
+ Check that patches would apply cleanly, without writing anything
67
+ .TP
68
+ rom\-weaver\-patch\-create(1)
69
+ Build a patch from an original ROM and a changed one
@@ -0,0 +1,93 @@
1
+ .ie \n(.g .ds Aq \(aq
2
+ .el .ds Aq '
3
+ .TH rom-weaver-probe 1 "rom-weaver-probe "
4
+ .SH NAME
5
+ rom\-weaver\-probe \- Identify a file: its format, its platform, and any header it carries
6
+ .SH SYNOPSIS
7
+ \fBrom\-weaver probe\fR <\fB\-i\fR|\fB\-\-input\fR> [\fB\-\-json\fR] [\fB\-\-progress\fR] [\fB\-s\fR|\fB\-\-select\fR] [\fB\-\-filter\fR] [\fB\-\-no\-progress\fR] [\fB\-\-log\-level\fR] [\fB\-\-no\-extract\fR] [\fB\-\-no\-ignore\fR] [\fB\-v\fR|\fB\-\-verbose\fR]... [\fB\-q\fR|\fB\-\-quiet\fR] [\fB\-\-dep\-trace\fR] [\fB\-\-color\fR] [\fB\-\-no\-color\fR] [\fB\-h\fR|\fB\-\-help\fR]
8
+ .SH DESCRIPTION
9
+ Identify a file. Reports what format it is, which console it is for, whether it
10
+ carries a copier header, and what is inside it if it is an archive.
11
+ .PP
12
+ `rom\-weaver inspect` runs this same command under another name.
13
+ .PP
14
+ Archives are opened automatically, so pointing this at a .zip describes the ROM
15
+ inside rather than the zip itself. Pass \-\-no\-extract to describe the file as it
16
+ sits on disk.
17
+ .PP
18
+ Nothing is written; this only reads.
19
+ .SH OPTIONS
20
+ .TP
21
+ \fB\-i\fR, \fB\-\-input\fR \fI<INPUT>\fR
22
+ File to identify. Use \- to read from stdin
23
+ .TP
24
+ \fB\-s\fR, \fB\-\-select\fR \fI<SELECT>\fR
25
+ Pick which file inside the archive to use, by exact name, prefix, or glob (repeatable)
26
+ .TP
27
+ \fB\-\-filter\fR \fI<FILTER>\fR
28
+ Consider only files that look like a rom or a patch, judged by extension (repeatable, comma\-separable)
29
+ .br
30
+
31
+ .br
32
+ \fIPossible values:\fR
33
+ .RS 14
34
+ .IP \(bu 2
35
+ rom
36
+ .IP \(bu 2
37
+ patch
38
+ .RE
39
+ .TP
40
+ \fB\-\-no\-extract\fR
41
+ Do not look inside archives; identify the file itself
42
+ .TP
43
+ \fB\-\-no\-ignore\fR
44
+ Also consider files normally skipped inside archives: readmes, images, checksum sidecars, and OS clutter such as .DS_Store
45
+ .TP
46
+ \fB\-h\fR, \fB\-\-help\fR
47
+ Print help (see a summary with \*(Aq\-h\*(Aq)
48
+ .SH "GLOBAL OPTIONS"
49
+ .TP
50
+ \fB\-\-json\fR
51
+ Print one JSON object per line instead of human\-readable output
52
+ .TP
53
+ \fB\-\-progress\fR
54
+ Show progress even when output is piped to a file or another program
55
+ .TP
56
+ \fB\-\-no\-progress\fR
57
+ Hide progress
58
+ .TP
59
+ \fB\-\-log\-level\fR \fI<LOG_LEVEL>\fR
60
+ How much rom\-weaver logs to stderr. Separate from the normal output [default: off]
61
+ .br
62
+
63
+ .br
64
+ \fIPossible values:\fR
65
+ .RS 14
66
+ .IP \(bu 2
67
+ off
68
+ .IP \(bu 2
69
+ error
70
+ .IP \(bu 2
71
+ warn
72
+ .IP \(bu 2
73
+ info
74
+ .IP \(bu 2
75
+ debug
76
+ .IP \(bu 2
77
+ trace
78
+ .RE
79
+ .TP
80
+ \fB\-v\fR, \fB\-\-verbose\fR
81
+ Log more: \-v for info, \-vv for debug, \-vvv for trace
82
+ .TP
83
+ \fB\-q\fR, \fB\-\-quiet\fR
84
+ Log errors only
85
+ .TP
86
+ \fB\-\-dep\-trace\fR
87
+ Also log trace output from bundled libraries (for bug reports)
88
+ .TP
89
+ \fB\-\-color\fR
90
+ Keep colors even when output is piped
91
+ .TP
92
+ \fB\-\-no\-color\fR
93
+ Turn colors off
@@ -0,0 +1,71 @@
1
+ .ie \n(.g .ds Aq \(aq
2
+ .el .ds Aq '
3
+ .TH rom-weaver-tools-ppf-undo 1 "rom-weaver-tools-ppf-undo "
4
+ .SH NAME
5
+ rom\-weaver\-tools\-ppf\-undo \- Undo a PPF3 patch, using the undo data stored inside it
6
+ .SH SYNOPSIS
7
+ \fBrom\-weaver tools ppf\-undo\fR <\fB\-i\fR|\fB\-\-input\fR> [\fB\-\-json\fR] <\fB\-\-patch\fR> [\fB\-\-progress\fR] [\fB\-\-no\-progress\fR] <\fB\-o\fR|\fB\-\-output\fR> [\fB\-\-log\-level\fR] [\fB\-v\fR|\fB\-\-verbose\fR]... [\fB\-q\fR|\fB\-\-quiet\fR] [\fB\-\-dep\-trace\fR] [\fB\-\-color\fR] [\fB\-\-no\-color\fR] [\fB\-h\fR|\fB\-\-help\fR]
8
+ .SH DESCRIPTION
9
+ Undo a PPF3 patch, turning a patched ROM back into the original.
10
+ .PP
11
+ Only works when the patch was written with undo data, which is optional in the
12
+ PPF3 format. Without it there is nothing to reverse from.
13
+ .SH OPTIONS
14
+ .TP
15
+ \fB\-i\fR, \fB\-\-input\fR \fI<ROM>\fR
16
+ The already\-patched ROM to undo
17
+ .TP
18
+ \fB\-\-patch\fR \fI<PPF>\fR
19
+ The PPF3 patch that was applied. It must carry undo data
20
+ .TP
21
+ \fB\-o\fR, \fB\-\-output\fR \fI<PATH>\fR
22
+ Where to write the restored ROM
23
+ .TP
24
+ \fB\-h\fR, \fB\-\-help\fR
25
+ Print help (see a summary with \*(Aq\-h\*(Aq)
26
+ .SH "GLOBAL OPTIONS"
27
+ .TP
28
+ \fB\-\-json\fR
29
+ Print one JSON object per line instead of human\-readable output
30
+ .TP
31
+ \fB\-\-progress\fR
32
+ Show progress even when output is piped to a file or another program
33
+ .TP
34
+ \fB\-\-no\-progress\fR
35
+ Hide progress
36
+ .TP
37
+ \fB\-\-log\-level\fR \fI<LOG_LEVEL>\fR
38
+ How much rom\-weaver logs to stderr. Separate from the normal output [default: off]
39
+ .br
40
+
41
+ .br
42
+ \fIPossible values:\fR
43
+ .RS 14
44
+ .IP \(bu 2
45
+ off
46
+ .IP \(bu 2
47
+ error
48
+ .IP \(bu 2
49
+ warn
50
+ .IP \(bu 2
51
+ info
52
+ .IP \(bu 2
53
+ debug
54
+ .IP \(bu 2
55
+ trace
56
+ .RE
57
+ .TP
58
+ \fB\-v\fR, \fB\-\-verbose\fR
59
+ Log more: \-v for info, \-vv for debug, \-vvv for trace
60
+ .TP
61
+ \fB\-q\fR, \fB\-\-quiet\fR
62
+ Log errors only
63
+ .TP
64
+ \fB\-\-dep\-trace\fR
65
+ Also log trace output from bundled libraries (for bug reports)
66
+ .TP
67
+ \fB\-\-color\fR
68
+ Keep colors even when output is piped
69
+ .TP
70
+ \fB\-\-no\-color\fR
71
+ Turn colors off
@@ -0,0 +1,63 @@
1
+ .ie \n(.g .ds Aq \(aq
2
+ .el .ds Aq '
3
+ .TH rom-weaver-tools 1 "rom-weaver-tools "
4
+ .SH NAME
5
+ rom\-weaver\-tools \- One\-off recovery tools
6
+ .SH SYNOPSIS
7
+ \fBrom\-weaver tools\fR [\fB\-\-json\fR] [\fB\-\-progress\fR] [\fB\-\-no\-progress\fR] [\fB\-\-log\-level\fR] [\fB\-v\fR|\fB\-\-verbose\fR]... [\fB\-q\fR|\fB\-\-quiet\fR] [\fB\-\-dep\-trace\fR] [\fB\-\-color\fR] [\fB\-\-no\-color\fR] [\fB\-h\fR|\fB\-\-help\fR] <\fIsubcommands\fR>
8
+ .SH DESCRIPTION
9
+ One\-off recovery tools
10
+ .SH OPTIONS
11
+ .TP
12
+ \fB\-h\fR, \fB\-\-help\fR
13
+ Print help
14
+ .SH "GLOBAL OPTIONS"
15
+ .TP
16
+ \fB\-\-json\fR
17
+ Print one JSON object per line instead of human\-readable output
18
+ .TP
19
+ \fB\-\-progress\fR
20
+ Show progress even when output is piped to a file or another program
21
+ .TP
22
+ \fB\-\-no\-progress\fR
23
+ Hide progress
24
+ .TP
25
+ \fB\-\-log\-level\fR \fI<LOG_LEVEL>\fR
26
+ How much rom\-weaver logs to stderr. Separate from the normal output [default: off]
27
+ .br
28
+
29
+ .br
30
+ \fIPossible values:\fR
31
+ .RS 14
32
+ .IP \(bu 2
33
+ off
34
+ .IP \(bu 2
35
+ error
36
+ .IP \(bu 2
37
+ warn
38
+ .IP \(bu 2
39
+ info
40
+ .IP \(bu 2
41
+ debug
42
+ .IP \(bu 2
43
+ trace
44
+ .RE
45
+ .TP
46
+ \fB\-v\fR, \fB\-\-verbose\fR
47
+ Log more: \-v for info, \-vv for debug, \-vvv for trace
48
+ .TP
49
+ \fB\-q\fR, \fB\-\-quiet\fR
50
+ Log errors only
51
+ .TP
52
+ \fB\-\-dep\-trace\fR
53
+ Also log trace output from bundled libraries (for bug reports)
54
+ .TP
55
+ \fB\-\-color\fR
56
+ Keep colors even when output is piped
57
+ .TP
58
+ \fB\-\-no\-color\fR
59
+ Turn colors off
60
+ .SH SUBCOMMANDS
61
+ .TP
62
+ rom\-weaver\-tools\-ppf\-undo(1)
63
+ Undo a PPF3 patch, using the undo data stored inside it