diff options
-rw-r--r-- | NEWS | 5 | ||||
-rw-r--r-- | engines/tinsel/bmv.cpp | 36 |
2 files changed, 6 insertions, 35 deletions
@@ -12,7 +12,10 @@ For a more comprehensive changelog for the latest experimental SVN code, see: KYRA: - Fixed a bug which caused the DOS versions to crash before the credits when AdLib music is selected. - + + Tinsel: + - Fix video playback regression in Discworld 2. + PSP port: (Also forgot to mention in 1.1.0) - Added plugin support which allows the PSP Phat to run every game. - Added a new virtual keyboard optimized for rapid D-Pad input. 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; |