[Scummvm-cvs-logs] SF.net SVN: scummvm:[54439] scummvm/trunk/engines/tinsel

fingolfin at users.sourceforge.net fingolfin at users.sourceforge.net
Tue Nov 23 23:26:43 CET 2010


Revision: 54439
          http://scummvm.svn.sourceforge.net/scummvm/?rev=54439&view=rev
Author:   fingolfin
Date:     2010-11-23 22:26:43 +0000 (Tue, 23 Nov 2010)

Log Message:
-----------
TINSEL: Turn TinselFile into a SeekableReadStream

Modified Paths:
--------------
    scummvm/trunk/engines/tinsel/drives.cpp
    scummvm/trunk/engines/tinsel/drives.h

Modified: scummvm/trunk/engines/tinsel/drives.cpp
===================================================================
--- scummvm/trunk/engines/tinsel/drives.cpp	2010-11-23 22:26:27 UTC (rev 54438)
+++ scummvm/trunk/engines/tinsel/drives.cpp	2010-11-23 22:26:43 UTC (rev 54439)
@@ -153,7 +153,7 @@
 
 bool TinselFile::_warningShown = false;
 
-TinselFile::TinselFile() {
+TinselFile::TinselFile() : ReadStreamEndian((_vm->getFeatures() & GF_BIG_ENDIAN) != 0) {
 	_stream = NULL;
 }
 
@@ -168,8 +168,7 @@
 	if (!stream)
 		return false;
 
-	_stream = new Common::SeekableSubReadStreamEndian(stream, 0, stream->size(), 
-		(_vm->getFeatures() & GF_BIG_ENDIAN) != 0, DisposeAfterUse::YES);
+	_stream = new Common::SeekableSubReadStream(stream, 0, stream->size(), DisposeAfterUse::YES);
 	return true;
 }
 
@@ -226,34 +225,16 @@
 	return _stream->err();
 }
 
-uint32 TinselFile::readUint32() {
+void TinselFile::clearErr() {
 	assert(_stream);
-	return _stream->readUint32();
+	_stream->clearErr();
 }
 
-int16 TinselFile::readSint16() {
-	assert(_stream);
-	return _stream->readUint16();
-}
-
-int32 TinselFile::readSint32() {
-	assert(_stream);
-	return _stream->readUint32();
-}
-
-Common::SeekableReadStream *TinselFile::readStream(uint32 dataSize) {
-	assert(_stream);
-	return _stream->readStream(dataSize);
-}
-
 uint32 TinselFile::read(void *dataPtr, uint32 dataSize) {
 	assert(_stream);
 	return _stream->read(dataPtr, dataSize);
 }
 
-bool TinselFile::skip(uint32 offset) {
-	return seek(offset, SEEK_CUR);
-}
 
 
 

Modified: scummvm/trunk/engines/tinsel/drives.h
===================================================================
--- scummvm/trunk/engines/tinsel/drives.h	2010-11-23 22:26:27 UTC (rev 54438)
+++ scummvm/trunk/engines/tinsel/drives.h	2010-11-23 22:26:43 UTC (rev 54439)
@@ -27,14 +27,10 @@
 #ifndef TINSEL_DRIVES_H
 #define TINSEL_DRIVES_H
 
-#include "common/file.h"
+#include "common/stream.h"
 #include "tinsel/dw.h"
 #include "tinsel/coroutine.h"
 
-namespace Common {
-class SeekableSubReadStreamEndian;
-}
-
 namespace Tinsel {
 
 // flags2
@@ -63,11 +59,10 @@
 
 bool GotoCD();
 
-// TODO: Make TinselFile a SeekableReadStream subclass??
-class TinselFile {
+class TinselFile : public Common::SeekableReadStream, public Common::ReadStreamEndian {
 private:
 	static bool _warningShown;
-	Common::SeekableSubReadStreamEndian *_stream;
+	Common::SeekableReadStream *_stream;
 	bool openInternal(const Common::String &filename);
 public:
 	TinselFile();
@@ -76,17 +71,15 @@
 	void close();
 	char getCdNumber();
 
+	bool err() const;
+	void clearErr();
+
+	bool eos() const;
+	uint32 read(void *dataPtr, uint32 dataSize);
+
 	int32 pos() const;
 	int32 size() const;
 	bool seek(int32 offset, int whence = SEEK_SET);
-	bool eos() const;
-	bool err() const;
-	uint32 readUint32();
-	int16 readSint16();
-	int32 readSint32();
-	Common::SeekableReadStream *readStream(uint32 dataSize);
-	uint32 read(void *dataPtr, uint32 dataSize);
-	bool skip(uint32 offset);
 };
 
 


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