diff options
author | Max Horn | 2010-04-16 11:00:13 +0000 |
---|---|---|
committer | Max Horn | 2010-04-16 11:00:13 +0000 |
commit | ae3962ce36cf558bf3fa5147fb4ec18f24686811 (patch) | |
tree | e4a0f50088abafc01490d5e0488cdd8b74d5945a /engines | |
parent | 418bcdad7d8ca5d15a20e206e1c2c0195c9071a1 (diff) | |
download | scummvm-rg350-ae3962ce36cf558bf3fa5147fb4ec18f24686811.tar.gz scummvm-rg350-ae3962ce36cf558bf3fa5147fb4ec18f24686811.tar.bz2 scummvm-rg350-ae3962ce36cf558bf3fa5147fb4ec18f24686811.zip |
Fix for bug #2987895: "DW2: graphical errors in video on Windows"
svn-id: r48665
Diffstat (limited to 'engines')
-rw-r--r-- | engines/tinsel/bmv.cpp | 36 |
1 files changed, 2 insertions, 34 deletions
diff --git a/engines/tinsel/bmv.cpp b/engines/tinsel/bmv.cpp index f6e44cea1c..938507c3f9 100644 --- a/engines/tinsel/bmv.cpp +++ b/engines/tinsel/bmv.cpp @@ -232,17 +232,8 @@ static void PrepBMV(byte *ScreenBeg, const byte *sourceData, int length, short d } switch (loopCtr) { - case 1: + case 1: { // @_rDelta: -#if 1 - if (forwardDirection) { - memcpy(dst, dst + ebx, byteLen); - dst += byteLen; - } else { - dst -= byteLen; - memcpy(dst + 1, dst + ebx + 1, byteLen); - } -#else const byte *saved_src = src; // Save the source pointer src = dst + ebx; // Point it to existing data @@ -254,45 +245,23 @@ static void PrepBMV(byte *ScreenBeg, const byte *sourceData, int length, short d } src = saved_src; -#endif break; + } case 2: // @_rRaw // Copy data from source to dest -#if 1 - if (forwardDirection) { - memcpy(dst, src, byteLen); - dst += byteLen; - src += byteLen; - } else { - dst -= byteLen; - src -= byteLen; - memcpy(dst + 1, src + 1, byteLen); - } -#else while (byteLen > 0) { *dst = *src; NEXT_BYTE(src); NEXT_BYTE(dst); --byteLen; } -#endif break; case 3: // @_rRun // Repeating run of data -#if 1 - if (forwardDirection) { - memset(dst, *(dst - 1), byteLen); - dst += byteLen; - } else { - eax = *(dst + 1); - dst -= byteLen; - memset(dst + 1, eax, byteLen); - } -#else eax = forwardDirection ? *(dst - 1) : *(dst + 1); while (byteLen > 0) { @@ -300,7 +269,6 @@ static void PrepBMV(byte *ScreenBeg, const byte *sourceData, int length, short d NEXT_BYTE(dst); --byteLen; } -#endif break; default: break; |