aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/kyra_hof.cpp
diff options
context:
space:
mode:
authorFlorian Kagerer2008-05-25 13:30:18 +0000
committerFlorian Kagerer2008-05-25 13:30:18 +0000
commit48d3b34a75ad3a1c35e7efa7eaa1361f8b564afc (patch)
treee0322009abdfc597f4f01c2a4ed76f17423b805e /engines/kyra/kyra_hof.cpp
parentda222b1a4827062a94ec4ac5147aab1778a0f4aa (diff)
downloadscummvm-rg350-48d3b34a75ad3a1c35e7efa7eaa1361f8b564afc.tar.gz
scummvm-rg350-48d3b34a75ad3a1c35e7efa7eaa1361f8b564afc.tar.bz2
scummvm-rg350-48d3b34a75ad3a1c35e7efa7eaa1361f8b564afc.zip
- some pauseEngineIntern() code for the HOF sequence player (not tested)
svn-id: r32270
Diffstat (limited to 'engines/kyra/kyra_hof.cpp')
-rw-r--r--engines/kyra/kyra_hof.cpp33
1 files changed, 33 insertions, 0 deletions
diff --git a/engines/kyra/kyra_hof.cpp b/engines/kyra/kyra_hof.cpp
index 09388fb567..277b6532c8 100644
--- a/engines/kyra/kyra_hof.cpp
+++ b/engines/kyra/kyra_hof.cpp
@@ -177,6 +177,39 @@ KyraEngine_HoF::~KyraEngine_HoF() {
_timOpcodes.clear();
}
+void KyraEngine_HoF::pauseEngineIntern(bool pause) {
+ KyraEngine_v2::pauseEngineIntern(pause);
+
+ if (!pause) {
+ uint32 pausedTime = _system->getMillis() - _pauseStart;
+ _pauseStart = 0;
+
+ // sequence player
+ //
+ // Timers in KyraEngine_HoF::seq_cmpFadeFrame() and KyraEngine_HoF::seq_animatedSubFrame()
+ // have been left out for now. I think we don't need them here.
+
+ _seqStartTime += pausedTime;
+ _seqSubFrameStartTime += pausedTime;
+ _seqEndTime += pausedTime;
+ _seqSubFrameEndTimeInternal += pausedTime;
+ _seqWsaChatTimeout += pausedTime;
+ _seqWsaChatFrameTimeout += pausedTime;
+
+ for (int x = 0; x < 10; x++) {
+ if (_activeText[x].duration != -1)
+ _activeText[x].startTime += pausedTime;
+ }
+
+ for (int x = 0; x < 8; x++) {
+ if (_activeWSA[x].flags == -1)
+ _activeWSA[x].nextFrame += pausedTime;
+ }
+
+ // TODO: item animation, idle animation, tim player, etc
+ }
+}
+
int KyraEngine_HoF::init() {
_screen = new Screen_HoF(this, _system);
assert(_screen);