[Scummvm-cvs-logs] SF.net SVN: scummvm: [24544] scummvm/trunk/engines/scumm

fingolfin at users.sourceforge.net fingolfin at users.sourceforge.net
Sat Oct 28 03:20:31 CEST 2006


Revision: 24544
          http://svn.sourceforge.net/scummvm/?rev=24544&view=rev
Author:   fingolfin
Date:     2006-10-27 18:20:19 -0700 (Fri, 27 Oct 2006)

Log Message:
-----------
SCUMM: Changed class Chunk (and subclasses) to inherit from Common::SeekableReadStream

Modified Paths:
--------------
    scummvm/trunk/engines/scumm/insane/insane.cpp
    scummvm/trunk/engines/scumm/insane/insane_iact.cpp
    scummvm/trunk/engines/scumm/smush/chunk.cpp
    scummvm/trunk/engines/scumm/smush/chunk.h
    scummvm/trunk/engines/scumm/smush/imuse_channel.cpp
    scummvm/trunk/engines/scumm/smush/saud_channel.cpp
    scummvm/trunk/engines/scumm/smush/smush_player.cpp

Modified: scummvm/trunk/engines/scumm/insane/insane.cpp
===================================================================
--- scummvm/trunk/engines/scumm/insane/insane.cpp	2006-10-28 00:45:58 UTC (rev 24543)
+++ scummvm/trunk/engines/scumm/insane/insane.cpp	2006-10-28 01:20:19 UTC (rev 24544)
@@ -1320,7 +1320,7 @@
 
 	if ((_vm->_game.features & GF_DEMO) && (_vm->_game.platform == Common::kPlatformPC)) {
 		_player->checkBlock(b, MKID_BE('SKIP'), 2);
-		par1 = b.getWord();
+		par1 = b.readUint16LE();
 		if (isBitSet(par1))
 			_player->_skipNext = true;
 		return;
@@ -1328,8 +1328,8 @@
 
 	_player->checkBlock(b, MKID_BE('SKIP'), 4);
 
-	par1 = b.getWord();
-	par2 = b.getWord();
+	par1 = b.readUint16LE();
+	par2 = b.readUint16LE();
 
 
 	if (!par2) {

Modified: scummvm/trunk/engines/scumm/insane/insane_iact.cpp
===================================================================
--- scummvm/trunk/engines/scumm/insane/insane_iact.cpp	2006-10-28 00:45:58 UTC (rev 24543)
+++ scummvm/trunk/engines/scumm/insane/insane_iact.cpp	2006-10-28 01:20:19 UTC (rev 24544)
@@ -74,7 +74,7 @@
 		if (par3 != 1)
 			break;
 
-		par5 = b.getWord(); // si
+		par5 = b.readUint16LE(); // si
 		if (_actor[0].field_8 == 112) {
 			setBit(par5);
 			break;
@@ -92,27 +92,27 @@
 		break;
 	case 3:
 		if (par3 == 1) {
-			setBit(b.getWord());
+			setBit(b.readUint16LE());
 			_approachAnim = -1;
 		}
 		break;
 	case 4:
 		if (par3 == 1 && (_approachAnim < 0 || _approachAnim > 4))
-			setBit(b.getWord());
+			setBit(b.readUint16LE());
 		break;
 	case 5:
 		if (par2 != 13)
 			break;
 
-		tmp = b.getWord();   // +8
-		tmp = b.getWord();   // +10
-		par7 = b.getWord();  // +12 dx
-		tmp = b.getWord();   // +14
-		par9 = b.getWord();  // +16 bx
-		tmp = b.getWord();   // +18
-		par11 = b.getWord(); // +20 cx
-		tmp = b.getWord();   // +22
-		par13 = b.getWord(); // +24 ax
+		tmp = b.readUint16LE();   // +8
+		tmp = b.readUint16LE();   // +10
+		par7 = b.readUint16LE();  // +12 dx
+		tmp = b.readUint16LE();   // +14
+		par9 = b.readUint16LE();  // +16 bx
+		tmp = b.readUint16LE();   // +18
+		par11 = b.readUint16LE(); // +20 cx
+		tmp = b.readUint16LE();   // +22
+		par13 = b.readUint16LE(); // +24 ax
 		
 		if (par13 > _actor[0].x || par11 < _actor[0].x) {
 			_tiresRustle = true;
@@ -143,8 +143,8 @@
 								 _continueFrame1, 1300);
 			break;
 		case 9:
-			par5 = b.getWord(); // si
-			par6 = b.getWord(); // bx
+			par5 = b.readUint16LE(); // si
+			par6 = b.readUint16LE(); // bx
 			smlayer_setFluPalette(_smush_roadrsh3Rip, 0);
 			if (par5 == par6 - 1)
 				smlayer_setFluPalette(_smush_roadrashRip, 0);
@@ -153,10 +153,10 @@
 	case 7:
 		switch (par4) {
 		case 1:
-			_actor[0].x -= (b.getWord() - 160) / 10;
+			_actor[0].x -= (b.readUint16LE() - 160) / 10;
 			break;
 		case 2:
-			par5 = b.getWord();
+			par5 = b.readUint16LE();
 
 			if (par5 - 8 > _actor[0].x || par5 + 8 < _actor[0].x) {
 				if (smlayer_isSoundRunning(86))
@@ -297,8 +297,8 @@
 	int par2, par3;
 	if (command == 6) {
 		if (par1 == 9) {
-			par2 = b.getWord(); // ptr + 8
-			par3 = b.getWord(); // ptr + 10
+			par2 = b.readUint16LE(); // ptr + 8
+			par3 = b.readUint16LE(); // ptr + 10
 
 			if (!par2)
 				smlayer_setFluPalette(_smush_roadrsh3Rip, 0);
@@ -322,7 +322,7 @@
 	switch (par1) {
 	case 2:
 	case 4:
-		par5 = b.getWord(); // si
+		par5 = b.readUint16LE(); // si
 		switch (par3) {
 		case 1:
 			if (par4 == 1) {
@@ -397,7 +397,7 @@
 
 	switch (par1) {
 	case 7:
-		par5 = b.getWord();
+		par5 = b.readUint16LE();
 		if (par4 != 3)
 			break;
 
@@ -408,7 +408,7 @@
 		break;
 	case 2:
 	case 4:
-		par5 = b.getWord();
+		par5 = b.readUint16LE();
 		switch (par3) {
 		case 1:
 			if (par4 == 1) {
@@ -483,7 +483,7 @@
 	case 3:
 	case 4:
 		if (par3 == 1) {
-			setBit(b.getWord());
+			setBit(b.readUint16LE());
 			_approachAnim = -1;
 		}
 		break;

Modified: scummvm/trunk/engines/scumm/smush/chunk.cpp
===================================================================
--- scummvm/trunk/engines/scumm/smush/chunk.cpp	2006-10-28 00:45:58 UTC (rev 24543)
+++ scummvm/trunk/engines/scumm/smush/chunk.cpp	2006-10-28 01:20:19 UTC (rev 24544)
@@ -38,11 +38,11 @@
 	_name("") {
 }
 
-bool BaseChunk::eof() const {
+bool BaseChunk::eos() const {
 	return _curPos >= _size;
 }
 
-uint32 BaseChunk::tell() const {
+uint32 BaseChunk::pos() const {
 	return _curPos;
 }
 
@@ -50,22 +50,22 @@
 	return _type;
 }
 
-uint32 BaseChunk::getSize() const {
+uint32 BaseChunk::size() const {
 	return _size;
 }
 
-bool BaseChunk::seek(int32 delta, seek_type dir) {
+void BaseChunk::seek(int32 delta, int dir) {
 	switch (dir) {
-	case seek_cur:
+	case SEEK_CUR:
 		_curPos += delta;
 		break;
-	case seek_start:
+	case SEEK_SET:
 		if (delta < 0)
 			error("invalid seek request");
 
 		_curPos = (uint32)delta;
 		break;
-	case seek_end:
+	case SEEK_END:
 		if (delta > 0 || _size < (uint32)-delta)
 			error("invalid seek request");
 
@@ -82,14 +82,13 @@
 		warning("Looks like you compressed file %s in wrong way. It has FLU index which was not updated", _name.c_str());
 		error("invalid seek request : %d > %d (delta == %d)", _curPos, _size, delta);
 	}
-	return true;
 }
 
 FileChunk::FileChunk(BaseScummFile *data, int offset) {
 	_data = data;
 	_deleteData = false;
 
-	_data->seek(offset, seek_start);
+	_data->seek(offset, SEEK_SET);
 	_type = _data->readUint32BE();
 	_size = _data->readUint32BE();
 	_offset = _data->pos();
@@ -102,7 +101,7 @@
 	if (!g_scumm->openFile(*_data, name))
 		error("FileChunk: Unable to open file %s", name.c_str());
 
-	_data->seek(offset, seek_start);
+	_data->seek(offset, SEEK_SET);
 	_type = _data->readUint32BE();
 	_size = _data->readUint32BE();
 	_offset = _data->pos();
@@ -117,58 +116,24 @@
 
 Chunk *FileChunk::subBlock() {
 	FileChunk *ptr = new FileChunk(_data, _offset + _curPos);
-	seek(sizeof(Chunk::type) + sizeof(uint32) + ptr->getSize());
+	seek(sizeof(Chunk::type) + sizeof(uint32) + ptr->size(), SEEK_CUR);
 	return ptr;
 }
 
 void FileChunk::reseek() {
-	_data->seek(_offset + _curPos);
+	_data->seek(_offset + _curPos, SEEK_CUR);
 }
 
-bool FileChunk::read(void *buffer, uint32 size) {
-	if (size <= 0 || (_curPos + size) > _size)
+uint32 FileChunk::read(void *buffer, uint32 dataSize) {
+	if (dataSize <= 0 || (_curPos + dataSize) > _size)
 		error("invalid buffer read request");
 
-	_data->read(buffer, size);
-	_curPos += size;
-	return true;
+	dataSize = _data->read(buffer, dataSize);
+	_curPos += dataSize;
+	
+	return dataSize;
 }
 
-int8 FileChunk::getChar() {
-	return (int8)getByte();
-}
-
-byte FileChunk::getByte() {
-	_curPos++;
-
-	if (_curPos > _size)
-		error("invalid byte read request");
-
-	return _data->readByte();
-}
-
-int16 FileChunk::getShort() {
-	return (int16)getWord();
-}
-
-uint16 FileChunk::getWord() {
-	_curPos += 2;
-
-	if (_curPos > _size)
-		error("invalid word read request");
-
-	return _data->readUint16LE();
-}
-
-uint32 FileChunk::getDword() {
-	_curPos += 4;
-
-	if (_curPos > _size)
-		error("invalid dword read request");
-
-	return _data->readUint32LE();
-}
-
 MemoryChunk::MemoryChunk(byte *data) {
 	if (data == 0)
 		error("Chunk() called with NULL pointer");
@@ -181,62 +146,20 @@
 
 Chunk *MemoryChunk::subBlock() {
 	MemoryChunk *ptr = new MemoryChunk(_data + _curPos);
-	seek(sizeof(Chunk::type) + sizeof(uint32) + ptr->getSize());
+	seek(sizeof(Chunk::type) + sizeof(uint32) + ptr->size(), SEEK_CUR);
 	return ptr;
 }
 
 void MemoryChunk::reseek() {
 }
 
-bool MemoryChunk::read(void *buffer, uint32 size) {
-	if (size <= 0 || (_curPos + size) > _size)
+uint32 MemoryChunk::read(void *buffer, uint32 dataSize) {
+	if (dataSize <= 0 || (_curPos + dataSize) > _size)
 		error("invalid buffer read request");
 
-	memcpy(buffer, _data + _curPos, size);
-	_curPos += size;
-	return true;
+	memcpy(buffer, _data + _curPos, dataSize);
+	_curPos += dataSize;
+	return dataSize;
 }
 
-int8 MemoryChunk::getChar() {
-	if (_curPos >= _size)
-		error("invalid char read request");
-
-	return _data[_curPos++];
-}
-
-byte MemoryChunk::getByte() {
-	if (_curPos >= _size)
-		error("invalid byte read request");
-
-	byte *ptr = (byte *)(_data + _curPos);
-	_curPos += 1;
-	return *ptr;
-}
-
-int16 MemoryChunk::getShort() {
-	if (_curPos >= _size - 1)
-		error("invalid int16 read request");
-
-	int16 buffer = getWord();
-	return *((int16 *)&buffer);
-}
-
-uint16 MemoryChunk::getWord() {
-	if (_curPos >= _size - 1)
-		error("invalid word read request");
-
-	uint16 *ptr = (uint16 *)(_data + _curPos);
-	_curPos += 2;
-	return READ_LE_UINT16(ptr);
-}
-
-uint32 MemoryChunk::getDword() {
-	if (_curPos >= _size - 3)
-		error("invalid dword read request");
-
-	uint32 *ptr = (uint32 *)(_data + _curPos);
-	_curPos += 4;
-	return READ_LE_UINT32(ptr);
-}
-
 } // End of namespace Scumm

Modified: scummvm/trunk/engines/scumm/smush/chunk.h
===================================================================
--- scummvm/trunk/engines/scumm/smush/chunk.h	2006-10-28 00:45:58 UTC (rev 24543)
+++ scummvm/trunk/engines/scumm/smush/chunk.h	2006-10-28 01:20:19 UTC (rev 24544)
@@ -25,29 +25,19 @@
 
 #include "common/scummsys.h"
 #include "common/str.h"
+#include "common/stream.h"
 
 namespace Scumm {
 
 class BaseScummFile;
 
-class Chunk {
+class Chunk : public Common::SeekableReadStream {
 public:
-	virtual ~Chunk() {};
-	enum seek_type { seek_start, seek_end, seek_cur };
 	typedef uint32 type;
+
 	virtual type getType() const = 0;
-	virtual uint32 getSize() const = 0;
 	virtual Chunk *subBlock() = 0;
 	virtual void reseek() = 0;
-	virtual bool eof() const = 0;
-	virtual uint32 tell() const = 0;
-	virtual bool seek(int32 delta, seek_type dir = seek_cur) = 0;
-	virtual bool read(void *buffer, uint32 size) = 0;
-	virtual int8 getChar() = 0;
-	virtual byte getByte() = 0;
-	virtual int16 getShort() = 0;
-	virtual uint16 getWord() = 0;
-	virtual uint32 getDword() = 0;
 };
 
 // Common functionality for concrete chunks (FileChunk, MemoryChunk)
@@ -62,10 +52,10 @@
 
 public:
 	Chunk::type getType() const;
-	uint32 getSize() const;
-	bool eof() const;
-	uint32 tell() const;
-	bool seek(int32 delta, seek_type dir = seek_cur);
+	uint32 size() const;
+	bool eos() const;
+	uint32 pos() const;
+	void seek(int32 delta, int dir = SEEK_CUR);
 };
 
 class FileChunk : public BaseChunk {
@@ -80,12 +70,7 @@
 	virtual ~FileChunk();
 	Chunk *subBlock();
 	void reseek();
-	bool read(void *buffer, uint32 size);
-	int8 getChar();
-	byte getByte();
-	short getShort();
-	uint16 getWord();
-	uint32 getDword();
+	uint32 read(void *buffer, uint32 size);
 };
 
 class MemoryChunk : public BaseChunk {
@@ -96,12 +81,7 @@
 	MemoryChunk(byte *data);
 	Chunk *subBlock();
 	void reseek();
-	bool read(void *buffer, uint32 size);
-	int8 getChar();
-	byte getByte();
-	int16 getShort();
-	uint16 getWord();
-	uint32 getDword();
+	uint32 read(void *buffer, uint32 size);
 };
 
 } // End of namespace Scumm

Modified: scummvm/trunk/engines/scumm/smush/imuse_channel.cpp
===================================================================
--- scummvm/trunk/engines/scumm/smush/imuse_channel.cpp	2006-10-28 00:45:58 UTC (rev 24543)
+++ scummvm/trunk/engines/scumm/smush/imuse_channel.cpp	2006-10-28 01:20:19 UTC (rev 24544)
@@ -60,8 +60,8 @@
 bool ImuseChannel::appendData(Chunk &b, int32 size) {
 	if (_dataSize == -1) {
 		assert(size > 8);
-		Chunk::type imus_type = b.getDword(); imus_type = SWAP_BYTES_32(imus_type);
-		uint32 imus_size = b.getDword(); imus_size = SWAP_BYTES_32(imus_size);
+		Chunk::type imus_type = b.readUint32LE(); imus_type = SWAP_BYTES_32(imus_type);
+		uint32 imus_size = b.readUint32LE(); imus_size = SWAP_BYTES_32(imus_size);
 		if (imus_type != MKID_BE('iMUS'))
 			error("Invalid Chunk for imuse_channel");
 		size -= 8;
@@ -102,34 +102,34 @@
 }
 
 bool ImuseChannel::handleFormat(Chunk &src) {
-	if (src.getSize() != 20) error("invalid size for FRMT Chunk");
-	uint32 imuse_start = src.getDword();
+	if (src.size() != 20) error("invalid size for FRMT Chunk");
+	uint32 imuse_start = src.readUint32LE();
 	imuse_start = SWAP_BYTES_32(imuse_start);
-	src.seek(4);
-	_bitsize = src.getDword();
+	src.seek(4, SEEK_CUR);
+	_bitsize = src.readUint32LE();
 	_bitsize = SWAP_BYTES_32(_bitsize);
-	_rate = src.getDword();
+	_rate = src.readUint32LE();
 	_rate = SWAP_BYTES_32(_rate);
-	_channels = src.getDword();
+	_channels = src.readUint32LE();
 	_channels = SWAP_BYTES_32(_channels);
 	assert(_channels == 1 || _channels == 2);
 	return true;
 }
 
 bool ImuseChannel::handleRegion(Chunk &src) {
-	if (src.getSize() != 8)
+	if (src.size() != 8)
 		error("invalid size for REGN Chunk");
 	return true;
 }
 
 bool ImuseChannel::handleStop(Chunk &src) {
-	if (src.getSize() != 4)
+	if (src.size() != 4)
 		error("invalid size for STOP Chunk");
 	return true;
 }
 
 bool ImuseChannel::handleMap(Chunk &map) {
-	while (!map.eof()) {
+	while (!map.eos()) {
 		Chunk *sub = map.subBlock();
 		switch (sub->getType()) {
 		case MKID_BE('FRMT'):
@@ -144,7 +144,7 @@
 			handleStop(*sub);
 			break;
 		default:
-			error("Unknown iMUS subChunk found : %s, %d", tag2str(sub->getType()), sub->getSize());
+			error("Unknown iMUS subChunk found : %s, %d", tag2str(sub->getType()), sub->size());
 		}
 		delete sub;
 	}

Modified: scummvm/trunk/engines/scumm/smush/saud_channel.cpp
===================================================================
--- scummvm/trunk/engines/scumm/smush/saud_channel.cpp	2006-10-28 00:45:58 UTC (rev 24543)
+++ scummvm/trunk/engines/scumm/smush/saud_channel.cpp	2006-10-28 01:20:19 UTC (rev 24544)
@@ -41,7 +41,7 @@
 }
 
 void SaudChannel::handleStrk(Chunk &b) {
-	int32 size = b.getSize();
+	int32 size = b.size();
 	if (size != 14 && size != 10) {
 		error("STRK has an invalid size : %d", size);
 	}
@@ -52,7 +52,7 @@
 }
 
 void SaudChannel::handleShdr(Chunk &b) {
-	int32 size = b.getSize();
+	int32 size = b.size();
 	if (size != 4)
 		error("SHDR has an invalid size : %d", size);
 }
@@ -133,9 +133,9 @@
 bool SaudChannel::appendData(Chunk &b, int32 size) {
 	if (_dataSize == -1) {
 		assert(size > 8);
-		Chunk::type saud_type = b.getDword();
+		Chunk::type saud_type = b.readUint32LE();
 		saud_type = SWAP_BYTES_32(saud_type);
-		uint32 saud_size = b.getDword();
+		uint32 saud_size = b.readUint32LE();
 		saud_size = SWAP_BYTES_32(saud_size);
 		if (saud_type != MKID_BE('SAUD'))
 			error("Invalid Chunk for SaudChannel : %X", saud_type);

Modified: scummvm/trunk/engines/scumm/smush/smush_player.cpp
===================================================================
--- scummvm/trunk/engines/scumm/smush/smush_player.cpp	2006-10-28 00:45:58 UTC (rev 24543)
+++ scummvm/trunk/engines/scumm/smush/smush_player.cpp	2006-10-28 01:20:19 UTC (rev 24544)
@@ -360,8 +360,8 @@
 	if (type_expected != b.getType()) {
 		error("Chunk type is different from expected : %x != %x", b.getType(), type_expected);
 	}
-	if (min_size > b.getSize()) {
-		error("Chunk size is inferior than minimum required size : %d < %d", b.getSize(), min_size);
+	if (min_size > b.size()) {
+		error("Chunk size is inferior than minimum required size : %d < %d", b.size(), min_size);
 	}
 }
 
@@ -392,16 +392,16 @@
 	checkBlock(b, MKID_BE('PSAD'));
 	debugC(DEBUG_SMUSH, "SmushPlayer::handleSoundFrame()");
 
-	int32 track_id = b.getWord();
-	int32 index = b.getWord();
-	int32 max_frames = b.getWord();
-	int32 flags = b.getWord();
-	int32 vol = b.getByte();
-	int32 pan = b.getChar();
+	int32 track_id = b.readUint16LE();
+	int32 index = b.readUint16LE();
+	int32 max_frames = b.readUint16LE();
+	int32 flags = b.readUint16LE();
+	int32 vol = b.readByte();
+	int32 pan = b.readSByte();
 	if (index == 0) {
 		debugC(DEBUG_SMUSH, "track_id:%d, max_frames:%d, flags:%d, vol:%d, pan:%d", track_id, max_frames, flags, vol, pan);
 	}
-	int32 size = b.getSize() - 10;
+	int32 size = b.size() - 10;
 	handleSoundBuffer(track_id, index, max_frames, flags, vol, pan, b, size);
 }
 
@@ -424,10 +424,10 @@
 	checkBlock(b, MKID_BE('IACT'), 8);
 	debugC(DEBUG_SMUSH, "SmushPlayer::IACT()");
 
-	int code = b.getWord();
-	int flags = b.getWord();
-	int unknown = b.getShort();
-	int track_flags = b.getWord();
+	int code = b.readUint16LE();
+	int flags = b.readUint16LE();
+	int unknown = b.readSint16LE();
+	int track_flags = b.readUint16LE();
 
 	if ((code != 8) && (flags != 46)) {
 		_vm->_insane->procIACT(_dst, 0, 0, 0, b, 0, 0, code, flags, unknown, track_flags);
@@ -439,11 +439,11 @@
 	}
 
 	assert(flags == 46 && unknown == 0);
-	int track_id = b.getWord();
-	int index = b.getWord();
-	int nbframes = b.getWord();
-	int32 size = b.getDword();
-	int32 bsize = b.getSize() - 18;
+	int track_id = b.readUint16LE();
+	int index = b.readUint16LE();
+	int nbframes = b.readUint16LE();
+	int32 size = b.readUint32LE();
+	int32 bsize = b.size() - 18;
 
 	if (_vm->_game.id != GID_CMI) {
 		int32 track = track_id;
@@ -546,23 +546,23 @@
 }
 
 void SmushPlayer::handleTextResource(Chunk &b) {
-	int pos_x = b.getShort();
-	int pos_y = b.getShort();
-	int flags = b.getShort();
-	int left = b.getShort();
-	int top = b.getShort();
-	int right = b.getShort();
-	/*int32 height =*/ b.getShort();
-	/*int32 unk2 =*/ b.getWord();
+	int pos_x = b.readSint16LE();
+	int pos_y = b.readSint16LE();
+	int flags = b.readSint16LE();
+	int left = b.readSint16LE();
+	int top = b.readSint16LE();
+	int right = b.readSint16LE();
+	/*int32 height =*/ b.readSint16LE();
+	/*int32 unk2 =*/ b.readUint16LE();
 
 	const char *str;
 	char *string = NULL, *string2 = NULL;
 	if (b.getType() == MKID_BE('TEXT')) {
-		string = (char *)malloc(b.getSize() - 16);
+		string = (char *)malloc(b.size() - 16);
 		str = string;
-		b.read(string, b.getSize() - 16);
+		b.read(string, b.size() - 16);
 	} else {
-		int string_id = b.getWord();
+		int string_id = b.readUint16LE();
 		if (!_strings)
 			return;
 		str = _strings->get(string_id);
@@ -745,21 +745,21 @@
 	checkBlock(b, MKID_BE('XPAL'));
 	debugC(DEBUG_SMUSH, "SmushPlayer::handleDeltaPalette()");
 
-	if (b.getSize() == 0x300 * 3 + 4) {
+	if (b.size() == 0x300 * 3 + 4) {
 
-		b.getWord();
-		b.getWord();
+		b.readUint16LE();
+		b.readUint16LE();
 
 		for (int i = 0; i < 0x300; i++) {
-			_deltaPal[i] = b.getWord();
+			_deltaPal[i] = b.readUint16LE();
 		}
 		readPalette(_pal, b);
 		setDirtyColors(0, 255);
-	} else if (b.getSize() == 6) {
+	} else if (b.size() == 6) {
 
-		b.getWord();
-		b.getWord();
-		b.getWord();
+		b.readUint16LE();
+		b.readUint16LE();
+		b.readUint16LE();
 
 		for (int i = 0; i < 0x300; i++) {
 			_pal[i] = delta_color(_pal[i], _deltaPal[i]);
@@ -790,7 +790,7 @@
 		return;
 	}
 
-	int32 chunkSize = b.getSize();
+	int32 chunkSize = b.size();
 	byte *chunkBuffer = (byte *)malloc(chunkSize);
 	assert(chunkBuffer);
 	b.read(chunkBuffer, chunkSize);
@@ -869,11 +869,11 @@
 		return;
 	}
 
-	int codec = b.getWord();
-	int left = b.getWord();
-	int top = b.getWord();
-	int width = b.getWord();
-	int height = b.getWord();
+	int codec = b.readUint16LE();
+	int left = b.readUint16LE();
+	int top = b.readUint16LE();
+	int width = b.readUint16LE();
+	int height = b.readUint16LE();
 
 	if ((height == 242) && (width == 384)) {
 		if (_specialBuffer == 0)
@@ -901,10 +901,10 @@
 		_height = _vm->_screenHeight;
 	}
 
-	b.getWord();
-	b.getWord();
+	b.readUint16LE();
+	b.readUint16LE();
 
-	int32 chunk_size = b.getSize() - 14;
+	int32 chunk_size = b.size() - 14;
 	byte *chunk_buffer = (byte *)malloc(chunk_size);
 	assert(chunk_buffer);
 	b.read(chunk_buffer, chunk_size);
@@ -944,7 +944,7 @@
 		_vm->_insane->procPreRendering();
 	}
 
-	while (!b.eof()) {
+	while (!b.eos()) {
 		Chunk *sub = b.subBlock();
 		switch (sub->getType()) {
 		case MKID_BE('NPAL'):
@@ -984,12 +984,12 @@
 			handleTextResource(*sub);
 			break;
 		default:
-			error("Unknown frame subChunk found : %s, %d", tag2str(sub->getType()), sub->getSize());
+			error("Unknown frame subChunk found : %s, %d", tag2str(sub->getType()), sub->size());
 		}
 
 		b.reseek();
-		if (sub->getSize() & 1)
-			b.seek(1);
+		if (sub->size() & 1)
+			b.seek(1, SEEK_CUR);
 
 		delete sub;
 	}
@@ -1017,9 +1017,9 @@
 	checkBlock(b, MKID_BE('AHDR'), 0x300 + 6);
 	debugC(DEBUG_SMUSH, "SmushPlayer::handleAnimHeader()");
 
-	_version = b.getWord();
-	_nbframes = b.getWord();
-	b.getWord();
+	_version = b.readUint16LE();
+	_nbframes = b.readUint16LE();
+	b.readUint16LE();
 
 	if (_skipPalette)
 		return;
@@ -1106,14 +1106,14 @@
 			_skipPalette = true;
 		}
 
-		_base->seek(_seekPos, FileChunk::seek_start);
+		_base->seek(_seekPos, SEEK_SET);
 		_frame = _seekFrame;
 
 		_seekPos = -1;
 	}
 
 	assert(_base);
-	if (_base->eof()) {
+	if (_base->eos()) {
 		_vm->_smushVideoShouldFinish = true;
 		_endOfFile = true;
 		return;
@@ -1129,7 +1129,7 @@
 		handleFrame(*sub);
 		break;
 	default:
-		error("Unknown Chunk found at %x: %x, %d", _base->tell(), sub->getType(), sub->getSize());
+		error("Unknown Chunk found at %x: %x, %d", _base->pos(), sub->getType(), sub->size());
 	}
 	delete sub;
 


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list