[Scummvm-cvs-logs] SF.net SVN: scummvm: [25685] scummvm/trunk/engines/gob
drmccoy at users.sourceforge.net
drmccoy at users.sourceforge.net
Sun Feb 18 13:26:57 CET 2007
Revision: 25685
http://scummvm.svn.sourceforge.net/scummvm/?rev=25685&view=rev
Author: drmccoy
Date: 2007-02-18 04:26:56 -0800 (Sun, 18 Feb 2007)
Log Message:
-----------
Repaired loading
Modified Paths:
--------------
scummvm/trunk/engines/gob/gob.cpp
scummvm/trunk/engines/gob/gob.h
Modified: scummvm/trunk/engines/gob/gob.cpp
===================================================================
--- scummvm/trunk/engines/gob/gob.cpp 2007-02-18 12:21:25 UTC (rev 25684)
+++ scummvm/trunk/engines/gob/gob.cpp 2007-02-18 12:26:56 UTC (rev 25685)
@@ -136,24 +136,6 @@
_quitRequested = true;
}
-// Seeking with SEEK_END (and therefore also pos()) doesn't work with
-// gzip'd save files, so reading the whole thing in is necessary
-uint32 GobEngine::getSaveSize(Common::InSaveFile &in) {
- char buf[1024];
- uint32 size;
- uint32 i;
- uint32 pos;
-
- size = 0;
- pos = in.pos();
- in.seek(0, SEEK_SET);
- while ((i = in.read(buf, 1024)) > 0)
- size += i;
- in.seek(0, pos);
-
- return size;
-}
-
int32 GobEngine::getSaveSize(enum SaveFiles sFile) {
int32 size;
Common::InSaveFile *in;
@@ -176,7 +158,7 @@
if (sFile == SAVE_SAV)
size = _global->_savedBack == 0 ? -1 : _global->_savedBackSize;
else if ((in = _saveFileMan->openForLoading(_saveFiles[(int) sFile]))) {
- size = getSaveSize(*in);
+ size = in->size();
delete in;
}
@@ -273,7 +255,7 @@
#endif // GOB_ORIGSAVES
if ((in = _saveFileMan->openForLoading(sName)))
- iSize = getSaveSize(*in);
+ iSize = in->size();
else
iSize = 0;
@@ -468,7 +450,7 @@
debugC(1, kDebugFileIO, "Loading file \"%s\" (%d, %d bytes at %d)",
sName, dataVar, size, offset);
- sSize = getSaveSize(*in);
+ sSize = in->size();
_draw->animateCursor(4);
if (offset < 0)
in->seek(sSize - (-offset - 1), 0);
@@ -508,7 +490,7 @@
warning("Can't load from slot %d", saveSlot);
return false;
}
- if (((getSaveSize(*in) / 2) - 40) != (uint32) varSize) {
+ if (((in->size() / 2) - 40) != (uint32) varSize) {
warning("Can't load from slot %d: Wrong size", saveSlot);
return false;
}
Modified: scummvm/trunk/engines/gob/gob.h
===================================================================
--- scummvm/trunk/engines/gob/gob.h 2007-02-18 12:21:25 UTC (rev 25684)
+++ scummvm/trunk/engines/gob/gob.h 2007-02-18 12:26:56 UTC (rev 25685)
@@ -124,7 +124,6 @@
int go();
int init();
- inline uint32 getSaveSize(Common::InSaveFile &in);
const char *getSaveSlotFile(int slot);
bool saveGame(int saveSlot, int16 dataVar, int32 size, int32 offset);
bool loadGame(int saveSlot, int16 dataVar, int32 size, int32 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