From 32d692aea6f57b41360f433ba65ad1b3459a7e86 Mon Sep 17 00:00:00 2001 From: Denis Kasak Date: Wed, 8 Jul 2009 00:40:22 +0000 Subject: Made the engine clear some more caches when it changes rooms (room, sprites and palette caches). Made the DraciEngine destructor delete the rooms, overlays and animations archives. svn-id: r42250 --- engines/draci/draci.cpp | 3 +++ engines/draci/game.cpp | 5 ++++- 2 files changed, 7 insertions(+), 1 deletion(-) (limited to 'engines') diff --git a/engines/draci/draci.cpp b/engines/draci/draci.cpp index cef66c6092..e9df63f9cd 100644 --- a/engines/draci/draci.cpp +++ b/engines/draci/draci.cpp @@ -176,6 +176,9 @@ DraciEngine::~DraciEngine() { delete _paletteArchive; delete _objectsArchive; delete _spritesArchive; + delete _roomsArchive; + delete _overlaysArchive; + delete _animationsArchive; // Remove all of our debug levels here Common::clearAllDebugChannels(); diff --git a/engines/draci/game.cpp b/engines/draci/game.cpp index cb8385b741..ac26fb5871 100644 --- a/engines/draci/game.cpp +++ b/engines/draci/game.cpp @@ -316,7 +316,10 @@ void Game::loadOverlays() { } void Game::changeRoom(uint roomNum) { - _vm->_roomsArchive->clearCache(); + _vm->_roomsArchive->clearCache(); + _vm->_spritesArchive->clearCache(); + _vm->_paletteArchive->clearCache(); + _vm->_anims->deleteOverlays(); int oldRoomNum = _currentRoom._roomNum; -- cgit v1.2.3