aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Horn2011-05-14 16:29:28 +0200
committerMax Horn2011-05-16 00:34:52 +0200
commit26f8321fc986213ec3fdc1dd656c9f9a83f85b11 (patch)
tree50d0c0bbb6eaef73353c98714c9afb2d3bdb9505
parentb23dfd72f123c7d98c5076d813e522834888588a (diff)
downloadscummvm-rg350-26f8321fc986213ec3fdc1dd656c9f9a83f85b11.tar.gz
scummvm-rg350-26f8321fc986213ec3fdc1dd656c9f9a83f85b11.tar.bz2
scummvm-rg350-26f8321fc986213ec3fdc1dd656c9f9a83f85b11.zip
SCUMM: Workaround bug #1463598 (INDY3VGA: giant Henry Jones sr.)
(cherry picked from commit 47a7b65dc149149ff00baacf9fa76ce0fcaedfd2)
-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 13581c4b45..9ea66807f0 100644
--- a/engines/scumm/actor.cpp
+++ b/engines/scumm/actor.cpp
@@ -177,9 +177,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() {