diff --git a/src/sound.c b/src/sound.c index 4594569..a5ca590 100644 --- a/src/sound.c +++ b/src/sound.c @@ -398,13 +398,14 @@ void play_music_tick(void) { gameover_music_step++; } } - } else if (game_over == 3) { // Finale tragico (brano dedicato, piu' lento) + } else if (game_over == 3) { // Finale tragico (brano dedicato, piu' lento, in loop) finale_music_timer++; if (finale_music_timer >= 14) { // 14 frames per note (~4 notes/sec, somber) finale_music_timer = 0; - if (finale_music_step < 192) { - play_finale_step(finale_music_step); - finale_music_step++; + play_finale_step(finale_music_step); + finale_music_step++; + if (finale_music_step >= 192) { + finale_music_step = 0; // loop: il brano ricomincia } } } else if (game_over == 2) { // Next Level (Going Deeper) diff --git a/src/test_finale_render.c b/src/test_finale_render.c index 4aceeab..171678f 100644 --- a/src/test_finale_render.c +++ b/src/test_finale_render.c @@ -28,9 +28,10 @@ static void drive_finale(void) { finale_timer++; if (finale_timer >= FINALE_PERIOD) { finale_timer = 0; - if (finale_step < 192) { - play_finale_step(finale_step); - finale_step++; + play_finale_step(finale_step); + finale_step++; + if (finale_step >= 192) { + finale_step = 0; // loop } } }