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

fingolfin at users.sourceforge.net fingolfin at users.sourceforge.net
Sat Sep 13 22:22:53 CEST 2008


Revision: 34517
          http://scummvm.svn.sourceforge.net/scummvm/?rev=34517&view=rev
Author:   fingolfin
Date:     2008-09-13 20:22:52 +0000 (Sat, 13 Sep 2008)

Log Message:
-----------
SCUMM: Merged class Chunk & FileChunk

Modified Paths:
--------------
    scummvm/trunk/engines/scumm/smush/chunk.cpp
    scummvm/trunk/engines/scumm/smush/chunk.h
    scummvm/trunk/engines/scumm/smush/smush_player.cpp
    scummvm/trunk/engines/scumm/smush/smush_player.h

Modified: scummvm/trunk/engines/scumm/smush/chunk.cpp
===================================================================
--- scummvm/trunk/engines/scumm/smush/chunk.cpp	2008-09-13 20:04:19 UTC (rev 34516)
+++ scummvm/trunk/engines/scumm/smush/chunk.cpp	2008-09-13 20:22:52 UTC (rev 34517)
@@ -66,7 +66,8 @@
 	return true;
 }
 
-FileChunk::FileChunk(BaseScummFile *data, int offset) {
+Chunk::Chunk(BaseScummFile *data, int offset)
+ : _type(0), _size(0), _curPos(0) {
 	_data = data;
 	_deleteData = false;
 
@@ -77,11 +78,12 @@
 	_curPos = 0;
 }
 
-FileChunk::FileChunk(const Common::String &name, int offset) {
+Chunk::Chunk(const Common::String &name, int offset)
+ : _type(0), _size(0), _curPos(0) {
 	_data = new ScummFile();
 	_deleteData = true;
 	if (!g_scumm->openFile(*_data, name))
-		error("FileChunk: Unable to open file %s", name.c_str());
+		error("Chunk: Unable to open file %s", name.c_str());
 
 	_data->seek(offset, SEEK_SET);
 	_type = _data->readUint32BE();
@@ -91,22 +93,22 @@
 	_name = name;
 }
 
-FileChunk::~FileChunk() {
+Chunk::~Chunk() {
 	if (_deleteData)
 		delete _data;
 }
 
-Chunk *FileChunk::subBlock() {
-	FileChunk *ptr = new FileChunk(_data, _offset + _curPos);
+Chunk *Chunk::subBlock() {
+	Chunk *ptr = new Chunk(_data, _offset + _curPos);
 	skip(sizeof(Chunk::type) + sizeof(uint32) + ptr->size());
 	return ptr;
 }
 
-void FileChunk::reseek() {
+void Chunk::reseek() {
 	_data->seek(_offset + _curPos, SEEK_SET);
 }
 
-uint32 FileChunk::read(void *buffer, uint32 dataSize) {
+uint32 Chunk::read(void *buffer, uint32 dataSize) {
 	if (dataSize <= 0 || (_curPos + dataSize) > _size)
 		error("invalid buffer read request");
 

Modified: scummvm/trunk/engines/scumm/smush/chunk.h
===================================================================
--- scummvm/trunk/engines/scumm/smush/chunk.h	2008-09-13 20:04:19 UTC (rev 34516)
+++ scummvm/trunk/engines/scumm/smush/chunk.h	2008-09-13 20:22:52 UTC (rev 34517)
@@ -34,7 +34,6 @@
 
 class BaseScummFile;
 
-// Common functionality for concrete chunks (FileChunk, MemoryChunk)
 class Chunk : public Common::SeekableReadStream {
 public:
 	typedef uint32 type;
@@ -45,32 +44,24 @@
 	uint32 _curPos;
 	Common::String _name;
 
-	Chunk() : _type(0), _size(0), _curPos(0) {}
+	BaseScummFile *_data;
+	bool _deleteData;
+	uint32 _offset;
 
+	Chunk(BaseScummFile *data, int offset);
 
 public:
+	Chunk(const Common::String &name, int offset = 0);
+	virtual ~Chunk();
+
 	Chunk::type getType() const { return _type; }
+	Chunk *subBlock();
+	void reseek();
+
 	int32 size() const { return _size; }
 	bool eos() const { return _curPos >= _size; }
 	int32 pos() const { return _curPos; }
 	bool seek(int32 delta, int dir);
-
-	virtual Chunk *subBlock() = 0;
-	virtual void reseek() = 0;
-};
-
-class FileChunk : public Chunk {
-private:
-	BaseScummFile *_data;
-	bool _deleteData;
-	uint32 _offset;
-
-	FileChunk(BaseScummFile *data, int offset);
-public:
-	FileChunk(const Common::String &name, int offset = 0);
-	virtual ~FileChunk();
-	Chunk *subBlock();
-	void reseek();
 	uint32 read(void *buffer, uint32 size);
 };
 

Modified: scummvm/trunk/engines/scumm/smush/smush_player.cpp
===================================================================
--- scummvm/trunk/engines/scumm/smush/smush_player.cpp	2008-09-13 20:04:19 UTC (rev 34516)
+++ scummvm/trunk/engines/scumm/smush/smush_player.cpp	2008-09-13 20:22:52 UTC (rev 34517)
@@ -992,7 +992,7 @@
 
 		if (_seekFile.size() > 0) {
 			delete _base;
-			_base = new FileChunk(_seekFile);
+			_base = new Chunk(_seekFile);
 
 			if (_seekPos > 0) {
 				assert(_seekPos > 8);

Modified: scummvm/trunk/engines/scumm/smush/smush_player.h
===================================================================
--- scummvm/trunk/engines/scumm/smush/smush_player.h	2008-09-13 20:04:19 UTC (rev 34516)
+++ scummvm/trunk/engines/scumm/smush/smush_player.h	2008-09-13 20:22:52 UTC (rev 34517)
@@ -51,7 +51,7 @@
 	StringResource *_strings;
 	Codec37Decoder *_codec37;
 	Codec47Decoder *_codec47;
-	FileChunk *_base;
+	Chunk *_base;
 	byte *_frameBuffer;
 	byte *_specialBuffer;
 


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