aboutsummaryrefslogtreecommitdiff
path: root/engines/toon/resource.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/toon/resource.cpp')
-rw-r--r--engines/toon/resource.cpp24
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