From 1df85834a80a96150fca43aa764dc670d3d71162 Mon Sep 17 00:00:00 2001 From: whiterandrek Date: Fri, 25 May 2018 21:15:46 +0300 Subject: PINK: add improved pause support --- engines/pink/director.cpp | 6 ++++++ engines/pink/director.h | 2 ++ engines/pink/pink.cpp | 5 +++++ engines/pink/pink.h | 3 +++ 4 files changed, 16 insertions(+) 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(); -- cgit v1.2.3