From 5127f1a8f12f409f5ab973fe821981d4fb25b9ab Mon Sep 17 00:00:00 2001 From: Sven Hesse Date: Sat, 17 May 2008 04:07:16 +0000 Subject: [PATCH] Fixing the "object videos not minding drawing order / limits" glitch in Woodruff svn-id: r32146 --- engines/gob/mult_v2.cpp | 2 +- engines/gob/scenery.cpp | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/engines/gob/mult_v2.cpp b/engines/gob/mult_v2.cpp index 8a299649c74..ebbcf407c6a 100644 --- a/engines/gob/mult_v2.cpp +++ b/engines/gob/mult_v2.cpp @@ -755,7 +755,7 @@ void Mult_v2::newCycleAnim(Mult_Object &animObj) { animData.frame = 0; if ((animData.animation < 0) && (animObj.videoSlot > 0)) { _vm->_vidPlayer->slotClose(animObj.videoSlot - 1); - animObj.videoSlot = 0; + animObj.videoSlot = 0; } break; diff --git a/engines/gob/scenery.cpp b/engines/gob/scenery.cpp index 25df5b7e712..fa7944c203f 100644 --- a/engines/gob/scenery.cpp +++ b/engines/gob/scenery.cpp @@ -623,8 +623,8 @@ void Scenery::updateAnim(int16 layer, int16 frame, int16 animation, int16 flags, Mult::Mult_Object &obj = _vm->_mult->_objects[-animation - 1]; - if (!_vm->_vidPlayer->slotIsOpen(obj.videoSlot - 1)) { - _toRedrawLeft = -1234; + if ((obj.videoSlot == 0) || !_vm->_vidPlayer->slotIsOpen(obj.videoSlot - 1)) { + _toRedrawLeft = -12345; return; } @@ -736,7 +736,7 @@ void Scenery::updateAnim(int16 layer, int16 frame, int16 animation, int16 flags, } - if (flags & 4) { + if (!(flags & 4)) { _animLeft = _toRedrawLeft = left; _animTop = _toRedrawTop = top; _animRight = _toRedrawRight = right;