diff options
author | Simei Yin | 2017-08-22 14:12:54 +0200 |
---|---|---|
committer | Simei Yin | 2017-08-22 16:20:15 +0200 |
commit | 867b8dbb9277f2cde6c45c107b15edd1a6f73b10 (patch) | |
tree | 097902d2165356328e7b5e86f961c2d69fdbbfbd /engines/sludge/fileset.cpp | |
parent | 4783541529988e2872fea27565d92d2c36d03f7a (diff) | |
download | scummvm-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.cpp | 24 |
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"); |