diff options
author | James Brown | 2002-10-13 15:51:06 +0000 |
---|---|---|
committer | James Brown | 2002-10-13 15:51:06 +0000 |
commit | 43bb5deec9ab7bfe4333688098c16beace533195 (patch) | |
tree | b15f03aeefc29016c9ff217838e6909f1ec7951e /scumm | |
parent | 60b58b4b87129f1f6e25aa8d71dfae8e1c800e1e (diff) | |
download | scummvm-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')
-rw-r--r-- | scumm/actor.cpp | 19 |
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; } |