LoadingScreen: nous efectes de so. Millores acabades

This commit is contained in:
2025-11-02 11:00:09 +01:00
parent c5563768af
commit 4eac48ed78
9 changed files with 24 additions and 16 deletions

View File

@@ -91,28 +91,30 @@ void LoadingScreen::transitionToState(State new_state) {
case State::HEADER1:
case State::HEADER2:
current_border_type_ = Border::RED_AND_CYAN;
// Reproducir sonido de cargar el header
Audio::get()->playMusic("loading_sound1.ogg");
Audio::get()->playMusic("loading_header.ogg", 0);
break;
case State::DATA1:
printProgramName();
/* CONTINUA */
current_border_type_ = Border::YELLOW_AND_BLUE;
Audio::get()->playMusic("loading_data1.ogg", 0);
break;
case State::DATA2:
current_border_type_ = Border::YELLOW_AND_BLUE;
Audio::get()->playMusic("loading_data2.ogg", 0);
break;
case State::LOADING_MONO:
current_border_type_ = Border::YELLOW_AND_BLUE;
// Reproducir sonido de carga monocromática
Audio::get()->playMusic("loading_sound2.ogg");
Audio::get()->playMusic("loading_screen_data.ogg", 0);
break;
case State::LOADING_COLOR:
current_border_type_ = Border::YELLOW_AND_BLUE;
// Reproducir sonido de carga en color
Audio::get()->playMusic("loading_sound3.ogg");
Audio::get()->playMusic("loading_screen_color.ogg", 0);
break;
case State::COMPLETE:
current_border_type_ = Border::WHITE;
current_border_type_ = Border::BLACK;
// Transicionar a la pantalla de título
SceneManager::current = SceneManager::Scene::TITLE;
SceneManager::options = SceneManager::Options::TITLE_WITH_LOADING_SCREEN;
@@ -409,6 +411,9 @@ void LoadingScreen::renderBorder() {
case Border::WHITE:
renderColoredBorder(PaletteColor::WHITE);
break;
case Border::BLACK:
renderColoredBorder(PaletteColor::BLACK);
break;
case Border::RED:
renderColoredBorder(PaletteColor::RED);
break;
@@ -455,7 +460,7 @@ void LoadingScreen::updateSilent(float delta_time) {
// Oscilación compuesta para simular picos de ruido
const float modulation = std::sin(noise_.total_time * 4.2F) * std::sin(noise_.total_time * 1.7F + 0.5F);
noise_.value = std::fabs(modulation); // rango [0.0, 1.0]
noise_.value = std::fabs(modulation); // rango [0.0, 1.0]
// Detecta cruce de umbral solo si venía de abajo
if (noise_.value > NOISE_THRESHOLD && !noise_.crossed) {