JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
Loading...
Searching...
No Matches
TileAutotile.h File Reference

Raccords automatiques : voisinage solide → case d'une planche 4×4 (EX-EDIT-025). More...

#include <array>
#include <cstdint>
#include <string_view>
#include "Core/Levels/TileMap.h"

Go to the source code of this file.

Classes

struct  hmi::AutotileCell
 Position d'une case dans la planche de raccords, en cases (origine haut-gauche). More...

Namespaces

namespace  hmi

Enumerations

enum  hmi::NeighborBits : std::uint8_t { hmi::NEIGHBOR_UP = 1u << 0 , hmi::NEIGHBOR_RIGHT = 1u << 1 , hmi::NEIGHBOR_DOWN = 1u << 2 , hmi::NEIGHBOR_LEFT = 1u << 3 }
 Bits du masque de voisinage, un par voisin orthogonal solide. More...

Functions

std::uint8_t hmi::solidNeighborMask (const core::TileMap &tiles, int column, int row) noexcept
 Calcule le masque de voisinage solide d'une case de la grille.
AutotileCell hmi::autotileCell (std::uint8_t mask) noexcept
 Case de la planche 4×4 correspondant à un masque de voisinage.
AutotileCell hmi::autotileRepresentativeCell () noexcept
 Case représentative d'une planche : l'intérieur plein (quatre voisins solides).
std::string_view hmi::autotileConfigurationLabelKey (std::uint8_t mask) noexcept
 Clé de traduction décrivant la configuration de voisinage d'un masque, pour l'atelier pixel art (LOT-54 TACHE-08, EX-REN-033).
std::array< std::uint8_t, 9 > hmi::autotileAssemblyMasks () noexcept
 Masques des neuf cases d'un assemblage 3×3 démonstratif (LOT-54 TACHE-08).

Variables

constexpr int hmi::AUTOTILE_SHEET_SIDE = 4
 Nombre de cases par côté de la planche de raccords (4×4 = seize configurations).
constexpr int hmi::AUTOTILE_CONFIGURATION_COUNT = AUTOTILE_SHEET_SIDE * AUTOTILE_SHEET_SIDE
 Nombre de configurations de voisinage distinctes.

Detailed Description

Raccords automatiques : voisinage solide → case d'une planche 4×4 (EX-EDIT-025).