aboutsummaryrefslogtreecommitdiff
path: root/scumm/smush/codec47.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'scumm/smush/codec47.cpp')
-rw-r--r--scumm/smush/codec47.cpp24
1 files changed, 2 insertions, 22 deletions
diff --git a/scumm/smush/codec47.cpp b/scumm/smush/codec47.cpp
index f3f5858c69..f2a074402d 100644
--- a/scumm/smush/codec47.cpp
+++ b/scumm/smush/codec47.cpp
@@ -21,6 +21,7 @@
#include "stdafx.h"
#include "codec47.h"
+#include "scumm/bomp.h"
#include "common/engine.h"
@@ -472,27 +473,6 @@ void Codec47Decoder::makeTables47(int32 width) {
} while (c < 32768);
}
-void Codec47Decoder::bompDecode(byte *dst, const byte *src, int len) {
- byte code;
- byte color;
- int32 num;
-
- do {
- code = *src++;
- num = (code >> 1) + 1;
- if (code & 1) {
- color = *src++;
- memset(dst, color, num);
- } else {
- memcpy(dst, src, num);
- src += num;
- }
- dst += num;
- len -= num;
- } while (len > 0);
- assert(len == 0);
-}
-
void Codec47Decoder::level3(byte *d_dst) {
int32 tmp;
byte code = *_d_src++;
@@ -740,7 +720,7 @@ bool Codec47Decoder::decode(byte *dst, const byte *src) {
memcpy(_curBuf, _deltaBufs[0], _frameSize);
break;
case 5:
- bompDecode(_curBuf, gfx_data, READ_LE_UINT32(src + 14));
+ bompDecodeLine(_curBuf, gfx_data, READ_LE_UINT32(src + 14));
break;
}