[Scummvm-cvs-logs] SF.net SVN: scummvm:[53854] scummvm/trunk/engines/lastexpress/game/savegame .cpp

wjpalenstijn at users.sourceforge.net wjpalenstijn at users.sourceforge.net
Tue Oct 26 22:14:17 CEST 2010


Revision: 53854
          http://scummvm.svn.sourceforge.net/scummvm/?rev=53854&view=rev
Author:   wjpalenstijn
Date:     2010-10-26 20:14:17 +0000 (Tue, 26 Oct 2010)

Log Message:
-----------
LASTEXPRESS: Read savegame in blocks instead of bytes

Modified Paths:
--------------
    scummvm/trunk/engines/lastexpress/game/savegame.cpp

Modified: scummvm/trunk/engines/lastexpress/game/savegame.cpp
===================================================================
--- scummvm/trunk/engines/lastexpress/game/savegame.cpp	2010-10-26 16:21:00 UTC (rev 53853)
+++ scummvm/trunk/engines/lastexpress/game/savegame.cpp	2010-10-26 20:14:17 UTC (rev 53854)
@@ -107,8 +107,17 @@
 		error("SaveLoad::init - Savegame seems to be corrupted (not enough data: %i bytes)", save->size());
 
 	// Load all savegame data
-	while (!save->eos() && !save->err())
-		_savegame->writeByte(save->readByte());
+	uint8* buf = new uint8[4096];
+	while (!save->eos() && !save->err()) {
+		uint32 count = save->read(buf, sizeof(buf));
+		if (count) {
+			uint32 w = _savegame->write(buf, count);
+			assert (w == count);
+		}
+	}
+	if (save->err())
+		error("SaveLoad::init - Error reading savegame");
+	delete[] buf;
 	_savegame->seek(0);
 
 	SAFE_DELETE(save);


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