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
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 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)
void toARGBBuffer(Uint32* buffer) const;

View File

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

View File

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