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 porytiles2 {
20
22 public:
24 gsl::not_null<TextFormatter *> format,
25 gsl::not_null<UserDiagnostics *> diag,
26 gsl::not_null<TilePrinter *> tile_printer)
27 : format_{format}, diag_{diag}, tile_printer_{tile_printer}
28 {
29 }
30
32 const std::vector<TilemapEntry> &entries,
33 const Image<IndexPixel> &tiles_png,
34 const std::array<Palette<Rgba32>, pal::num_pals> &pals);
35
36 private:
37 TextFormatter *format_;
38 UserDiagnostics *diag_;
39 TilePrinter *tile_printer_;
40};
41
42} // namespace porytiles2
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:24
ChainableResult< std::vector< Metatile< Rgba32 > > > decompile_metatiles(const std::vector< TilemapEntry > &entries, const Image< IndexPixel > &tiles_png, const std::array< Palette< Rgba32 >, pal::num_pals > &pals)
MetatileDecompiler(gsl::not_null< TextFormatter * > format, gsl::not_null< UserDiagnostics * > diag, gsl::not_null< TilePrinter * > tile_printer)
A palette container for colors that support transparency checking.
Definition palette.hpp:34
Abstract base class for applying text styling with context-aware formatting.
A collection of printer functions for various tile types.
Abstract interface for structured error reporting and diagnostic output.
constexpr std::size_t num_pals
Definition palette.hpp:16