aboutsummaryrefslogtreecommitdiff
path: root/engines/tucker
diff options
context:
space:
mode:
authorGregory Montoir2011-02-17 15:42:28 +0100
committerGregory Montoir2011-02-18 15:18:44 +0100
commit3557ff5747cbbc8578f2b7ef934b3344d252e4a0 (patch)
tree7e9be4eb994dac70bc30e696dd045a28f61bdaad /engines/tucker
parenta0d74d0459a05bcbd3f1973eb2c072553c12d13d (diff)
downloadscummvm-rg350-3557ff5747cbbc8578f2b7ef934b3344d252e4a0.tar.gz
scummvm-rg350-3557ff5747cbbc8578f2b7ef934b3344d252e4a0.tar.bz2
scummvm-rg350-3557ff5747cbbc8578f2b7ef934b3344d252e4a0.zip
TUCKER: fix #3106536 - Punk stuck (moving in background)
Diffstat (limited to 'engines/tucker')
-rw-r--r--engines/tucker/locations.cpp2
-rw-r--r--engines/tucker/tucker.cpp4
2 files changed, 4 insertions, 2 deletions
diff --git a/engines/tucker/locations.cpp b/engines/tucker/locations.cpp
index ed528042cc..d99208edc0 100644
--- a/engines/tucker/locations.cpp
+++ b/engines/tucker/locations.cpp
@@ -676,7 +676,7 @@ void TuckerEngine::execData3PostUpdate_locationNum8() {
void TuckerEngine::updateSprite_locationNum9_0(int i) {
if (_charSpeechSoundCounter > 0 && _actionCharacterNum == 0) {
- _spritesTable[0].needUpdate = 1;
+ _spritesTable[i].needUpdate = 1;
_spritesTable[i].state = 3;
} else if (_updateLocationCounter2 > 0 || getRandomNumber() > 30000) {
_spritesTable[i].state = 1;
diff --git a/engines/tucker/tucker.cpp b/engines/tucker/tucker.cpp
index ad10b5b73a..754ec218c6 100644
--- a/engines/tucker/tucker.cpp
+++ b/engines/tucker/tucker.cpp
@@ -1921,7 +1921,9 @@ void TuckerEngine::drawSprite(int num) {
Graphics::decodeRLE_248(dstPtr, srcPtr, srcW, srcH, 0, s->yMaxBackground, s->flipX != 0);
break;
}
- addDirtyRect(xPos, srcY, srcW, srcH);
+ const int xR = srcX + (s->gfxBackgroundOffset % 640);
+ const int yR = srcY + (s->gfxBackgroundOffset / 640);
+ addDirtyRect(xR, yR, srcW, srcH);
}
}