overlay amb outline

afegits credits dels ports
This commit is contained in:
2026-04-05 15:17:26 +02:00
parent ec0f233033
commit 6a58f75773
4 changed files with 212 additions and 16 deletions

View File

@@ -71,6 +71,15 @@ void Director::run() {
GlobalInputs::handle();
Mouse::updateCursorVisibility();
// Dispara els crèdits cinematogràfics la primera vegada que el joc
// arriba al menú del títol (info::num_piramide == 0). Lectura no
// atòmica d'un int global: race benigna, tard d'1 frame en el pitjor cas.
static bool credits_triggered = false;
if (!credits_triggered && info::num_piramide == 0) {
Overlay::startCredits();
credits_triggered = true;
}
// Si l'overlay ja no bloqueja ESC (timeout), desbloquegem
if (esc_blocked_ && !Overlay::isEscConsumed()) {
esc_blocked_ = false;
@@ -133,6 +142,11 @@ void Director::handleEvents() {
Gamepad::handleEvent(event);
continue;
}
// Salta els crèdits amb qualsevol tecla; no deixem que arribi al joc
if (event.type == SDL_EVENT_KEY_DOWN && !event.key.repeat && Overlay::creditsActive()) {
Overlay::cancelCredits();
continue;
}
// Empassar-se el KEY_UP de qualsevol tecla que el menú va consumir en KEY_DOWN
if (event.type == SDL_EVENT_KEY_UP && event.key.scancode >= 0 &&
event.key.scancode < SDL_SCANCODE_COUNT && menu_keys_held_[event.key.scancode]) {