[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