diff options
author | Eugene Sandulenko | 2014-06-13 10:32:22 +0300 |
---|---|---|
committer | Eugene Sandulenko | 2014-06-13 10:32:35 +0300 |
commit | 96065c7f876f6e75f4b739b5cab894246edba5b7 (patch) | |
tree | e38634d564ebcb6469e25725e03c3806726a0cb8 | |
parent | de01a09141d820e765b33a801d295dc18243851b (diff) | |
download | scummvm-rg350-96065c7f876f6e75f4b739b5cab894246edba5b7.tar.gz scummvm-rg350-96065c7f876f6e75f4b739b5cab894246edba5b7.tar.bz2 scummvm-rg350-96065c7f876f6e75f4b739b5cab894246edba5b7.zip |
FULLPIPE: Implement GameLoader::~GameLoader()
-rw-r--r-- | engines/fullpipe/gameloader.cpp | 29 |
1 files changed, 28 insertions, 1 deletions
diff --git a/engines/fullpipe/gameloader.cpp b/engines/fullpipe/gameloader.cpp index 0599295160..25cda5317e 100644 --- a/engines/fullpipe/gameloader.cpp +++ b/engines/fullpipe/gameloader.cpp @@ -84,7 +84,34 @@ GameLoader::~GameLoader() { delete _interactionController; delete _inputController; - warning("STUB: GameLoader::~GameLoader()"); + g_fp->_gameLoader = 0; + + for (uint i = 0; i < _sc2array.size(); i++) { + if (_sc2array[i]._defPicAniInfos) + delete _sc2array[i]._defPicAniInfos; + + if (_sc2array[i]._picAniInfos) + delete _sc2array[i]._picAniInfos; + + if (_sc2array[i]._motionController) + delete _sc2array[i]._motionController; + + if (_sc2array[i]._data1) + free(_sc2array[i]._data1); + + if (_sc2array[i]._entranceData) + free(_sc2array[i]._entranceData); + } + + delete _gameVar; + _gameVar = 0; + + if (g_fp->_globalPalette) { + free(g_fp->_globalPalette); + g_fp->_globalPalette = 0; + } + + _sc2array.clear(); } bool GameLoader::load(MfcArchive &file) { |