Porytiles
Loading...
Searching...
No Matches
incbin_declaration_appender.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <cstddef>
4#include <filesystem>
5#include <string>
6
7#include "gsl/pointers"
8
11
12namespace porytiles {
13
29 public:
36 IncbinDeclarationAppender(std::filesystem::path project_root, gsl::not_null<const TextFormatter *> format);
37
55 const std::string &tileset_name, const std::string &bin_path_base, std::size_t num_palettes) const;
56
76 const std::string &tileset_name, const std::string &bin_path_base, std::size_t metatile_attr_size) const;
77
89 [[nodiscard]] ChainableResult<void> remove_declarations(const std::string &tileset_name) const;
90
91 private:
92 std::filesystem::path project_root_;
93 const TextFormatter *format_;
94};
95
96} // namespace porytiles
A result type that maintains a chainable sequence of errors for debugging and error reporting.
Appends INCBIN declarations for Porytiles-managed tileset assets.
ChainableResult< void > append_graphics_declarations(const std::string &tileset_name, const std::string &bin_path_base, std::size_t num_palettes) const
Appends INCBIN declarations for a Porytiles-managed tileset to graphics.h.
ChainableResult< void > append_metatiles_declarations(const std::string &tileset_name, const std::string &bin_path_base, std::size_t metatile_attr_size) const
Appends INCBIN declarations for a Porytiles-managed tileset to metatiles.h.
ChainableResult< void > remove_declarations(const std::string &tileset_name) const
Removes INCBIN declarations for a Porytiles-managed tileset (for restore workflow).
Abstract base class for applying text styling with context-aware formatting.