diff options
author | lukaslw | 2014-06-07 01:56:35 +0200 |
---|---|---|
committer | lukaslw | 2014-06-22 20:08:46 +0200 |
commit | 43732d60274bb44ae995ad294ba94c363460344a (patch) | |
tree | 658938bcd40790de2d72114f09d5ab1f69f6a1ef /engines/prince | |
parent | 3bd4ccac9795226e83e00658ae171818aad7f584 (diff) | |
download | scummvm-rg350-43732d60274bb44ae995ad294ba94c363460344a.tar.gz scummvm-rg350-43732d60274bb44ae995ad294ba94c363460344a.tar.bz2 scummvm-rg350-43732d60274bb44ae995ad294ba94c363460344a.zip |
PRINCE: pause() implementation
Diffstat (limited to 'engines/prince')
-rw-r--r-- | engines/prince/prince.cpp | 25 | ||||
-rw-r--r-- | engines/prince/prince.h | 1 |
2 files changed, 11 insertions, 15 deletions
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, ...); |