diff options
Diffstat (limited to 'engines/voyeur/files.cpp')
| -rw-r--r-- | engines/voyeur/files.cpp | 14 | 
1 files changed, 9 insertions, 5 deletions
| diff --git a/engines/voyeur/files.cpp b/engines/voyeur/files.cpp index 0a8a423604..8071267b42 100644 --- a/engines/voyeur/files.cpp +++ b/engines/voyeur/files.cpp @@ -29,7 +29,7 @@ namespace Voyeur {  #define BOLT_GROUP_SIZE 16 -BoltFilesState::BoltFilesState() { +BoltFilesState::BoltFilesState(VoyeurEngine *vm) : _vm(vm) {  	_curLibPtr = NULL;  	_curGroupPtr = NULL;  	_curMemberPtr = NULL; @@ -174,20 +174,24 @@ void BoltFilesState::nextBlock() {  FilesManager::FilesManager(VoyeurEngine *vm) {  	_curLibPtr = nullptr; -	_boltFilesState._vm = vm; +	_boltFilesState = new BoltFilesState(vm); +} + +FilesManager::~FilesManager() { +	delete _boltFilesState;  }  bool FilesManager::openBoltLib(const Common::String &filename, BoltFile *&boltFile) {  	if (boltFile != NULL) { -		_boltFilesState._curLibPtr = boltFile; +		_boltFilesState->_curLibPtr = boltFile;  		return true;  	}  	// Create the bolt file interface object and load the index  	if (filename == "bvoy.blt") -		boltFile = _boltFilesState._curLibPtr = new BVoyBoltFile(_boltFilesState); +		boltFile = _boltFilesState->_curLibPtr = new BVoyBoltFile(*_boltFilesState);  	else if (filename == "stampblt.blt") -		boltFile = _boltFilesState._curLibPtr = new StampBoltFile(_boltFilesState); +		boltFile = _boltFilesState->_curLibPtr = new StampBoltFile(*_boltFilesState);  	else  		error("Unknown bolt file specified"); | 
