diff options
author | Max Horn | 2004-07-18 23:41:49 +0000 |
---|---|---|
committer | Max Horn | 2004-07-18 23:41:49 +0000 |
commit | 904493bb760570c10738bdb73f28a531ff70af30 (patch) | |
tree | 733b990912b71a640fc1a9a183638baf75a06b9a /scumm | |
parent | fb88830bd6bffef66d8e96ac2e77be5dbed2252e (diff) | |
download | scummvm-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')
-rw-r--r-- | scumm/actor.cpp | 11 |
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, |