diff options
author | Filippos Karapetis | 2012-09-28 01:49:37 +0300 |
---|---|---|
committer | Filippos Karapetis | 2012-09-28 01:49:37 +0300 |
commit | a297ae6195977530182c7e48b515f07e919348f0 (patch) | |
tree | 64189974cfa6d4aae9858aef0ae106f853ff25b5 /engines | |
parent | 17b42b557048baa876be0e7dfbf12de55edbff7a (diff) | |
download | scummvm-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.cpp | 5 |
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 { |