aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/pink/director.cpp2
-rw-r--r--engines/pink/pink.cpp12
-rw-r--r--engines/pink/pink.h2
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: