aboutsummaryrefslogtreecommitdiff
path: root/scumm/actor.cpp
diff options
context:
space:
mode:
authorJames Brown2002-10-13 15:51:06 +0000
committerJames Brown2002-10-13 15:51:06 +0000
commit43bb5deec9ab7bfe4333688098c16beace533195 (patch)
treeb15f03aeefc29016c9ff217838e6909f1ec7951e /scumm/actor.cpp
parent60b58b4b87129f1f6e25aa8d71dfae8e1c800e1e (diff)
downloadscummvm-rg350-43bb5deec9ab7bfe4333688098c16beace533195.tar.gz
scummvm-rg350-43bb5deec9ab7bfe4333688098c16beace533195.tar.bz2
scummvm-rg350-43bb5deec9ab7bfe4333688098c16beace533195.zip
Patch 622632: FT fuel-tower scale hack improvement
svn-id: r5141
Diffstat (limited to 'scumm/actor.cpp')
-rw-r--r--scumm/actor.cpp19
1 files changed, 15 insertions, 4 deletions
diff --git a/scumm/actor.cpp b/scumm/actor.cpp
index f1262a313c..3c6ddf272f 100644
--- a/scumm/actor.cpp
+++ b/scumm/actor.cpp
@@ -373,13 +373,24 @@ void Actor::setupActorScale()
scale = resptr[theY];
}
+ // FIXME - Quick fix to ft's fuel tower bug (by yazoo)
+ //
+ // Ben's Y position can be anything between 272 and 398 inclusive
+ // (which by the way means that we're always looking at the same
+ // element in the scale table... hmmm...)
+ //
+ // When standing at the bottom of the ladder, Ben's Y position is
+ // 356, and by the looks of it he ought to be unscaled there.
+
+ if (scale == 1 && _vm->_currentRoom == 76) {
+ scale = 0xff;
+ if (y < 356)
+ scale -= 2 * (356 - y);
+ }
+
if (scale > 255)
warning("Actor %d at %d, scale %d out of range", number, y, scale);
- // FIXME - Quick fix to ft's fuel tower bug (by yazoo)
- if (scale == 1 && _vm->_currentRoom == 76)
- scale = 0xFF;
-
scalex = (byte)scale;
scaley = (byte)scale;
}