Porytiles
Loading...
Searching...
No Matches
cli_option_provider.cpp
Go to the documentation of this file.
2
4
5/*
6 * NOTE: DO NOT EDIT THIS FILE DIRECTLY. It is AUTO-GENERATED from config_schema.yaml.
7 * To add new config values or make other changes, edit config_schema.yaml and regenerate via:
8 *
9 * uv run scripts/generate_config.py
10 */
11
12namespace porytiles {
13
14CliOptionProvider::CliOptionProvider(const CliOptionStorage &storage) : storage_{storage} {}
15
16std::string CliOptionProvider::name() const
17{
18 return "CliOptionProvider";
19}
20
21LayerValue<std::size_t> CliOptionProvider::num_tiles_in_primary([[maybe_unused]] ConfigScopeType type, [[maybe_unused]] const std::string &scope) const
22{
23 // All types use parse functions for uniform error handling
24 return parse_size_t(storage_.num_tiles_in_primary, "--num-tiles-in-primary");
25}
26
27LayerValue<std::size_t> CliOptionProvider::num_tiles_total([[maybe_unused]] ConfigScopeType type, [[maybe_unused]] const std::string &scope) const
28{
29 // All types use parse functions for uniform error handling
30 return parse_size_t(storage_.num_tiles_total, "--num-tiles-total");
31}
32
33LayerValue<std::size_t> CliOptionProvider::num_metatiles_in_primary([[maybe_unused]] ConfigScopeType type, [[maybe_unused]] const std::string &scope) const
34{
35 // All types use parse functions for uniform error handling
36 return parse_size_t(storage_.num_metatiles_in_primary, "--num-metatiles-in-primary");
37}
38
39LayerValue<std::size_t> CliOptionProvider::num_metatiles_total([[maybe_unused]] ConfigScopeType type, [[maybe_unused]] const std::string &scope) const
40{
41 // All types use parse functions for uniform error handling
42 return parse_size_t(storage_.num_metatiles_total, "--num-metatiles-total");
43}
44
45LayerValue<std::size_t> CliOptionProvider::num_pals_in_primary([[maybe_unused]] ConfigScopeType type, [[maybe_unused]] const std::string &scope) const
46{
47 // All types use parse functions for uniform error handling
48 return parse_size_t(storage_.num_pals_in_primary, "--num-pals-in-primary");
49}
50
51LayerValue<std::size_t> CliOptionProvider::num_pals_total([[maybe_unused]] ConfigScopeType type, [[maybe_unused]] const std::string &scope) const
52{
53 // All types use parse functions for uniform error handling
54 return parse_size_t(storage_.num_pals_total, "--num-pals-total");
55}
56
57LayerValue<std::size_t> CliOptionProvider::max_map_data_size([[maybe_unused]] ConfigScopeType type, [[maybe_unused]] const std::string &scope) const
58{
59 // All types use parse functions for uniform error handling
60 return parse_size_t(storage_.max_map_data_size, "--max-map-data-size");
61}
62
63LayerValue<std::size_t> CliOptionProvider::num_tiles_per_metatile([[maybe_unused]] ConfigScopeType type, [[maybe_unused]] const std::string &scope) const
64{
65 // All types use parse functions for uniform error handling
66 return parse_size_t(storage_.num_tiles_per_metatile, "--num-tiles-per-metatile");
67}
68
69LayerValue<Rgba32> CliOptionProvider::extrinsic_transparency([[maybe_unused]] ConfigScopeType type, [[maybe_unused]] const std::string &scope) const
70{
71 // All types use parse functions for uniform error handling
72 return parse_rgba32(storage_.extrinsic_transparency, "--extrinsic-transparency");
73}
74
75LayerValue<ArtifactEditMode> CliOptionProvider::tiles_edit_mode([[maybe_unused]] ConfigScopeType type, [[maybe_unused]] const std::string &scope) const
76{
77 // All types use parse functions for uniform error handling
78 return parse_artifact_edit_mode(storage_.tiles_edit_mode, "--tiles-edit-mode");
79}
80
81LayerValue<ArtifactEditMode> CliOptionProvider::pals_edit_mode([[maybe_unused]] ConfigScopeType type, [[maybe_unused]] const std::string &scope) const
82{
83 // All types use parse functions for uniform error handling
84 return parse_artifact_edit_mode(storage_.pals_edit_mode, "--pals-edit-mode");
85}
86
87LayerValue<bool> CliOptionProvider::pal_hints_enabled([[maybe_unused]] ConfigScopeType type, [[maybe_unused]] const std::string &scope) const
88{
89 // All types use parse functions for uniform error handling
90 return parse_bool(storage_.pal_hints_enabled, "--pal-hints-enabled");
91}
92
93LayerValue<std::vector<PaletteHint>> CliOptionProvider::pal_hints([[maybe_unused]] ConfigScopeType type, [[maybe_unused]] const std::string &scope) const
94{
95 // Skipped for CLI (yaml_only: type too complex for non-YAML providers)
97}
98
99LayerValue<PackingStrategyType> CliOptionProvider::packing_strategy([[maybe_unused]] ConfigScopeType type, [[maybe_unused]] const std::string &scope) const
100{
101 // All types use parse functions for uniform error handling
102 return parse_packing_strategy_type(storage_.packing_strategy, "--packing-strategy");
103}
104
105LayerValue<PackingStrategyParams> CliOptionProvider::packing_strategy_params([[maybe_unused]] ConfigScopeType type, [[maybe_unused]] const std::string &scope) const
106{
107 // Skipped for CLI (yaml_only: type too complex for non-YAML providers)
109}
110
111LayerValue<TileSharingPacking> CliOptionProvider::tile_sharing_packing([[maybe_unused]] ConfigScopeType type, [[maybe_unused]] const std::string &scope) const
112{
113 // All types use parse functions for uniform error handling
114 return parse_tile_sharing_packing(storage_.tile_sharing_packing, "--tile-sharing-packing");
115}
116
117LayerValue<TileSharingAlignment> CliOptionProvider::tile_sharing_alignment([[maybe_unused]] ConfigScopeType type, [[maybe_unused]] const std::string &scope) const
118{
119 // All types use parse functions for uniform error handling
120 return parse_tile_sharing_alignment(storage_.tile_sharing_alignment, "--tile-sharing-alignment");
121}
122
123LayerValue<TilesPalMode> CliOptionProvider::tiles_pal_mode([[maybe_unused]] ConfigScopeType type, [[maybe_unused]] const std::string &scope) const
124{
125 // All types use parse functions for uniform error handling
126 return parse_tiles_pal_mode(storage_.tiles_pal_mode, "--tiles-pal-mode");
127}
128
129LayerValue<AnimPalResolutionStrategy> CliOptionProvider::global_anim_pal_resolution_strategy([[maybe_unused]] ConfigScopeType type, [[maybe_unused]] const std::string &scope) const
130{
131 // All types use parse functions for uniform error handling
132 return parse_anim_pal_resolution_strategy(storage_.global_anim_pal_resolution_strategy, "--anim-pal-resolution-strategy");
133}
134
136{
137 // All types use parse functions for uniform error handling
138 return parse_anim_key_frame_resolution_strategy(storage_.global_anim_key_frame_resolution_strategy, "--anim-key-frame-resolution-strategy");
139}
140
142{
143 // All types use parse functions for uniform error handling
144 return parse_anim_multi_pal_subtile_resolution_strategy(storage_.global_anim_multi_pal_subtile_resolution_strategy, "--anim-multi-pal-subtile-resolution-strategy");
145}
146
147LayerValue<FrameLinking> CliOptionProvider::global_frame_linking([[maybe_unused]] ConfigScopeType type, [[maybe_unused]] const std::string &scope) const
148{
149 // All types use parse functions for uniform error handling
150 return parse_frame_linking(storage_.global_frame_linking, "--frame-linking");
151}
152
153LayerValue<PerAnimOverrides> CliOptionProvider::per_anim_overrides([[maybe_unused]] ConfigScopeType type, [[maybe_unused]] const std::string &scope) const
154{
155 // Skipped for CLI (yaml_only: type too complex for non-YAML providers)
157}
158
159LayerValue<bool> CliOptionProvider::cross_tileset_anim_linking([[maybe_unused]] ConfigScopeType type, [[maybe_unused]] const std::string &scope) const
160{
161 // All types use parse functions for uniform error handling
162 return parse_bool(storage_.cross_tileset_anim_linking, "--cross-tileset-anim-linking");
163}
164
165LayerValue<bool> CliOptionProvider::verify_checksums([[maybe_unused]] ConfigScopeType type, [[maybe_unused]] const std::string &scope) const
166{
167 // All types use parse functions for uniform error handling
168 return parse_bool(storage_.verify_checksums, "--verify-checksums");
169}
170
171LayerValue<PrimaryPairingMode> CliOptionProvider::primary_pairing_mode([[maybe_unused]] ConfigScopeType type, [[maybe_unused]] const std::string &scope) const
172{
173 // All types use parse functions for uniform error handling
174 return parse_primary_pairing_mode(storage_.primary_pairing_mode, "--primary-pairing-mode");
175}
176
177LayerValue<std::vector<std::string>> CliOptionProvider::primary_pairing_partners([[maybe_unused]] ConfigScopeType type, [[maybe_unused]] const std::string &scope) const
178{
179 // All types use parse functions for uniform error handling
180 return parse_string_vector(storage_.primary_pairing_partners, "--primary-pairing-partners");
181}
182
183LayerValue<std::vector<std::string>> CliOptionProvider::diagnostic_warnings_exclude([[maybe_unused]] ConfigScopeType type, [[maybe_unused]] const std::string &scope) const
184{
185 // All types use parse functions for uniform error handling
186 return parse_string_vector(storage_.diagnostic_warnings_exclude, "--diagnostic-warnings-exclude");
187}
188
189LayerValue<std::vector<std::string>> CliOptionProvider::diagnostic_warnings_include([[maybe_unused]] ConfigScopeType type, [[maybe_unused]] const std::string &scope) const
190{
191 // All types use parse functions for uniform error handling
192 return parse_string_vector(storage_.diagnostic_warnings_include, "--diagnostic-warnings-include");
193}
194
195LayerValue<std::vector<std::string>> CliOptionProvider::diagnostic_remarks_exclude([[maybe_unused]] ConfigScopeType type, [[maybe_unused]] const std::string &scope) const
196{
197 // All types use parse functions for uniform error handling
198 return parse_string_vector(storage_.diagnostic_remarks_exclude, "--diagnostic-remarks-exclude");
199}
200
201LayerValue<std::vector<std::string>> CliOptionProvider::diagnostic_remarks_include([[maybe_unused]] ConfigScopeType type, [[maybe_unused]] const std::string &scope) const
202{
203 // All types use parse functions for uniform error handling
204 return parse_string_vector(storage_.diagnostic_remarks_include, "--diagnostic-remarks-include");
205}
206
207LayerValue<std::string> CliOptionProvider::tileset_paths_primary_src([[maybe_unused]] ConfigScopeType type, [[maybe_unused]] const std::string &scope) const
208{
209 // All types use parse functions for uniform error handling
210 return parse_string(storage_.tileset_paths_primary_src, "--tileset-paths-primary-src");
211}
212
213LayerValue<std::string> CliOptionProvider::tileset_paths_primary_bin([[maybe_unused]] ConfigScopeType type, [[maybe_unused]] const std::string &scope) const
214{
215 // All types use parse functions for uniform error handling
216 return parse_string(storage_.tileset_paths_primary_bin, "--tileset-paths-primary-bin");
217}
218
219LayerValue<std::string> CliOptionProvider::tileset_paths_secondary_src([[maybe_unused]] ConfigScopeType type, [[maybe_unused]] const std::string &scope) const
220{
221 // All types use parse functions for uniform error handling
222 return parse_string(storage_.tileset_paths_secondary_src, "--tileset-paths-secondary-src");
223}
224
225LayerValue<std::string> CliOptionProvider::tileset_paths_secondary_bin([[maybe_unused]] ConfigScopeType type, [[maybe_unused]] const std::string &scope) const
226{
227 // All types use parse functions for uniform error handling
228 return parse_string(storage_.tileset_paths_secondary_bin, "--tileset-paths-secondary-bin");
229}
230
231LayerValue<std::size_t> CliOptionProvider::metatile_attr_size([[maybe_unused]] ConfigScopeType type, [[maybe_unused]] const std::string &scope) const
232{
233 // All types use parse functions for uniform error handling
234 return parse_size_t(storage_.metatile_attr_size, "--metatile-attr-size");
235}
236
237LayerValue<bool> CliOptionProvider::tileset_animations_wire_anim_code([[maybe_unused]] ConfigScopeType type, [[maybe_unused]] const std::string &scope) const
238{
239 // All types use parse functions for uniform error handling
240 return parse_bool(storage_.tileset_animations_wire_anim_code, "--tileset-animations-wire-anim-code");
241}
242
243} // namespace porytiles
LayerValue< std::string > tileset_paths_secondary_bin(ConfigScopeType type, const std::string &scope) const override
LayerValue< std::vector< std::string > > primary_pairing_partners(ConfigScopeType type, const std::string &scope) const override
LayerValue< std::vector< std::string > > diagnostic_warnings_include(ConfigScopeType type, const std::string &scope) const override
LayerValue< PerAnimOverrides > per_anim_overrides(ConfigScopeType type, const std::string &scope) const override
LayerValue< std::size_t > metatile_attr_size(ConfigScopeType type, const std::string &scope) const override
LayerValue< ArtifactEditMode > pals_edit_mode(ConfigScopeType type, const std::string &scope) const override
LayerValue< std::vector< std::string > > diagnostic_remarks_exclude(ConfigScopeType type, const std::string &scope) const override
LayerValue< std::vector< PaletteHint > > pal_hints(ConfigScopeType type, const std::string &scope) const override
LayerValue< bool > pal_hints_enabled(ConfigScopeType type, const std::string &scope) const override
CliOptionProvider(const CliOptionStorage &storage)
LayerValue< AnimMultiPalSubtileResolutionStrategy > global_anim_multi_pal_subtile_resolution_strategy(ConfigScopeType type, const std::string &scope) const override
LayerValue< ArtifactEditMode > tiles_edit_mode(ConfigScopeType type, const std::string &scope) const override
LayerValue< TileSharingPacking > tile_sharing_packing(ConfigScopeType type, const std::string &scope) const override
LayerValue< std::size_t > num_tiles_per_metatile(ConfigScopeType type, const std::string &scope) const override
LayerValue< std::size_t > num_pals_total(ConfigScopeType type, const std::string &scope) const override
LayerValue< bool > verify_checksums(ConfigScopeType type, const std::string &scope) const override
LayerValue< std::size_t > num_metatiles_in_primary(ConfigScopeType type, const std::string &scope) const override
std::string name() const override
Gets the name of this ConfigProvider, useful for diagnostic purposes.
LayerValue< std::string > tileset_paths_secondary_src(ConfigScopeType type, const std::string &scope) const override
LayerValue< std::string > tileset_paths_primary_src(ConfigScopeType type, const std::string &scope) const override
LayerValue< Rgba32 > extrinsic_transparency(ConfigScopeType type, const std::string &scope) const override
LayerValue< std::size_t > num_tiles_total(ConfigScopeType type, const std::string &scope) const override
LayerValue< std::size_t > num_pals_in_primary(ConfigScopeType type, const std::string &scope) const override
LayerValue< std::vector< std::string > > diagnostic_remarks_include(ConfigScopeType type, const std::string &scope) const override
LayerValue< std::vector< std::string > > diagnostic_warnings_exclude(ConfigScopeType type, const std::string &scope) const override
LayerValue< PrimaryPairingMode > primary_pairing_mode(ConfigScopeType type, const std::string &scope) const override
LayerValue< AnimPalResolutionStrategy > global_anim_pal_resolution_strategy(ConfigScopeType type, const std::string &scope) const override
LayerValue< TilesPalMode > tiles_pal_mode(ConfigScopeType type, const std::string &scope) const override
LayerValue< std::size_t > max_map_data_size(ConfigScopeType type, const std::string &scope) const override
LayerValue< PackingStrategyParams > packing_strategy_params(ConfigScopeType type, const std::string &scope) const override
LayerValue< PackingStrategyType > packing_strategy(ConfigScopeType type, const std::string &scope) const override
LayerValue< std::size_t > num_tiles_in_primary(ConfigScopeType type, const std::string &scope) const override
LayerValue< FrameLinking > global_frame_linking(ConfigScopeType type, const std::string &scope) const override
LayerValue< bool > tileset_animations_wire_anim_code(ConfigScopeType type, const std::string &scope) const override
LayerValue< TileSharingAlignment > tile_sharing_alignment(ConfigScopeType type, const std::string &scope) const override
LayerValue< AnimKeyFrameResolutionStrategy > global_anim_key_frame_resolution_strategy(ConfigScopeType type, const std::string &scope) const override
LayerValue< std::string > tileset_paths_primary_bin(ConfigScopeType type, const std::string &scope) const override
LayerValue< bool > cross_tileset_anim_linking(ConfigScopeType type, const std::string &scope) const override
LayerValue< std::size_t > num_metatiles_total(ConfigScopeType type, const std::string &scope) const override
ConfigScopeType
Specifies the scope type for configuration value lookups.
Storage struct for CLI option values.
std::optional< std::string > num_pals_in_primary
std::vector< std::string > diagnostic_remarks_include
std::optional< std::string > num_metatiles_in_primary
std::optional< std::string > num_pals_total
std::optional< std::string > tileset_paths_primary_bin
std::optional< std::string > packing_strategy
std::optional< std::string > cross_tileset_anim_linking
std::optional< std::string > tiles_edit_mode
std::optional< std::string > pals_edit_mode
std::optional< std::string > num_tiles_total
std::optional< std::string > tileset_paths_secondary_bin
std::optional< std::string > tileset_animations_wire_anim_code
std::optional< std::string > num_tiles_per_metatile
std::optional< std::string > max_map_data_size
std::optional< std::string > tileset_paths_primary_src
std::optional< std::string > tiles_pal_mode
std::optional< std::string > tileset_paths_secondary_src
std::optional< std::string > tile_sharing_packing
std::optional< std::string > num_tiles_in_primary
std::optional< std::string > pal_hints_enabled
std::vector< std::string > diagnostic_warnings_include
std::optional< std::string > global_frame_linking
std::optional< std::string > metatile_attr_size
std::optional< std::string > global_anim_multi_pal_subtile_resolution_strategy
std::optional< std::string > global_anim_key_frame_resolution_strategy
std::vector< std::string > diagnostic_remarks_exclude
std::optional< std::string > num_metatiles_total
std::optional< std::string > extrinsic_transparency
std::vector< std::string > diagnostic_warnings_exclude
std::optional< std::string > tile_sharing_alignment
std::optional< std::string > primary_pairing_mode
std::optional< std::string > global_anim_pal_resolution_strategy
std::optional< std::string > verify_checksums
std::vector< std::string > primary_pairing_partners
A small container that holds an optional-wrapped value, validation state, and metadata about the valu...
static LayerValue not_provided()
Creates a LayerValue representing that the provider does not supply this configuration.