29 "num-tiles-in-primary",
30 "Number Of Tiles In Primary - The NUM_TILES_IN_PRIMARY setting from include/fieldmap.h.",
36 "Number Of Tiles Total - The NUM_TILES_TOTAL setting from include/fieldmap.h.",
41 "num-metatiles-in-primary",
42 "Number Of Metatiles In Primary - The NUM_METATILES_IN_PRIMARY setting from include/fieldmap.h.",
47 "num-metatiles-total",
48 "Number Of Metatiles Total - The NUM_METATILES_TOTAL setting from include/fieldmap.h.",
53 "num-pals-in-primary",
54 "Number Of Palettes In Primary - The NUM_PALS_IN_PRIMARY setting from include/fieldmap.h.",
60 "Number Of Palettes Total - The NUM_PALS_TOTAL setting from include/fieldmap.h.",
66 "Max Map Data Size - The MAX_MAP_DATA_SIZE setting from include/fieldmap.h.",
71 "num-tiles-per-metatile",
72 "Number Of Tiles Per Metatile - The NUM_TILES_PER_METATILE setting from include/fieldmap.h.",
77 "extrinsic-transparency",
78 "Extrinsic Transparency - The RGB color to treat as transparent during compilation. (format: R,G,B or "
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.",
94 "Tiles Edit Mode - The allowed edit mode for the tiles.png artifact.",
96 {
"locked",
"patch",
"optimize"},
100 "Palettes Edit Mode - The allowed edit mode for the palettes/ artifacts.",
102 {
"locked",
"patch",
"optimize"},
105 "pal-hints-enabled",
"Palette Hints Enabled - Enable configured palette hints.",
"bool", {},
true},
108 "Packing Strategy - The palette packing algorithm to use during compilation.",
110 {
"best-fusion",
"backtracking",
"overload-and-remove"},
113 "tile-sharing-packing",
114 "Tile Sharing Packing - Controls whether palette packing considers tile sharing.",
116 {
"off",
"biased",
"optimal"},
119 "tile-sharing-alignment",
120 "Tile Sharing Alignment - Controls palette slot alignment strategy for tile sharing.",
122 {
"off",
"greedy",
"optimal"},
126 "Tiles Palette Mode - The color mode to use when saving the tiles.png artifact.",
128 {
"true-color",
"greyscale"},
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.",
135 {
"scan-local-metatiles",
152 "internal-png-palette",
153 "scan-all-tilesets"},
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.",
160 {
"error",
"warning",
"mangle"},
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.",
167 {
"error",
"warning",
"split"},
171 "Global Frame Linking - The global default frame linking mode for animations.",
173 {
"automatic",
"manual",
"hybrid"},
176 "cross-tileset-anim-linking",
177 "Cross-Tileset Animation Linking - Enable automatic matching of secondary tiles against primary animation "
184 "Verify Checksums - Enable or disable artifact checksum verification.",
189 "primary-pairing-mode",
190 "Primary Pairing Mode - How a secondary tileset resolves its partner primary for compilation.",
192 {
"off",
"manual",
"automatic"},
195 "primary-pairing-partners",
196 "Primary Pairing Partners - Tileset names to use as partner primaries in manual pairing mode.",
201 "diagnostic-warnings-exclude",
202 "Diagnostic Warnings Exclude - Regex patterns for warning tags to exclude (overrides includes).",
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.",
214 "diagnostic-remarks-exclude",
215 "Diagnostic Remarks Exclude - Regex patterns for remark tags to exclude (overrides includes).",
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.",
227 "tileset-paths-primary-src",
228 "Tileset Paths Primary Source - The directory for primary tileset Porytiles component assets.",
233 "tileset-paths-primary-bin",
234 "Tileset Paths Primary Bin - The directory for primary tileset Porymap component assets.",
239 "tileset-paths-secondary-src",
240 "Tileset Paths Secondary Source - The directory for secondary tileset Porytiles component assets.",
245 "tileset-paths-secondary-bin",
246 "Tileset Paths Secondary Bin - The directory for secondary tileset Porymap component assets.",
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.",
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. "
271 "tileset-animations-wire-anim-code",
272 "Tileset Animations Wire Anim Code - Enable or disable automatic animation code wiring.",
std::vector< CliOptionMeta > get_cli_option_metadata()
Get all CLI option metadata for completion generation.