|
JustAnotherDnDGame 0.1.0
Jeu de rôle tactique au d20, vue de dessus, en C++/Qt
|
Textures liables par la composition d'une scène, et de quoi choisir laquelle lier. More...
#include <TileAppearance.h>
Public Member Functions | |
| int | skinIndexOf (std::string_view asset, core::TileType type) const noexcept |
| Index du skin chargé pour un asset et un type de tuile donnés. | |
| int | objectIndexOf (std::string_view asset) const noexcept |
| Index de la texture d'objet chargée pour un asset donné (EX-EDIT-043, LOT-45). | |
| TextureHandle | textureFor (const TileAppearance &appearance) const noexcept |
| int | widthFor (const TileAppearance &appearance) const noexcept |
| int | heightFor (const TileAppearance &appearance) const noexcept |
Public Attributes | |
| TextureHandle | atlas = nullptr |
| Atlas du jeu (hmi::TextureAtlas::textureHandle). | |
| int | atlasWidth = 0 |
| Largeur de l'atlas, en pixels. | |
| int | atlasHeight = 0 |
| Hauteur de l'atlas, en pixels. | |
| TextureHandle | missing = nullptr |
| Damier magenta de repli (hmi::TextureCache::missingTexture). | |
| int | missingWidth = 0 |
| Largeur du damier, en pixels. | |
| int | missingHeight = 0 |
| Hauteur du damier, en pixels. | |
| TextureHandle | characterSheet = nullptr |
| Spritesheet externe du personnage (hmi::PLAYER_SUBDIRECTORY/PLAYER_SHEET_FILE_NAME, LOT-48), ou nullptr si absente/invalide — repli sur l'atlas (hmi::PlayerSpriteTag::
usesCharacterSheet), comme hmi::TextureAtlas retombe déjà sur le procédural. | |
| int | characterSheetWidth = 0 |
| Largeur de la spritesheet du personnage, en pixels. | |
| int | characterSheetHeight = 0 |
| Hauteur de la spritesheet du personnage, en pixels. | |
| std::vector< SkinTexture > | skins |
| Skins déjà chargés, adressés par index (hmi::TileAppearance::skinIndex). | |
| const SkinCatalog * | skinCatalog = nullptr |
| Catalogue des jeux de skins, ou nullptr si aucun n'est chargé (tout retombe au damier). | |
| std::string | skinSet |
| Nom du jeu de skins courant. Vide pour utiliser le jeu par défaut du catalogue. | |
| std::vector< SkinTexture > | objects |
| Textures assignées par instance (EX-EDIT-043, LOT-45), adressées par index. | |
Private Member Functions | |
| const SkinTexture * | skinAt (int index) const noexcept |
| const SkinTexture * | objectAt (int index) const noexcept |
Textures liables par la composition d'une scène, et de quoi choisir laquelle lier.
Regroupées en une seule donnée parce qu'elles vont toujours ensemble : une texture sans ses dimensions ne permet pas de normaliser des coordonnées de texture, et la composition doit pouvoir servir toutes les branches de hmi::resolveTileAppearance sans rien demander au GPU.
Porte aussi le catalogue et le jeu courant (LOT-42) : ce sont eux qui décident quelle texture lier, au même titre que les textures elles-mêmes. Les y placer garde la composition paramétrée par une seule donnée, et laisse la fonction de résolution pure et testable sans GPU (EX-NFR-004).
|
inlinenodiscardnoexcept |
|
inlinenodiscardprivatenoexcept |
|
inlinenodiscardnoexcept |
Index de la texture d'objet chargée pour un asset donné (EX-EDIT-043, LOT-45).
Pas de silhouette à considérer (contrairement à skinIndexOf) : une surcharge n'est jamais détourée, elle s'affiche telle quelle.
| asset | Nom du fichier cherché. |
|
inlinenodiscardprivatenoexcept |
|
inlinenodiscardnoexcept |
Index du skin chargé pour un asset et un type de tuile donnés.
Compare sans jamais construire de chaîne : cette recherche a lieu pour chaque primitive de chaque image, et une clé textuelle assemblée à la volée y allouerait à ce rythme.
| asset | Nom du fichier cherché. |
| type | Type de tuile, qui détermine si c'est la variante détourée qu'il faut. |
|
inlinenodiscardnoexcept |
|
inlinenodiscardnoexcept |
| TextureHandle hmi::SceneTextures::atlas = nullptr |
Atlas du jeu (hmi::TextureAtlas::textureHandle).
| int hmi::SceneTextures::atlasHeight = 0 |
Hauteur de l'atlas, en pixels.
| int hmi::SceneTextures::atlasWidth = 0 |
Largeur de l'atlas, en pixels.
| TextureHandle hmi::SceneTextures::characterSheet = nullptr |
Spritesheet externe du personnage (hmi::PLAYER_SUBDIRECTORY/PLAYER_SHEET_FILE_NAME, LOT-48), ou nullptr si absente/invalide — repli sur l'atlas (hmi::PlayerSpriteTag:: usesCharacterSheet), comme hmi::TextureAtlas retombe déjà sur le procédural.
| int hmi::SceneTextures::characterSheetHeight = 0 |
Hauteur de la spritesheet du personnage, en pixels.
| int hmi::SceneTextures::characterSheetWidth = 0 |
Largeur de la spritesheet du personnage, en pixels.
| TextureHandle hmi::SceneTextures::missing = nullptr |
Damier magenta de repli (hmi::TextureCache::missingTexture).
| int hmi::SceneTextures::missingHeight = 0 |
Hauteur du damier, en pixels.
| int hmi::SceneTextures::missingWidth = 0 |
Largeur du damier, en pixels.
| std::vector<SkinTexture> hmi::SceneTextures::objects |
Textures assignées par instance (EX-EDIT-043, LOT-45), adressées par index.
asset est le seul champ significatif (maskType toujours vide : une surcharge n'est jamais détourée à une silhouette, contrairement à un skin de type).
| const SkinCatalog* hmi::SceneTextures::skinCatalog = nullptr |
Catalogue des jeux de skins, ou nullptr si aucun n'est chargé (tout retombe au damier).
| std::vector<SkinTexture> hmi::SceneTextures::skins |
Skins déjà chargés, adressés par index (hmi::TileAppearance::skinIndex).
| std::string hmi::SceneTextures::skinSet |
Nom du jeu de skins courant. Vide pour utiliser le jeu par défaut du catalogue.