28 lines
1.0 KiB
C++
28 lines
1.0 KiB
C++
#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
|