aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorTravis Howell2006-06-14 12:22:24 +0000
committerTravis Howell2006-06-14 12:22:24 +0000
commit6fe3d3214d98df513fbe59eb79b7951ee6b0174b (patch)
treec4b5762c10c20bdd4e768020d636e0ca3a3aec13 /engines
parent7afb55604b3d1cc34f2eb0cf4103355240e4fb86 (diff)
downloadscummvm-rg350-6fe3d3214d98df513fbe59eb79b7951ee6b0174b.tar.gz
scummvm-rg350-6fe3d3214d98df513fbe59eb79b7951ee6b0174b.tar.bz2
scummvm-rg350-6fe3d3214d98df513fbe59eb79b7951ee6b0174b.zip
Fix the shadow glitches in HE98 version of puttrace, the shadow mode isn't reset in HE90-98 games.
svn-id: r23104
Diffstat (limited to 'engines')
-rw-r--r--engines/scumm/akos.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/engines/scumm/akos.cpp b/engines/scumm/akos.cpp
index bce6a872cb..42c1a04fa5 100644
--- a/engines/scumm/akos.cpp
+++ b/engines/scumm/akos.cpp
@@ -388,6 +388,9 @@ byte AkosRenderer::drawLimb(const Actor *a, int limb) {
if (code & 0x80)
code = READ_BE_UINT16(p);
+ if (_vm->_game.heversion >= 90)
+ _shadow_mode = 0;
+
if (code == AKC_C021 || code == AKC_C022) {
uint16 s = cost.curpos[limb] + 4;
uint j = 0;
@@ -498,7 +501,10 @@ byte AkosRenderer::drawLimb(const Actor *a, int limb) {
continue;
if (_vm->_game.heversion >= 90) {
- _shadow_mode = ((shadowMask & 0x8000) && xmap) ? 3 : 0;
+ if (_vm->_game.heversion >= 99)
+ _shadow_mode = 0;
+ if (xmap && (shadowMask & 0x8000))
+ _shadow_mode = 3;
}
switch (codec) {