step 8: intro_scene substituix doIntro() (revelat JAILGAMES lletra a lletra + cicle de paleta)

This commit is contained in:
2026-04-16 08:00:22 +02:00
parent 6125277d70
commit e18b7321eb
6 changed files with 300 additions and 244 deletions

View File

@@ -23,6 +23,7 @@
#include "scenes/banner_scene.hpp"
#include "scenes/credits_scene.hpp"
#include "scenes/intro_new_logo_scene.hpp"
#include "scenes/intro_scene.hpp"
#include "scenes/menu_scene.hpp"
#include "scenes/mort_scene.hpp"
#include "scenes/scene.hpp"
@@ -133,14 +134,15 @@ void Director::init() {
registry.registerScene(7, [] { return std::make_unique<scenes::SlidesScene>(); });
registry.registerScene(6, [] { return std::make_unique<scenes::SecretaScene>(); });
registry.registerScene(8, [] { return std::make_unique<scenes::CreditsScene>(); });
// IntroNewLogoScene només es registra quan `use_new_logo` està actiu;
// si no, la factory retorna nullptr i el gameFiberEntry cau al vell
// ModuleSequence::doIntro() legacy que no ha sigut migrat encara.
// State 255 (intro): dues variants segons `Options::game.use_new_logo`.
// La factory tria a runtime — així es pot togglar des del menú sense
// re-registrar. Les dues escenes acaben delegant a doIntroSprites
// legacy fins al Step 9 de la migració.
registry.registerScene(255, []() -> std::unique_ptr<scenes::Scene> {
if (Options::game.use_new_logo) {
return std::make_unique<scenes::IntroNewLogoScene>();
}
return nullptr;
return std::make_unique<scenes::IntroScene>();
});
GameFiber::init(gameFiberEntry);