refactor(room-fsm): timeline pur amb music_tail; fades INTRO/OUTRO via Transitions::FadeToBlack i sense callbacks de fi de música
This commit is contained in:
1 parent
3f09858203
commit
29cb4c2211
4 files changed
+137
-97
No files matched your search
@@ -95,12 +95,16 @@ namespace RoomFsm {
|
||||
t.elapsed_ms += delta_ms;
|
||||
|
||||
if (current == State::ROOM_INTRO) {
|
||||
const std::array<int, 5> DURS = {
|
||||
const std::array<int, 6> DURS = {
|
||||
cfg.intro_fade_in_ms,
|
||||
cfg.intro_text_delay_ms,
|
||||
cfg.intro_text_enter_ms,
|
||||
cfg.intro_text_hold_ms,
|
||||
cfg.intro_text_exit_ms,
|
||||
// Cua silenciosa fins al final de room_intro.ogg. La
|
||||
// calcula GameScene després de `playMusic`. Si la música
|
||||
// no arrenca, és 0 i la fase es consumeix sense esperar.
|
||||
cfg.intro_music_tail_ms,
|
||||
};
|
||||
while (t.phase < static_cast<int>(DURS.size()) && t.elapsed_ms >= DURS[t.phase]) {
|
||||
t.elapsed_ms -= DURS[t.phase];
|
||||
@@ -111,10 +115,14 @@ namespace RoomFsm {
|
||||
}
|
||||
|
||||
// ROOM_OUTRO
|
||||
const std::array<int, 5> DURS = {
|
||||
const std::array<int, 6> DURS = {
|
||||
cfg.outro_text_enter_ms,
|
||||
cfg.outro_text_hold_ms,
|
||||
cfg.outro_text_exit_ms,
|
||||
// Cua silenciosa fins al final de room_outro.ogg, abans
|
||||
// d'arrencar el fade-out. Així el negre cau just al final
|
||||
// de la pista; sense cua si la música no arrenca.
|
||||
cfg.outro_music_tail_ms,
|
||||
cfg.outro_fade_out_ms,
|
||||
// Pausa final en negre, després del fade-out i abans del
|
||||
// canvi a INTRO. Si és 0 ms, el while-loop la consumeix
|
||||
|
||||
Reference in new issue
Block a user