step 3: menu_scene substituix doMenu() + fix JI_Update al fiber loop

This commit is contained in:
2026-04-15 23:19:58 +02:00
parent 2cb38ffb49
commit 8720e775a0
6 changed files with 177 additions and 65 deletions

View File

@@ -21,6 +21,7 @@
#include "game/modulesequence.hpp"
#include "game/options.hpp"
#include "scenes/banner_scene.hpp"
#include "scenes/menu_scene.hpp"
#include "scenes/mort_scene.hpp"
#include "scenes/scene.hpp"
#include "scenes/scene_registry.hpp"
@@ -63,6 +64,7 @@ void gameFiberEntry() {
scene->onEnter();
Uint32 last = SDL_GetTicks();
while (!scene->done() && !JG_Quitting()) {
JI_Update(); // refresca key_pressed/any_key per a les escenes
const Uint32 now = SDL_GetTicks();
scene->tick(static_cast<int>(now - last));
last = now;
@@ -102,6 +104,7 @@ void Director::init() {
// caient, el fallback al switch legacy de gameFiberEntry deixa de
// rebre aquests states.
auto& registry = scenes::SceneRegistry::instance();
registry.registerScene(0, [] { return std::make_unique<scenes::MenuScene>(); });
registry.registerScene(100, [] { return std::make_unique<scenes::MortScene>(); });
// BannerScene cobreix les piràmides 2..5 (el vell doBanner decideix
// pel switch intern llegint info::ctx.num_piramide).