treballant en la pantalla de càrrega de recursos

This commit is contained in:
2025-11-01 08:52:03 +01:00
parent 16aa4f52aa
commit cb09198bfe
6 changed files with 55 additions and 9 deletions

View File

@@ -90,6 +90,9 @@ Screen::Screen()
// Establece la surface que actuará como renderer para recibir las llamadas a render()
renderer_surface_ = std::make_shared<std::shared_ptr<Surface>>(game_surface_);
// Crea el objeto de texto para la pantalla de carga
createText();
// Extrae el nombre de las paletas desde su ruta
processPaletteList();
@@ -574,4 +577,13 @@ auto Screen::initSDLVideo() -> bool {
std::cout << "** Video system initialized successfully\n";
return true;
}
// 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"));
// 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"));
}

View File

@@ -9,6 +9,7 @@
#include "utils/utils.hpp" // Para Color
class Surface;
class Text;
namespace Rendering {
class ShaderBackend;
}
@@ -70,6 +71,7 @@ class Screen {
std::shared_ptr<Surface> border_surface_; // Surface para pintar el el borde de la pantalla
std::shared_ptr<std::shared_ptr<Surface>> renderer_surface_; // Puntero a la Surface que actua
std::unique_ptr<Rendering::ShaderBackend> shader_backend_; // Backend de shaders (OpenGL/Metal/Vulkan)
std::shared_ptr<Text> text_; // Objeto para escribir texto en pantalla de carga
// Variables
int window_width_; // Ancho de la pantalla o ventana
@@ -120,6 +122,7 @@ class Screen {
void renderInfo(); // Muestra información por pantalla
void getDisplayInfo(); // Obtiene información sobre la pantalla
auto initSDLVideo() -> bool; // Arranca SDL VIDEO y crea la ventana
void createText(); // Crea el objeto de texto
// Constructor
Screen();
@@ -212,4 +215,5 @@ class Screen {
auto getRenderer() -> SDL_Renderer*;
auto getRendererSurface() -> std::shared_ptr<Surface>;
auto getBorderSurface() -> std::shared_ptr<Surface>;
[[nodiscard]] auto getText() const -> std::shared_ptr<Text> { return text_; }
};