aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorwhiterandrek2018-05-25 21:15:46 +0300
committerEugene Sandulenko2018-06-28 23:51:32 +0200
commit1df85834a80a96150fca43aa764dc670d3d71162 (patch)
tree8e38d3ff3b29c54a1af8bd048b9e4ee226cd604c
parent4f13df48280c5d0a5c3701be557fdf486d2ae70b (diff)
downloadscummvm-rg350-1df85834a80a96150fca43aa764dc670d3d71162.tar.gz
scummvm-rg350-1df85834a80a96150fca43aa764dc670d3d71162.tar.bz2
scummvm-rg350-1df85834a80a96150fca43aa764dc670d3d71162.zip
PINK: add improved pause support
-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();