Finale music: loop infinito (il brano ricomincia dopo 192 step)
Il sequencer del finale (game_over==3) ora ricomincia da capo quando finale_music_step raggiunge 192, cosi' la musica tragica continua a suonare finche' il giocatore non preme START. Stesso loop applicato al sequencer inline della test ROM (test_finale.gb). Verificato via PyBoy: NR52 mostra ch1+ch2+ch4 attivi per 6000/6000 frame (~100s), confermando che il brano suona continuamente sia nella ROM principale sia nella test ROM.
This commit is contained in:
+3
-2
@@ -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++;
|
||||
if (finale_music_step >= 192) {
|
||||
finale_music_step = 0; // loop: il brano ricomincia
|
||||
}
|
||||
}
|
||||
} else if (game_over == 2) { // Next Level (Going Deeper)
|
||||
|
||||
@@ -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++;
|
||||
if (finale_step >= 192) {
|
||||
finale_step = 0; // loop
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user