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

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


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

Log Message:
-----------
SCUMM: Take advantage of the fact that Chunk now is a ReadStream subclass

Modified Paths:
--------------
    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/smush/chunk.cpp
===================================================================
--- scummvm/trunk/engines/scumm/smush/chunk.cpp	2006-10-28 01:21:13 UTC (rev 24545)
+++ scummvm/trunk/engines/scumm/smush/chunk.cpp	2006-10-28 01:28:41 UTC (rev 24546)
@@ -62,15 +62,15 @@
 	case SEEK_SET:
 		if (delta < 0)
 			error("invalid seek request");
-
 		_curPos = (uint32)delta;
 		break;
 	case SEEK_END:
 		if (delta > 0 || _size < (uint32)-delta)
 			error("invalid seek request");
-
 		_curPos = (uint32)(_size + delta);
 		break;
+	default:
+		break;
 	}
 
 	if (_curPos > _size) {
@@ -116,7 +116,7 @@
 
 Chunk *FileChunk::subBlock() {
 	FileChunk *ptr = new FileChunk(_data, _offset + _curPos);
-	seek(sizeof(Chunk::type) + sizeof(uint32) + ptr->size(), SEEK_CUR);
+	skip(sizeof(Chunk::type) + sizeof(uint32) + ptr->size());
 	return ptr;
 }
 
@@ -146,7 +146,7 @@
 
 Chunk *MemoryChunk::subBlock() {
 	MemoryChunk *ptr = new MemoryChunk(_data + _curPos);
-	seek(sizeof(Chunk::type) + sizeof(uint32) + ptr->size(), SEEK_CUR);
+	skip(sizeof(Chunk::type) + sizeof(uint32) + ptr->size());
 	return ptr;
 }
 

Modified: scummvm/trunk/engines/scumm/smush/chunk.h
===================================================================
--- scummvm/trunk/engines/scumm/smush/chunk.h	2006-10-28 01:21:13 UTC (rev 24545)
+++ scummvm/trunk/engines/scumm/smush/chunk.h	2006-10-28 01:28:41 UTC (rev 24546)
@@ -55,7 +55,7 @@
 	uint32 size() const;
 	bool eos() const;
 	uint32 pos() const;
-	void seek(int32 delta, int dir = SEEK_CUR);
+	void seek(int32 delta, int dir);
 };
 
 class FileChunk : public BaseChunk {

Modified: scummvm/trunk/engines/scumm/smush/imuse_channel.cpp
===================================================================
--- scummvm/trunk/engines/scumm/smush/imuse_channel.cpp	2006-10-28 01:21:13 UTC (rev 24545)
+++ scummvm/trunk/engines/scumm/smush/imuse_channel.cpp	2006-10-28 01:28:41 UTC (rev 24546)
@@ -60,8 +60,8 @@
 bool ImuseChannel::appendData(Chunk &b, int32 size) {
 	if (_dataSize == -1) {
 		assert(size > 8);
-		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);
+		Chunk::type imus_type = b.readUint32BE();
+		/*uint32 imus_size =*/ b.readUint32BE();
 		if (imus_type != MKID_BE('iMUS'))
 			error("Invalid Chunk for imuse_channel");
 		size -= 8;
@@ -103,15 +103,11 @@
 
 bool ImuseChannel::handleFormat(Chunk &src) {
 	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, SEEK_CUR);
-	_bitsize = src.readUint32LE();
-	_bitsize = SWAP_BYTES_32(_bitsize);
-	_rate = src.readUint32LE();
-	_rate = SWAP_BYTES_32(_rate);
-	_channels = src.readUint32LE();
-	_channels = SWAP_BYTES_32(_channels);
+	/*uint32 imuse_start =*/ src.readUint32BE();
+	src.skip(4);
+	_bitsize = src.readUint32BE();
+	_rate = src.readUint32BE();
+	_channels = src.readUint32BE();
 	assert(_channels == 1 || _channels == 2);
 	return true;
 }

Modified: scummvm/trunk/engines/scumm/smush/saud_channel.cpp
===================================================================
--- scummvm/trunk/engines/scumm/smush/saud_channel.cpp	2006-10-28 01:21:13 UTC (rev 24545)
+++ scummvm/trunk/engines/scumm/smush/saud_channel.cpp	2006-10-28 01:28:41 UTC (rev 24546)
@@ -133,10 +133,8 @@
 bool SaudChannel::appendData(Chunk &b, int32 size) {
 	if (_dataSize == -1) {
 		assert(size > 8);
-		Chunk::type saud_type = b.readUint32LE();
-		saud_type = SWAP_BYTES_32(saud_type);
-		uint32 saud_size = b.readUint32LE();
-		saud_size = SWAP_BYTES_32(saud_size);
+		Chunk::type saud_type = b.readUint32BE();
+		/*uint32 saud_size =*/ b.readUint32BE();
 		if (saud_type != MKID_BE('SAUD'))
 			error("Invalid Chunk for SaudChannel : %X", saud_type);
 		size -= 8;

Modified: scummvm/trunk/engines/scumm/smush/smush_player.cpp
===================================================================
--- scummvm/trunk/engines/scumm/smush/smush_player.cpp	2006-10-28 01:21:13 UTC (rev 24545)
+++ scummvm/trunk/engines/scumm/smush/smush_player.cpp	2006-10-28 01:28:41 UTC (rev 24546)
@@ -989,7 +989,7 @@
 
 		b.reseek();
 		if (sub->size() & 1)
-			b.seek(1, SEEK_CUR);
+			b.skip(1);
 
 		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