diff --git a/Makefile b/Makefile index b367183..9cdcc25 100644 --- a/Makefile +++ b/Makefile @@ -207,7 +207,8 @@ macos_release: $(MKDIR) Frameworks # Copia carpetas y ficheros - cp -R data "$(RELEASE_FOLDER)/$(APP_NAME).app/Contents/Resources" + cp -R config "$(RELEASE_FOLDER)/$(APP_NAME).app/Contents/Resources" + cp resources.pack "$(RELEASE_FOLDER)/$(APP_NAME).app/Contents/Resources" cp -R release/frameworks/SDL3.xcframework "$(RELEASE_FOLDER)/$(APP_NAME).app/Contents/Frameworks" cp -R release/frameworks/SDL3.xcframework Frameworks cp release/*.icns "$(RELEASE_FOLDER)/$(APP_NAME).app/Contents/Resources" diff --git a/pack_resources b/pack_resources deleted file mode 100755 index fbf44c7..0000000 Binary files a/pack_resources and /dev/null differ diff --git a/source/director.cpp b/source/director.cpp index 08af917..f49d54e 100644 --- a/source/director.cpp +++ b/source/director.cpp @@ -78,7 +78,12 @@ Director::~Director() { void Director::init() { // Configuración inicial de parametros Asset::init(executable_path_); // Inicializa el sistema de gestión de archivos + +#ifdef MACOS_BUNDLE + ResourceHelper::initializeResourceSystem(executable_path_ + "/../Resources/resources.pack"); +#else ResourceHelper::initializeResourceSystem("resources.pack"); +#endif loadAssets(); // Crea el índice de archivos Input::init(Asset::get()->get("gamecontrollerdb.txt"), Asset::get()->get("controllers.json")); // Carga configuración de controles Options::setConfigFile(Asset::get()->get("config.txt")); // Establece el fichero de configuración diff --git a/test_loader.cpp b/test_loader.cpp deleted file mode 100644 index 8bb828d..0000000 --- a/test_loader.cpp +++ /dev/null @@ -1,89 +0,0 @@ -#include "source/resource_loader.h" -#include - -int main() { - std::cout << "Testing Resource Loader" << std::endl; - std::cout << "=======================" << std::endl; - - auto& loader = ResourceLoader::getInstance(); - - std::cout << "Initializing with pack file..." << std::endl; - if (!loader.initialize("test_resources.pack")) { - std::cerr << "Failed to initialize resource loader" << std::endl; - return 1; - } - - std::cout << "Loaded resources: " << loader.getLoadedResourceCount() << std::endl; - std::cout << std::endl; - - std::cout << "Testing resource loading..." << std::endl; - - std::string testFile = "sound/title.wav"; - if (loader.resourceExists(testFile)) { - auto data = loader.loadResource(testFile); - std::cout << "✓ " << testFile << " - Size: " << data.size() << " bytes" << std::endl; - - if (data.size() > 44) { - std::cout << " WAV Header: "; - for (int i = 0; i < 12; i++) { - if (data[i] >= 32 && data[i] < 127) { - std::cout << (char)data[i]; - } else { - std::cout << "."; - } - } - std::cout << std::endl; - } - } else { - std::cout << "✗ " << testFile << " - Not found" << std::endl; - } - - testFile = "gfx/logo/logo_jailgames.png"; - if (loader.resourceExists(testFile)) { - auto data = loader.loadResource(testFile); - std::cout << "✓ " << testFile << " - Size: " << data.size() << " bytes" << std::endl; - - if (data.size() > 8) { - std::cout << " PNG Header: "; - for (int i = 1; i < 4; i++) { - std::cout << (char)data[i]; - } - std::cout << std::endl; - } - } else { - std::cout << "✗ " << testFile << " - Not found" << std::endl; - } - - testFile = "lang/es_ES.json"; - if (loader.resourceExists(testFile)) { - auto data = loader.loadResource(testFile); - std::cout << "✓ " << testFile << " - Size: " << data.size() << " bytes" << std::endl; - - if (data.size() > 50) { - std::cout << " JSON preview: "; - for (int i = 0; i < 50 && i < data.size(); i++) { - std::cout << (char)data[i]; - } - std::cout << "..." << std::endl; - } - } else { - std::cout << "✗ " << testFile << " - Not found" << std::endl; - } - - std::cout << std::endl; - std::cout << "Testing fallback to filesystem..." << std::endl; - loader.shutdown(); - - if (loader.initialize("nonexistent.pack", true)) { - std::cout << "Fallback mode enabled successfully" << std::endl; - - auto data = loader.loadResource("sound/title.wav"); - if (!data.empty()) { - std::cout << "✓ Fallback loading works - Size: " << data.size() << " bytes" << std::endl; - } else { - std::cout << "✗ Fallback loading failed" << std::endl; - } - } - - return 0; -} \ No newline at end of file