13 [[nodiscard]]
virtual std::string
NameShort()
const = 0;
15 [[nodiscard]]
virtual std::string
NameLong()
const = 0;
19 void SetGroup(
const std::string &group, CLI::App &app)
const {
20 app.get_option(
NameLong())->group(group);
29 std::string output_path_;
34 [[nodiscard]] std::string
NameShort()
const override {
38 [[nodiscard]] std::string
NameLong()
const override {
44 "Output generated files to the directory specified by PATH. If any element of PATH does not "
45 "exist, it will be created.")
47 ->capture_default_str();
56 std::string pal_format_;
61 [[nodiscard]] std::string
NameShort()
const override {
65 [[nodiscard]] std::string
NameLong()
const override {
66 return "--tiles-pal-mode";
72 "Set the palette mode for the output 'tiles.png'. Valid settings are 'true-color' or 'greyscale'. These "
73 "settings are for human visual purposes only and have no effect on the final in-game tiles.")
75 ->capture_default_str();
84 bool disabled_{
false};
89 [[nodiscard]] std::string
NameShort()
const override {
93 [[nodiscard]] std::string
NameLong()
const override {
94 return "--disable-metatile-generation";
99 "Disable generation of 'metatiles.bin'. Only enable this if you want to manage metatiles manually "
109 bool disabled_{
false};
118 [[nodiscard]] std::string
NameLong()
const override {
119 return "--disable-attribute-generation";
124 "Disable generation of 'metatile_attributes.bin'. Only enable this if you want to manage metatile "
125 "attributes manually via Porymap.");
134 bool triple_layer_{
false};
143 [[nodiscard]] std::string
NameLong()
const override {
144 return "--triple-layer";
150 "Enable triple-layer compilation mode. If this option is not supplied, Porytiles assumes you are compiling "
151 "a dual-layer tileset. For dual-layer tilesets the layer type will be inferred from your source layer "
152 "PNGs, so compilation will error out if any metatiles contain content on all three layers.");
156 return triple_layer_;
170 [[nodiscard]] std::string
NameLong()
const override {
171 return "--transparency-color";
176 "Select RGB color <R,G,B> to represent transparency in your layer source PNGs.")
178 ->capture_default_str();
181 [[nodiscard]]
const std::string &
rgb()
const {
OptDisableAttributeGeneration()=default
std::string NameShort() const override
std::string NameLong() const override
void RegisterOpt(CLI::App &app) override
void RegisterOpt(CLI::App &app) override
std::string output_path() const
std::string NameLong() const override
std::string NameShort() const override
std::string pal_format() const
std::string NameLong() const override
void RegisterOpt(CLI::App &app) override
std::string NameShort() const override
const std::string & rgb() const
std::string NameLong() const override
std::string NameShort() const override
void RegisterOpt(CLI::App &app) override
void RegisterOpt(CLI::App &app) override
std::string NameShort() const override
std::string NameLong() const override
virtual std::string NameShort() const =0
virtual void RegisterOpt(CLI::App &app)=0
void SetGroup(const std::string &group, CLI::App &app) const
std::string NameCombined() const
virtual std::string NameLong() const =0