aboutsummaryrefslogtreecommitdiff
path: root/engines/sludge/fileset.cpp
diff options
context:
space:
mode:
authorSimei Yin2017-08-22 14:12:54 +0200
committerSimei Yin2017-08-22 16:20:15 +0200
commit867b8dbb9277f2cde6c45c107b15edd1a6f73b10 (patch)
tree097902d2165356328e7b5e86f961c2d69fdbbfbd /engines/sludge/fileset.cpp
parent4783541529988e2872fea27565d92d2c36d03f7a (diff)
downloadscummvm-rg350-867b8dbb9277f2cde6c45c107b15edd1a6f73b10.tar.gz
scummvm-rg350-867b8dbb9277f2cde6c45c107b15edd1a6f73b10.tar.bz2
scummvm-rg350-867b8dbb9277f2cde6c45c107b15edd1a6f73b10.zip
SLUDGE: Reset engine when launching a new game data file
Diffstat (limited to 'engines/sludge/fileset.cpp')
-rw-r--r--engines/sludge/fileset.cpp24
1 files changed, 24 insertions, 0 deletions
diff --git a/engines/sludge/fileset.cpp b/engines/sludge/fileset.cpp
index c9cdefd512..b04c68c1cb 100644
--- a/engines/sludge/fileset.cpp
+++ b/engines/sludge/fileset.cpp
@@ -31,6 +31,30 @@
namespace Sludge {
+ResourceManager::ResourceManager() {
+ init();
+}
+
+ResourceManager::~ResourceManager() {
+ kill();
+}
+
+void ResourceManager::init() {
+ _sliceBusy = true;
+ _bigDataFile = nullptr;
+ _startOfDataIndex = 0;
+ _startOfTextIndex = 0;
+ _startOfSubIndex = 0;
+ _startOfObjectIndex = 0;
+ _startIndex = 0;
+}
+void ResourceManager::kill() {
+ if (_bigDataFile) {
+ delete _bigDataFile;
+ _bigDataFile = nullptr;
+ }
+}
+
bool ResourceManager::openSubSlice(int num) {
if (_sliceBusy) {
fatal("Can't read from data file", "I'm already reading something");