Porytiles
Loading...
Searching...
No Matches
porymap_artifact_parsers.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <filesystem>
4#include <memory>
5#include <vector>
6
17
18namespace porytiles {
19
33[[nodiscard]] ChainableResult<std::vector<TilemapEntry>> parse_metatiles_bin(const std::filesystem::path &path);
34
48[[nodiscard]] ChainableResult<std::vector<MetatileAttribute>>
49parse_metatile_attributes(const std::filesystem::path &path, const Schema &schema);
50
62[[nodiscard]] ChainableResult<void> save_metatile_attributes_bin(
63 const std::vector<MetatileAttribute> &attributes, const std::filesystem::path &path, const Schema &schema);
64
74[[nodiscard]] ChainableResult<std::unique_ptr<Image<IndexPixel>>>
75load_indexed_png(const std::filesystem::path &path, const PngIndexedImageLoader &loader);
76
86[[nodiscard]] ChainableResult<Palette<Rgba32, palette::max_size>>
87load_porymap_palette(const std::filesystem::path &path, const FilePaletteLoader &loader);
88
89} // namespace porytiles
ChainableResult< void > save_metatile_attributes_bin(const std::vector< MetatileAttribute > &attributes, const std::filesystem::path &path, const Schema &schema)
Writes metatile attributes to a metatile_attributes.bin file according to a schema.
ChainableResult< Palette< Rgba32, palette::max_size > > load_porymap_palette(const std::filesystem::path &path, const FilePaletteLoader &loader)
Loads a Porymap palette file (e.g., 00.pal).
ChainableResult< std::vector< TilemapEntry > > parse_metatiles_bin(const std::filesystem::path &path)
Parses a metatiles.bin file into TilemapEntry objects.
ChainableResult< std::vector< MetatileAttribute > > parse_metatile_attributes(const std::filesystem::path &path, const Schema &schema)
Parses a metatile_attributes.bin file according to a metatile attribute schema.
ChainableResult< std::unique_ptr< Image< IndexPixel > > > load_indexed_png(const std::filesystem::path &path, const PngIndexedImageLoader &loader)
Loads an indexed PNG file (e.g., tiles.png).