From bfaa0ef6bc33d6c8f843a077fada2118262b2fa3 Mon Sep 17 00:00:00 2001 From: James Packer Date: Sun, 16 Aug 2026 23:12:01 +0100 Subject: [PATCH] Restart scenario after cancelled close. --- src/MyEventReceiver.cpp | 5 +++-- src/MyEventReceiver.hpp | 2 ++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/MyEventReceiver.cpp b/src/MyEventReceiver.cpp index eb3f54df4..907226ea9 100644 --- a/src/MyEventReceiver.cpp +++ b/src/MyEventReceiver.cpp @@ -478,6 +478,7 @@ bool MyEventReceiver::OnEvent(const irr::SEvent &event) if (id == GUIMain::GUI_ID_CLOSE_BOX) { shutdownDialogActive = false; + model->setAccelerator(preShutdownAccelerator); } } @@ -2151,10 +2152,10 @@ bool MyEventReceiver::IsButtonPressed(irr::u32 button, irr::u32 buttonBitmap) co void MyEventReceiver::startShutdown() { - model->setAccelerator(0.0); - device->sleep(500); if (!shutdownDialogActive) { + preShutdownAccelerator = model->getAccelerator(); + model->setAccelerator(0.0); device->getGUIEnvironment()->getRootGUIElement()->setVisible(true); device->getGUIEnvironment()->addMessageBox(L"Quit?", L"Quit?", true, irr::gui::EMBF_OK | irr::gui::EMBF_CANCEL, 0, GUIMain::GUI_ID_CLOSE_BOX); // I18n shutdownDialogActive = true; diff --git a/src/MyEventReceiver.hpp b/src/MyEventReceiver.hpp index 0dec26eb9..395ad2f5c 100644 --- a/src/MyEventReceiver.hpp +++ b/src/MyEventReceiver.hpp @@ -247,6 +247,8 @@ class MyEventReceiver : public irr::IEventReceiver bool previousJoystickPOVInitialised; irr::u32 linesMode; // 0 = none, 1 = own ship end, 2 = other end + + irr::f32 preShutdownAccelerator; }; #endif