desactivat eixir del joc en la versió WASM (milestone 5)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-12 21:03:09 +02:00
parent fb023df1e1
commit 978cbcc9fc
2 changed files with 17 additions and 3 deletions

View File

@@ -638,9 +638,16 @@ void Director::handleSectionTransition() {
// Ejecuta un frame del juego
SDL_AppResult Director::iterate() {
#ifdef __EMSCRIPTEN__
// En WASM no se puede salir: reinicia al logo
if (section->name == SECTION_PROG_QUIT) {
section->name = SECTION_PROG_LOGO;
}
#else
if (section->name == SECTION_PROG_QUIT) {
return SDL_APP_SUCCESS;
}
#endif
// Gestiona las transiciones entre secciones
handleSectionTransition();
@@ -668,11 +675,13 @@ SDL_AppResult Director::iterate() {
// Procesa un evento
SDL_AppResult Director::handleEvent(SDL_Event *event) {
#ifndef __EMSCRIPTEN__
// Evento de salida de la aplicación
if (event->type == SDL_EVENT_QUIT) {
section->name = SECTION_PROG_QUIT;
return SDL_APP_SUCCESS;
}
#endif
// Reenvía el evento a la sección activa
switch (activeSection) {

View File

@@ -646,11 +646,12 @@ void Title::checkEvents() {
// Comprueba las entradas
void Title::checkInput() {
#ifndef __EMSCRIPTEN__
if (input->checkInput(input_exit, REPEAT_FALSE)) {
section->name = SECTION_PROG_QUIT;
}
else if (input->checkInput(input_window_fullscreen, REPEAT_FALSE)) {
} else
#endif
if (input->checkInput(input_window_fullscreen, REPEAT_FALSE)) {
screen->switchVideoMode();
}
@@ -851,6 +852,10 @@ void Title::updateMenuLabels() {
menu.title->setItemCaption(1, lang->getText(52)); // 2 PLAYERS
menu.title->setItemCaption(2, lang->getText(1)); // OPTIONS
menu.title->setItemCaption(3, lang->getText(3)); // QUIT
#ifdef __EMSCRIPTEN__
menu.title->setVisible(3, false);
menu.title->setSelectable(3, false);
#endif
// Recoloca el menu de titulo
menu.title->centerMenuOnX(GAMECANVAS_CENTER_X);