[Scummvm-cvs-logs] SF.net SVN: scummvm:[53243] scummvm/trunk/engines/sword25/package

sev at users.sourceforge.net sev at users.sourceforge.net
Wed Oct 13 00:45:54 CEST 2010


Revision: 53243
          http://scummvm.svn.sourceforge.net/scummvm/?rev=53243&view=rev
Author:   sev
Date:     2010-10-12 22:45:53 +0000 (Tue, 12 Oct 2010)

Log Message:
-----------
SWORD25: Further fixes for package manager

Modified Paths:
--------------
    scummvm/trunk/engines/sword25/package/scummvmpackagemanager.cpp
    scummvm/trunk/engines/sword25/package/scummvmpackagemanager.h

Modified: scummvm/trunk/engines/sword25/package/scummvmpackagemanager.cpp
===================================================================
--- scummvm/trunk/engines/sword25/package/scummvmpackagemanager.cpp	2010-10-12 22:45:32 UTC (rev 53242)
+++ scummvm/trunk/engines/sword25/package/scummvmpackagemanager.cpp	2010-10-12 22:45:53 UTC (rev 53243)
@@ -166,25 +166,25 @@
 	PathElementArray pathElements = SeparatePath(FileName, _currentDirectory);
 
 	// Loop through checking each archive
-	Common::List<ArchiveEntry>::iterator i;
+	Common::List<ArchiveEntry *>::iterator i;
 	for (i = _archiveList.begin(); i != _archiveList.end(); ++i) {
-		if (i->MountPath.size() > pathElements.size())
+		if ((*i)->MountPath.size() > pathElements.size())
 			// The mount path has more subfolder depth than the search entry, so skip it
 			continue;
 
 		// Check the path against that of the archive
 		PathElementArray::iterator iPath = pathElements.begin();
-		PathElementArray::iterator iEntry = i->MountPath.begin();
+		PathElementArray::iterator iEntry = (*i)->MountPath.begin();
 
-		for (; iEntry != i->MountPath.end(); ++iEntry, ++iPath) {
+		for (; iEntry != (*i)->MountPath.end(); ++iEntry, ++iPath) {
 			if (Common::String(iPath->GetBegin(), iPath->GetEnd()) ==
 			        Common::String(iEntry->GetBegin(), iEntry->GetEnd()))
 				break;
 		}
 
-		if (iEntry == i->MountPath.end()) {
+		if (iEntry == (*i)->MountPath.end()) {
 			// Look into the archive for the desired file
-			Common::Archive *archiveFolder = i->Archive;
+			Common::Archive *archiveFolder = (*i)->Archive;
 
 			if (archiveFolder->hasFile(FileName)) {
 			}
@@ -211,9 +211,9 @@
 		BS_LOGLN("Package '%s' mounted as '%s'.", FileName.c_str(), MountPosition.c_str());
 		Common::ArchiveMemberList files;
 		zipFile->listMembers(files);
-		debugC(0, "Capacity %d", files.size());
+		debug(0, "Capacity %d", files.size());
 
-		_archiveList.push_back(ArchiveEntry(zipFile, pathElements));
+		_archiveList.push_back(new ArchiveEntry(zipFile, pathElements));
 
 		return true;
 	}
@@ -232,7 +232,7 @@
 		return false;
 	} else {
 		BS_LOGLN("Directory '%s' mounted as '%s'.", DirectoryName.c_str(), MountPosition.c_str());
-		_archiveList.push_front(ArchiveEntry(folderArchive, pathElements));
+		_archiveList.push_front(new ArchiveEntry(folderArchive, pathElements));
 		return true;
 	}
 }

Modified: scummvm/trunk/engines/sword25/package/scummvmpackagemanager.h
===================================================================
--- scummvm/trunk/engines/sword25/package/scummvmpackagemanager.h	2010-10-12 22:45:32 UTC (rev 53242)
+++ scummvm/trunk/engines/sword25/package/scummvmpackagemanager.h	2010-10-12 22:45:53 UTC (rev 53243)
@@ -85,7 +85,7 @@
 
 	Common::String _currentDirectory;
 	Common::FSNode _rootFolder;
-	Common::List<ArchiveEntry> _archiveList;
+	Common::List<ArchiveEntry *> _archiveList;
 
 	Common::FSNode GetFSNode(const Common::String &FileName);
 public:


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