aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/sherlock/objects.h3
-rw-r--r--engines/sherlock/scene.cpp3
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