[Scummvm-cvs-logs] CVS: scummvm/scumm/smush chunk.cpp,1.34,1.35 chunk.h,1.18,1.19 smush_player.cpp,1.150,1.151 smush_player.h,1.44,1.45

kirben kirben at users.sourceforge.net
Sat Apr 2 22:28:12 CEST 2005


Update of /cvsroot/scummvm/scummvm/scumm/smush
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv5713/scumm/smush

Modified Files:
	chunk.cpp chunk.h smush_player.cpp smush_player.h 
Log Message:

Removed reinit() and replaced with offsets of zero. We only need to skip type/size.

Removed AnimHeader check in parseNextFrame() and _skipPalette, since AnimHeader is correctly skipped when required now.


Index: chunk.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/smush/chunk.cpp,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -d -r1.34 -r1.35
--- chunk.cpp	2 Apr 2005 17:26:18 -0000	1.34
+++ chunk.cpp	3 Apr 2005 06:27:43 -0000	1.35
@@ -155,14 +155,6 @@
 	return _data.readUint32LE();
 }
 
-void FileChunk::reinit(uint32 offset) {
-	_data.seek(offset);
-	_type = _data.readUint32BE();
-	_size = _data.readUint32BE();
-	_offset = _data.pos();
-	_curPos = 0;
-}
-
 MemoryChunk::MemoryChunk(byte *data) {
 	if (data == 0)
 		error("Chunk() called with NULL pointer");

Index: chunk.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/smush/chunk.h,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -d -r1.18 -r1.19
--- chunk.h	7 Mar 2005 00:38:18 -0000	1.18
+++ chunk.h	3 Apr 2005 06:27:43 -0000	1.19
@@ -83,7 +83,6 @@
 	short getShort();
 	uint16 getWord();
 	uint32 getDword();
-	void reinit(uint32 offset);
 };
 
 class MemoryChunk : public BaseChunk {

Index: smush_player.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/smush/smush_player.cpp,v
retrieving revision 1.150
retrieving revision 1.151
diff -u -d -r1.150 -r1.151
--- smush_player.cpp	26 Mar 2005 13:23:01 -0000	1.150
+++ smush_player.cpp	3 Apr 2005 06:27:43 -0000	1.151
@@ -252,7 +252,6 @@
 	_speed = speed;
 	_insanity = false;
 	_middleAudio = false;
-	_skipPalette = false;
 #ifdef _WIN32_WCE
 	_inTimer = false;
 	_inTimerCount = 0;
@@ -716,9 +715,6 @@
 	checkBlock(b, TYPE_NPAL, 0x300);
 	debugC(DEBUG_SMUSH, "SmushPlayer::handleNewPalette()");
 
-	if (_skipPalette)
-		return;
-
 	readPalette(_pal, b);
 	setPalette(_pal);
 }
@@ -972,10 +968,8 @@
 	_version = b.getWord();
 	_nbframes = b.getWord();
 	b.getWord();
-	if (!_skipPalette) {
-		readPalette(_pal, b);
-		setPalette(_pal);
-	}
+	readPalette(_pal, b);
+	setPalette(_pal);
 }
 
 void SmushPlayer::setupAnim(const char *file) {
@@ -1045,9 +1039,6 @@
 	case TYPE_FRME:
 		handleFrame(*sub);
 		break;
-	case TYPE_AHDR: // FT INSANE may seek file to the beginning
-		handleAnimHeader(*sub);
-		break;
 	default:
 		error("Unknown Chunk found at %x: %x, %d", _base->tell(), sub->getType(), sub->getSize());
 	}
@@ -1145,7 +1136,6 @@
 }
 
 void SmushPlayer::seekSan(const char *file, int32 pos, int32 contFrame) {
-
 	Common::StackLock lock(_mutex);
 
 	if(_smixer)
@@ -1158,24 +1148,17 @@
 		}
 
 		_base = new FileChunk(file);
-		// In this case we need to get palette and number of frames
-		if (pos > 8) {
+		if (pos) {
+			assert(pos != 8);
+			// In this case we need to get palette and number of frames
 			Chunk *sub = _base->subBlock();
 			checkBlock(*sub, TYPE_AHDR);
 			handleAnimHeader(*sub);
 			delete sub;
-		}
-		if (pos >= 8)
-			pos -= 8;
-
-		_skipPalette = false;
-	} else {
-		_base->reinit(pos);
-		_skipPalette = true;
-	}
 
-	if (pos != 8 && pos) {
-		_middleAudio = true;
+			_middleAudio = true;
+			pos -= 8;
+		}
 	}
 
 	_base->seek(pos, FileChunk::seek_start);

Index: smush_player.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/smush/smush_player.h,v
retrieving revision 1.44
retrieving revision 1.45
diff -u -d -r1.44 -r1.45
--- smush_player.h	26 Mar 2005 13:23:01 -0000	1.44
+++ smush_player.h	3 Apr 2005 06:27:44 -0000	1.45
@@ -75,7 +75,6 @@
 	bool _updateNeeded;
 	bool _insanity;
 	bool _middleAudio;
-	bool _skipPalette;
 #ifdef _WIN32_WCE
 	bool _inTimer;
 	int16 _inTimerCount;





More information about the Scummvm-git-logs mailing list