Porytiles
Loading...
Searching...
No Matches
porytiles::ProjectTilesetArtifactReader Class Referencefinal

Provides a filesystem-based implementation for TilesetArtifactReader. More...

#include <project_tileset_artifact_reader.hpp>

Inheritance diagram for porytiles::ProjectTilesetArtifactReader:
[legend]
Collaboration diagram for porytiles::ProjectTilesetArtifactReader:
[legend]

Public Member Functions

 ProjectTilesetArtifactReader (std::filesystem::path project_root, gsl::not_null< const Schema * > schema, gsl::not_null< const ProviderMap * > provider_map, gsl::not_null< const PngRgbaImageLoader * > png_rgba_loader, gsl::not_null< const PngIndexedImageLoader * > png_indexed_loader, gsl::not_null< const FilePaletteLoader * > palette_loader, gsl::not_null< const AttributesCsvLoader * > attributes_csv_loader, gsl::not_null< const AnimJsonParser * > anim_json_parser, gsl::not_null< const AnimCodeParser * > anim_code_parser, gsl::not_null< const ProjectTilesetMetadataProvider * > metadata_provider)
 
ChainableResult< void > read_metatiles_bin (Tileset &dest, const ArtifactKey &src_key) const override
 
ChainableResult< void > read_metatile_attributes_bin (Tileset &dest, const ArtifactKey &src_key) const override
 
ChainableResult< void > read_tiles_png (Tileset &dest, const ArtifactKey &src_key) const override
 
ChainableResult< void > read_porymap_palette_n (Tileset &dest, const ArtifactKey &src_key, std::size_t index) const override
 
ChainableResult< void > read_porymap_anim (Tileset &dest, const std::string &anim_name, const ArtifactKey &params_key, const std::vector< std::pair< std::string, ArtifactKey > > &frame_keys) const override
 
ChainableResult< void > read_bottom_png (Tileset &dest, const ArtifactKey &src_key) const override
 
ChainableResult< void > read_middle_png (Tileset &dest, const ArtifactKey &src_key) const override
 
ChainableResult< void > read_top_png (Tileset &dest, const ArtifactKey &src_key) const override
 
ChainableResult< void > read_attributes_csv (Tileset &dest, const ArtifactKey &src_key) const override
 
ChainableResult< void > read_porytiles_palette_n (Tileset &dest, const ArtifactKey &src_key, std::size_t index) const override
 
ChainableResult< void > read_porytiles_anim (Tileset &dest, const std::string &anim_name, const ArtifactKey &params_key, const std::optional< ArtifactKey > &key_frame_key, const std::vector< std::pair< std::string, ArtifactKey > > &frame_keys) const override
 
ChainableResult< void > read_porytiles_primary_anim_references (Tileset &dest, const ArtifactKey &params_key) const override
 
- Public Member Functions inherited from porytiles::TilesetArtifactReader
virtual ~TilesetArtifactReader ()=default
 

Detailed Description

Provides a filesystem-based implementation for TilesetArtifactReader.

This class implements the TilesetArtifactReader interface to provide reading functionality for tileset artifacts. It operates within the context of a Pokémon Gen III decompilation project on the local filesystem.

Metatile attribute artifacts decode against the injected attribute schema and provider map. The schema is resolved once per invocation and applies to every tileset the command touches (a compile's paired primary included): the attribute layout is a project-global property, not a per-tileset one.

Definition at line 31 of file project_tileset_artifact_reader.hpp.

Constructor & Destructor Documentation

◆ ProjectTilesetArtifactReader()

porytiles::ProjectTilesetArtifactReader::ProjectTilesetArtifactReader ( std::filesystem::path  project_root,
gsl::not_null< const Schema * >  schema,
gsl::not_null< const ProviderMap * >  provider_map,
gsl::not_null< const PngRgbaImageLoader * >  png_rgba_loader,
gsl::not_null< const PngIndexedImageLoader * >  png_indexed_loader,
gsl::not_null< const FilePaletteLoader * >  palette_loader,
gsl::not_null< const AttributesCsvLoader * >  attributes_csv_loader,
gsl::not_null< const AnimJsonParser * >  anim_json_parser,
gsl::not_null< const AnimCodeParser * >  anim_code_parser,
gsl::not_null< const ProjectTilesetMetadataProvider * >  metadata_provider 
)
inline

Definition at line 33 of file project_tileset_artifact_reader.hpp.

Member Function Documentation

◆ read_attributes_csv()

ChainableResult< void > porytiles::ProjectTilesetArtifactReader::read_attributes_csv ( Tileset dest,
const ArtifactKey src_key 
) const
overridevirtual

◆ read_bottom_png()

ChainableResult< void > porytiles::ProjectTilesetArtifactReader::read_bottom_png ( Tileset dest,
const ArtifactKey src_key 
) const
overridevirtual

◆ read_metatile_attributes_bin()

ChainableResult< void > porytiles::ProjectTilesetArtifactReader::read_metatile_attributes_bin ( Tileset dest,
const ArtifactKey src_key 
) const
overridevirtual

◆ read_metatiles_bin()

ChainableResult< void > porytiles::ProjectTilesetArtifactReader::read_metatiles_bin ( Tileset dest,
const ArtifactKey src_key 
) const
overridevirtual

◆ read_middle_png()

ChainableResult< void > porytiles::ProjectTilesetArtifactReader::read_middle_png ( Tileset dest,
const ArtifactKey src_key 
) const
overridevirtual

◆ read_porymap_anim()

ChainableResult< void > porytiles::ProjectTilesetArtifactReader::read_porymap_anim ( Tileset dest,
const std::string &  anim_name,
const ArtifactKey params_key,
const std::vector< std::pair< std::string, ArtifactKey > > &  frame_keys 
) const
overridevirtual

◆ read_porymap_palette_n()

ChainableResult< void > porytiles::ProjectTilesetArtifactReader::read_porymap_palette_n ( Tileset dest,
const ArtifactKey src_key,
std::size_t  index 
) const
overridevirtual

◆ read_porytiles_anim()

ChainableResult< void > porytiles::ProjectTilesetArtifactReader::read_porytiles_anim ( Tileset dest,
const std::string &  anim_name,
const ArtifactKey params_key,
const std::optional< ArtifactKey > &  key_frame_key,
const std::vector< std::pair< std::string, ArtifactKey > > &  frame_keys 
) const
overridevirtual

◆ read_porytiles_palette_n()

ChainableResult< void > porytiles::ProjectTilesetArtifactReader::read_porytiles_palette_n ( Tileset dest,
const ArtifactKey src_key,
std::size_t  index 
) const
overridevirtual

◆ read_porytiles_primary_anim_references()

ChainableResult< void > porytiles::ProjectTilesetArtifactReader::read_porytiles_primary_anim_references ( Tileset dest,
const ArtifactKey params_key 
) const
overridevirtual

◆ read_tiles_png()

ChainableResult< void > porytiles::ProjectTilesetArtifactReader::read_tiles_png ( Tileset dest,
const ArtifactKey src_key 
) const
overridevirtual

◆ read_top_png()

ChainableResult< void > porytiles::ProjectTilesetArtifactReader::read_top_png ( Tileset dest,
const ArtifactKey src_key 
) const
overridevirtual

The documentation for this class was generated from the following files: