[Scummvm-cvs-logs] CVS: scummvm/scumm/smush codec47.cpp,1.8,1.9 codec47.h,1.5,1.6 player.cpp,1.27,1.28

Pawel Kolodziejski aquadran at users.sourceforge.net
Wed Jan 8 08:42:05 CET 2003


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

Modified Files:
	codec47.cpp codec47.h player.cpp 
Log Message:
implementation of codec47 in Smush CMI. 
it's NOT WORKING yet, and also is needed cleanup code after finishing them

Index: codec47.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/smush/codec47.cpp,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- codec47.cpp	29 Dec 2002 19:50:08 -0000	1.8
+++ codec47.cpp	8 Jan 2003 16:41:14 -0000	1.9
@@ -20,22 +20,997 @@
  */
 
 #include <stdafx.h>
+#include "scumm.h"
+#include "engine.h"
 #include "codec47.h"
 #include "chunk.h"
 #include "blitter.h"
 
+static const int16 codec37_table[] = {
+		0,  0,  1,  0,  2,  0,  3,  0,  3,  0,  3,  0,  3,
[...1097 lines suppressed...]
+	if ((first_word - _var100) == 1) {
+		if (chunk_buffer[3] == 1) {
+			tmp_ptr1 = _curBuf;
+			_curBuf = _deltaBufs[1];
+			_deltaBufs[1] = tmp_ptr1;
+		} else if (chunk_buffer[3] == 2) {
+			tmp_ptr = _deltaBufs[0];
+			tmp_ptr2 = _deltaBufs[1];
+			tmp_ptr3 = _curBuf;
+			_deltaBufs[0] = tmp_ptr2;
+			_deltaBufs[1] = tmp_ptr3;
+			_curBuf = tmp_ptr;
+		}
+	}
+	_var100 = first_word;
+
+	free(chunk_buffer);
 
 	return true;
 }

Index: codec47.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/smush/codec47.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- codec47.h	29 Dec 2002 17:55:16 -0000	1.5
+++ codec47.h	8 Jan 2003 16:41:21 -0000	1.6
@@ -28,6 +28,12 @@
 
 class Codec47Decoder : public Decoder {
 private:
+	int32 _deltaSize;
+	byte * _deltaBufs[2];
+	byte * _deltaBuf;
+	byte * _curBuf;
+	int32 _var100;
+	byte * _var104;
 
 public:
 	bool initSize(const Point &, const Rect &);

Index: player.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/smush/player.cpp,v
retrieving revision 1.27
retrieving revision 1.28
diff -u -d -r1.27 -r1.28
--- player.cpp	29 Dec 2002 17:55:16 -0000	1.27
+++ player.cpp	8 Jan 2003 16:41:23 -0000	1.28
@@ -526,8 +526,9 @@
 		_codec37Called = true;
 		break;
 	case 47:
-		initSize(r, false, true);
+		initSize(r, true, false);
 		decodeCodec(b, r, _codec47);
+		_codec37Called = true;
 		break;
 	case 21:
 	case 44:





More information about the Scummvm-git-logs mailing list