diff --git a/engines/trecision/anim.cpp b/engines/trecision/anim.cpp index 444820c3fdb..9841df436a9 100644 --- a/engines/trecision/anim.cpp +++ b/engines/trecision/anim.cpp @@ -21,6 +21,8 @@ */ #include "trecision/anim.h" + +#include "logic.h" #include "trecision/3d.h" #include "trecision/dialog.h" #include "trecision/scheduler.h" @@ -232,10 +234,10 @@ void AnimTypeManager::processAtFrame(ATFHandle *h, int type, int atf) { _vm->setObjectVisible(h->_curAnim->_atFrame[atf]._index, !_vm->isObjectVisible(h->_curAnim->_atFrame[atf]._index)); break; case ATFSETROOMT: - _vm->setRoom(h->_curAnim->_atFrame[atf]._index, true); + _vm->_logicMgr->setupAltRoom(h->_curAnim->_atFrame[atf]._index, true); break; case ATFSETROOMF: - _vm->setRoom(h->_curAnim->_atFrame[atf]._index, false); + _vm->_logicMgr->setupAltRoom(h->_curAnim->_atFrame[atf]._index, false); break; case ATFREADBOX: switch (h->_curAnim->_atFrame[atf]._index) { diff --git a/engines/trecision/dialog.cpp b/engines/trecision/dialog.cpp index 7693101e385..75fc7979fb1 100644 --- a/engines/trecision/dialog.cpp +++ b/engines/trecision/dialog.cpp @@ -24,6 +24,7 @@ #include "trecision/actor.h" #include "trecision/defines.h" #include "trecision/dialog.h" +#include "trecision/logic.h" #include "trecision/scheduler.h" #include "trecision/graphics.h" #include "trecision/text.h" @@ -207,12 +208,12 @@ void DialogManager::afterChoice() { break; case dF213B: case dF213: - _vm->setRoom(kRoom21, true); + _vm->_logicMgr->setupAltRoom(kRoom21, true); break; case dF212B: case dF212: - _vm->setRoom(kRoom21, false); + _vm->_logicMgr->setupAltRoom(kRoom21, false); break; case dF321: diff --git a/engines/trecision/logic.cpp b/engines/trecision/logic.cpp index 639512d0f58..e5287d12739 100644 --- a/engines/trecision/logic.cpp +++ b/engines/trecision/logic.cpp @@ -540,7 +540,7 @@ bool LogicManager::startPlayDialog() { _vm->_dialogMgr->playDialog(dF491); } else if (_vm->_curRoom == kRoom4A && (_vm->_oldRoom == kRoom41D) && (_vm->_inventoryObj[kItemPositioner]._flag & kObjFlagExtra) && _vm->isObjectVisible(ocHELLEN4A)) { if (_vm->_curRoom == kRoom41D) - _vm->readExtraObj41D(); + _vm->readExtraObj41D(); _vm->_dialogMgr->playDialog(dC4A1); } else if (_vm->_curRoom == kRoom4P && (_vm->_oldRoom == kRoom4O) && !(_vm->_room[kRoom4P]._flag & kObjFlagDone)) { _vm->_dialogMgr->playDialog(dF4PI); @@ -2083,7 +2083,7 @@ bool LogicManager::useScreenWithScreen() { case oRAMPINO21: if (_vm->_useWith[WITH] == oTUBO21) { _vm->_dialogMgr->playDialog(dF211); - _vm->setRoom(kRoom21, true); + _vm->_logicMgr->setupAltRoom(kRoom21, true); _vm->_animMgr->_animTab[aBKG21]._flag &= ~SMKANIM_OFF1; _vm->setObjectVisible(oRAMPINO21, false); _vm->setObjectVisible(oTUBO21, false); @@ -2752,11 +2752,11 @@ bool LogicManager::mouseOperate(uint16 curObj) { case oPASSAGE24: if (_vm->_room[kRoom24]._flag & kObjFlagExtra) { _vm->_scheduler->doEvent(MC_CHARACTER, ME_CHARACTERACTION, MP_DEFAULT, a244, 0, 14, curObj); - _vm->setRoom(kRoom24, false); + _vm->_logicMgr->setupAltRoom(kRoom24, false); retVal = false; } else { _vm->_scheduler->doEvent(MC_CHARACTER, ME_CHARACTERACTION, MP_DEFAULT, a243, 0, 13, curObj); - _vm->setRoom(kRoom24, true); + _vm->_logicMgr->setupAltRoom(kRoom24, true); retVal = false; } break; @@ -4091,16 +4091,16 @@ void LogicManager::doSystemChangeRoom() { if (_vm->_room[_vm->_oldRoom]._flag & kObjFlagExtra) { switch (_vm->_curObj) { case od2ETO2C: - _vm->setRoom(kRoom2E, false); + _vm->_logicMgr->setupAltRoom(kRoom2E, false); break; case od24TO23: - _vm->setRoom(kRoom24, false); + _vm->_logicMgr->setupAltRoom(kRoom24, false); break; case od21TO22: - _vm->setRoom(kRoom21, false); + _vm->_logicMgr->setupAltRoom(kRoom21, false); break; case od2GVTO26: - _vm->setRoom(kRoom2GV, false); + _vm->_logicMgr->setupAltRoom(kRoom2GV, false); break; default: break; @@ -4108,13 +4108,13 @@ void LogicManager::doSystemChangeRoom() { } else { switch (_vm->_curObj) { case oENTRANCE2E: - _vm->setRoom(kRoom2E, true); + _vm->_logicMgr->setupAltRoom(kRoom2E, true); break; case od24TO26: - _vm->setRoom(kRoom24, true); + _vm->_logicMgr->setupAltRoom(kRoom24, true); break; case od21TO23: - _vm->setRoom(kRoom21, true); + _vm->_logicMgr->setupAltRoom(kRoom21, true); break; default: break; @@ -4132,13 +4132,13 @@ void LogicManager::doSystemChangeRoom() { _vm->_graphicsMgr->showCursor(); if (_vm->_curRoom == kRoom21) { - _vm->setRoom(kRoom21, _vm->_oldRoom == kRoom23A || _vm->_oldRoom == kRoom23B); + _vm->_logicMgr->setupAltRoom(kRoom21, _vm->_oldRoom == kRoom23A || _vm->_oldRoom == kRoom23B); } else if (_vm->_curRoom == kRoom24) { - _vm->setRoom(kRoom24, _vm->_oldRoom == kRoom26); + _vm->_logicMgr->setupAltRoom(kRoom24, _vm->_oldRoom == kRoom26); } else if (_vm->_curRoom == kRoom2A) { - _vm->setRoom(kRoom2A, _vm->_oldRoom == kRoom25); + _vm->_logicMgr->setupAltRoom(kRoom2A, _vm->_oldRoom == kRoom25); } else if (_vm->_curRoom == kRoom2B) { - _vm->setRoom(kRoom2B, _vm->_oldRoom == kRoom28); + _vm->_logicMgr->setupAltRoom(kRoom2B, _vm->_oldRoom == kRoom28); } // for save/load else if (_vm->_room[_vm->_curRoom]._flag & kObjFlagExtra) { diff --git a/engines/trecision/logic.h b/engines/trecision/logic.h index 48146249bb7..3fbc2aaac64 100644 --- a/engines/trecision/logic.h +++ b/engines/trecision/logic.h @@ -24,6 +24,7 @@ #define TRECISION_LOGIC_H #include "common/scummsys.h" +#include "common/serializer.h" namespace Trecision { class TrecisionEngine; diff --git a/engines/trecision/trecision.h b/engines/trecision/trecision.h index 65606eddde5..195bb885dab 100644 --- a/engines/trecision/trecision.h +++ b/engines/trecision/trecision.h @@ -179,7 +179,6 @@ public: void doMouseTalk(uint16 curObj); // Utils - void setRoom(uint16 r, bool b); uint16 textLength(const Common::String &text, uint16 begin = 0, uint16 end = 0); Common::KeyCode waitKey(); void waitDelay(uint32 val); diff --git a/engines/trecision/utils.cpp b/engines/trecision/utils.cpp index 0dc94ed2a9c..551a2a59419 100644 --- a/engines/trecision/utils.cpp +++ b/engines/trecision/utils.cpp @@ -45,10 +45,6 @@ char *TrecisionEngine::getNextSentence() { return _textPtr; } -void TrecisionEngine::setRoom(uint16 r, bool b) { - _logicMgr->setupAltRoom(r, b); -} - /*------------------------------------------------- * Compute string length from character begin to end *-------------------------------------------------*/