feat(title): intro amb path Z (zoom+pivot al VP) en lloc d'offset Y

El logo i el footer ara entren simulant un moviment 3D des de l'usuari
cap al VP: arrenquen grans i a la posició projectada extrema (factor
d'escala SCALE_START > 1, pivot al centre de pantalla) i convergeixen
a la seva mida i posició finals. Substitueix l'offset Y lineal anterior.
This commit is contained in:
2026-05-22 14:03:28 +02:00
parent 2ca2062011
commit 839f73e1ef
2 changed files with 55 additions and 27 deletions
+10 -3
View File
@@ -128,10 +128,17 @@ namespace Defaults::Title {
// Coreografia de la seqüència d'entrada al state MAIN.
// Tots els elements (logo, footer, naus, press start) entren ordenadament
// segons aquests thresholds. Vegeu title_scene.cpp/updateMainState.
//
// Per al logo i el footer, l'efecte simula un moviment 3D des de l'usuari
// cap al VP: el text arrenca gran i a la posició projectada extrema (com
// si estigués prop de la càmera, fora de pantalla) i acaba a la seva
// posició final amb escala normal (com si hagués aterrat al VP). Pivot:
// centre de pantalla (= projecció del VP 3D).
namespace Sequence {
// Offsets fora-pantalla per a l'animació d'entrada (additius a la posició final).
constexpr float LOGO_OFFSCREEN_OFFSET_Y = -240.0F; // logo entra des de dalt
constexpr float FOOTER_OFFSCREEN_OFFSET_Y = +160.0F; // jailgames/copyright entren des de baix
// Factor d'escala inicial. >1 = sprite gran a l'inici (prop de l'usuari).
// La posició inicial es deriva: pivot=centre, delta multiplicat per aquest factor.
constexpr float LOGO_INTRO_SCALE_START = 2.5F;
constexpr float FOOTER_INTRO_SCALE_START = 2.5F;
// Durades de les animacions d'entrada (segons).
constexpr float LOGO_ENTRY_DURATION = 1.2F;