Porytiles
Loading...
Searching...
No Matches
tileset_compile_validators.hpp File Reference

Validation functions for tileset compile job input. More...

Include dependency graph for tileset_compile_validators.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  porytiles::TilesetCompileValidatorServices
 Parameter store for common services used by tileset compile validators. More...
 

Namespaces

namespace  porytiles
 
namespace  porytiles::details
 

Functions

void porytiles::details::report_validation_error_in_metatile (const TilesetCompileValidatorServices &services, const Metatile< Rgba32 > &metatile, std::size_t metatile_index, std::size_t internal_tile_index, std::size_t row, std::size_t col, const std::string &diagnostic_code, const std::string &error_message, const Rgba32 &extrinsic_transparency)
 Reports a validation error at a specific pixel location within a metatile.
 
void porytiles::details::report_validation_error_in_anim (const TilesetCompileValidatorServices &services, const PixelTile< Rgba32 > &tile, const std::string &anim_name, const std::string &frame_name, std::size_t internal_tile_index, std::size_t row, std::size_t col, const std::string &diagnostic_code, const std::string &error_message, const Rgba32 &extrinsic_transparency)
 Reports a validation error at a specific pixel location within an animation frame tile.
 
void porytiles::details::report_validation_error_in_anim_tile (const TilesetCompileValidatorServices &services, const PixelTile< Rgba32 > &tile, const std::string &anim_name, const std::string &frame_name, std::size_t internal_tile_index, const std::string &diagnostic_code, const std::string &error_message, const Rgba32 &extrinsic_transparency)
 Reports a validation error for an entire animation frame tile.
 
void porytiles::details::report_color_counts (const std::string &tag, const TilesetCompileValidatorServices &services, const std::map< Rgba32, unsigned int > &color_counts)
 Emits a diagnostic note displaying the count of each unique color.
 
ChainableResult< void > porytiles::validate_metatile_count (const TilesetCompileValidatorServices &services, const std::string &tileset_name, bool is_secondary, const std::vector< Metatile< Rgba32 > > &metatiles)
 Validates that the metatile count does not exceed the configured limit.
 
ChainableResult< void > porytiles::validate_porymap_pal (const TilesetCompileValidatorServices &services, const std::string &tileset_name, const Palette< Rgba32, pal::max_size > &pal, std::size_t pal_index)
 Validates a Porymap palette for correctness according to GBA hardware constraints.
 
ChainableResult< void > porytiles::validate_porytiles_pal (const TilesetCompileValidatorServices &services, const std::string &tileset_name, const Palette< Rgba32, pal::max_size > &pal, std::size_t pal_index)
 Validates a user-specified Porytiles override palette for correctness.
 
ChainableResult< void > porytiles::validate_pal_hint (const TilesetCompileValidatorServices &services, const std::string &tileset_name, const PaletteHint &hint)
 Validates a user-specified palette hint for correctness.
 
ChainableResult< void > porytiles::validate_alpha_channels (const TilesetCompileValidatorServices &services, const std::string &tileset_name, const std::vector< Metatile< Rgba32 > > &metatiles, const std::map< std::string, Animation< Rgba32 > > &anims)
 Validates that all pixel alpha channels in provided input have valid values.
 
ChainableResult< void > porytiles::validate_layer_mode (const TilesetCompileValidatorServices &services, const std::string &tileset_name, const std::vector< Metatile< Rgba32 > > &metatiles)
 Validates that metatiles conform to the configured layer mode.
 
ChainableResult< void > porytiles::validate_tile_color_count (const TilesetCompileValidatorServices &services, const std::string &tileset_name, const std::vector< Metatile< Rgba32 > > &metatiles, const std::map< std::string, Animation< Rgba32 > > &anims)
 Validates that each individual tile does not exceed the per-tile color limit.
 
ChainableResult< void > porytiles::validate_global_color_count (const TilesetCompileValidatorServices &services, const std::string &tileset_name, bool is_secondary, const std::vector< Metatile< Rgba32 > > &metatiles, const std::map< std::string, Animation< Rgba32 > > &anims, const std::array< std::optional< Palette< Rgba32, pal::max_size > >, pal::num_pals > &porytiles_pals, const std::vector< PaletteHint > &hints)
 Validates that the total unique color count across all input does not exceed the global limit.
 
ChainableResult< void > porytiles::validate_precision_loss (const TilesetCompileValidatorServices &services, const std::string &tileset_name, const std::vector< Metatile< Rgba32 > > &metatiles, const std::map< std::string, Animation< Rgba32 > > &anims, const std::array< std::optional< Palette< Rgba32, pal::max_size > >, pal::num_pals > &porytiles_pals, const std::vector< PaletteHint > &hints, const std::optional< std::array< Palette< Rgba32, pal::max_size >, pal::num_pals > > &porymap_pals)
 Validates that no colors will suffer unacceptable precision loss during GBA color conversion.
 
ChainableResult< void > porytiles::validate_anim_frames (const TilesetCompileValidatorServices &services, const std::string &tileset_name, const std::map< std::string, Animation< Rgba32 > > &anims)
 Validates animation frames for correctness according to tileset compilation constraints.
 

Detailed Description

Validation functions for tileset compile job input.

This module provides validation functionality for tileset compile job input.

See also
TilesetCompiler Main consumer of the functions defined here.

Definition in file tileset_compile_validators.hpp.