diff options
Diffstat (limited to 'engines/sci/graphics/frameout.cpp')
-rw-r--r-- | engines/sci/graphics/frameout.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/engines/sci/graphics/frameout.cpp b/engines/sci/graphics/frameout.cpp index 9a44f07a60..c771b5c7a4 100644 --- a/engines/sci/graphics/frameout.cpp +++ b/engines/sci/graphics/frameout.cpp @@ -492,7 +492,6 @@ void GfxFrameout::kernelFrameout() { // warning("view %s %04x:%04x", _segMan->getObjectName(itemEntry->object), PRINT_REG(itemEntry->object)); - if (view->isSci2Hires()) { int16 dummyX = 0; view->adjustToUpscaledCoordinates(itemEntry->y, itemEntry->x); @@ -540,6 +539,13 @@ void GfxFrameout::kernelFrameout() { nsRect.right = (nsRect.right * scriptsRunningWidth) / _screen->getWidth(); } + if (g_sci->getGameId() == GID_PHANTASMAGORIA2) { + // HACK: Some (?) objects in Phantasmagoria 2 have no NS rect. Skip them for now. + // TODO: Remove once we figure out how Phantasmagoria 2 draws objects on screen. + if (lookupSelector(_segMan, itemEntry->object, SELECTOR(nsLeft), NULL, NULL) != kSelectorVariable) + continue; + } + writeSelectorValue(_segMan, itemEntry->object, SELECTOR(nsLeft), nsRect.left); writeSelectorValue(_segMan, itemEntry->object, SELECTOR(nsTop), nsRect.top); writeSelectorValue(_segMan, itemEntry->object, SELECTOR(nsRight), nsRect.right); |