aboutsummaryrefslogtreecommitdiff
path: root/scumm
diff options
context:
space:
mode:
Diffstat (limited to 'scumm')
-rw-r--r--scumm/smush/smush_player.cpp13
1 files changed, 3 insertions, 10 deletions
diff --git a/scumm/smush/smush_player.cpp b/scumm/smush/smush_player.cpp
index d7ce370c9a..a6ad89ba08 100644
--- a/scumm/smush/smush_player.cpp
+++ b/scumm/smush/smush_player.cpp
@@ -685,6 +685,8 @@ void SmushPlayer::handleNewPalette(Chunk &b) {
setPalette(_pal);
}
+void smush_decode_codec1(byte *dst, byte *src, int height);
+
void SmushPlayer::handleFrameObject(Chunk &b) {
checkBlock(b, TYPE_FOBJ, 14);
if (_skipNext) {
@@ -720,17 +722,8 @@ void SmushPlayer::handleFrameObject(Chunk &b) {
switch (codec) {
case 1:
- bompDecodeLine(_dst, chunk_buffer, chunk_size);
case 3:
- // 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
- // smush_decode_codec1 already produced invalid (all-black?) output.
- //
- // 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).
- bompDecodeLineReverse(_dst, chunk_buffer, chunk_size);
+ smush_decode_codec1(_dst, chunk_buffer, _height);
break;
case 37:
_codec37.decode(_dst, chunk_buffer);