aboutsummaryrefslogtreecommitdiff
path: root/engines/tucker
diff options
context:
space:
mode:
authorGregory Montoir2009-10-11 09:26:36 +0000
committerGregory Montoir2009-10-11 09:26:36 +0000
commitfc775204298965851279ca69a7628ee73107b442 (patch)
treef4cb2782295bcce66af2a30b7fe94bedf5898b2c /engines/tucker
parentd971b0737a76ed58678fc41b9efcb8cab8a8999f (diff)
downloadscummvm-rg350-fc775204298965851279ca69a7628ee73107b442.tar.gz
scummvm-rg350-fc775204298965851279ca69a7628ee73107b442.tar.bz2
scummvm-rg350-fc775204298965851279ca69a7628ee73107b442.zip
TUCKER: fix original game glitch (tracker item #2872385 - Fish swims out of aquarium)
svn-id: r44899
Diffstat (limited to 'engines/tucker')
-rw-r--r--engines/tucker/tucker.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/engines/tucker/tucker.cpp b/engines/tucker/tucker.cpp
index c0bf40c375..704cbf4dda 100644
--- a/engines/tucker/tucker.cpp
+++ b/engines/tucker/tucker.cpp
@@ -1228,6 +1228,13 @@ void TuckerEngine::updateData3() {
a->animCurrentCounter = a->animInitCounter;
a->drawFlag = 0;
}
+ if (_locationNum == 24 && i == 0) {
+ // workaround bug #2872385: update fish animation sequence for correct
+ // position in aquarium.
+ if (a->animInitCounter == 505 && a->animCurrentCounter == 513) {
+ a->animCurrentCounter = 525;
+ }
+ }
a->graphicNum = _staticData3Table[a->animCurrentCounter];
}
}
@@ -1528,9 +1535,9 @@ void TuckerEngine::updateSoundsTypes3_4() {
void TuckerEngine::drawData3() {
for (int i = 0; i < _locationAnimationsCount; ++i) {
- int num = _locationAnimationsTable[i].graphicNum;
- const Data *d = &_dataTable[num];
if (_locationAnimationsTable[i].drawFlag != 0) {
+ int num = _locationAnimationsTable[i].graphicNum;
+ const Data *d = &_dataTable[num];
Graphics::decodeRLE(_locationBackgroundGfxBuf + d->yDest * 640 + d->xDest, _data3GfxBuf + d->sourceOffset, d->xSize, d->ySize);
addDirtyRect(d->xDest, d->yDest, d->xSize, d->ySize);
}