#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; }