aboutsummaryrefslogtreecommitdiff
path: root/kyra/kyra.cpp
diff options
context:
space:
mode:
authorJohannes Schickel2006-01-03 19:03:09 +0000
committerJohannes Schickel2006-01-03 19:03:09 +0000
commitf046a14bb22f1d6c138ed82efa03d5ff89ae85e0 (patch)
treed22406fef62e5982865fccede353ce8658e793a5 /kyra/kyra.cpp
parent025aa4dbb4f714ad88c469411265be8ddd28fd2e (diff)
downloadscummvm-rg350-f046a14bb22f1d6c138ed82efa03d5ff89ae85e0.tar.gz
scummvm-rg350-f046a14bb22f1d6c138ed82efa03d5ff89ae85e0.tar.bz2
scummvm-rg350-f046a14bb22f1d6c138ed82efa03d5ff89ae85e0.zip
Fixed some bugs with the timers.
also implemented: cmd_dispelMagicAnimation and cmd_runWSAFrames and implemented color fading of the kyragem in room 210. svn-id: r19898
Diffstat (limited to 'kyra/kyra.cpp')
-rw-r--r--kyra/kyra.cpp18
1 files changed, 11 insertions, 7 deletions
diff --git a/kyra/kyra.cpp b/kyra/kyra.cpp
index 422b3da563..2a5e8be8ae 100644
--- a/kyra/kyra.cpp
+++ b/kyra/kyra.cpp
@@ -295,7 +295,7 @@ int KyraEngine::init(GameDetector &detector) {
assert(_sprites);
_seq = new SeqPlayer(this, _system);
assert(_seq);
- _animator = new ScreenAnimator(this);
+ _animator = new ScreenAnimator(this, _system);
assert(_animator);
_animator->init(5, 11, 12);
assert(*_animator);
@@ -623,7 +623,7 @@ void KyraEngine::delay(uint32 amount, bool update) {
_animator->updateAllObjectShapes();
if (_currentCharacter->sceneId == 210) {
- //XXX
+ _animator->updateKyragemFading();
}
if (amount > 0) {
@@ -668,6 +668,10 @@ void KyraEngine::mainLoop() {
while (!_quitFlag) {
int32 frameTime = (int32)_system->getMillis();
+ if (_currentCharacter->sceneId == 210) {
+ _animator->updateKyragemFading();
+ // XXX
+ }
if (_brandonStatusBit & 2) {
if (_brandonStatusBit0x02Flag)
@@ -780,10 +784,10 @@ void KyraEngine::delayWithTicks(int ticks) {
while (_system->getMillis() < nextTime) {
_sprites->updateSceneAnims();
_animator->updateAllObjectShapes();
- //if (_currentCharacter->sceneId == 210) {
- // updateKyragemFading();
+ if (_currentCharacter->sceneId == 210) {
+ _animator->updateKyragemFading();
// seq_playEnd();
- //}
+ }
}
}
@@ -2066,7 +2070,7 @@ void KyraEngine::setCharacterPositionWithUpdate(int character) {
updateTextFade();
if (_currentCharacter->sceneId == 210) {
- // XXX game_updateKyragemFading
+ _animator->updateKyragemFading();
}
}
@@ -4892,7 +4896,7 @@ int KyraEngine::processSceneChange(int *table, int unk1, int frameReset) {
_animator->updateAllObjectShapes();
updateTextFade();
if (_currentCharacter->sceneId == 210) {
- // XXX updateKyragemFading
+ _animator->updateKyragemFading();
// XXX playEnd
// XXX
}