feat(title): seqüència d'intro temporitzada amb slide-in del peu

This commit is contained in:
JailDesigner committed 2026-05-07 13:08:13 +02:00
1 parent fceeb11cdd
commit 243ced7498
7 files changed
+226 -75

No files matched your search

+16 -2
View File
@@ -89,6 +89,20 @@ class UiConfig {
float speed_hz;
};
// Seqüència d'aparició dels elements en fase IDLE: tots els temps
// són absoluts des de l'entrada a l'escena. `slide_curve` es
// comparteix entre el slide-in del mini-logo i el del copyright.
struct TitleIntro {
int fade_in_ms;
int game_logo_at_ms;
int mini_logo_at_ms;
int mini_logo_slide_ms;
int copyright_at_ms;
int copyright_slide_ms;
CurveFn slide_curve;
int press_start_at_ms;
};
[[nodiscard]] auto titleDurationMs() const -> int { return title_duration_ms_; }
[[nodiscard]] auto titleBgColor() const -> Uint8 { return title_bg_color_; }
[[nodiscard]] auto titleTextColor() const -> Uint8 { return title_text_color_; }
@@ -106,7 +120,7 @@ class UiConfig {
[[nodiscard]] auto titleFadeOutMaxBlock() const -> int { return title_fade_out_max_block_; }
[[nodiscard]] auto titleMusicFadeOutMs() const -> int { return title_music_fade_out_ms_; }
[[nodiscard]] auto titleAttractFadeToBlackMs() const -> int { return title_attract_fade_to_black_ms_; }
[[nodiscard]] auto titleIntroFadeInMs() const -> int { return title_intro_fade_in_ms_; }
[[nodiscard]] auto titleIntro() const -> const TitleIntro& { return title_intro_; }
[[nodiscard]] auto titleHeatHaze() const -> const TitleHeatHaze& { return title_heat_haze_; }
// Corbes d'easing triades al YAML. Si el nom no és conegut, s'usa
@@ -192,7 +206,7 @@ class UiConfig {
int title_fade_out_max_block_;
int title_music_fade_out_ms_;
int title_attract_fade_to_black_ms_;
int title_intro_fade_in_ms_;
TitleIntro title_intro_;
TitleHeatHaze title_heat_haze_;
std::string menu_select_sound_;