feat(audio): cicle de música per estat (INTRO/PLAYING/OUTRO) amb callback de fi i spawn escalonat
This commit is contained in:
1 parent
91f664c4d5
commit
404db74889
13 files changed
+199
-128
No files matched your search
@@ -47,23 +47,19 @@ namespace RoomFsm {
|
||||
// sense recompilar — útil per donar respir abans del nou rètol.
|
||||
int outro_black_hold_ms{0};
|
||||
|
||||
// Mil·lisegons des de l'inici de ROOM_INTRO en què cau la
|
||||
// cinemàtica d'spawn aeri dels jugadors actius. Específic per a
|
||||
// l'entrada de sala — el respawn post-mort tindrà el seu propi
|
||||
// timing quan toqui dissenyar-lo. Un valor habitual: la suma de
|
||||
// fade_in + text_delay + text_enter + text_hold, perquè els
|
||||
// players caiguin just quan el rètol comença a sortir. El
|
||||
// fallback compilat (500 ms) deixa el spawn al final del fade-in
|
||||
// si el YAML no defineix res — només pensat com a degradació.
|
||||
int player_spawn_delay_ms{500};
|
||||
// Mil·lisegons des del callback de fi de la música d'INTRO
|
||||
// (`room_intro.ogg`) en què cau l'spawn aeri del primer slot
|
||||
// actiu. 0 = cau al moment exacte que la música acaba. El
|
||||
// respawn post-mort tindrà el seu propi timing quan toqui
|
||||
// dissenyar-lo.
|
||||
int player_spawn_delay_ms{0};
|
||||
|
||||
// Delay independent per al segon jugador, **només quan els dos
|
||||
// slots estan actius** (mode BOTH). En single-player (P1 o P2
|
||||
// sols) s'usa sempre `player_spawn_delay_ms` per al jugador
|
||||
// actiu. Si el YAML no fixa aquest valor, el `loadConfig` el
|
||||
// copia de `player_spawn_delay_ms` perquè els dos players caiguin
|
||||
// alhora — comportament històric del joc.
|
||||
int player2_spawn_delay_ms{500};
|
||||
// sols) s'usa sempre `player_spawn_delay_ms`. Si el YAML no
|
||||
// fixa aquest valor, `loadConfig` el copia de `player_spawn_delay_ms`
|
||||
// perquè els dos players caiguin alhora — comportament neutre.
|
||||
int player2_spawn_delay_ms{0};
|
||||
|
||||
// Píxels extra entre les dues línies del text d'INTRO (piràmide
|
||||
// damunt, sala davall). Es sumen al `lineHeight` natural del
|
||||
@@ -87,13 +83,6 @@ namespace RoomFsm {
|
||||
// cinemàtica d'entrada sona igual que un salt qualsevol).
|
||||
std::string intro_land_reverb_preset;
|
||||
|
||||
// Clau d'un so puntual (data/sounds/<key>) que GameScene
|
||||
// dispara just quan la cinemàtica d'INTRO arriba a la fase
|
||||
// d'entrada del text (phase == 2). Buit o absent = sense so.
|
||||
// Convenció Resource::Cache: el basename val tant de clau com
|
||||
// de path (loadSound ho fa servir igual que el land_sound).
|
||||
std::string intro_text_sound;
|
||||
|
||||
// Panel translúcid sota el rètol de transició (INTRO i OUTRO).
|
||||
// Centrat verticalment al centre del playfield, ocupa tota
|
||||
// l'amplada del canvas. Creix d'altura 0 → height_px durant la
|
||||
|
||||
Reference in new issue
Block a user