From 867b8dbb9277f2cde6c45c107b15edd1a6f73b10 Mon Sep 17 00:00:00 2001 From: Simei Yin Date: Tue, 22 Aug 2017 14:12:54 +0200 Subject: SLUDGE: Reset engine when launching a new game data file --- engines/sludge/fileset.cpp | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) (limited to 'engines/sludge/fileset.cpp') 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"); -- cgit v1.2.3