aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/pink/director.cpp6
-rw-r--r--engines/pink/director.h2
-rw-r--r--engines/pink/pink.cpp5
-rw-r--r--engines/pink/pink.h3
4 files changed, 16 insertions, 0 deletions
diff --git a/engines/pink/director.cpp b/engines/pink/director.cpp
index 14aa40db3c..b6f1614f9d 100644
--- a/engines/pink/director.cpp
+++ b/engines/pink/director.cpp
@@ -139,4 +139,10 @@ Actor *Director::getActorByPoint(Common::Point point) {
return nullptr;
}
+void Director::pause(bool pause) {
+ for (uint i = 0; i < _sprites.size() ; ++i) {
+ _sprites[i]->getDecoder()->pauseVideo(pause);
+ }
+}
+
}
diff --git a/engines/pink/director.h b/engines/pink/director.h
index 99622e3c0b..053a01a0a2 100644
--- a/engines/pink/director.h
+++ b/engines/pink/director.h
@@ -51,6 +51,8 @@ public:
void clear();
+ void pause(bool pause);
+
bool showBounds;
private:
diff --git a/engines/pink/pink.cpp b/engines/pink/pink.cpp
index 62bb4f4422..edbf8d93e0 100644
--- a/engines/pink/pink.cpp
+++ b/engines/pink/pink.cpp
@@ -291,6 +291,11 @@ bool PinkEngine::hasFeature(Engine::EngineFeature f) const {
f == kSupportsSavingDuringRuntime;
}
+void PinkEngine::pauseEngineIntern(bool pause) {
+ Engine::pauseEngineIntern(pause);
+ _director.pause(pause);
+}
+
Common::String generateSaveName(int slot, const char *gameId) {
return Common::String::format("%s.s%02d", gameId, slot);
}
diff --git a/engines/pink/pink.h b/engines/pink/pink.h
index caa5b02ca3..1e0f703ec5 100644
--- a/engines/pink/pink.h
+++ b/engines/pink/pink.h
@@ -111,6 +111,9 @@ public:
void setVariable(Common::String &variable, Common::String &value);
bool checkValueOfVariable(Common::String &variable, Common::String &value);
+protected:
+ virtual void pauseEngineIntern(bool pause);
+
private:
Common::Error init();
bool loadCursors();