aboutsummaryrefslogtreecommitdiff
path: root/engines/prince
diff options
context:
space:
mode:
authorlukaslw2014-06-07 01:56:35 +0200
committerlukaslw2014-06-22 20:08:46 +0200
commit43732d60274bb44ae995ad294ba94c363460344a (patch)
tree658938bcd40790de2d72114f09d5ab1f69f6a1ef /engines/prince
parent3bd4ccac9795226e83e00658ae171818aad7f584 (diff)
downloadscummvm-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.cpp25
-rw-r--r--engines/prince/prince.h1
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, ...);