[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