aboutsummaryrefslogtreecommitdiff
path: root/engines/access/room.cpp
diff options
context:
space:
mode:
authorPaul Gilbert2014-08-06 08:28:20 -0400
committerPaul Gilbert2014-08-06 08:28:20 -0400
commitc4d6dc376382de9b2d91d93ac9061f600b6a8696 (patch)
tree0b372a9ee05b351f16398c23e43299ad58d87bed /engines/access/room.cpp
parent8e43a6c5280e2b695753d4a0b6810811f1bd393f (diff)
downloadscummvm-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.cpp44
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) {