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).
This commit is contained in:
+2
-2
@@ -12,8 +12,8 @@ Actualizando a la versión "Arcade Edition" en 08/05/2024
|
||||
|
||||
#include "core/system/director.hpp" // Para Director
|
||||
|
||||
auto SDL_AppInit(void** appstate, int /*argc*/, char** /*argv*/) -> SDL_AppResult {
|
||||
*appstate = new Director();
|
||||
auto SDL_AppInit(void** appstate, int argc, char** argv) -> SDL_AppResult {
|
||||
*appstate = new Director(argc, argv);
|
||||
return SDL_APP_CONTINUE;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user