From 43732d60274bb44ae995ad294ba94c363460344a Mon Sep 17 00:00:00 2001 From: lukaslw Date: Sat, 7 Jun 2014 01:56:35 +0200 Subject: PRINCE: pause() implementation --- engines/prince/prince.cpp | 25 ++++++++++--------------- engines/prince/prince.h | 1 + 2 files changed, 11 insertions(+), 15 deletions(-) (limited to 'engines/prince') diff --git a/engines/prince/prince.cpp b/engines/prince/prince.cpp index 93c82701a9..240133fbed 100644 --- a/engines/prince/prince.cpp +++ b/engines/prince/prince.cpp @@ -1264,6 +1264,13 @@ void PrinceEngine::drawScreen() { _graph->update(); } +void PrinceEngine::pause() { + uint32 currentTime = _system->getMillis(); + int delay = 1000/15 - int32(_system->getMillis() - currentTime); + delay = delay < 0 ? 0 : delay; + _system->delayMillis(delay); +} + void PrinceEngine::addInvObj() { changeCursor(0); // turn on cursor later? //prepareInventoryToView(); @@ -1276,35 +1283,23 @@ void PrinceEngine::addInvObj() { _mst_shadow2 = 1; while (_mst_shadow2 < 512) { - uint32 currentTime = _system->getMillis(); displayInventory(); - //getDebugger()->onFrame(); _graph->update(); _mst_shadow2 += 50; - int delay = 1000/15 - int32(_system->getMillis() - currentTime); - delay = delay < 0 ? 0 : delay; - _system->delayMillis(delay); + pause(); } while (_mst_shadow2 > 256) { - uint32 currentTime = _system->getMillis(); displayInventory(); - //getDebugger()->onFrame(); _graph->update(); _mst_shadow2 -= 42; - int delay = 1000/15 - int32(_system->getMillis() - currentTime); - delay = delay < 0 ? 0 : delay; - _system->delayMillis(delay); + pause(); } _mst_shadow2 = 0; for (int i = 0; i < 20; i++) { - uint32 currentTime = _system->getMillis(); displayInventory(); - //getDebugger()->onFrame(); _graph->update(); - int delay = 1000/15 - int32(_system->getMillis() - currentTime); - delay = delay < 0 ? 0 : delay; - _system->delayMillis(delay); + pause(); } } else { diff --git a/engines/prince/prince.h b/engines/prince/prince.h index 2822c5099e..cb80529d4e 100644 --- a/engines/prince/prince.h +++ b/engines/prince/prince.h @@ -324,6 +324,7 @@ private: void runDrawNodes(); void freeDrawNodes(); void makeShadowTable(int brightness); + void pause(); uint32 getTextWidth(const char *s); void debugEngine(const char *s, ...); -- cgit v1.2.3