17 std::string base_game_preset_;
18 std::size_t tiles_primary_override_;
19 std::size_t tiles_total_override_;
20 std::size_t metatiles_primary_override_;
21 std::size_t metatiles_total_override_;
22 std::size_t pals_primary_override_;
23 std::size_t pals_total_override_;
28 : base_game_preset_{
"pokeemerald"}, tiles_primary_override_{0}, tiles_total_override_{0},
29 metatiles_primary_override_{0}, metatiles_total_override_{0}, pals_primary_override_{0},
30 pals_total_override_{0} {}
33 return "FIELDMAP OVERRIDE OPTIONS";
38 app.add_option(
"--base-game-preset", base_game_preset_,
"Base game preset to use for the tileset.")
40 ->capture_default_str();
41 app.add_option(
"--tiles-primary-override", tiles_primary_override_,
42 "Override the number of tiles in the primary tileset.")
44 app.add_option(
"--tiles-total-override", tiles_total_override_,
45 "Override the total number of tiles in the tileset.")
47 app.add_option(
"--metatiles-primary-override", metatiles_primary_override_,
48 "Override the number of metatiles in the primary tileset.")
50 app.add_option(
"--metatiles-total-override", metatiles_total_override_,
51 "Override the total number of metatiles in the tileset.")
53 app.add_option(
"--pals-primary-override", pals_primary_override_,
54 "Override the number of metatiles in the primary tileset.")
56 app.add_option(
"--pals-total-override", pals_total_override_,
57 "Override the total number of metatiles in the tileset.")
62 return base_game_preset_;
67 std::vector<std::string> diagnostics_;
73 return "DIAGNOSTIC OPTIONS";
77 app.add_option(
"--warning", diagnostics_,
"Enable given warning diagnostics.")
80 app.add_option(
"--no-warning", diagnostics_,
"Disable given warning diagnostics.")
83 app.add_option(
"--error", diagnostics_,
"Enable given warning diagnostics as errors.")
86 app.add_option(
"--no-error", diagnostics_,
"Disable given warning diagnostics as errors.")
91 [[nodiscard]]
const std::vector<std::string> &
diagnostics()
const {
106 return "ARTIFACT OPTIONS";
110 output_opt_.RegisterOpt(app);
116 disable_attribute_generation_opt_.
RegisterOpt(app);
125 return tiles_pal_mode_opt_;
129 return disable_metatile_generation_opt_.
disabled();
133 return disable_attribute_generation_opt_.
disabled();
142 return "PAL ASSIGNMENT CONFIG OPTIONS";
void RegisterOpt(CLI::App &app) override
const OptOutput & output_opt() const
bool metatiles_disabled() const
bool attributes_disabled() const
OptGroupArtifacts()=default
std::string GroupName() override
const OptTilesPalMode & tiles_pal_mode() const
void RegisterGroup(CLI::App &app) override
void RegisterGroup(CLI::App &app) override
const std::vector< std::string > & diagnostics() const
std::string GroupName() override
OptGroupDiagnostics()=default
std::string GroupName() override
void RegisterGroup(CLI::App &app) override
const std::string & base_game_preset() const
void RegisterGroup(CLI::App &app) override
std::string GroupName() override
OptGroupPalAssignmentConfig()=default
virtual void RegisterGroup(CLI::App &app)=0
virtual ~OptGroup()=default
virtual std::string GroupName()=0
void RegisterOpt(CLI::App &app) override
void SetGroup(const std::string &group, CLI::App &app) const