[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