[Scummvm-cvs-logs] CVS: scummvm/scumm/smush smush_player.cpp,1.20,1.21

Max Horn fingolfin at users.sourceforge.net
Fri May 30 12:29:04 CEST 2003


Update of /cvsroot/scummvm/scummvm/scumm/smush
In directory sc8-pr-cvs1:/tmp/cvs-serv12841

Modified Files:
	smush_player.cpp 
Log Message:
use decompressBomp instead of smush_decode_codec1

Index: smush_player.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/smush/smush_player.cpp,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -d -r1.20 -r1.21
--- smush_player.cpp	20 May 2003 20:58:26 -0000	1.20
+++ smush_player.cpp	30 May 2003 19:28:52 -0000	1.21
@@ -24,6 +24,7 @@
 #include "common/util.h"
 #include "common/engine.h"
 #include "scumm/scumm.h"
+#include "scumm/bomp.h"
 #include "scumm/sound.h"
 #include "scumm/imuse.h"
 #include "scumm/imuse_digi.h"
@@ -660,8 +661,6 @@
 	setPalette(_pal);
 }
 
-extern void smush_decode_codec1(byte *dst, byte *src, int height);
-
 void SmushPlayer::handleFrameObject(Chunk &b) {
 	checkBlock(b, TYPE_FOBJ, 14);
 	if(_skipNext) {
@@ -698,7 +697,20 @@
 	switch (codec) {
 	case 1:
 	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 the FT.
+		// Yet either in all the cases is the codec used to encode an all-black
+		// frame, or smush_decode_codec1 already produces invalid (all-black?)
+		//
+		// 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(_data, chunk_buffer, _width, _height);
+#else
+		extern void smush_decode_codec1(byte *dst, byte *src, int height);
 		smush_decode_codec1(_data, chunk_buffer, _height);
+#endif
 		break;
 	case 37:
 		_codec37.decode(_data, chunk_buffer);





More information about the Scummvm-git-logs mailing list