#include <saveconverter.h>
Public Member Functions | |
SaveConverter (GobEngine *vm, const Common::String &fileName) | |
virtual void | clear () |
virtual void | setFileName (const Common::String &fileName) |
virtual int | isOldSave (Common::InSaveFile **save=0) const =0 |
virtual char * | getDescription (Common::SeekableReadStream &save) const =0 |
virtual bool | load ()=0 |
char * | getDescription (const Common::String &fileName) |
char * | getDescription () const |
bool | err () const override |
void | clearErr () override |
bool | eos () const override |
uint32 | read (void *dataPtr, uint32 dataSize) override |
int64 | pos () const override |
int64 | size () const override |
bool | seek (int64 offset, int whence=SEEK_SET) override |
Public Member Functions inherited from Common::SeekableReadStream | |
virtual bool | skip (uint32 offset) |
virtual char * | readLine (char *s, size_t bufSize, bool handleCR=true) |
virtual String | readLine (bool handleCR=true) |
void | hexdump (int len, int bytesPerLine=16, int startOffset=0) |
Public Member Functions inherited from Common::ReadStream | |
byte | readByte () |
FORCEINLINE int8 | readSByte () |
uint16 | readUint16LE () |
uint32 | readUint32LE () |
uint64 | readUint64LE () |
uint16 | readUint16BE () |
uint32 | readUint32BE () |
uint64 | readUint64BE () |
FORCEINLINE int16 | readSint16LE () |
FORCEINLINE int32 | readSint32LE () |
FORCEINLINE int64 | readSint64LE () |
FORCEINLINE int16 | readSint16BE () |
FORCEINLINE int32 | readSint32BE () |
FORCEINLINE int64 | readSint64BE () |
FORCEINLINE float | readFloatLE () |
FORCEINLINE float | readFloatBE () |
FORCEINLINE double | readDoubleLE () |
FORCEINLINE double | readDoubleBE () |
template<class TDataFormat , class... T> | |
bool | readMultiple (const TDataFormat &dataFormat, T &...values) |
template<class... T> | |
bool | readMultipleEndian (bool isLittle, T &...values) |
template<class... T> | |
bool | readMultipleLE (T &...values) |
template<class... T> | |
bool | readMultipleBE (T &...values) |
SeekableReadStream * | readStream (uint32 dataSize) |
String | readString (char terminator=0, size_t len=String::npos) |
Common::String | readPascalString (bool transformCR=true) |
Protected Member Functions | |
Common::InSaveFile * | openSave () const |
virtual void | displayWarning () const |
virtual uint32 | getActualSize (Common::InSaveFile **save=0) const |
SavePartInfo * | readInfo (Common::SeekableReadStream &stream, uint32 descLength, bool hasSizes=true) const |
SavePartVars * | readVars (Common::SeekableReadStream &stream, uint32 count, bool endian) const |
SavePartMem * | readMem (Common::SeekableReadStream &stream, uint32 count, bool endian) const |
SavePartSprite * | readSprite (Common::SeekableReadStream &stream, uint32 width, uint32 height, bool palette) const |
bool | createStream (SaveWriter &writer) |
Static Protected Member Functions | |
static bool | swapDataEndian (byte *data, const byte *sizes, uint32 count) |
Protected Attributes | |
GobEngine * | _vm |
Common::String | _fileName |
byte * | _data |
Common::SeekableReadStream * | _stream |
A wrapping stream class for old saves.
|
virtual |
Clear the converter.
|
virtual |
Set the filename on which to operate.
|
pure virtual |
Is it actually an old save?
Implemented in Gob::SaveConverter_v4, Gob::SaveConverter_v3, Gob::SaveConverter_v2, and Gob::SaveConverter_Notes.
|
pure virtual |
Directly return the description without processing the whole save.
Implemented in Gob::SaveConverter_v4, Gob::SaveConverter_v3, Gob::SaveConverter_v2, and Gob::SaveConverter_Notes.
|
pure virtual |
Load the whole save.
Implemented in Gob::SaveConverter_v4, Gob::SaveConverter_v3, Gob::SaveConverter_v2, and Gob::SaveConverter_Notes.
char* Gob::SaveConverter::getDescription | ( | const Common::String & | fileName | ) |
Set the name and return the description.
char* Gob::SaveConverter::getDescription | ( | ) | const |
Get the current fileName's description.
|
overridevirtual |
Return true if an I/O failure occurred.
This flag is never cleared automatically. In order to clear it, the client code must call clearErr() explicitly.
Reimplemented from Common::Stream.
|
overridevirtual |
Reset the I/O error status as returned by err().
For a ReadStream, also reset the end-of-stream status returned by eos().
Reimplemented from Common::Stream.
|
overridevirtual |
Return true if a read failed because the stream end has been reached.
This flag is cleared by clearErr(). For a SeekableReadStream, the flag is also cleared by a successful seek.
Implements Common::ReadStream.
|
overridevirtual |
Read data from the stream.
Subclasses must implement this method. All other read methods are implemented using it.
dataPtr | Pointer to a buffer into which the data is read. |
dataSize | Number of bytes to be read. |
Implements Common::ReadStream.
|
overridevirtual |
Obtain the current value of the stream position indicator.
Implements Common::SeekableReadStream.
|
overridevirtual |
Obtain the total size of the stream, measured in bytes. If this value is unknown or cannot be computed, -1 is returned.
Implements Common::SeekableReadStream.
|
overridevirtual |
Set the stream position indicator for the stream.
The new position, measured in bytes, is obtained by adding offset bytes to the position specified by whence. If whence is set to SEEK_SET, SEEK_CUR, or SEEK_END, the offset is relative to the start of the file, the current position indicator, or end-of-stream, respectively. A successful call to the seek() method clears the end-of-stream indicator for the stream.
offset | Relative offset in bytes. |
whence | Seek reference: SEEK_SET, SEEK_CUR, or SEEK_END. |
Implements Common::SeekableReadStream.
|
protectedvirtual |
Write a warning to stdout to notify the user what's going on.
|
staticprotected |
Swap the endianness of the complete data area.