Files
coffee-crisis-ae/source/main.cpp
T
JailDesigner 11eec8f222 reinici real (execv) des del service menu
El Reiniciar fins ara recarregava recursos però no rellegia el preset
ni recreava la finestra (idioma/dificultat/preset es quedaven pendents
fins al pròxim arrencada manual). Ara Director rep argv al constructor
i, quan Section::name passa a RESET, fa execv del propi binari
(_execv a Windows). El procés es reemplaça → init complet amb tots
els canvis aplicats.

Refactor: extret shutdownSubsystems() de close() i compartit amb
relaunch(). Si execv falla els subsistemes ja s'han destruït, no
podem tornar al bucle: exit amb error.

A Emscripten s'amaga l'opció Reiniciar al service menu (execv no
existeix; el cheat code per teclat encara cau al reset clàssic com
fallback).
2026-05-17 10:12:22 +02:00

31 lines
816 B
C++

/*
Código fuente creado por JailDesigner (2020)
Empezado en Castalla el 15/07/2020.
Reescribiendo el código el 27/09/2022
Actualizando a la versión "Arcade Edition" en 08/05/2024
*/
#define SDL_MAIN_USE_CALLBACKS 1
#include <SDL3/SDL_main.h>
#include "core/system/director.hpp" // Para Director
auto SDL_AppInit(void** appstate, int argc, char** argv) -> SDL_AppResult {
*appstate = new Director(argc, argv);
return SDL_APP_CONTINUE;
}
auto SDL_AppIterate(void* appstate) -> SDL_AppResult {
return static_cast<Director*>(appstate)->iterate();
}
auto SDL_AppEvent(void* appstate, SDL_Event* event) -> SDL_AppResult {
return static_cast<Director*>(appstate)->handleEvent(*event);
}
void SDL_AppQuit(void* appstate, SDL_AppResult /*result*/) {
delete static_cast<Director*>(appstate);
}