afegit resources.pack y prefixe a les rutes de recursos

This commit is contained in:
2025-12-08 21:48:52 +01:00
parent 4b7cbd88bb
commit a41e696b69
21 changed files with 1066 additions and 36 deletions

View File

@@ -2,24 +2,37 @@
// © 2025 Orni Attack
#include "stage_loader.hpp"
#include "core/resources/resource_helper.hpp"
#include "external/fkyaml_node.hpp"
#include <iostream>
#include <fstream>
#include <iostream>
#include <sstream>
namespace StageSystem {
std::unique_ptr<ConfigSistemaStages> StageLoader::carregar(const std::string& path) {
try {
// Llegir fitxer YAML
std::ifstream file(path);
if (!file.is_open()) {
std::cerr << "[StageLoader] Error: no es pot obrir el fitxer " << path << std::endl;
// Normalize path: "data/stages/stages.yaml" → "stages/stages.yaml"
std::string normalized = path;
if (normalized.starts_with("data/")) {
normalized = normalized.substr(5);
}
// Load from resource system
std::vector<uint8_t> data = Resource::Helper::loadFile(normalized);
if (data.empty()) {
std::cerr << "[StageLoader] Error: no es pot carregar " << normalized << std::endl;
return nullptr;
}
// Convert to string
std::string yaml_content(data.begin(), data.end());
std::stringstream stream(yaml_content);
// Parse YAML
fkyaml::node yaml = fkyaml::node::deserialize(file);
fkyaml::node yaml = fkyaml::node::deserialize(stream);
auto config = std::make_unique<ConfigSistemaStages>();
// Parse metadata