From e17a15d96e46939d2ec4403ee5241baafdd562c0 Mon Sep 17 00:00:00 2001 From: Max Horn Date: Sat, 17 Apr 2004 09:57:15 +0000 Subject: Introduce ReadStream and WriteStream (as explained in my File class design mails on scummvm-devel) svn-id: r13595 --- common/savefile.cpp | 59 +++-------------------------------------------------- 1 file changed, 3 insertions(+), 56 deletions(-) (limited to 'common/savefile.cpp') diff --git a/common/savefile.cpp b/common/savefile.cpp index 4084fd01c7..3aba3fdc36 100644 --- a/common/savefile.cpp +++ b/common/savefile.cpp @@ -23,6 +23,9 @@ #include "common/util.h" #include "common/savefile.h" +#include +#include + #ifdef USE_ZLIB #include #endif @@ -31,66 +34,10 @@ uint32 SaveFile::read(void *ptr, uint32 size) { return fread(ptr, 1, size); } -byte SaveFile::readByte() { - byte b; - // TODO: Proper error handling - if (fread(&b, 1, 1) != 1) - return 0; - return b; -} - -uint16 SaveFile::readUint16LE() { - uint16 a = readByte(); - uint16 b = readByte(); - return a | (b << 8); -} - -uint32 SaveFile::readUint32LE() { - uint32 a = readUint16LE(); - uint32 b = readUint16LE(); - return (b << 16) | a; -} - -uint16 SaveFile::readUint16BE() { - uint16 b = readByte(); - uint16 a = readByte(); - return a | (b << 8); -} - -uint32 SaveFile::readUint32BE() { - uint32 b = readUint16BE(); - uint32 a = readUint16BE(); - return (b << 16) | a; -} - uint32 SaveFile::write(const void *ptr, uint32 size) { return fwrite(ptr, 1, size); } -void SaveFile::writeByte(byte value) { - fwrite(&value, 1, 1); -} - -void SaveFile::writeUint16LE(uint16 value) { - writeByte((byte)(value & 0xff)); - writeByte((byte)(value >> 8)); -} - -void SaveFile::writeUint32LE(uint32 value) { - writeUint16LE((uint16)(value & 0xffff)); - writeUint16LE((uint16)(value >> 16)); -} - -void SaveFile::writeUint16BE(uint16 value) { - writeByte((byte)(value >> 8)); - writeByte((byte)(value & 0xff)); -} - -void SaveFile::writeUint32BE(uint32 value) { - writeUint16BE((uint16)(value >> 16)); - writeUint16BE((uint16)(value & 0xffff)); -} - class StdioSaveFile : public SaveFile { private: -- cgit v1.2.3