fix: Fade Type::FULLSCREEN no iniciava correctament i el primer frame de un fade_in mostrava el contingut
This commit is contained in:
@@ -439,10 +439,23 @@ void Fade::activate() {
|
||||
|
||||
// Preparación inicial de cada tipo
|
||||
switch (type_) {
|
||||
case Type::FULLSCREEN:
|
||||
/*case Type::FULLSCREEN:
|
||||
cleanBackbuffer(r_, g_, b_, (mode_ == Mode::OUT) ? 0 : 255);
|
||||
SDL_SetTextureAlphaMod(backbuffer_, (mode_ == Mode::OUT) ? 255 : 0);
|
||||
break;*/
|
||||
|
||||
case Type::FULLSCREEN: {
|
||||
// La textura en sí siempre debe ser de un color sólido y opaco.
|
||||
// La transparencia se gestionará con la modulación de alfa.
|
||||
cleanBackbuffer(r_, g_, b_, 255);
|
||||
|
||||
// Ahora, inicializamos la modulación de alfa correctamente:
|
||||
// - IN: Empieza opaco (255) y se desvanece a transparente.
|
||||
// - OUT: Empieza transparente (0) y se desvanece a opaco.
|
||||
const Uint8 initial_alpha = (mode_ == Mode::IN) ? 255 : 0;
|
||||
SDL_SetTextureAlphaMod(backbuffer_, initial_alpha);
|
||||
break;
|
||||
}
|
||||
|
||||
case Type::CENTER:
|
||||
rect1_ = {.x = 0, .y = 0, .w = param.game.width, .h = 0};
|
||||
|
||||
Reference in New Issue
Block a user