diff options
-rw-r--r-- | engines/fullpipe/gfx.cpp | 2 | ||||
-rw-r--r-- | engines/fullpipe/statics.cpp | 12 |
2 files changed, 7 insertions, 7 deletions
diff --git a/engines/fullpipe/gfx.cpp b/engines/fullpipe/gfx.cpp index d680d32790..131396c7f7 100644 --- a/engines/fullpipe/gfx.cpp +++ b/engines/fullpipe/gfx.cpp @@ -1065,7 +1065,7 @@ void Shadows::initMovement(Movement *mov) { _items[0].height = point.y; for (uint i = 1; i < num; i++) { - _items[i].dynPhase = mov->getDynamicPhaseByIndex(i); + _items[i].dynPhase = mov->getDynamicPhaseByIndex(i - 1); _items[i].dynPhase->getDimensions(&point); _items[i].width = point.x; _items[i].height = point.y; diff --git a/engines/fullpipe/statics.cpp b/engines/fullpipe/statics.cpp index 46d48d5d29..a44093b135 100644 --- a/engines/fullpipe/statics.cpp +++ b/engines/fullpipe/statics.cpp @@ -492,18 +492,18 @@ void StaticANIObject::draw() { DynamicPhase *shd = g_fullpipe->_currentScene->_shadows->findSize(rect.width(), rect.height()); if (shd) { shd->getDimensions(&point); - int midx = _ox - shd->_x / 2 - dyn->_someX; - int midy = _oy - shd->_y / 2 - dyn->_someY + rect.bottom - 3; - int shdy = shd->_y; + int midx = _ox - point.x / 2 - dyn->_someX; + int midy = _oy - point.y / 2 - dyn->_someY + rect.bottom - 3; + int shdw = point.y; int px; - if (!_movement || _flags & 0x20 ) + if (!_movement || (_flags & 0x20)) px = _statics->getCenter(&point)->x; else px = _movement->getCenter(&point)->x; if (_shadowsOn != 1) - midy = _shadowsOn - shdy / 2; + midy = _shadowsOn - shdw / 2; shd->draw(px + midx, midy, 0, 0); } @@ -1589,7 +1589,7 @@ Common::Point *Movement::getCenter(Common::Point *p) { if (_currMovement) { Common::Point point; - getDimensionsOfPhase(&point, _currDynamicPhaseIndex); + _currMovement->getDimensionsOfPhase(&point, _currDynamicPhaseIndex); rect.moveTo(point.x - _currDynamicPhase->_rect->right, _currDynamicPhase->_rect->top); } |