|
Porytiles
|
Appends INCBIN declarations for Porytiles-managed tileset assets. More...
#include <incbin_declaration_appender.hpp>
Public Member Functions | |
| IncbinDeclarationAppender (std::filesystem::path project_root, gsl::not_null< const TextFormatter * > format) | |
| Constructs an IncbinDeclarationAppender with required dependencies. | |
| 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). | |
Appends INCBIN declarations for Porytiles-managed tileset assets.
This service adds new INCBIN array declarations to pokeemerald's graphics.h and metatiles.h files for Porytiles-managed tilesets. The declarations follow the naming convention gTilesetTiles_PorytilesManaged_{Shorthand} and point to deterministic paths in the porytiles_bin/ directory.
The service uses a parse-modify-write pattern to surgically append declarations without disrupting existing file content.
Definition at line 28 of file incbin_declaration_appender.hpp.
| porytiles::IncbinDeclarationAppender::IncbinDeclarationAppender | ( | std::filesystem::path | project_root, |
| gsl::not_null< const TextFormatter * > | format | ||
| ) |
Constructs an IncbinDeclarationAppender with required dependencies.
| project_root | Path to the pokeemerald project root directory |
| format | Formatter for styled error messages (non-owning, must outlive this object) |
Definition at line 193 of file incbin_declaration_appender.cpp.
| ChainableResult< void > porytiles::IncbinDeclarationAppender::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.
Adds declarations for tiles and palettes:
gTilesetTiles_PorytilesManaged_{Shorthand} pointing to porytiles_bin/tiles.4bpp.lzgTilesetPalettes_PorytilesManaged_{Shorthand} pointing to porytiles_bin/palettes/x.gbapalThe paths are constructed using the provided bin_path_base and tileset shorthand.
| tileset_name | The tileset name (e.g., "gTileset_General") |
| bin_path_base | The base path for binary assets (e.g., "data/tilesets/primary") |
| num_palettes | Number of palette files to include (typically 6 for primary, 13 for secondary) |
Definition at line 199 of file incbin_declaration_appender.cpp.
| ChainableResult< void > porytiles::IncbinDeclarationAppender::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.
Adds declarations for metatiles and attributes:
gMetatiles_PorytilesManaged_{Shorthand} pointing to porytiles_bin/metatiles.bingMetatileAttributes_PorytilesManaged_{Shorthand} pointing to porytiles_bin/metatile_attributes.binThe attribute declaration uses const u16 / INCBIN_U16 when metatile_attr_size is 2, or const u32 / INCBIN_U32 when metatile_attr_size is 4.
| tileset_name | The tileset name (e.g., "gTileset_General") |
| bin_path_base | The base path for binary assets (e.g., "data/tilesets/primary") |
| metatile_attr_size | The size in bytes of each metatile attribute entry (2 or 4) |
metatile_attr_size must be 2 or 4 Definition at line 246 of file incbin_declaration_appender.cpp.
| ChainableResult< void > porytiles::IncbinDeclarationAppender::remove_declarations | ( | const std::string & | tileset_name | ) | const |
Removes INCBIN declarations for a Porytiles-managed tileset (for restore workflow).
Removes all declarations matching *_PorytilesManaged_{Shorthand} pattern from both graphics.h and metatiles.h.
| tileset_name | The tileset name (e.g., "gTileset_General") |
Definition at line 287 of file incbin_declaration_appender.cpp.