diff options
author | Filippos Karapetis | 2011-10-20 00:46:42 +0300 |
---|---|---|
committer | Filippos Karapetis | 2011-10-20 00:47:53 +0300 |
commit | 228c4fb2869fe9394cb437307cb7125141487546 (patch) | |
tree | 9e98a983e6c15a006eb1711b73032252a2f4fce0 /engines/sci/graphics | |
parent | d1956307f836376edbf154029ec6b3609522a54c (diff) | |
download | scummvm-rg350-228c4fb2869fe9394cb437307cb7125141487546.tar.gz scummvm-rg350-228c4fb2869fe9394cb437307cb7125141487546.tar.bz2 scummvm-rg350-228c4fb2869fe9394cb437307cb7125141487546.zip |
SCI: Added a hack to fix bug #3035693 - "SCI: QFG3 demo: Rope swinging more heroic than ever"
Diffstat (limited to 'engines/sci/graphics')
-rw-r--r-- | engines/sci/graphics/view.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/engines/sci/graphics/view.cpp b/engines/sci/graphics/view.cpp index d5c52bfb59..e095cde697 100644 --- a/engines/sci/graphics/view.cpp +++ b/engines/sci/graphics/view.cpp @@ -172,6 +172,20 @@ void GfxView::initData(GuiResourceId resourceId) { cel->displaceX = (signed char)celData[4]; cel->displaceY = celData[5]; cel->clearKey = celData[6]; + + // HACK: Fix Ego's odd displacement in the QFG3 demo, scene 740. + // For some reason, ego jumps above the rope, so we fix his rope + // hanging view by displacing it down by 40 pixels. Fixes bug + // #3035693. + // FIXME: Remove this once we figure out why Ego jumps so high. + // Likely culprits include kInitBresen, kDoBresen and kCantBeHere. + // The scripts have the y offset that hero reaches (11) hardcoded, + // so it might be collision detection. However, since this requires + // extensive work to fix properly for very little gain, this hack + // here will suffice until the actual issue is found. + if (g_sci->getGameId() == GID_QFG3 && g_sci->isDemo() && resourceId == 39) + cel->displaceY = 98; + if (isEGA) { cel->offsetEGA = celOffset + 7; cel->offsetRLE = 0; |