unificats els resources en un namespace

This commit is contained in:
2025-11-11 10:04:57 +01:00
parent 1821b84e73
commit 54fc6d2902
35 changed files with 356 additions and 341 deletions

View File

@@ -13,9 +13,9 @@
#include "core/rendering/opengl/opengl_shader.hpp" // Para OpenGLShader
#include "core/rendering/surface.hpp" // Para Surface, readPalFile
#include "core/rendering/text.hpp" // Para Text
#include "core/resources/asset.hpp" // Para Asset, AssetType
#include "core/resources/resource.hpp" // Para Resource
#include "core/resources/resource_cache.hpp" // Para Resource
#include "core/resources/resource_helper.hpp" // Para ResourceHelper
#include "core/resources/resource_list.hpp" // Para Asset, AssetType
#include "game/options.hpp" // Para Options, options, OptionsVideo, Border
#include "game/ui/notifier.hpp" // Para Notifier
@@ -41,7 +41,7 @@ auto Screen::get() -> Screen* {
Screen::Screen()
: window_width_(0),
window_height_(0),
palettes_(Asset::get()->getListByType(Asset::Type::PALETTE)) {
palettes_(Resource::List::get()->getListByType(Resource::List::Type::PALETTE)) {
// Arranca SDL VIDEO, crea la ventana y el renderizador
initSDLVideo();
if (Options::video.fullscreen) {
@@ -274,8 +274,8 @@ void Screen::previousPalette() {
// Establece la paleta
void Screen::setPalete() {
game_surface_->loadPalette(Resource::get()->getPalette(palettes_.at(current_palette_)));
border_surface_->loadPalette(Resource::get()->getPalette(palettes_.at(current_palette_)));
game_surface_->loadPalette(Resource::Cache::get()->getPalette(palettes_.at(current_palette_)));
border_surface_->loadPalette(Resource::Cache::get()->getPalette(palettes_.at(current_palette_)));
Options::video.palette = palettes_.at(current_palette_);
@@ -341,8 +341,8 @@ auto Screen::findPalette(const std::string& name) -> size_t {
// Muestra información por pantalla
void Screen::renderInfo() {
if (show_debug_info_ && (Resource::get() != nullptr)) {
auto text = Resource::get()->getText("smb2");
if (show_debug_info_ && (Resource::Cache::get() != nullptr)) {
auto text = Resource::Cache::get()->getText("smb2");
auto color = static_cast<Uint8>(PaletteColor::YELLOW);
// FPS
@@ -397,7 +397,7 @@ auto Screen::getBorderSurface() -> std::shared_ptr<Surface> { return border_surf
auto loadData(const std::string& filepath) -> std::vector<uint8_t> {
// Load using ResourceHelper (supports both filesystem and pack)
return Jdd::ResourceHelper::loadFile(filepath);
return Resource::Helper::loadFile(filepath);
}
// Carga el contenido de los archivos GLSL
@@ -406,12 +406,12 @@ void Screen::loadShaders() {
// Detectar si necesitamos OpenGL ES (Raspberry Pi)
// Intentar cargar versión ES primero si existe
std::string vertex_file = "crtpi_vertex_es.glsl";
auto data = loadData(Asset::get()->get(vertex_file));
auto data = loadData(Resource::List::get()->get(vertex_file));
if (data.empty()) {
// Si no existe versión ES, usar versión Desktop
vertex_file = "crtpi_vertex.glsl";
data = loadData(Asset::get()->get(vertex_file));
data = loadData(Resource::List::get()->get(vertex_file));
std::cout << "Usando shaders OpenGL Desktop 3.3\n";
} else {
std::cout << "Usando shaders OpenGL ES 3.0 (Raspberry Pi)\n";
@@ -424,12 +424,12 @@ void Screen::loadShaders() {
if (fragment_shader_source_.empty()) {
// Intentar cargar versión ES primero si existe
std::string fragment_file = "crtpi_fragment_es.glsl";
auto data = loadData(Asset::get()->get(fragment_file));
auto data = loadData(Resource::List::get()->get(fragment_file));
if (data.empty()) {
// Si no existe versión ES, usar versión Desktop
fragment_file = "crtpi_fragment.glsl";
data = loadData(Asset::get()->get(fragment_file));
data = loadData(Resource::List::get()->get(fragment_file));
}
if (!data.empty()) {
@@ -582,8 +582,8 @@ auto Screen::initSDLVideo() -> bool {
// Crea el objeto de texto
void Screen::createText() {
// Carga la surface de la fuente directamente del archivo
auto surface = std::make_shared<Surface>(Asset::get()->get("aseprite.gif"));
auto surface = std::make_shared<Surface>(Resource::List::get()->get("aseprite.gif"));
// Crea el objeto de texto (el constructor de Text carga el archivo text_file internamente)
text_ = std::make_shared<Text>(surface, Asset::get()->get("aseprite.txt"));
text_ = std::make_shared<Text>(surface, Resource::List::get()->get("aseprite.txt"));
}