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// NOTE: DO NOT EDIT THIS FILE DIRECTLY. It is AUTO-GENERATED from config_schema.yaml.
9// To add new config values or make other changes, edit config_schema.yaml and regenerate via:
10//
11// uv run scripts/generate_config.py
12
15 std::string long_name;
16 std::string description;
17 std::string type_hint;
18 std::vector<std::string> choices;
20};
21
25[[nodiscard]] inline std::vector<CliOptionMeta> get_cli_option_metadata()
26{
27 return {
29 "num-tiles-in-primary",
30 "Number Of Tiles In Primary - The NUM_TILES_IN_PRIMARY setting from include/fieldmap.h.",
31 "integer",
32 {},
33 false},
35 "num-tiles-total",
36 "Number Of Tiles Total - The NUM_TILES_TOTAL setting from include/fieldmap.h.",
37 "integer",
38 {},
39 false},
41 "num-metatiles-in-primary",
42 "Number Of Metatiles In Primary - The NUM_METATILES_IN_PRIMARY setting from include/fieldmap.h.",
43 "integer",
44 {},
45 false},
47 "num-metatiles-total",
48 "Number Of Metatiles Total - The NUM_METATILES_TOTAL setting from include/fieldmap.h.",
49 "integer",
50 {},
51 false},
53 "num-pals-in-primary",
54 "Number Of Palettes In Primary - The NUM_PALS_IN_PRIMARY setting from include/fieldmap.h.",
55 "integer",
56 {},
57 false},
59 "num-pals-total",
60 "Number Of Palettes Total - The NUM_PALS_TOTAL setting from include/fieldmap.h.",
61 "integer",
62 {},
63 false},
65 "max-map-data-size",
66 "Max Map Data Size - The MAX_MAP_DATA_SIZE setting from include/fieldmap.h.",
67 "integer",
68 {},
69 false},
71 "num-tiles-per-metatile",
72 "Number Of Tiles Per Metatile - The NUM_TILES_PER_METATILE setting from include/fieldmap.h.",
73 "integer",
74 {},
75 false},
77 "extrinsic-transparency",
78 "Extrinsic Transparency - The RGB color to treat as transparent during compilation. (format: R,G,B or "
79 "R,G,B,A)",
80 "color",
81 {},
82 false},
84 "ignore-triple-layer-content",
85 "Ignore Triple Layer Content - Demote the triple-layer-content-in-dual-mode error to a warning. When on, a "
86 "metatile with content on all three layers compiles in dual mode by dropping one layer group instead of "
87 "failing. The dropped layer follows the metatile's effective layer type: a 'layer_type' role pin if you "
88 "set one, otherwise the bottom layer.",
89 "bool",
90 {},
91 true},
93 "tiles-edit-mode",
94 "Tiles Edit Mode - The allowed edit mode for the tiles.png artifact.",
95 "enum",
96 {"locked", "patch", "optimize"},
97 false},
99 "pals-edit-mode",
100 "Palettes Edit Mode - The allowed edit mode for the palettes/ artifacts.",
101 "enum",
102 {"locked", "patch", "optimize"},
103 false},
105 "pal-hints-enabled", "Palette Hints Enabled - Enable configured palette hints.", "bool", {}, true},
107 "packing-strategy",
108 "Packing Strategy - The palette packing algorithm to use during compilation.",
109 "enum",
110 {"best-fusion", "backtracking", "overload-and-remove"},
111 false},
113 "tile-sharing-packing",
114 "Tile Sharing Packing - Controls whether palette packing considers tile sharing.",
115 "enum",
116 {"off", "biased", "optimal"},
117 false},
119 "tile-sharing-alignment",
120 "Tile Sharing Alignment - Controls palette slot alignment strategy for tile sharing.",
121 "enum",
122 {"off", "greedy", "optimal"},
123 false},
125 "tiles-pal-mode",
126 "Tiles Palette Mode - The color mode to use when saving the tiles.png artifact.",
127 "enum",
128 {"true-color", "greyscale"},
129 false},
131 "anim-pal-resolution-strategy",
132 "Global Animation Palette Resolution Strategy - The global strategy for determining which palette to use "
133 "when decompiling animation tiles.",
134 "enum",
135 {"scan-local-metatiles",
136 "palette-00",
137 "palette-01",
138 "palette-02",
139 "palette-03",
140 "palette-04",
141 "palette-05",
142 "palette-06",
143 "palette-07",
144 "palette-08",
145 "palette-09",
146 "palette-10",
147 "palette-11",
148 "palette-12",
149 "palette-13",
150 "palette-14",
151 "palette-15",
152 "internal-png-palette",
153 "scan-all-tilesets"},
154 false},
156 "anim-key-frame-resolution-strategy",
157 "Global Animation Key Frame Resolution Strategy - The strategy to use when decompilation encounters "
158 "duplicate key frame subtiles.",
159 "enum",
160 {"error", "warning", "mangle"},
161 false},
163 "anim-multi-pal-subtile-resolution-strategy",
164 "Global Animation Multi-Palette Subtile Resolution Strategy - The strategy for handling animation subtiles "
165 "referenced with multiple palettes.",
166 "enum",
167 {"error", "warning", "split"},
168 false},
170 "frame-linking",
171 "Global Frame Linking - The global default frame linking mode for animations.",
172 "enum",
173 {"automatic", "manual", "hybrid"},
174 false},
176 "cross-tileset-anim-linking",
177 "Cross-Tileset Animation Linking - Enable automatic matching of secondary tiles against primary animation "
178 "key frames.",
179 "bool",
180 {},
181 true},
183 "verify-checksums",
184 "Verify Checksums - Enable or disable artifact checksum verification.",
185 "bool",
186 {},
187 true},
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},
195 "primary-pairing-partners",
196 "Primary Pairing Partners - Tileset names to use as partner primaries in manual pairing mode.",
197 "string_list",
198 {},
199 false},
201 "diagnostic-warnings-exclude",
202 "Diagnostic Warnings Exclude - Regex patterns for warning tags to exclude (overrides includes).",
203 "string_list",
204 {},
205 false},
207 "diagnostic-warnings-include",
208 "Diagnostic Warnings Include - Regex patterns for warning tags to show. Warnings are hidden unless a "
209 "pattern matches their tag.",
210 "string_list",
211 {},
212 false},
214 "diagnostic-remarks-exclude",
215 "Diagnostic Remarks Exclude - Regex patterns for remark tags to exclude (overrides includes).",
216 "string_list",
217 {},
218 false},
220 "diagnostic-remarks-include",
221 "Diagnostic Remarks Include - Regex patterns for remark tags to show. Remarks are hidden unless a pattern "
222 "matches their tag.",
223 "string_list",
224 {},
225 false},
227 "tileset-paths-primary-src",
228 "Tileset Paths Primary Source - The directory for primary tileset Porytiles component assets.",
229 "string",
230 {},
231 false},
233 "tileset-paths-primary-bin",
234 "Tileset Paths Primary Bin - The directory for primary tileset Porymap component assets.",
235 "string",
236 {},
237 false},
239 "tileset-paths-secondary-src",
240 "Tileset Paths Secondary Source - The directory for secondary tileset Porytiles component assets.",
241 "string",
242 {},
243 false},
245 "tileset-paths-secondary-bin",
246 "Tileset Paths Secondary Bin - The directory for secondary tileset Porymap component assets.",
247 "string",
248 {},
249 false},
251 "metatile-attribute-size",
252 "Metatile Attribute Size - Pins the size in bytes of each metatile attribute entry (1, 2, or 4). When "
253 "unset, Porytiles derives the size from the resolved attribute field masks, which struct Tileset's "
254 "declared element width must corroborate exactly. Must be set explicitly on projects that declare more "
255 "than one mask layout (pokeemerald-expansion), one value per build flavor, and on projects whose masks and "
256 "struct Tileset declaration disagree or whose declaration is unusable. Project-global.",
257 "integer",
258 {},
259 false},
261 "metatile-attribute-declaration-size",
262 "Metatile Attribute Declaration Size - The declared element width in bytes (1, 2, or 4) for generated "
263 "gMetatileAttributes_* C declarations (const uN / INCBIN_UN). Normally inferred from struct Tileset's "
264 "metatileAttributes member in include/global.fieldmap.h. Required when that declaration is missing, "
265 "unreadable, or not a pointer to u8, u16, or u32, since nothing else in a project implies this width. "
266 "Project-global.",
267 "integer",
268 {},
269 false},
271 "tileset-animations-wire-anim-code",
272 "Tileset Animations Wire Anim Code - Enable or disable automatic animation code wiring.",
273 "bool",
274 {},
275 true},
276 };
277}
278
279} // 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.