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

+21 -2
View File
@@ -113,7 +113,16 @@ UiConfig::UiConfig()
title_fade_out_max_block_(Defaults::UI::Title::FADE_OUT_MAX_BLOCK),
title_music_fade_out_ms_(Defaults::UI::Title::MUSIC_FADE_OUT_MS),
title_attract_fade_to_black_ms_(Defaults::UI::Title::ATTRACT_FADE_TO_BLACK_MS),
title_intro_fade_in_ms_(Defaults::UI::Title::INTRO_FADE_IN_MS),
title_intro_{
.fade_in_ms = Defaults::UI::Title::Intro::FADE_IN_MS,
.game_logo_at_ms = Defaults::UI::Title::Intro::GAME_LOGO_AT_MS,
.mini_logo_at_ms = Defaults::UI::Title::Intro::MINI_LOGO_AT_MS,
.mini_logo_slide_ms = Defaults::UI::Title::Intro::MINI_LOGO_SLIDE_MS,
.copyright_at_ms = Defaults::UI::Title::Intro::COPYRIGHT_AT_MS,
.copyright_slide_ms = Defaults::UI::Title::Intro::COPYRIGHT_SLIDE_MS,
.slide_curve = curveByName(Defaults::UI::Title::Intro::SLIDE_CURVE),
.press_start_at_ms = Defaults::UI::Title::Intro::PRESS_START_AT_MS,
},
title_heat_haze_{
.enabled = Defaults::UI::Title::HeatHaze::ENABLED,
.amplitude_px = Defaults::UI::Title::HeatHaze::AMPLITUDE_PX,
@@ -251,7 +260,17 @@ void UiConfig::load(const std::string& file_path) {
readField(t, "fade_out_max_block", title_fade_out_max_block_);
readField(t, "music_fade_out_ms", title_music_fade_out_ms_);
readField(t, "attract_fade_to_black_ms", title_attract_fade_to_black_ms_);
readField(t, "intro_fade_in_ms", title_intro_fade_in_ms_);
if (t.contains("intro")) {
const auto& in = t["intro"];
readField(in, "fade_in_ms", title_intro_.fade_in_ms);
readField(in, "game_logo_at_ms", title_intro_.game_logo_at_ms);
readField(in, "mini_logo_at_ms", title_intro_.mini_logo_at_ms);
readField(in, "mini_logo_slide_ms", title_intro_.mini_logo_slide_ms);
readField(in, "copyright_at_ms", title_intro_.copyright_at_ms);
readField(in, "copyright_slide_ms", title_intro_.copyright_slide_ms);
readCurve(in, "slide_curve", title_intro_.slide_curve);
readField(in, "press_start_at_ms", title_intro_.press_start_at_ms);
}
if (t.contains("heat_haze")) {
const auto& hh = t["heat_haze"];
readField(hh, "enabled", title_heat_haze_.enabled);