74 lines
3.4 KiB
YAML
74 lines
3.4 KiB
YAML
# Configuració de la GameScene: timings i corbes de la FSM de sala
|
|
# (ROOM_INTRO i ROOM_OUTRO). Tots els valors són ms i tota la geometria
|
|
# i font del text es reutilitzen del tema UI (data/config/ui.yaml > pause +
|
|
# notification). Si manca el fitxer o alguna clau, GameScene cau als
|
|
# fallbacks compilats; veure `readSceneConfig` a game_scene.cpp.
|
|
|
|
room_intro:
|
|
fade_in_ms: 500 # negre opac → món visible
|
|
text_delay_ms: 500 # espera amb el món net abans de sortir el text
|
|
text_enter_ms: 400 # text esquerra → centre
|
|
text_hold_ms: 2000 # text quiet al centre
|
|
text_exit_ms: 400 # text centre → fora per l'esquerra
|
|
line_gap_px: -4 # px extra entre les dues línies (piràmide / sala)
|
|
# Delays d'spawn aeri **mesurats des de la fi de la música d'INTRO**
|
|
# (callback `Audio::setOnMusicEnded`). 0 = cau al moment exacte que
|
|
# `room_intro.ogg` acaba; valors > 0 escalonen els jugadors. En mode
|
|
# single-player s'usa només `player_spawn_delay_ms`.
|
|
player_spawn_delay_ms: 0
|
|
player2_spawn_delay_ms: 300
|
|
# Preset de reverb (catàleg a `data/config/sounds.yaml`) aplicat al primer
|
|
# LAND de cada jugador durant la cinemàtica d'entrada. La sala dona
|
|
# "més detall" sonor a l'INTRO; els salts del joc i els respawns
|
|
# post-mort cauen al so sec. Buit o absent = sense reverb.
|
|
land_reverb: stone_hall
|
|
|
|
room_outro:
|
|
text_enter_ms: 400
|
|
text_hold_ms: 2000
|
|
text_exit_ms: 400
|
|
fade_out_ms: 500 # món visible → negre opac
|
|
line_gap_px: -4 # px extra entre les dues línies (fase / completada)
|
|
black_hold_ms: 500 # pausa en negre abans d'entrar a la pròxima sala
|
|
|
|
text:
|
|
# Noms d'easing tal com els resol UiConfig::curveByName (vegeu
|
|
# `data/config/ui.yaml`). El text entra suau i surt accelerant.
|
|
enter_curve: outCubic
|
|
exit_curve: inCubic
|
|
|
|
# Panel translúcid pintat sota el rètol de transició (INTRO i OUTRO).
|
|
# Va centrat verticalment al centre del playfield i ocupa tota
|
|
# l'amplada del canvas. Creix d'altura amb la mateixa enter_curve del
|
|
# text i decreix amb l'exit_curve. `color` són tres canals RGB (0..255);
|
|
# `alpha` és la transparència del blend (0 = invisible, 255 = opac).
|
|
text_panel:
|
|
color: [36, 182, 170]
|
|
alpha: 128
|
|
height_px: 32
|
|
|
|
# Sub-FSM de game over: dispara CONTINUE? quan tots els jugadors
|
|
# queden fora de partida durant PLAYING, fa countdown, i si ningú
|
|
# pulsa START acaba en GAME OVER + fade-to-black + transició a LOGO.
|
|
# Tots els valors són ms (excepte `continue_count_steps`, que és el
|
|
# nombre de tics visibles del countdown). Si manca el fitxer o alguna
|
|
# clau, GameScene cau als fallbacks compilats (vegeu `GameOverFsm::Config`).
|
|
game_over:
|
|
# CONTINUE? — animació d'entrada i sortida idèntica al room text.
|
|
continue_text_enter_ms: 400
|
|
# Hold del countdown: 10 s = (continue_count_start + 1) graons d'1 s.
|
|
# La sèrie visible és [continue_count_start, ..., 1, 0]; el "0" es
|
|
# manté l'últim segon abans del salt a GAME OVER.
|
|
continue_text_hold_ms: 10000
|
|
continue_text_exit_ms: 400
|
|
continue_count_start: 9
|
|
# GAME OVER — apareix sense enter anim (panel ja amunt del CONTINUE?),
|
|
# es manté un temps i marxa amb la mateixa exit anim del room text.
|
|
game_over_text_hold_ms: 1500
|
|
game_over_text_exit_ms: 400
|
|
game_over_wait_ms: 400
|
|
# Fade final cap a LOGO. `black_hold_ms` és la pausa en negre opac
|
|
# abans que el GameScene demani la transició d'escena.
|
|
fade_out_ms: 500
|
|
black_hold_ms: 500
|