aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorFilippos Karapetis2012-09-28 01:49:37 +0300
committerFilippos Karapetis2012-09-28 01:49:37 +0300
commita297ae6195977530182c7e48b515f07e919348f0 (patch)
tree64189974cfa6d4aae9858aef0ae106f853ff25b5 /engines
parent17b42b557048baa876be0e7dfbf12de55edbff7a (diff)
downloadscummvm-rg350-a297ae6195977530182c7e48b515f07e919348f0.tar.gz
scummvm-rg350-a297ae6195977530182c7e48b515f07e919348f0.tar.bz2
scummvm-rg350-a297ae6195977530182c7e48b515f07e919348f0.zip
PARALLACTION: Add a workaround for the end credits of NS
The game scripts try to show a non-existing frame. We set it to an existing one here. Part of the fixes for bug #5866
Diffstat (limited to 'engines')
-rw-r--r--engines/parallaction/gfxbase.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/engines/parallaction/gfxbase.cpp b/engines/parallaction/gfxbase.cpp
index 8ef3c0fabf..a9889cc7af 100644
--- a/engines/parallaction/gfxbase.cpp
+++ b/engines/parallaction/gfxbase.cpp
@@ -226,6 +226,11 @@ void Gfx::drawGfxObject(GfxObj *obj, Graphics::Surface &surf) {
rect.translate(x, y);
data = obj->getData(obj->frame);
+ // WORKAROUND: During the end credits, game scripts try to show a
+ // non-existing frame. We change it to an existing one here.
+ if (obj->frame == 14 && obj->getNum() == 9 && !strcmp(obj->getName(), "Dinor"))
+ obj->frame = 8;
+
if (obj->getSize(obj->frame) == obj->getRawSize(obj->frame)) {
blt(rect, data, &surf, obj->layer, obj->scale, obj->transparentKey);
} else {