diff options
author | Paul Gilbert | 2014-08-06 08:28:20 -0400 |
---|---|---|
committer | Paul Gilbert | 2014-08-06 08:28:20 -0400 |
commit | c4d6dc376382de9b2d91d93ac9061f600b6a8696 (patch) | |
tree | 0b372a9ee05b351f16398c23e43299ad58d87bed /engines/access/room.cpp | |
parent | 8e43a6c5280e2b695753d4a0b6810811f1bd393f (diff) | |
download | scummvm-rg350-c4d6dc376382de9b2d91d93ac9061f600b6a8696.tar.gz scummvm-rg350-c4d6dc376382de9b2d91d93ac9061f600b6a8696.tar.bz2 scummvm-rg350-c4d6dc376382de9b2d91d93ac9061f600b6a8696.zip |
ACCESS: Added room clearing
Diffstat (limited to 'engines/access/room.cpp')
-rw-r--r-- | engines/access/room.cpp | 44 |
1 files changed, 12 insertions, 32 deletions
diff --git a/engines/access/room.cpp b/engines/access/room.cpp index c3a3a9f8e2..0515b50ab2 100644 --- a/engines/access/room.cpp +++ b/engines/access/room.cpp @@ -113,41 +113,21 @@ void Room::doRoom() { } void Room::clearRoom() { - // TODO -} - -void Room::reloadRoom() { - loadRoom(_vm->_roomNumber); - - if (_roomFlag != 1) { - _vm->_currentMan = _roomFlag; - _vm->_currentManOld = _roomFlag; - _vm->_manScaleOff = 0; - - switch (_vm->_currentMan) { - case 0: - _vm->_man1 = _vm->_files->loadFile("MAN.LZ"); - break; - - case 2: - _vm->_man1 = _vm->_files->loadFile("JMAN.LZ"); - break; - - case 3: - _vm->_man1 = _vm->_files->loadFile("OVERHEAD.LZ"); - _vm->_manScaleOff = 1; - break; - - default: - break; - } + if (_vm->_sound->_music) { + _vm->_sound->stopSong(); + delete[] _vm->_sound->_music; + _vm->_sound->_music = nullptr; } - reloadRoom1(); -} + _vm->_sound->freeSounds(); + _vm->_numAnimTimers = 0; -void Room::reloadRoom1() { - // TODO + _vm->freeAnimationData(); + _vm->_scripts->freeScriptData(); + _vm->freeCells(); + _vm->freePlayField(); + _vm->freeInactiveData(); + _vm->freeManData(); } void Room::loadRoom(int room) { |