aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
Diffstat (limited to 'engines')
-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);
}