Porytiles
Loading...
Searching...
No Matches
metatile.hpp File Reference
Include dependency graph for metatile.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  porytiles::Metatile< PixelType >
 The core tileset entity - a 2x2 grid of PixelTile objects arranged into three layers. More...
 

Namespaces

namespace  porytiles
 
namespace  porytiles::metatile
 

Enumerations

enum class  porytiles::metatile::Layer : std::uint8_t { porytiles::metatile::bottom = 0 , porytiles::metatile::middle = 1 , porytiles::metatile::top = 2 }
 
enum class  porytiles::metatile::Subtile : std::uint8_t { porytiles::metatile::northwest = 0 , porytiles::metatile::northeast = 1 , porytiles::metatile::southwest = 2 , porytiles::metatile::southeast = 3 }
 

Functions

std::string porytiles::metatile::to_string (Layer layer)
 
std::ostream & porytiles::metatile::operator<< (std::ostream &os, const Layer &layer)
 
Subtile porytiles::metatile::subtile_from_index (std::size_t i)
 
std::string porytiles::metatile::to_string (Subtile layer)
 
std::ostream & porytiles::metatile::operator<< (std::ostream &os, const Subtile &subtile)
 
std::tuple< std::size_t, Layer, Subtileporytiles::metatile::from_tile_index (std::size_t tile_index)
 Decomposes a global tile index into its metatile index, layer, and subtile position.
 
std::tuple< Layer, Subtileporytiles::metatile::from_internal_tile_index (std::size_t tile_index)
 Decomposes an internal tile index into its layer and subtile position within a metatile.
 
std::string porytiles::metatile::message_header (const TextFormatter &format, std::size_t index, Layer layer, Subtile subtile, std::size_t subtile_row, std::size_t subtile_col)
 
std::string porytiles::metatile::message_header (const TextFormatter &format, std::size_t index, Layer layer, Subtile subtile)
 
std::string porytiles::metatile::message_header (const TextFormatter &format, std::size_t index, Subtile subtile)
 

Variables

constexpr std::size_t porytiles::metatile::tiles_per_side = 2
 
constexpr std::size_t porytiles::metatile::tiles_per_metatile_layer = tiles_per_side * tiles_per_side
 
constexpr std::size_t porytiles::metatile::tiles_per_metatile = tiles_per_metatile_layer * 3
 
constexpr std::size_t porytiles::metatile::side_length_pix = tiles_per_side * tile::side_length_pix
 
constexpr std::size_t porytiles::metatile::entries_per_metatile_dual = 8
 
constexpr std::size_t porytiles::metatile::entries_per_metatile_triple = 12
 
constexpr std::size_t porytiles::metatile::metatiles_per_row = 8