feat: resource.pack estil coffee_crisis — Fase 1 (pack + helper + eina pack_resources)

This commit is contained in:
2026-04-16 13:58:39 +02:00
parent 7f26b8dbd0
commit b2d5f5af61
12 changed files with 533 additions and 1 deletions

View File

@@ -0,0 +1,27 @@
#pragma once
#include <cstdint>
#include <string>
#include <vector>
// API d'alt nivell per a llegir recursos. Prova primer el pack (si està
// carregat), després cau al fitxer solt dins `file_getresourcefolder()`
// si el fallback està activat.
namespace ResourceHelper {
// Inicialitza el sistema. `pack_file` és la ruta absoluta (o relativa al
// CWD) al fitxer de recursos. `enable_fallback` permet llegir de disc
// quan el pack no conté l'entrada (útil per a Debug i WASM).
auto initializeResourceSystem(const std::string& pack_file, bool enable_fallback) -> bool;
// Allibera el pack carregat a memòria.
void shutdownResourceSystem();
// Llegeix un recurs per ruta relativa (p.ex. "logo.gif", "fonts/8bithud.fnt").
// Retorna un vector buit si no es troba.
auto loadFile(const std::string& relative_path) -> std::vector<uint8_t>;
// True si el sistema es va inicialitzar amb un pack vàlid.
[[nodiscard]] auto hasPack() -> bool;
} // namespace ResourceHelper