27 : project_root_{std::move(project_root)}
35 [[nodiscard]]
bool tileset_exists(
const std::string &tileset_name)
const override;
39 [[nodiscard]] std::set<int>
42 [[nodiscard]] std::set<std::string>
discover_porymap_anims(
const std::string &tileset_name)
const override;
44 [[nodiscard]] std::set<int>
58 [[nodiscard]] std::filesystem::path
tileset_root(
const std::string &tileset_name)
const;
61 std::filesystem::path project_root_;
A type-safe wrapper for artifact keys.
Provides a pokeemerald project filesystem-based implementation for TilesetArtifactKeyProvider.
std::set< std::string > discover_porytiles_anims(const std::string &tileset_name) const override
Discovers the names of all Porytiles animations available for a tileset.
ProjectTilesetArtifactKeyProvider(std::filesystem::path project_root)
std::filesystem::path tileset_root(const std::string &tileset_name) const
Returns the filesystem path to the root directory of a tileset.
ArtifactKey key_for(const std::string &tileset_name, const TilesetArtifact &artifact) const override
Constructs a key for a given tileset artifact.
std::set< int > discover_porymap_anim_frames(const std::string &tileset_name, const std::string &anim_name) const override
Discovers the frame indices for a specific Porymap animation.
std::set< std::string > discover_porymap_anims(const std::string &tileset_name) const override
Discovers the names of all Porymap animations available for a tileset.
bool artifact_exists(const ArtifactKey &key) const override
Checks whether an artifact exists in the backing store for the given key.
std::set< int > discover_porytiles_anim_frames(const std::string &tileset_name, const std::string &anim_name) const override
Discovers the frame indices for a specific Porytiles animation.
bool tileset_exists(const std::string &tileset_name) const override
Checks whether a tileset exists in the backing store for the given tileset name.
Abstract interface for generating keys and discovering tileset artifacts in a backing store.
Represents a Pokémon Generation III decomp tileset artifact with type and optional metadata.