treballant en resources.pack

This commit is contained in:
2025-08-19 09:46:19 +02:00
parent 2819b3628e
commit ed077c1da5
30 changed files with 1099 additions and 15 deletions

37
source/resource_loader.h Normal file
View File

@@ -0,0 +1,37 @@
#ifndef RESOURCE_LOADER_H
#define RESOURCE_LOADER_H
#include "resource_pack.h"
#include <memory>
class ResourceLoader {
private:
static std::unique_ptr<ResourceLoader> instance;
ResourcePack* resourcePack;
std::string packPath;
bool fallbackToFiles;
ResourceLoader();
public:
static ResourceLoader& getInstance();
~ResourceLoader();
bool initialize(const std::string& packFile, bool enableFallback = true);
void shutdown();
std::vector<uint8_t> loadResource(const std::string& filename);
bool resourceExists(const std::string& filename);
void setFallbackToFiles(bool enable) { fallbackToFiles = enable; }
bool getFallbackToFiles() const { return fallbackToFiles; }
size_t getLoadedResourceCount() const;
std::vector<std::string> getAvailableResources() const;
private:
std::vector<uint8_t> loadFromFile(const std::string& filename);
std::string getDataPath(const std::string& filename);
};
#endif