Porytiles
Loading...
Searching...
No Matches
cli_completion_data.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <string>
4#include <vector>
5
6namespace porytiles {
7
8/*
9 * NOTE: DO NOT EDIT THIS FILE DIRECTLY. It is AUTO-GENERATED from config_schema.yaml.
10 * To add new config values or make other changes, edit config_schema.yaml and regenerate via:
11 *
12 * uv run scripts/generate_config.py
13 */
14
19 std::string long_name;
20 std::string description;
21 std::string type_hint;
22 std::vector<std::string> choices;
24};
25
31[[nodiscard]] inline std::vector<CliOptionMeta> get_cli_option_metadata()
32{
33 return {
35 "num-tiles-in-primary",
36 "Number Of Tiles In Primary - The NUM_TILES_IN_PRIMARY setting from include/fieldmap.h.",
37 "integer",
38 {},
39 false
40 },
42 "num-tiles-total",
43 "Number Of Tiles Total - The NUM_TILES_TOTAL setting from include/fieldmap.h.",
44 "integer",
45 {},
46 false
47 },
49 "num-metatiles-in-primary",
50 "Number Of Metatiles In Primary - The NUM_METATILES_IN_PRIMARY setting from include/fieldmap.h.",
51 "integer",
52 {},
53 false
54 },
56 "num-metatiles-total",
57 "Number Of Metatiles Total - The NUM_METATILES_TOTAL setting from include/fieldmap.h.",
58 "integer",
59 {},
60 false
61 },
63 "num-pals-in-primary",
64 "Number Of Palettes In Primary - The NUM_PALS_IN_PRIMARY setting from include/fieldmap.h.",
65 "integer",
66 {},
67 false
68 },
70 "num-pals-total",
71 "Number Of Palettes Total - The NUM_PALS_TOTAL setting from include/fieldmap.h.",
72 "integer",
73 {},
74 false
75 },
77 "max-map-data-size",
78 "Max Map Data Size - The MAX_MAP_DATA_SIZE setting from include/fieldmap.h.",
79 "integer",
80 {},
81 false
82 },
84 "num-tiles-per-metatile",
85 "Number Of Tiles Per Metatile - The NUM_TILES_PER_METATILE setting from include/fieldmap.h.",
86 "integer",
87 {},
88 false
89 },
91 "extrinsic-transparency",
92 "Extrinsic Transparency - The RGB color to treat as transparent during compilation. (format: R,G,B or R,G,B,A)",
93 "color",
94 {},
95 false
96 },
98 "tiles-edit-mode",
99 "Tiles Edit Mode - The allowed edit mode for the tiles.png artifact.",
100 "enum",
101 { "locked", "patch", "optimize" },
102 false
103 },
105 "pals-edit-mode",
106 "Palettes Edit Mode - The allowed edit mode for the palettes/ artifacts.",
107 "enum",
108 { "locked", "patch", "optimize" },
109 false
110 },
112 "pal-hints-enabled",
113 "Palette Hints Enabled - Enable configured palette hints.",
114 "bool",
115 {},
116 true
117 },
119 "packing-strategy",
120 "Packing Strategy - The palette packing algorithm to use during compilation.",
121 "enum",
122 { "best-fusion", "backtracking", "overload-and-remove" },
123 false
124 },
126 "tile-sharing-packing",
127 "Tile Sharing Packing - Controls whether palette packing considers tile sharing.",
128 "enum",
129 { "off", "biased", "optimal" },
130 false
131 },
133 "tile-sharing-alignment",
134 "Tile Sharing Alignment - Controls palette slot alignment strategy for tile sharing.",
135 "enum",
136 { "off", "greedy", "optimal" },
137 false
138 },
140 "tiles-pal-mode",
141 "Tiles Palette Mode - The color mode to use when saving the tiles.png artifact.",
142 "enum",
143 { "true-color", "greyscale" },
144 false
145 },
147 "anim-pal-resolution-strategy",
148 "Global Animation Palette Resolution Strategy - The global strategy for determining which palette to use when decompiling animation tiles.",
149 "enum",
150 { "scan-local-metatiles", "palette-00", "palette-01", "palette-02", "palette-03", "palette-04", "palette-05", "palette-06", "palette-07", "palette-08", "palette-09", "palette-10", "palette-11", "palette-12", "palette-13", "palette-14", "palette-15", "internal-png-palette", "scan-all-tilesets" },
151 false
152 },
154 "anim-key-frame-resolution-strategy",
155 "Global Animation Key Frame Resolution Strategy - The strategy to use when decompilation encounters duplicate key frame subtiles.",
156 "enum",
157 { "error", "warning", "mangle" },
158 false
159 },
161 "anim-multi-pal-subtile-resolution-strategy",
162 "Global Animation Multi-Pal Subtile Resolution Strategy - The strategy for handling animation subtiles referenced with multiple palettes.",
163 "enum",
164 { "error", "warning", "split" },
165 false
166 },
168 "frame-linking",
169 "Global Frame Linking - The global default frame linking mode for animations.",
170 "enum",
171 { "automatic", "manual", "hybrid" },
172 false
173 },
175 "cross-tileset-anim-linking",
176 "Cross-Tileset Animation Linking - Enable automatic matching of secondary tiles against primary animation key frames.",
177 "bool",
178 {},
179 true
180 },
182 "verify-checksums",
183 "Verify Checksums - Enable or disable artifact checksum verification.",
184 "bool",
185 {},
186 true
187 },
189 "primary-pairing-mode",
190 "Primary Pairing Mode - How a secondary tileset resolves its partner primary for compilation.",
191 "enum",
192 { "off", "manual", "automatic" },
193 false
194 },
196 "primary-pairing-partners",
197 "Primary Pairing Partners - Tileset names to use as partner primaries in manual pairing mode.",
198 "string_list",
199 {},
200 false
201 },
203 "diagnostic-warnings-exclude",
204 "Diagnostic Warnings Exclude - Regex patterns for warning tags to exclude.",
205 "string_list",
206 {},
207 false
208 },
210 "diagnostic-warnings-include",
211 "Diagnostic Warnings Include - Regex patterns for warning tags to include (overrides excludes).",
212 "string_list",
213 {},
214 false
215 },
217 "diagnostic-remarks-exclude",
218 "Diagnostic Remarks Exclude - Regex patterns for remark tags to exclude.",
219 "string_list",
220 {},
221 false
222 },
224 "diagnostic-remarks-include",
225 "Diagnostic Remarks Include - Regex patterns for remark tags to include (overrides excludes).",
226 "string_list",
227 {},
228 false
229 },
231 "tileset-paths-primary-src",
232 "Tileset Paths Primary Source - The directory for primary tileset Porytiles component assets.",
233 "string",
234 {},
235 false
236 },
238 "tileset-paths-primary-bin",
239 "Tileset Paths Primary Bin - The directory for primary tileset Porymap component assets.",
240 "string",
241 {},
242 false
243 },
245 "tileset-paths-secondary-src",
246 "Tileset Paths Secondary Source - The directory for secondary tileset Porytiles component assets.",
247 "string",
248 {},
249 false
250 },
252 "tileset-paths-secondary-bin",
253 "Tileset Paths Secondary Bin - The directory for secondary tileset Porymap component assets.",
254 "string",
255 {},
256 false
257 },
259 "metatile-attr-size",
260 "Metatile Attribute Size - The size in bytes of each metatile attribute entry (2 for Emerald/Ruby, 4 for FireRed).",
261 "integer",
262 {},
263 false
264 },
266 "tileset-animations-wire-anim-code",
267 "Tileset Animations Wire Anim Code - Enable or disable automatic animation code wiring.",
268 "bool",
269 {},
270 true
271 },
272 };
273}
274
275} // namespace porytiles
std::vector< CliOptionMeta > get_cli_option_metadata()
Get all CLI option metadata for completion generation.
Metadata for a single CLI option, used for shell completion generation.
std::string type_hint
Type hint for completion (e.g., "integer", "string", "enum")
std::vector< std::string > choices
Valid choices for enum types (empty for non-enums)
std::string long_name
Long option name (e.g., "num-tiles-in-primary")
bool has_negation
True if this is a bool flag with –no-* variant.
std::string description
Human-readable description.