Files
coffee_crisis_arcade_edition/test_loader.cpp
2025-08-19 09:46:19 +02:00

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