aboutsummaryrefslogtreecommitdiff
path: root/scumm/actor.cpp
diff options
context:
space:
mode:
authorMax Horn2004-07-18 23:41:49 +0000
committerMax Horn2004-07-18 23:41:49 +0000
commit904493bb760570c10738bdb73f28a531ff70af30 (patch)
tree733b990912b71a640fc1a9a183638baf75a06b9a /scumm/actor.cpp
parentfb88830bd6bffef66d8e96ac2e77be5dbed2252e (diff)
downloadscummvm-rg350-904493bb760570c10738bdb73f28a531ff70af30.tar.gz
scummvm-rg350-904493bb760570c10738bdb73f28a531ff70af30.tar.bz2
scummvm-rg350-904493bb760570c10738bdb73f28a531ff70af30.zip
Hack to work around bug #775097 - probably wrong, probably will cause regressions, probably should be undone soon -- but it's an experiment ;-)
svn-id: r14268
Diffstat (limited to 'scumm/actor.cpp')
-rw-r--r--scumm/actor.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/scumm/actor.cpp b/scumm/actor.cpp
index 1f2ba4fb93..890bef63d9 100644
--- a/scumm/actor.cpp
+++ b/scumm/actor.cpp
@@ -895,6 +895,17 @@ static int compareDrawOrder(const void* a, const void* b)
if (diff > 0)
return +1;
+ // FIXME: This hack works around bug #775097. It's probably wrong, though :-/
+ // Would be interesting if somebody could check the disassembly (see also the
+ // comment on the above mentioned tracker item).
+ if (g_scumm->_gameId == GID_TENTACLE) {
+ diff = actor1->forceClip - actor2->forceClip;
+ if (diff < 0)
+ return -1;
+ if (diff > 0)
+ return +1;
+ }
+
// The qsort() function is not guaranteed to be stable (i.e. it may
// re-order "equal" elements in an array it sorts). Hence we use the
// actor number as tie-breaker. This is needed for the Sam & Max intro,