aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaweł Kołodziejski2003-08-18 15:13:15 +0000
committerPaweł Kołodziejski2003-08-18 15:13:15 +0000
commitc9b054462532325548d02ee01e147d2b3e991b40 (patch)
tree59666bf91870f445c290ed8dc762282443743299
parent487084e5ad8a2557b060e1c5ff5b99094379f804 (diff)
downloadscummvm-rg350-c9b054462532325548d02ee01e147d2b3e991b40.tar.gz
scummvm-rg350-c9b054462532325548d02ee01e147d2b3e991b40.tar.bz2
scummvm-rg350-c9b054462532325548d02ee01e147d2b3e991b40.zip
some changes for smush codec 1 and 3, handled by bomp decompression
svn-id: r9766
-rw-r--r--scumm/bomp.cpp2
-rw-r--r--scumm/bomp.h1
-rw-r--r--scumm/smush/smush_player.cpp8
3 files changed, 3 insertions, 8 deletions
diff --git a/scumm/bomp.cpp b/scumm/bomp.cpp
index d747829114..3798a32333 100644
--- a/scumm/bomp.cpp
+++ b/scumm/bomp.cpp
@@ -27,8 +27,6 @@
static void bompScaleFuncX(byte *line_buffer, byte *scaling_x_ptr, byte skip, int32 size);
-static void bompDecodeLineReverse(byte *dst, const byte *src, int size);
-
static void bompApplyShadow0(const byte *line_buffer, byte *dst, int32 size, byte transparency);
static void bompApplyShadow1(const byte *shadowPalette, const byte *line_buffer, byte *dst, int32 size, byte transparency);
static void bompApplyShadow3(const byte *shadowPalette, const byte *line_buffer, byte *dst, int32 size, byte transparency);
diff --git a/scumm/bomp.h b/scumm/bomp.h
index 04e1260b28..386698bbab 100644
--- a/scumm/bomp.h
+++ b/scumm/bomp.h
@@ -29,5 +29,6 @@ void bompApplyShadow(int shadowMode, const byte *shadowPalette, const byte *line
void decompressBomp(byte *dst, const byte *src, int w, int h);
void bompDecodeLine(byte *dst, const byte *src, int size);
+void bompDecodeLineReverse(byte *dst, const byte *src, int size);
#endif
diff --git a/scumm/smush/smush_player.cpp b/scumm/smush/smush_player.cpp
index 214c8d9812..44b9a46f3d 100644
--- a/scumm/smush/smush_player.cpp
+++ b/scumm/smush/smush_player.cpp
@@ -712,8 +712,8 @@ void SmushPlayer::handleFrameObject(Chunk &b) {
switch (codec) {
case 1:
+ bompDecodeLine(_dst, chunk_buffer, chunk_size);
case 3:
-#if 1
// FIXME: I am not 100% sure if this is correct. I tried to test this,
// but the only place I found codec 1 being used was in FT.
// But either is the codec only used to encode all-black frames, or
@@ -722,11 +722,7 @@ void SmushPlayer::handleFrameObject(Chunk &b) {
// BTW regarding codec 3: I haven't yet actually seen it being used,
// but is it really identical to codec 1? Or isn't it maybe a
// 'reverse' version (see also bompDecodeLineReverse).
- decompressBomp(_dst, chunk_buffer, _width, _height);
-#else
- extern void smush_decode_codec1(byte *dst, byte *src, int height);
- smush_decode_codec1(_dst, chunk_buffer, _height);
-#endif
+ bompDecodeLineReverse(_dst, chunk_buffer, chunk_size);
break;
case 37:
_codec37.decode(_dst, chunk_buffer);