From 932de53609da98cadc457ffe81fd7da215214464 Mon Sep 17 00:00:00 2001 From: Sergio Date: Tue, 18 Nov 2025 13:52:41 +0100 Subject: [PATCH] creada resource_types --- .../rendering/surface_animated_sprite.hpp | 2 +- source/core/resources/resource_cache.hpp | 55 +--------------- source/core/resources/resource_types.hpp | 62 +++++++++++++++++++ 3 files changed, 64 insertions(+), 55 deletions(-) create mode 100644 source/core/resources/resource_types.hpp diff --git a/source/core/rendering/surface_animated_sprite.hpp b/source/core/rendering/surface_animated_sprite.hpp index ed4916c..4571c40 100644 --- a/source/core/rendering/surface_animated_sprite.hpp +++ b/source/core/rendering/surface_animated_sprite.hpp @@ -8,9 +8,9 @@ #include // Para vector #include "core/rendering/surface_moving_sprite.hpp" // Para SMovingSprite +#include "core/resources/resource_types.hpp" // Para AnimationResource class Surface; -struct AnimationResource; // Forward declaration class SurfaceAnimatedSprite : public SurfaceMovingSprite { public: diff --git a/source/core/resources/resource_cache.hpp b/source/core/resources/resource_cache.hpp index d84ee6d..6968391 100644 --- a/source/core/resources/resource_cache.hpp +++ b/source/core/resources/resource_cache.hpp @@ -5,60 +5,7 @@ #include #include // Para vector -#include "core/rendering/surface.hpp" // Para Surface -#include "core/rendering/surface_animated_sprite.hpp" // Para AnimationsFileBuffer -#include "core/rendering/text.hpp" // Para Text, TextFile -#include "game/gameplay/room.hpp" // Para room_t -struct JA_Music_t; // lines 11-11 -struct JA_Sound_t; // lines 12-12 - -// Estructura para almacenar ficheros de sonido y su nombre -struct SoundResource { - std::string name{}; // Nombre del sonido - JA_Sound_t* sound{nullptr}; // Objeto con el sonido -}; - -// Estructura para almacenar ficheros musicales y su nombre -struct MusicResource { - std::string name{}; // Nombre de la musica - JA_Music_t* music{nullptr}; // Objeto con la música -}; - -// Estructura para almacenar objetos Surface y su nombre -struct SurfaceResource { - std::string name{}; // Nombre de la surface - std::shared_ptr surface{}; // Objeto con la surface -}; - -// Estructura para almacenar objetos Palette y su nombre -struct ResourcePalette { - std::string name{}; // Nombre de la surface - Palette palette{}; // Paleta -}; - -// Estructura para almacenar ficheros TextFile y su nombre -struct TextFileResource { - std::string name{}; // Nombre del fichero - std::shared_ptr text_file{}; // Objeto con los descriptores de la fuente de texto -}; - -// Estructura para almacenar objetos Text y su nombre -struct TextResource { - std::string name{}; // Nombre del objeto - std::shared_ptr text{}; // Objeto -}; - -// Estructura para almacenar ficheros animaciones y su nombre -struct AnimationResource { - std::string name{}; // Nombre del fichero - std::vector yaml_data{}; // Bytes del archivo YAML sin parsear -}; - -// Estructura para almacenar habitaciones y su nombre -struct RoomResource { - std::string name{}; // Nombre de la habitación - std::shared_ptr room{}; // Habitación -}; +#include "core/resources/resource_types.hpp" // Para structs de recursos namespace Resource { diff --git a/source/core/resources/resource_types.hpp b/source/core/resources/resource_types.hpp new file mode 100644 index 0000000..dc9d6ee --- /dev/null +++ b/source/core/resources/resource_types.hpp @@ -0,0 +1,62 @@ +#pragma once + +#include // Para uint8_t +#include // Para shared_ptr +#include // Para string +#include // Para vector + +#include "core/rendering/surface.hpp" // Para Palette y Surface +#include "core/rendering/text.hpp" // Para Text y Text::File +#include "game/gameplay/room.hpp" // Para Room::Data + +// Forward declarations +struct JA_Music_t; +struct JA_Sound_t; + +// Estructura para almacenar ficheros de sonido y su nombre +struct SoundResource { + std::string name{}; // Nombre del sonido + JA_Sound_t* sound{nullptr}; // Objeto con el sonido +}; + +// Estructura para almacenar ficheros musicales y su nombre +struct MusicResource { + std::string name{}; // Nombre de la musica + JA_Music_t* music{nullptr}; // Objeto con la música +}; + +// Estructura para almacenar objetos Surface y su nombre +struct SurfaceResource { + std::string name{}; // Nombre de la surface + std::shared_ptr surface{}; // Objeto con la surface +}; + +// Estructura para almacenar objetos Palette y su nombre +struct ResourcePalette { + std::string name{}; // Nombre de la surface + Palette palette{}; // Paleta +}; + +// Estructura para almacenar ficheros TextFile y su nombre +struct TextFileResource { + std::string name{}; // Nombre del fichero + std::shared_ptr text_file{}; // Objeto con los descriptores de la fuente de texto +}; + +// Estructura para almacenar objetos Text y su nombre +struct TextResource { + std::string name{}; // Nombre del objeto + std::shared_ptr text{}; // Objeto +}; + +// Estructura para almacenar ficheros animaciones y su nombre +struct AnimationResource { + std::string name{}; // Nombre del fichero + std::vector yaml_data{}; // Bytes del archivo YAML sin parsear +}; + +// Estructura para almacenar habitaciones y su nombre +struct RoomResource { + std::string name{}; // Nombre de la habitación + std::shared_ptr room{}; // Habitación +};