Porytiles
Loading...
Searching...
No Matches
metatile_decompiler.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <memory>
4#include <vector>
5
6#include "gsl/pointers"
7
18
19namespace porytiles {
20
22 public:
24 gsl::not_null<const TextFormatter *> format,
25 gsl::not_null<const UserDiagnostics *> diag,
26 gsl::not_null<const TilePrinter *> tile_printer,
27 const Rgba32 &extrinsic_transparency)
28 : format_{format}, diag_{diag}, tile_printer_{tile_printer}, extrinsic_transparency_{extrinsic_transparency}
29 {
30 }
31
33 const std::vector<TilemapEntry> &entries,
34 const Image<IndexPixel> &tiles_png,
35 const std::array<Palette<Rgba32, pal::max_size>, pal::num_pals> &pals);
36
37 private:
38 const TextFormatter *format_;
39 const UserDiagnostics *diag_;
40 const TilePrinter *tile_printer_;
41 const Rgba32 extrinsic_transparency_;
42};
43
44} // namespace porytiles
A result type that maintains a chainable sequence of errors for debugging and error reporting.
A template for two-dimensional images with arbitrarily typed pixel values.
Definition image.hpp:23
MetatileDecompiler(gsl::not_null< const TextFormatter * > format, gsl::not_null< const UserDiagnostics * > diag, gsl::not_null< const TilePrinter * > tile_printer, const Rgba32 &extrinsic_transparency)
ChainableResult< std::vector< Metatile< Rgba32 > > > decompile_metatiles(const std::vector< TilemapEntry > &entries, const Image< IndexPixel > &tiles_png, const std::array< Palette< Rgba32, pal::max_size >, pal::num_pals > &pals)
A generic palette container for colors that support transparency checking.
Definition palette.hpp:47
Represents a 32-bit RGBA color.
Definition rgba32.hpp:23
Abstract base class for applying text styling with context-aware formatting.
A collection of printer functions for various tile types.
Abstract class for structured error reporting and diagnostic output.
constexpr std::size_t num_pals
Definition palette.hpp:21