aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Horn2011-05-14 16:29:28 +0200
committerMax Horn2011-05-14 16:30:31 +0200
commit47a7b65dc149149ff00baacf9fa76ce0fcaedfd2 (patch)
tree9b3dc9d52fa4c5c941c216696ac8da6ac58030ad
parentdc85f5c473bebc59378dad5f99dede059d68c59d (diff)
downloadscummvm-rg350-47a7b65dc149149ff00baacf9fa76ce0fcaedfd2.tar.gz
scummvm-rg350-47a7b65dc149149ff00baacf9fa76ce0fcaedfd2.tar.bz2
scummvm-rg350-47a7b65dc149149ff00baacf9fa76ce0fcaedfd2.zip
SCUMM: Workaround bug #1463598 (INDY3VGA: giant Henry Jones sr.)
-rw-r--r--engines/scumm/actor.cpp18
1 files changed, 15 insertions, 3 deletions
diff --git a/engines/scumm/actor.cpp b/engines/scumm/actor.cpp
index 32d1af07ba..25a26f6cf2 100644
--- a/engines/scumm/actor.cpp
+++ b/engines/scumm/actor.cpp
@@ -174,9 +174,21 @@ void Actor::setBox(int box) {
}
void Actor_v3::setupActorScale() {
- // TODO: The following could probably be removed
- _scalex = 0xFF;
- _scaley = 0xFF;
+ // WORKAROUND bug #1463598: Under certain circumstances, it is possible
+ // for Henry Sr. to reach the front side of Castle Brunwald (following
+ // Indy there). But it seems the game has no small costume for Henry,
+ // hence he is shown as a giant, triple in size compared to Indy.
+ // To workaround this, we override the scale of Henry. Since V3 games
+ // like Indy3 don't use the costume scale otherwise, this works fine.
+ // The scale factor 0x50 was determined by some guess work.
+ if (_number == 2 && _costume == 7 && _vm->_game.id == GID_INDY3 && _vm->_currentRoom == 12) {
+ _scalex = 0x50;
+ _scaley = 0x50;
+ } else {
+ // TODO: The following could probably be removed
+ _scalex = 0xFF;
+ _scaley = 0xFF;
+ }
}
void Actor::setupActorScale() {