[Scummvm-cvs-logs] SF.net SVN: scummvm: [29053] scummvm/trunk/engines/saga

h00ligan at users.sourceforge.net h00ligan at users.sourceforge.net
Sun Sep 23 17:53:49 CEST 2007


Revision: 29053
          http://scummvm.svn.sourceforge.net/scummvm/?rev=29053&view=rev
Author:   h00ligan
Date:     2007-09-23 08:53:49 -0700 (Sun, 23 Sep 2007)

Log Message:
-----------
remove _saveMarks from SAGA load and save implementation

Modified Paths:
--------------
    scummvm/trunk/engines/saga/saga.h
    scummvm/trunk/engines/saga/saveload.cpp

Modified: scummvm/trunk/engines/saga/saga.h
===================================================================
--- scummvm/trunk/engines/saga/saga.h	2007-09-23 15:09:48 UTC (rev 29052)
+++ scummvm/trunk/engines/saga/saga.h	2007-09-23 15:53:49 UTC (rev 29053)
@@ -616,7 +616,6 @@
  private:
 	uint _saveFilesCount;
 	SaveFileData _saveFiles[MAX_SAVES];
-	bool _saveMarks[MAX_SAVES];
 	SaveGameHeader _saveHeader;
 
 	bool _leftMouseButtonPressed;

Modified: scummvm/trunk/engines/saga/saveload.cpp
===================================================================
--- scummvm/trunk/engines/saga/saveload.cpp	2007-09-23 15:09:48 UTC (rev 29052)
+++ scummvm/trunk/engines/saga/saveload.cpp	2007-09-23 15:53:49 UTC (rev 29053)
@@ -90,54 +90,37 @@
 uint SagaEngine::getNewSaveSlotNumber() {
 	uint i, j;
 	bool found;
-	if (isSaveListFull()) {
-		error("getNewSaveSlotNumber save list is full");
-	}
 	for (i = 0; i < MAX_SAVES; i++) {
-		if (!_saveMarks[i]) {
-			found = false;
-			for (j = 0; j < _saveFilesCount; j++) {
-				if (_saveFiles[j].slotNumber == i) {
-					found = true;
-					break;
-				}
+		found = false;
+		for (j = 0; j < _saveFilesCount; j++) {
+			if (_saveFiles[j].slotNumber == i) {
+				found = true;
+				break;
 			}
-			if (!found) {
-				return i;
-			}
 		}
+		if (!found) {
+			return i;
+		}
 	}
 
 	error("getNewSaveSlotNumber save list is full");
 }
 
 void SagaEngine::fillSaveList() {
-	assert(_saveMarks);
 
 	int i;
 	Common::InSaveFile *in;
 	Common::StringList filenames;
 	char slot[2];
-	int slotNum;
+	int slotNumber;
 	char *name;
 
 	name = calcSaveFileName(MAX_SAVES);
 	name[strlen(name) - 2] = '*';
 	name[strlen(name) - 1] = 0;
 
-	memset(_saveMarks, false, MAX_SAVES * sizeof(bool));	//assume no savegames for this title
 	filenames = _saveFileMan->listSavefiles(name);
 
-	for (Common::StringList::iterator file = filenames.begin(); file != filenames.end(); file++){
-		//Obtain the last 2 digits of the filename, since they correspond to the save slot
-		slot[0] = file->c_str()[file->size()-2];
-		slot[1] = file->c_str()[file->size()-1];
-
-		slotNum = atoi(slot);
-		if (slotNum >= 0 && slotNum < MAX_SAVES)
-			_saveMarks[slotNum] = true;	//mark this slot as valid
-	}
-
 	for (i = 0; i < MAX_SAVES; i++) {
 		_saveFiles[i].name[0] = 0;
 		_saveFiles[i].slotNumber = (uint)-1;
@@ -145,10 +128,14 @@
 
 	_saveFilesCount = 0;
 
-	i = 0;
-	while (i < MAX_SAVES) {
-		if (_saveMarks[i]) {
-			name = calcSaveFileName(i);
+	for (Common::StringList::iterator file = filenames.begin(); file != filenames.end(); file++){
+		//Obtain the last 2 digits of the filename, since they correspond to the save slot
+		slot[0] = file->c_str()[file->size()-2];
+		slot[1] = file->c_str()[file->size()-1];
+
+		slotNumber = atoi(slot);
+		if (slotNumber >= 0 && slotNumber < MAX_SAVES) {
+			name = calcSaveFileName(slotNumber);
 			if ((in = _saveFileMan->openForLoading(name)) != NULL) {
 				_saveHeader.type = in->readUint32BE();
 				_saveHeader.size = in->readUint32LE();
@@ -161,12 +148,11 @@
 					continue;
 				}
 				strcpy(_saveFiles[_saveFilesCount].name, _saveHeader.name);
-				_saveFiles[_saveFilesCount].slotNumber = i;
+				_saveFiles[_saveFilesCount].slotNumber = slotNumber;
 				delete in;
 				_saveFilesCount++;
 			}
 		}
-		i++;
 	}
 }
 


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