diff options
author | Max Horn | 2006-03-03 15:16:02 +0000 |
---|---|---|
committer | Max Horn | 2006-03-03 15:16:02 +0000 |
commit | bac32d1a5cf66f349e2cca106686047d43e6839e (patch) | |
tree | 1a2561632086a8ac59679f769832c93c72f16736 /engines/scumm/util.h | |
parent | 6ff8d3b9fd1bfe826bdbf2d3397ca92ca30b95f6 (diff) | |
download | scummvm-rg350-bac32d1a5cf66f349e2cca106686047d43e6839e.tar.gz scummvm-rg350-bac32d1a5cf66f349e2cca106686047d43e6839e.tar.bz2 scummvm-rg350-bac32d1a5cf66f349e2cca106686047d43e6839e.zip |
Moved ScummFile etc. to the new file.cpp / file.h
svn-id: r21038
Diffstat (limited to 'engines/scumm/util.h')
-rw-r--r-- | engines/scumm/util.h | 132 |
1 files changed, 2 insertions, 130 deletions
diff --git a/engines/scumm/util.h b/engines/scumm/util.h index 81b3538d21..ebd56ff477 100644 --- a/engines/scumm/util.h +++ b/engines/scumm/util.h @@ -23,141 +23,13 @@ #ifndef SCUMM_UTIL_H #define SCUMM_UTIL_H -#include "common/file.h" -#include "common/stream.h" +#include "common/stdafx.h" +#include "common/scummsys.h" namespace Scumm { #define revBitMask(x) (0x80 >> (x)) -class BaseScummFile : public Common::File { -public: - virtual void setEnc(byte value) = 0; - - virtual bool open(const char *filename, AccessMode mode = kFileReadMode) = 0; - virtual bool openSubFile(const char *filename) = 0; - - virtual bool eof() = 0; - virtual uint32 pos() = 0; - virtual uint32 size() = 0; - virtual void seek(int32 offs, int whence = SEEK_SET) = 0; - virtual uint32 read(void *dataPtr, uint32 dataSize) = 0; - virtual uint32 write(const void *dataPtr, uint32 dataSize) = 0; -}; - -class ScummFile : public BaseScummFile { -private: - byte _encbyte; - uint32 _subFileStart; - uint32 _subFileLen; -public: - ScummFile(); - void setEnc(byte value); - - void setSubfileRange(uint32 start, uint32 len); - void resetSubfile(); - - bool open(const char *filename, AccessMode mode = kFileReadMode); - bool openSubFile(const char *filename); - - bool eof(); - uint32 pos(); - uint32 size(); - void seek(int32 offs, int whence = SEEK_SET); - uint32 read(void *dataPtr, uint32 dataSize); - uint32 write(const void *dataPtr, uint32 dataSize); -}; - -class ScummNESFile : public BaseScummFile { -public: - enum ROMset { - kROMsetUSA, - kROMsetEurope, - kROMsetSweden, - kROMsetFrance, - kROMsetGermany, - kROMsetNum - }; - - struct Resource; - struct LFLEntry; - struct LFL; - -private: - Common::MemoryReadStream *_stream; - ROMset _ROMset; - byte *_buf; - - bool generateIndex(); - bool generateResource(int res); - uint16 extractResource(Common::WriteStream *out, Resource *res); - - byte fileReadByte(); - uint16 fileReadUint16LE(); - -public: - ScummNESFile(); - void setEnc(byte value); - - bool open(const char *filename, AccessMode mode = kFileReadMode); - bool openSubFile(const char *filename); - - void close(); - bool eof() { return _stream->eos(); } - uint32 pos() { return _stream->pos(); } - uint32 size() { return _stream->size(); } - void seek(int32 offs, int whence = SEEK_SET) { _stream->seek(offs, whence); } - uint32 read(void *dataPtr, uint32 dataSize) { return _stream->read(dataPtr, dataSize); } - uint32 write(const void *dataPtr, uint32 dataSize); -}; - - -class ScummC64File : public BaseScummFile { -private: - Common::MemoryReadStream *_stream; - byte _roomDisks[59], _roomTracks[59], _roomSectors[59]; - - byte *_buf; - - bool _maniac; - Common::String _disk1, _disk2; - int _openedDisk; - - int _numGlobalObjects; - int _numRooms; - int _numCostumes; - int _numScripts; - int _numSounds; - const int *_resourcesPerFile; - - bool openDisk(char num); - - bool generateIndex(); - bool generateResource(int res); - - uint16 extractIndex(Common::WriteStream *out); - uint16 extractResource(Common::WriteStream *out, int res); - - byte fileReadByte(); - uint16 fileReadUint16LE(); - -public: - ScummC64File(const char *disk1, const char *disk2, bool maniac); - void setEnc(byte value); - - bool open(const char *filename, AccessMode mode = kFileReadMode); - bool openSubFile(const char *filename); - - void close(); - bool eof() { return _stream->eos(); } - uint32 pos() { return _stream->pos(); } - uint32 size() { return _stream->size(); } - void seek(int32 offs, int whence = SEEK_SET) { _stream->seek(offs, whence); } - uint32 read(void *dataPtr, uint32 dataSize) { return _stream->read(dataPtr, dataSize); } - uint32 write(const void *dataPtr, uint32 dataSize); -}; - - /* Direction conversion functions (between old dir and new dir format) */ int newDirToOldDir(int dir); int oldDirToNewDir(int dir); |