[Scummvm-cvs-logs] SF.net SVN: scummvm: [24485] scummvm/trunk/engines/kyra

lordhoto at users.sourceforge.net lordhoto at users.sourceforge.net
Tue Oct 24 02:56:16 CEST 2006


Revision: 24485
          http://svn.sourceforge.net/scummvm/?rev=24485&view=rev
Author:   lordhoto
Date:     2006-10-23 17:56:10 -0700 (Mon, 23 Oct 2006)

Log Message:
-----------
Never unload files loat on startup like "CAVE.APK" and "LAGOON.APK". 

Modified Paths:
--------------
    scummvm/trunk/engines/kyra/resource.cpp
    scummvm/trunk/engines/kyra/resource.h

Modified: scummvm/trunk/engines/kyra/resource.cpp
===================================================================
--- scummvm/trunk/engines/kyra/resource.cpp	2006-10-24 00:48:36 UTC (rev 24484)
+++ scummvm/trunk/engines/kyra/resource.cpp	2006-10-24 00:56:10 UTC (rev 24485)
@@ -81,6 +81,11 @@
 			if (!loadPakFile(list[i]))
 				error("couldn't open pakfile '%s'", list[i]);
 		}
+
+		Common::List<ResourceFile*>::iterator start = _pakfiles.begin();
+		for (;start != _pakfiles.end(); ++start) {
+			(*start)->protect();
+		}
 	} else {
 		for (FSList::const_iterator file = fslist.begin(); file != fslist.end(); ++file) {
 			Common::String filename = file->name();

Modified: scummvm/trunk/engines/kyra/resource.h
===================================================================
--- scummvm/trunk/engines/kyra/resource.h	2006-10-24 00:48:36 UTC (rev 24484)
+++ scummvm/trunk/engines/kyra/resource.h	2006-10-24 00:56:10 UTC (rev 24485)
@@ -35,7 +35,7 @@
 
 class ResourceFile {
 public:
-	ResourceFile() : _open(false), _filename() {}
+	ResourceFile() : _open(false), _protected(false), _filename() {}
 	virtual ~ResourceFile() {}
 
 	virtual uint8 *getFile(uint file) = 0;
@@ -47,10 +47,12 @@
 	virtual bool isValid(void) const { return (_filename != 0); }
 	bool isOpen(void) const { return _open; }
 
-	virtual void close() { _open = false; }
+	virtual void close() { if (!_protected) _open = false; }
+	virtual void protect(const bool prot = true) { _protected = prot; }
 	virtual void open() { _open = true; }
 protected:
 	bool _open;
+	bool _protected;
 	uint _filename;
 };
 


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