121 int textureWidth,
int textureHeight);
178 [[nodiscard]] std::optional<LoadedTexture>
load(
180 std::optional<core::TileType> maskType = std::nullopt)
const;
185 std::optional<core::TileType> maskType);
190 [[nodiscard]] std::optional<AnimationDescription>
loadAnimation(
const std::string& fileName,
192 int textureHeight)
const;
221 const std::string& fileName,
Lecture et validation du format nom-asset.anim.json (LOT-46 TACHE-03).
Contrat de dimensions par famille d'assets graphiques et validation pure (EX-REN-007).
Résolution de chemins d'assets graphiques dans un dossier donné.
Registre générique clé → ressource chargée paresseusement, avec invalidation (EX-REN-043,...
Accès partagé au QRhi courant et au lot de mises à jour de ressources de l'image en cours (EX-REN-050...
Chargement de textures GPU depuis des fichiers image (EX-REN-041), au travers de QRhi.
Détourage des tuiles dont la matière n'occupe pas toute la case.
Types de tuiles d'une carte et utilitaires associés.
Résout des noms d'assets logiques vers des chemins de fichiers, dans un dossier donné.
Definition AssetPaths.h:26
Mémoïsation par clé logique : charge au premier accès, retient aussi un échec, et s'invalide par clé ...
Definition CacheRegistry.h:33
Charge, valide et met en cache des textures GPU désignées par leur nom de fichier logique.
Definition TextureCache.h:60
std::optional< AnimationDescription > loadAnimation(const std::string &fileName, int textureWidth, int textureHeight) const
Charge et valide la description d'animation d'un asset depuis le disque (sans cache),...
Definition TextureCache.cpp:113
CacheRegistry< AnimationDescription > _animationEntries
Nom logique → description d'animation, sous la même clé que _entries (LOT-46 TACHE-03) : c'est ce qui...
Definition TextureCache.h:203
void invalidateAll()
Retire toutes les entrées du cache (rechargement global, LOT-43/LOT-54), textures et descriptions d'a...
Definition TextureCache.cpp:158
std::optional< LoadedTexture > _missingTexture
Definition TextureCache.h:204
void invalidate(const std::string &fileName)
Retire une entrée du cache, de sorte que le prochain get relise le fichier.
Definition TextureCache.cpp:152
const LoadedTexture * getMasked(const std::string &fileName, AssetFamily family, core::TileType type)
Obtient la variante d'un asset détourée à la silhouette d'un type de tuile.
Definition TextureCache.cpp:92
TextureCache(const TextureCache &)=delete
const LoadedTexture * missingTexture()
Texture de repli en damier magenta, créée une seule fois à la demande.
Definition TextureCache.cpp:164
const RhiContext & _context
Definition TextureCache.h:194
std::size_t entryCount() const noexcept
Definition TextureCache.h:156
const LoadedTexture * getUnderKey(const std::string &cacheKey, const std::string &fileName, AssetFamily family, std::optional< core::TileType > maskType)
Obtient une entrée du cache sous une clé donnée, en la chargeant au premier accès.
Definition TextureCache.cpp:103
const AssetPaths & assetPaths() const noexcept
Definition TextureCache.h:171
AssetPaths _paths
Definition TextureCache.h:195
CacheRegistry< LoadedTexture > _entries
Nom logique → texture chargée ; mémorise aussi un échec déjà journalisé.
Definition TextureCache.h:199
const LoadedTexture * getFromPath(const std::filesystem::path &path)
Obtient la texture d'un fichier désigné par son chemin, hors du dossier d'assets.
Definition TextureCache.cpp:71
const AnimationDescription * getAnimation(const std::string &fileName, int textureWidth, int textureHeight)
Obtient la description d'animation d'un asset (nom-asset.anim.json, LOT-46 TACHE-03),...
Definition TextureCache.cpp:143
TextureCache & operator=(const TextureCache &)=delete
std::optional< LoadedTexture > load(const std::string &fileName, AssetFamily family, std::optional< core::TileType > maskType=std::nullopt) const
Charge et valide un asset depuis le disque, sans passer par le cache.
Definition TextureCache.cpp:22
TextureCache(const RhiContext &context, AssetPaths paths)
Construit un cache vide pour un contexte de rendu et un dossier d'assets donnés.
Definition TextureCache.cpp:16
const LoadedTexture * get(const std::string &fileName, AssetFamily family)
Obtient la texture d'un asset, en la chargeant au premier accès.
Definition TextureCache.cpp:66
TileType
Type d'une tuile de la grille d'une carte (EX-GP-001).
Definition TileType.h:32
Definition AudioEngine.cpp:15
AssetFamily
Famille d'un asset graphique, qui détermine les dimensions attendues du fichier image.
Definition AssetContract.h:22
const LoadedTexture * resolveOrPlaceholder(TextureCache &cache, const std::string &fileName, AssetFamily family)
Obtient la texture d'un asset, ou le repli en damier magenta à défaut.
Definition TextureCache.cpp:179
Description d'animation d'un asset : disposition de sa spritesheet et ses clips.
Definition AnimationCatalog.h:44
Texture GPU chargée (RAII).
Definition TextureLoader.h:40
Le QRhi courant et le lot de téléversements de l'image en cours.
Definition RhiContext.h:34