diff options
Diffstat (limited to 'engines/toon/resource.cpp')
| -rw-r--r-- | engines/toon/resource.cpp | 24 | 
1 files changed, 15 insertions, 9 deletions
diff --git a/engines/toon/resource.cpp b/engines/toon/resource.cpp index 470c54f8f4..f76db47539 100644 --- a/engines/toon/resource.cpp +++ b/engines/toon/resource.cpp @@ -30,6 +30,17 @@  namespace Toon { +Resources::Resources(ToonEngine *vm) : _vm(vm) { +} + +Resources::~Resources() { +	while(!_pakFiles.empty()) { +		PakFile *temp = _pakFiles.back(); +		_pakFiles.pop_back(); +		delete temp; +	} +} +  void Resources::openPackage(Common::String fileName, bool preloadEntirePackage) {  	debugC(1, kDebugResource, "openPackage(%s, %d)", fileName.c_str(), (preloadEntirePackage) ? 1 : 0); @@ -39,7 +50,6 @@ void Resources::openPackage(Common::String fileName, bool preloadEntirePackage)  	if (!opened)  		return; -  	PakFile *pakFile = new PakFile();  	pakFile->open(&file, fileName, preloadEntirePackage); @@ -59,10 +69,6 @@ void Resources::closePackage(Common::String fileName) {  	}  } -Resources::Resources(ToonEngine *vm) : _vm(vm) { - -} -  uint8 *Resources::getFileData(Common::String fileName, uint32 *fileSize) {  	debugC(4, kDebugResource, "getFileData(%s, fileSize)", fileName.c_str()); @@ -200,10 +206,6 @@ void PakFile::close() {  	}  } -PakFile::~PakFile() { -	close(); -} -  PakFile::PakFile() {  	_bufferSize = 0;  	_buffer = NULL; @@ -211,4 +213,8 @@ PakFile::PakFile() {  	_fileHandle = NULL;  } +PakFile::~PakFile() { +	close(); +} +  } // End of namespace Toon  | 
