afegit metodo a Surface per a restaurar la subpaleta

fix: les surfaces de loading screen ja no es queden negres per a sempre
This commit is contained in:
2026-03-22 08:10:49 +01:00
parent c87d682508
commit 9b7abc7725
4 changed files with 13 additions and 1 deletions

View File

@@ -673,3 +673,6 @@ auto Surface::fadeSubPalette(Uint32 delay) -> bool {
// Devolver si el índice 15 coincide con el índice 0 // Devolver si el índice 15 coincide con el índice 0
return sub_palette_[15] == sub_palette_[0]; return sub_palette_[15] == sub_palette_[0];
} }
// Restaura la sub paleta a su estado original
void Surface::resetSubPalette() { initializeSubPalette(sub_palette_); }

View File

@@ -104,6 +104,9 @@ class Surface {
auto fadePalette() -> bool; auto fadePalette() -> bool;
auto fadeSubPalette(Uint32 delay = 0) -> bool; auto fadeSubPalette(Uint32 delay = 0) -> bool;
// Restaura la sub paleta a su estado original
void resetSubPalette();
// Vuelca los píxeles como ARGB8888 a un buffer externo (sin SDL_Texture) // Vuelca los píxeles como ARGB8888 a un buffer externo (sin SDL_Texture)
void toARGBBuffer(Uint32* buffer) const; void toARGBBuffer(Uint32* buffer) const;

View File

@@ -48,6 +48,12 @@ Title::Title()
Audio::get()->playMusic("title.ogg"); // Inicia la musica Audio::get()->playMusic("title.ogg"); // Inicia la musica
} }
// Destructor
Title::~Title() {
loading_screen_surface_->resetSubPalette();
title_surface_->resetSubPalette();
}
// Inicializa la marquesina // Inicializa la marquesina
void Title::initMarquee() { void Title::initMarquee() {
letters_.clear(); letters_.clear();

View File

@@ -17,7 +17,7 @@ class Title {
public: public:
// --- Constructor y Destructor --- // --- Constructor y Destructor ---
Title(); Title();
~Title() = default; ~Title();
// --- Bucle principal --- // --- Bucle principal ---
void run(); void run();