feat(logo): timeline lineal de 7 fases amb glitch tail i durades al YAML
This commit is contained in:
1 parent
7d5a4cee8e
commit
f10671d9c0
7 files changed
+204
-76
No files matched your search
@@ -124,9 +124,12 @@ class UiConfig {
|
||||
[[nodiscard]] auto titleHeatHaze() const -> const TitleHeatHaze& { return title_heat_haze_; }
|
||||
|
||||
// Escena LOGO — paràmetres del scanline reveal del logo de l'editora.
|
||||
// Tot s'aplica només a la fase SCAN (substitueix l'antic FADE_IN).
|
||||
// `duration_ms` és la durada de la línia descendent; `tail_glitch_ms`
|
||||
// és el temps post-flash en què el logo queda totalment visible
|
||||
// però els bursts VHS encara hi salten (glitch tail).
|
||||
struct LogoScan {
|
||||
int duration_ms;
|
||||
int tail_glitch_ms;
|
||||
int band_height_px;
|
||||
int band_alpha;
|
||||
float band_pulse_hz;
|
||||
@@ -142,6 +145,19 @@ class UiConfig {
|
||||
|
||||
[[nodiscard]] auto logoScan() const -> const LogoScan& { return logo_scan_; }
|
||||
|
||||
// Timeline lineal de la LogoScene. Cada camp és la durada (ms) d'una
|
||||
// fase. La SCAN no apareix aquí perquè la marca el propi
|
||||
// `LogoScan` (duration_ms + tail_glitch_ms + flash_ms).
|
||||
struct LogoTimeline {
|
||||
int black_intro_ms;
|
||||
int hold_silent_ms;
|
||||
int hold_with_music_ms;
|
||||
int fade_out_ms;
|
||||
int black_outro_ms;
|
||||
};
|
||||
|
||||
[[nodiscard]] auto logoTimeline() const -> const LogoTimeline& { return logo_timeline_; }
|
||||
|
||||
// Corbes d'easing triades al YAML. Si el nom no és conegut, s'usa
|
||||
// Easing::linear com a fallback.
|
||||
[[nodiscard]] auto pauseEnterCurve() const -> CurveFn { return pause_enter_curve_; }
|
||||
@@ -229,6 +245,7 @@ class UiConfig {
|
||||
TitleIntro title_intro_;
|
||||
TitleHeatHaze title_heat_haze_;
|
||||
LogoScan logo_scan_;
|
||||
LogoTimeline logo_timeline_;
|
||||
|
||||
std::string menu_select_sound_;
|
||||
std::string menu_accept_sound_;
|
||||
|
||||
Reference in new issue
Block a user