[Scummvm-cvs-logs] CVS: scummvm/scumm/smush codec37.cpp,1.20,1.21 codec37.h,1.11,1.12 codec47.cpp,1.50,1.51 codec47.h,1.15,1.16

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


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

Modified Files:
	codec37.cpp codec37.h codec47.cpp codec47.h 
Log Message:
moved bomp stuff into own files; removed some of our 6 (!) bomp decoders

Index: codec37.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/smush/codec37.cpp,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -d -r1.20 -r1.21
--- codec37.cpp	21 May 2003 18:16:01 -0000	1.20
+++ codec37.cpp	30 May 2003 19:00:32 -0000	1.21
@@ -21,6 +21,7 @@
 
 #include "stdafx.h"
 #include "codec37.h"
+#include "scumm/bomp.h"
 
 #include "common/engine.h"
 
@@ -246,27 +247,6 @@
 	}
 }
 
-void Codec37Decoder::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);
-}
-
 #if defined(SCUMM_NEED_ALIGNMENT)
 
 #define DECLARE_LITERAL_TEMP(v)			\
@@ -486,7 +466,7 @@
 		error("codec37: missing opcode 1");
 		break;
 	case 2:
-		bompDecode(_deltaBufs[_curtable], src + 16, decoded_size);
+		bompDecodeLine(_deltaBufs[_curtable], src + 16, decoded_size);
 		if ((_deltaBufs[_curtable] - _deltaBuf) > 0) {
 			memset(_deltaBuf, 0, _deltaBufs[_curtable] - _deltaBuf);
 		}

Index: codec37.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/smush/codec37.h,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- codec37.h	17 Mar 2003 12:28:49 -0000	1.11
+++ codec37.h	30 May 2003 19:00:33 -0000	1.12
@@ -45,7 +45,6 @@
 	void deinit();
 protected:
 	void maketable(int, int);
-	void bompDecode(byte *dst, const byte *src, int len);
 	void proc3WithFDFE(byte *dst, const byte *src, int32, int, int, int, int16 *);
 	void proc3WithoutFDFE(byte *dst, const byte *src, int32, int, int, int, int16 *);
 	void proc4WithFDFE(byte *dst, const byte *src, int32, int, int, int, int16 *);

Index: codec47.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/smush/codec47.cpp,v
retrieving revision 1.50
retrieving revision 1.51
diff -u -d -r1.50 -r1.51
--- codec47.cpp	21 May 2003 18:16:01 -0000	1.50
+++ codec47.cpp	30 May 2003 19:00:33 -0000	1.51
@@ -21,6 +21,7 @@
 
 #include "stdafx.h"
 #include "codec47.h"
+#include "scumm/bomp.h"
 
 #include "common/engine.h"
 
@@ -472,27 +473,6 @@
 	} 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 @@
 		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;
 	}
 

Index: codec47.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/smush/codec47.h,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -d -r1.15 -r1.16
--- codec47.h	30 Apr 2003 11:26:36 -0000	1.15
+++ codec47.h	30 May 2003 19:00:33 -0000	1.16
@@ -49,7 +49,6 @@
 
 	void makeTables47(int32 width);
 	void makeTables37(int32 param);
-	void bompDecode(byte *dst, const byte *src, int len);
 	void level1(byte *d_dst);
 	void level2(byte *d_dst);
 	void level3(byte *d_dst);





More information about the Scummvm-git-logs mailing list