diff options
-rw-r--r-- | engines/pink/director.cpp | 2 | ||||
-rw-r--r-- | engines/pink/pink.cpp | 12 | ||||
-rw-r--r-- | engines/pink/pink.h | 2 |
3 files changed, 12 insertions, 4 deletions
diff --git a/engines/pink/director.cpp b/engines/pink/director.cpp index cbf44484a9..09af376fbc 100644 --- a/engines/pink/director.cpp +++ b/engines/pink/director.cpp @@ -79,7 +79,7 @@ static const Graphics::MacMenuData menuSubItems[] = { Director::Director() : _surface(640, 480) { _wm.setScreen(&_surface); - _wm.setMode(Graphics::kWMModeNoDesktop | Graphics::kWMModeAutohideMenu); + _wm.setMode(Graphics::kWMModeNoDesktop | Graphics::kWMModeAutohideMenu | Graphics::kWMModalMenuMode); _wm.setMenuHotzone(Common::Rect(0, 0, 640, 23)); _wm.setMenuDelay(250000); diff --git a/engines/pink/pink.cpp b/engines/pink/pink.cpp index f18df012ed..25c8f8818e 100644 --- a/engines/pink/pink.cpp +++ b/engines/pink/pink.cpp @@ -75,6 +75,9 @@ Common::Error PinkEngine::init() { _console = new Console(this); _director = new Director(); + _director->getWndManager()._engine = this; + _director->getWndManager()._pauseEngineCallback = &pauseEngine; + Common::String orbName; Common::String broName; if (isPeril()) { @@ -147,9 +150,7 @@ Common::Error Pink::PinkEngine::run() { } } - if (!_director->isMenuActive()) - _actor->update(); - + _actor->update(); _director->update(); _system->delayMillis(10); } @@ -157,6 +158,11 @@ Common::Error Pink::PinkEngine::run() { return Common::kNoError; } +void PinkEngine::pauseEngine(void *engine, bool pause) { + PinkEngine *vm = (PinkEngine*)engine; + vm->pauseEngineIntern(pause); +} + void PinkEngine::load(Archive &archive) { archive.readString(); archive.readString(); diff --git a/engines/pink/pink.h b/engines/pink/pink.h index 901717890d..faed498a8f 100644 --- a/engines/pink/pink.h +++ b/engines/pink/pink.h @@ -92,6 +92,8 @@ public: Common::Error saveGameState(int slot, const Common::String &desc) override; bool canSaveGameStateCurrently() override; + static void pauseEngine(void *engine, bool pause); // for MacWndMgr + friend class Console; protected: |