#pragma once #include #include #include namespace Resource::Helper { // Estableix el prefix absolut des d'on es resolen totes les rutes // relatives passades a `loadFile`/`resolve`. Pensat per a cridar-se una // sola vegada al primer pas del Director amb `SDL_GetBasePath()`: així el // binari troba `data/` sense dependre del CWD des d'on s'ha llançat (és // obligatori per a .app de macOS i útil a Linux per no haver d'estar // dins de `build/`). void setDataRoot(const std::string& absolute_path); // Resol una ruta relativa contra el data root. Si la ruta ja és absoluta // (comença per '/') la retorna sense modificar — així els fitxers de // config (system_folder_ + "config.yaml") segueixen funcionant sense // canvis al call site. [[nodiscard]] auto resolve(const std::string& filepath) -> std::string; // Carga un fitxer del filesystem (a aquesta fase encara no hi ha pack). // Les rutes relatives es resolen via `resolve()`; les absolutes s'obrin // directament. auto loadFile(const std::string& filepath) -> std::vector; } // namespace Resource::Helper