diff options
-rw-r--r-- | engines/sherlock/objects.h | 3 | ||||
-rw-r--r-- | engines/sherlock/scene.cpp | 3 |
2 files changed, 5 insertions, 1 deletions
diff --git a/engines/sherlock/objects.h b/engines/sherlock/objects.h index 9e43c087b8..8099c6b74f 100644 --- a/engines/sherlock/objects.h +++ b/engines/sherlock/objects.h @@ -117,6 +117,9 @@ public: void adjustSprite(); void checkSprite(); + + int frameWidth() const { return _imageFrame ? _imageFrame->_frame.w : 0; } + int frameHeight() const { return _imageFrame ? _imageFrame->_frame.h : 0; } }; struct ActionType { diff --git a/engines/sherlock/scene.cpp b/engines/sherlock/scene.cpp index 2133da5056..9f549b4312 100644 --- a/engines/sherlock/scene.cpp +++ b/engines/sherlock/scene.cpp @@ -777,7 +777,8 @@ void Scene::updateBackground() { player._sequenceNumber == WALK_DOWNRIGHT || player._sequenceNumber == STOP_DOWNRIGHT; surface.transBlitFrom(player._imageFrame->_frame, - Common::Point(player._position.x / 100, player._position.y / 100), flipped); + Common::Point(player._position.x / 100, + player._position.y / 100 - player.frameHeight()), flipped); } // Draw all static and active shapes that are NORMAL and are in front of the player |