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: