89 lines
3.0 KiB
C++
89 lines
3.0 KiB
C++
#include "source/resource_loader.h"
|
|
#include <iostream>
|
|
|
|
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;
|
|
} |