diff options
author | Strangerke | 2014-01-09 08:21:52 +0100 |
---|---|---|
committer | Strangerke | 2014-01-09 08:21:52 +0100 |
commit | d8d4a2c3bb635151e3c044ab7b87496eb6854305 (patch) | |
tree | 81cd1f110e3750f81c8f9375cb47a24f61082296 | |
parent | 0a5d92527dae7c8b0fc49dbfef186016d16da499 (diff) | |
download | scummvm-rg350-d8d4a2c3bb635151e3c044ab7b87496eb6854305.tar.gz scummvm-rg350-d8d4a2c3bb635151e3c044ab7b87496eb6854305.tar.bz2 scummvm-rg350-d8d4a2c3bb635151e3c044ab7b87496eb6854305.zip |
MORTEVIELLE: Get rid of setParent() in Menu and MouseHandler
-rw-r--r-- | engines/mortevielle/actions.cpp | 80 | ||||
-rw-r--r-- | engines/mortevielle/dialogs.cpp | 28 | ||||
-rw-r--r-- | engines/mortevielle/graphics.cpp | 4 | ||||
-rw-r--r-- | engines/mortevielle/menu.cpp | 17 | ||||
-rw-r--r-- | engines/mortevielle/menu.h | 3 | ||||
-rw-r--r-- | engines/mortevielle/mortevielle.cpp | 13 | ||||
-rw-r--r-- | engines/mortevielle/mortevielle.h | 4 | ||||
-rw-r--r-- | engines/mortevielle/mouse.cpp | 8 | ||||
-rw-r--r-- | engines/mortevielle/mouse.h | 2 | ||||
-rw-r--r-- | engines/mortevielle/outtext.cpp | 6 | ||||
-rw-r--r-- | engines/mortevielle/saveload.cpp | 8 | ||||
-rw-r--r-- | engines/mortevielle/utils.cpp | 208 |
12 files changed, 190 insertions, 191 deletions
diff --git a/engines/mortevielle/actions.cpp b/engines/mortevielle/actions.cpp index b68dd48b0f..0c45f8dba5 100644 --- a/engines/mortevielle/actions.cpp +++ b/engines/mortevielle/actions.cpp @@ -40,7 +40,7 @@ namespace Mortevielle { * @remarks Originally called 'taller' */ void MortevielleEngine::fctMove() { - int oldMenu = (_menu._moveMenu[6]._menuId << 8) | _menu._moveMenu[6]._actionId; + int oldMenu = (_menu->_moveMenu[6]._menuId << 8) | _menu->_moveMenu[6]._actionId; if ((_coreVar._currPlace == ROOM26) && (_currAction == oldMenu)) { _coreVar._currPlace = LANDING; _caff = _coreVar._currPlace; @@ -65,10 +65,10 @@ void MortevielleEngine::fctMove() { if (_num == 1) { _coreVar._currPlace = OWN_ROOM; - _menu.setDestinationText(OWN_ROOM); + _menu->setDestinationText(OWN_ROOM); } else if (_num == 7) { _coreVar._currPlace = ATTIC; - _menu.setDestinationText(ATTIC); + _menu->setDestinationText(ATTIC); } else if (_num != 6) _coreVar._currPlace = ROOM26; @@ -85,10 +85,10 @@ void MortevielleEngine::fctMove() { } exitRoom(); int menuChoice = 1; - oldMenu = (_menu._moveMenu[menuChoice]._menuId << 8) | _menu._moveMenu[menuChoice]._actionId; + oldMenu = (_menu->_moveMenu[menuChoice]._menuId << 8) | _menu->_moveMenu[menuChoice]._actionId; while (oldMenu != _currAction) { ++menuChoice; - oldMenu = (_menu._moveMenu[menuChoice]._menuId << 8) | _menu._moveMenu[menuChoice]._actionId; + oldMenu = (_menu->_moveMenu[menuChoice]._menuId << 8) | _menu->_moveMenu[menuChoice]._actionId; } switch (_coreVar._currPlace) { @@ -97,14 +97,14 @@ void MortevielleEngine::fctMove() { gotoManorFront(); else if (menuChoice == 2) checkManorDistance(); - _menu.setDestinationText(_coreVar._currPlace); + _menu->setDestinationText(_coreVar._currPlace); return; case INSIDE_WELL: if (menuChoice == 1) floodedInWell(); else if (menuChoice == 2) gotoManorBack(); - _menu.setDestinationText(_coreVar._currPlace); + _menu->setDestinationText(_coreVar._currPlace); return; case BUREAU: if (menuChoice == 1) @@ -193,7 +193,7 @@ void MortevielleEngine::fctMove() { if ((menuChoice < 5) || (menuChoice == 13) || (menuChoice == 14)) prepareDisplayText(); resetRoomVariables(_coreVar._currPlace); - _menu.setDestinationText(_coreVar._currPlace); + _menu->setDestinationText(_coreVar._currPlace); } /** @@ -224,7 +224,7 @@ void MortevielleEngine::fctTake() { _coreVar._secretPassageObjectId = 0; if (_coreVar._currPlace == WELL) _coreVar._wellObjectId = 0; - _menu.unsetSearchMenu(); + _menu->unsetSearchMenu(); _obpart = false; prepareDisplayText(); } else { @@ -325,7 +325,7 @@ void MortevielleEngine::fctInventoryTake() { int oldMenu = 0; do { ++inventIndex; - oldMenu = (_menu._inventoryMenu[inventIndex]._menuId << 8) | _menu._inventoryMenu[inventIndex]._actionId; + oldMenu = (_menu->_inventoryMenu[inventIndex]._menuId << 8) | _menu->_inventoryMenu[inventIndex]._actionId; } while (oldMenu != _currAction); int cz = 0; int cy = 0; @@ -336,7 +336,7 @@ void MortevielleEngine::fctInventoryTake() { } while (cz != inventIndex); cz = _coreVar._inventory[cy]; _coreVar._inventory[cy] = 0; - _menu.setInventoryText(); + _menu->setInventoryText(); putInHand(cz); _crep = 998; clearDescriptionBar(); @@ -536,7 +536,7 @@ void MortevielleEngine::fctSearch() { if (_curSearchObjId != 0) { _searchCount = 0; _heroSearching = true; - _menu.setSearchMenu(); + _menu->setSearchMenu(); prepareNextObject(); } else _crep = 997; @@ -607,7 +607,7 @@ void MortevielleEngine::fctOpen() { if (_caff == ROOM26) { if (_roomDoorId != OWN_ROOM) { - _currAction = _menu._opcodeEnter; + _currAction = _menu->_opcodeEnter; _syn = true; } else _crep = 997; @@ -740,12 +740,12 @@ void MortevielleEngine::fctPlace() { _dialogManager.show(alertTxt); bool enterPassageFl = _dialogManager.showKnowledgeCheck(); - _mouse.hideMouse(); + _mouse->hideMouse(); clearScreen(); drawRightFrame(); clearDescriptionBar(); clearVerbBar(); - _mouse.showMouse(); + _mouse->showMouse(); prepareRoom(); drawClock(); if (_currBitIndex != 0) @@ -753,12 +753,12 @@ void MortevielleEngine::fctPlace() { else displayAloneText(); - _menu.displayMenu(); + _menu->displayMenu(); if (enterPassageFl) { _coreVar._currPlace = SECRET_PASSAGE; - _menu.setDestinationText(SECRET_PASSAGE); + _menu->setDestinationText(SECRET_PASSAGE); } else { - _menu.setDestinationText(_coreVar._currPlace); + _menu->setDestinationText(_coreVar._currPlace); setPal(14); drawPicture(); displayAnimFrame(1, 2); @@ -1132,7 +1132,7 @@ void MortevielleEngine::fctEat() { _coreVar._currPlace = DINING_ROOM; _caff = DINING_ROOM; resetRoomVariables(_coreVar._currPlace); - _menu.setDestinationText(_coreVar._currPlace); + _menu->setDestinationText(_coreVar._currPlace); int day, hour, minute; updateHour(day, hour, minute); @@ -1168,7 +1168,7 @@ void MortevielleEngine::fctEat() { void MortevielleEngine::fctEnter() { if ((_coreVar._currPlace == MANOR_FRONT) || (_coreVar._currPlace == MANOR_BACK)) { gotoDiningRoom(); - _menu.setDestinationText(_coreVar._currPlace); + _menu->setDestinationText(_coreVar._currPlace); } else if (_coreVar._currPlace == LANDING) showMoveMenuAlert(); else if (_roomDoorId == OWN_ROOM) @@ -1193,7 +1193,7 @@ void MortevielleEngine::fctEnter() { ++_coreVar._faithScore; _coreVar._currPlace = LANDING; _currMenu = MENU_DISCUSS; - _currAction = (_menu._discussMenu[charIndex]._menuId << 8) | _menu._discussMenu[charIndex]._actionId; + _currAction = (_menu->_discussMenu[charIndex]._menuId << 8) | _menu->_discussMenu[charIndex]._actionId; _syn = true; if (_roomDoorId == JULIA_ROOM) { _col = true; @@ -1214,7 +1214,7 @@ void MortevielleEngine::fctEnter() { _coreVar._currPlace = _roomDoorId; prepareDisplayText(); resetRoomVariables(_coreVar._currPlace); - _menu.setDestinationText(_coreVar._currPlace); + _menu->setDestinationText(_coreVar._currPlace); _roomDoorId = OWN_ROOM; _savedBitIndex = 0; _currBitIndex = 0; @@ -1237,7 +1237,7 @@ void MortevielleEngine::fctSleep() { prepareDisplayText(); drawPictureWithText(); resetRoomVariables(_coreVar._currPlace); - _menu.setDestinationText(_coreVar._currPlace); + _menu->setDestinationText(_coreVar._currPlace); } clearVerbBar(); clearDescriptionBar(); @@ -1321,7 +1321,7 @@ void MortevielleEngine::fctLeave() { if (_crep == 0) _crep = nextPlace; resetRoomVariables(nextPlace); - _menu.setDestinationText(nextPlace); + _menu->setDestinationText(nextPlace); } } @@ -1394,7 +1394,7 @@ void MortevielleEngine::fctDiscuss() { int oldMenu; do { ++cx; - oldMenu = (_menu._discussMenu[cx]._menuId << 8) | _menu._discussMenu[cx]._actionId; + oldMenu = (_menu->_discussMenu[cx]._menuId << 8) | _menu->_discussMenu[cx]._actionId; } while (oldMenu != _currAction); _caff = 69 + cx; drawPictureWithText(); @@ -1403,7 +1403,7 @@ void MortevielleEngine::fctDiscuss() { } testKey(false); menuUp(); - _mouse.hideMouse(); + _mouse->hideMouse(); clearScreen(); drawDiscussionBox(); startDialog(displId); @@ -1417,7 +1417,7 @@ void MortevielleEngine::fctDiscuss() { } lib[46] = lib[45]; lib[45] = ' '; - _mouse.showMouse(); + _mouse->showMouse(); do { choice = 0; int posX = 0; @@ -1444,11 +1444,11 @@ void MortevielleEngine::fctDiscuss() { bool click; do { bool dummyFl; - _mouse.moveMouse(dummyFl, retKey); + _mouse->moveMouse(dummyFl, retKey); if (shouldQuit()) return; - _mouse.getMousePosition(x, y, click); + _mouse->getMousePosition(x, y, click); x *= (3 - kResolutionScaler); if (x > 319) cx = 41; @@ -1533,11 +1533,11 @@ void MortevielleEngine::fctDiscuss() { _coreVar._faithScore += 3; displId = 139; } - _mouse.hideMouse(); + _mouse->hideMouse(); clearScreen(); drawDiscussionBox(); startDialog(displId); - _mouse.showMouse(); + _mouse->showMouse(); if ((displId == 84) || (displId == 86)) { _coreVar._pctHintFound[5] = '*'; _coreVar._availableQuestion[7] = '*'; @@ -1551,32 +1551,32 @@ void MortevielleEngine::fctDiscuss() { _coreVar._pctHintFound[8] = '*'; _coreVar._availableQuestion[32] = '*'; } - _mouse.hideMouse(); + _mouse->hideMouse(); clearScreen(); - _mouse.showMouse(); + _mouse->showMouse(); } } while ((choice != 46) && (displId != 138)); if (_col) { _coreVar._faithScore += (3 * (_coreVar._faithScore / 10)); - _mouse.hideMouse(); + _mouse->hideMouse(); clearScreen(); drawDiscussionBox(); startDialog(138); - _mouse.showMouse(); + _mouse->showMouse(); _col = false; _coreVar._currPlace = LANDING; } _controlMenu = 0; - _mouse.hideMouse(); + _mouse->hideMouse(); clearScreen(); drawRightFrame(); - _mouse.showMouse(); + _mouse->showMouse(); showPeoplePresent(_currBitIndex); prepareRoom(); drawClock(); prepareDisplayText(); /* chech;*/ - _menu.setDestinationText(_coreVar._currPlace); + _menu->setDestinationText(_coreVar._currPlace); clearVerbBar(); } @@ -1625,13 +1625,13 @@ void MortevielleEngine::endGame() { clearVerbBar(); handleDescriptionText(9, 1509); testKey(false); - _mouse.hideMouse(); + _mouse->hideMouse(); _caff = 70; _text.taffich(); clearScreen(); drawDiscussionBox(); startDialog(141); - _mouse.showMouse(); + _mouse->showMouse(); clearUpperLeftPart(); handleDescriptionText(9, 1509); handleDescriptionText(2, 142); diff --git a/engines/mortevielle/dialogs.cpp b/engines/mortevielle/dialogs.cpp index 9a2ade60ab..9e197abdd4 100644 --- a/engines/mortevielle/dialogs.cpp +++ b/engines/mortevielle/dialogs.cpp @@ -43,7 +43,7 @@ int DialogManager::show(const Common::String &msg) { // Make a copy of the current screen surface for later restore _vm->_backgroundSurface.copyFrom(_vm->_screenSurface); - _vm->_mouse.hideMouse(); + _vm->_mouse->hideMouse(); while (_vm->keyPressed()) _vm->getChar(); @@ -99,17 +99,17 @@ int DialogManager::show(const Common::String &msg) { limit[2][1] = ((uint)(320 + ((uint)esp >> 1)) / 2) * kResolutionScaler; limit[2][2] = (limit[2][1]) + 40; } - _vm->_mouse.showMouse(); + _vm->_mouse->showMouse(); int id = 0; bool dummyFl = false; bool test3; do { char dummyKey = '\377'; - _vm->_mouse.moveMouse(dummyFl, dummyKey); + _vm->_mouse->moveMouse(dummyFl, dummyKey); if (_vm->shouldQuit()) return 0; - curPos = _vm->_mouse._pos; + curPos = _vm->_mouse->_pos; bool newaff = false; if ((curPos.y > 95) && (curPos.y < 105)) { bool test1 = (curPos.x > limit[1][1]) && (curPos.x < limit[1][2]); @@ -125,7 +125,7 @@ int DialogManager::show(const Common::String &msg) { else ix = 2; if (ix != id) { - _vm->_mouse.hideMouse(); + _vm->_mouse->hideMouse(); if (id != 0) { setPosition(id, coldep, esp); @@ -142,12 +142,12 @@ int DialogManager::show(const Common::String &msg) { _vm->_screenSurface.drawString(tmp2, 1); id = ix; - _vm->_mouse.showMouse(); + _vm->_mouse->showMouse(); } } } if ((id != 0) && !newaff) { - _vm->_mouse.hideMouse(); + _vm->_mouse->hideMouse(); setPosition(id, coldep, esp); Common::String tmp3(" "); @@ -156,13 +156,13 @@ int DialogManager::show(const Common::String &msg) { _vm->_screenSurface.drawString(tmp3, 0); id = 0; - _vm->_mouse.showMouse(); + _vm->_mouse->showMouse(); } test3 = (curPos.y > 95) && (curPos.y < 105) && (((curPos.x > limit[1][1]) && (curPos.x < limit[1][2])) || ((curPos.x > limit[2][1]) && (curPos.x < limit[2][2]))); } while (!_vm->getMouseClick()); _vm->setMouseClick(false); - _vm->_mouse.hideMouse(); + _vm->_mouse->hideMouse(); if (!test3) { id = 1; setPosition(1, coldep, esp); @@ -171,7 +171,7 @@ int DialogManager::show(const Common::String &msg) { tmp4 += " "; _vm->_screenSurface.drawString(tmp4, 1); } - _vm->_mouse.showMouse(); + _vm->_mouse->showMouse(); /* Restore the background area */ _vm->_screenSurface.copyFrom(_vm->_backgroundSurface, 0, 0); @@ -292,9 +292,9 @@ bool DialogManager::showKnowledgeCheck() { int correctCount = 0; for (int indx = 0; indx < 10; ++indx) { - _vm->_mouse.hideMouse(); + _vm->_mouse->hideMouse(); _vm->clearScreen(); - _vm->_mouse.showMouse(); + _vm->_mouse->showMouse(); int dialogHeight = 23; _vm->_screenSurface.fillRect(15, Common::Rect(0, 14, 630, dialogHeight)); Common::String tmpStr = _vm->getString(textIndexArr[indx]); @@ -342,12 +342,12 @@ bool DialogManager::showKnowledgeCheck() { _vm->setMouseClick(false); bool flag; char key; - _vm->_mouse.moveMouse(flag, key); + _vm->_mouse->moveMouse(flag, key); if (_vm->shouldQuit()) return false; currChoice = 1; - while (coor[currChoice]._enabled && !_vm->_mouse.isMouseIn(coor[currChoice]._rect)) + while (coor[currChoice]._enabled && !_vm->_mouse->isMouseIn(coor[currChoice]._rect)) ++currChoice; if (coor[currChoice]._enabled) { if ((prevChoice != 0) && (prevChoice != currChoice)) { diff --git a/engines/mortevielle/graphics.cpp b/engines/mortevielle/graphics.cpp index daf7926438..7a7e9265c5 100644 --- a/engines/mortevielle/graphics.cpp +++ b/engines/mortevielle/graphics.cpp @@ -1070,7 +1070,7 @@ void ScreenSurface::drawString(const Common::String &l, int command) { if (l == "") return; - _vm->_mouse.hideMouse(); + _vm->_mouse->hideMouse(); Common::Point pt = _textPos; int charWidth = 6; @@ -1102,7 +1102,7 @@ void ScreenSurface::drawString(const Common::String &l, int command) { _vm->_screenSurface.writeCharacter(Common::Point(pt.x, pt.y), l[x - 1], color); pt.x += charWidth; } - _vm->_mouse.showMouse(); + _vm->_mouse->showMouse(); } /** diff --git a/engines/mortevielle/menu.cpp b/engines/mortevielle/menu.cpp index 641a527c98..32e4dd25b6 100644 --- a/engines/mortevielle/menu.cpp +++ b/engines/mortevielle/menu.cpp @@ -48,7 +48,8 @@ const byte menuConstants[8][4] = { {62, 46, 13, 10} }; -Menu::Menu() { +Menu::Menu(MortevielleEngine *vm) { + _vm = vm; _opcodeAttach = _opcodeWait = _opcodeForce = _opcodeSleep = OPCODE_NONE; _opcodeListen = _opcodeEnter = _opcodeClose = _opcodeSearch = OPCODE_NONE; _opcodeKnock = _opcodeScratch = _opcodeRead = _opcodeEat = OPCODE_NONE; @@ -295,7 +296,7 @@ void Menu::enableMenuItem(MenuItem item) { } void Menu::displayMenu() { - _vm->_mouse.hideMouse(); + _vm->_mouse->hideMouse(); _vm->_screenSurface.fillRect(7, Common::Rect(0, 0, 639, 10)); int col = 28 * kResolutionScaler; @@ -322,7 +323,7 @@ void Menu::displayMenu() { } col += 48 * kResolutionScaler; } - _vm->_mouse.showMouse(); + _vm->_mouse->showMouse(); } /** @@ -424,7 +425,7 @@ void Menu::menuDown(int ii) { // Draw the menu int minX = menuConstants[ii - 1][0] << 3; int lineNum = menuConstants[ii - 1][3]; - _vm->_mouse.hideMouse(); + _vm->_mouse->hideMouse(); int deltaX = 6; int maxX = minX + (menuConstants[ii - 1][2] * deltaX) + 6; if ((ii == 4) && (_vm->getLanguage() == Common::EN_ANY)) @@ -483,7 +484,7 @@ void Menu::menuDown(int ii) { _vm->_screenSurface.putxy(minX, _vm->_screenSurface._textPos.y + 8); } _multiTitle = true; - _vm->_mouse.showMouse(); + _vm->_mouse->showMouse(); } /** @@ -523,7 +524,7 @@ void Menu::updateMenu() { if (!_menuActive) return; - Common::Point curPos = _vm->_mouse._pos; + Common::Point curPos = _vm->_mouse->_pos; if (!_vm->getMouseClick()) { if (curPos == _vm->_prevPos) return; @@ -590,10 +591,6 @@ void Menu::updateMenu() { } } -void Menu::setParent(MortevielleEngine *vm) { - _vm = vm; -} - void Menu::initMenu() { Common::File f; diff --git a/engines/mortevielle/menu.h b/engines/mortevielle/menu.h index debf5b09b6..d8a3b4d0d6 100644 --- a/engines/mortevielle/menu.h +++ b/engines/mortevielle/menu.h @@ -60,7 +60,7 @@ private: void menuDown(int ii); public: - Menu(); + Menu(MortevielleEngine *vm); bool _menuActive; bool _menuSelected; @@ -103,7 +103,6 @@ public: int _opcodeSLook; MenuItem _actionMenu[12]; - void setParent(MortevielleEngine *vm); void readVerbNums(Common::File &f, int dataSize); void setText(MenuItem item, Common::String name); void setDestinationText(int roomId); diff --git a/engines/mortevielle/mortevielle.cpp b/engines/mortevielle/mortevielle.cpp index d434150977..01750b0512 100644 --- a/engines/mortevielle/mortevielle.cpp +++ b/engines/mortevielle/mortevielle.cpp @@ -53,11 +53,11 @@ MortevielleEngine::MortevielleEngine(OSystem *system, const MortevielleGameDescr _debugger.setParent(this); _dialogManager.setParent(this); _screenSurface.setParent(this); - _mouse.setParent(this); + _mouse = new MouseHandler(this); _text.setParent(this); _soundManager.setParent(this); _savegameManager.setParent(this); - _menu.setParent(this); + _menu = new Menu(this); _lastGameFrame = 0; _mouseClick = false; @@ -105,6 +105,9 @@ MortevielleEngine::MortevielleEngine(OSystem *system, const MortevielleGameDescr } MortevielleEngine::~MortevielleEngine() { + delete _menu; + delete _mouse; + free(_curPict); free(_curAnim); free(_rightFramePict); @@ -284,7 +287,7 @@ Common::ErrorCode MortevielleEngine::loadMortDat() { } else if ((!strncmp(dataType, "GSTR", 4)) && (!_txxFileFl)) { readStaticStrings(f, dataSize, kGameStrings); } else if (!strncmp(dataType, "VERB", 4)) { - _menu.readVerbNums(f, dataSize); + _menu->readVerbNums(f, dataSize); } else { // Unknown section f.skip(dataSize); @@ -419,13 +422,13 @@ void MortevielleEngine::mainGame() { for (_crep = 1; _crep <= _x26KeyCount; ++_crep) decodeNumber(&_cfiecBuffer[161 * 16], (_cfiecBufferSize - (161 * 16)) / 64); - _menu.initMenu(); + _menu->initMenu(); charToHour(); initGame(); clearScreen(); drawRightFrame(); - _mouse.showMouse(); + _mouse->showMouse(); // Loop to play the game do { diff --git a/engines/mortevielle/mortevielle.h b/engines/mortevielle/mortevielle.h index 5ae94987a0..b0f1af3e99 100644 --- a/engines/mortevielle/mortevielle.h +++ b/engines/mortevielle/mortevielle.h @@ -434,8 +434,8 @@ public: Common::RandomSource _randomSource; SoundManager _soundManager; SavegameManager _savegameManager; - Menu _menu; - MouseHandler _mouse; + Menu *_menu; + MouseHandler *_mouse; TextHandler _text; DialogManager _dialogManager; diff --git a/engines/mortevielle/mouse.cpp b/engines/mortevielle/mouse.cpp index 480b4381ef..2077a4cdc5 100644 --- a/engines/mortevielle/mouse.cpp +++ b/engines/mortevielle/mouse.cpp @@ -33,6 +33,10 @@ namespace Mortevielle { +MouseHandler::MouseHandler(MortevielleEngine *vm) { + _vm = vm; +} + /** * Initialize the mouse * @remarks Originally called 'init_mouse' @@ -264,8 +268,4 @@ bool MouseHandler::isMouseIn(Common::Rect r) { return false; } -void MouseHandler::setParent(MortevielleEngine *vm) { - _vm = vm; -} - } // End of namespace Mortevielle diff --git a/engines/mortevielle/mouse.h b/engines/mortevielle/mouse.h index 90d1ef310e..81c02dc8bd 100644 --- a/engines/mortevielle/mouse.h +++ b/engines/mortevielle/mouse.h @@ -38,8 +38,8 @@ private: MortevielleEngine *_vm; public: Common::Point _pos; + MouseHandler(MortevielleEngine *vm); - void setParent(MortevielleEngine *vm); void initMouse(); void hideMouse(); void showMouse(); diff --git a/engines/mortevielle/outtext.cpp b/engines/mortevielle/outtext.cpp index d50f4005de..79b04e39a5 100644 --- a/engines/mortevielle/outtext.cpp +++ b/engines/mortevielle/outtext.cpp @@ -218,7 +218,7 @@ void TextHandler::taffich() { } _vm->_destinationOk = true; - _vm->_mouse.hideMouse(); + _vm->_mouse->hideMouse(); drawingStartPos = 0; Common::String filename, altFilename; @@ -291,8 +291,8 @@ void TextHandler::taffich() { } loadAniFile(filename, drawingStartPos, drawingSize); } - _vm->_mouse.showMouse(); - if ((a < COAT_ARMS) && ((_vm->_maff < COAT_ARMS) || (_vm->_coreVar._currPlace == LANDING)) && (_vm->_currAction != _vm->_menu._opcodeEnter)) { + _vm->_mouse->showMouse(); + if ((a < COAT_ARMS) && ((_vm->_maff < COAT_ARMS) || (_vm->_coreVar._currPlace == LANDING)) && (_vm->_currAction != _vm->_menu->_opcodeEnter)) { if ((a == ATTIC) || (a == CELLAR)) _vm->displayAloneText(); else if (!_vm->_blo) diff --git a/engines/mortevielle/saveload.cpp b/engines/mortevielle/saveload.cpp index c14a03cd60..9f6a36c98c 100644 --- a/engines/mortevielle/saveload.cpp +++ b/engines/mortevielle/saveload.cpp @@ -116,14 +116,14 @@ bool SavegameManager::loadSavegame(const Common::String &filename) { * Load a saved game */ Common::Error SavegameManager::loadGame(const Common::String &filename) { - g_vm->_mouse.hideMouse(); + g_vm->_mouse->hideMouse(); g_vm->displayEmptyHand(); if (loadSavegame(filename)) { /* Initialization */ g_vm->charToHour(); g_vm->initGame(); g_vm->gameLoaded(); - g_vm->_mouse.showMouse(); + g_vm->_mouse->showMouse(); return Common::kNoError; } else return Common::kUnknownError; @@ -136,7 +136,7 @@ Common::Error SavegameManager::saveGame(int n, const Common::String &saveName) { Common::OutSaveFile *f; int i; - g_vm->_mouse.hideMouse(); + g_vm->_mouse->hideMouse(); g_vm->hourToChar(); for (i = 0; i <= 389; ++i) @@ -165,7 +165,7 @@ Common::Error SavegameManager::saveGame(int n, const Common::String &saveName) { // Skipped: dialog asking to swap floppy - g_vm->_mouse.showMouse(); + g_vm->_mouse->showMouse(); return Common::kNoError; } diff --git a/engines/mortevielle/utils.cpp b/engines/mortevielle/utils.cpp index c4f2d5714b..991ff893d6 100644 --- a/engines/mortevielle/utils.cpp +++ b/engines/mortevielle/utils.cpp @@ -92,8 +92,8 @@ bool MortevielleEngine::handleEvents() { case Common::EVENT_LBUTTONUP: case Common::EVENT_MOUSEMOVE: _mousePos = Common::Point(event.mouse.x, event.mouse.y / 2); - _mouse._pos.x = event.mouse.x; - _mouse._pos.y = event.mouse.y / 2; + _mouse->_pos.x = event.mouse.x; + _mouse->_pos.y = event.mouse.y / 2; if (event.type == Common::EVENT_LBUTTONDOWN) _mouseClick = true; @@ -208,7 +208,7 @@ void MortevielleEngine::initMouse() { CursorMan.replaceCursor(CURSOR_ARROW_DATA, 16, 16, 0, 0, 0xff); CursorMan.showMouse(true); - _mouse.initMouse(); + _mouse->initMouse(); } /** @@ -261,8 +261,8 @@ void MortevielleEngine::handleAction() { bool handledOpcodeFl = false; _controlMenu = 0; if (!_keyPressedEsc) { - _menu.drawMenu(); - _menu._menuDisplayed = true; + _menu->drawMenu(); + _menu->_menuDisplayed = true; temps = 0; _key = 0; funct = false; @@ -270,25 +270,25 @@ void MortevielleEngine::handleAction() { _inMainGameLoop = true; do { - _menu.updateMenu(); + _menu->updateMenu(); prepareRoom(); - _mouse.moveMouse(funct, inkey); + _mouse->moveMouse(funct, inkey); if (shouldQuit()) return; ++temps; if (keyPressed() || _mouseClick) { _soundManager._mixer->stopHandle(_soundManager._soundHandle); } - } while (!((_menu._menuSelected) || (temps > lim) || (funct) || (_anyone))); + } while (!((_menu->_menuSelected) || (temps > lim) || (funct) || (_anyone))); _inMainGameLoop = false; - _menu.eraseMenu(); - _menu._menuDisplayed = false; - if (_menu._menuSelected && (_currMenu == MENU_SAVE)) { + _menu->eraseMenu(); + _menu->_menuDisplayed = false; + if (_menu->_menuSelected && (_currMenu == MENU_SAVE)) { Common::String saveName = Common::String::format("Savegame #%d", _currAction & 15); _savegameManager.saveGame(_currAction & 15, saveName); } - if (_menu._menuSelected && (_currMenu == MENU_LOAD)) + if (_menu->_menuSelected && (_currMenu == MENU_LOAD)) _savegameManager.loadGame((_currAction & 15) - 1); if (inkey == '\103') { /* F9 */ temps = _dialogManager.show(_hintPctMessage); @@ -321,12 +321,12 @@ void MortevielleEngine::handleAction() { _menuOpcode = _currAction; if (!_anyone) { if ((_heroSearching) || (_obpart)) { - if (_mouse._pos.y < 12) + if (_mouse->_pos.y < 12) return; - if ((_currAction == _menu._opcodeSound) || (_currAction == _menu._opcodeLift)) { + if ((_currAction == _menu->_opcodeSound) || (_currAction == _menu->_opcodeLift)) { handledOpcodeFl = true; - if ((_currAction == _menu._opcodeLift) || (_obpart)) { + if ((_currAction == _menu->_opcodeLift) || (_obpart)) { endSearch(); _caff = _coreVar._currPlace; _crep = 998; @@ -503,48 +503,48 @@ void MortevielleEngine::showPeoplePresent(int bitIndex) { int xp = 580 - (_screenSurface.getStringWidth("LEO") / 2); for (int i = 1; i <= 8; ++i) - _menu.disableMenuItem(_menu._discussMenu[i]); + _menu->disableMenuItem(_menu->_discussMenu[i]); clearUpperRightPart(); if ((bitIndex & 128) == 128) { _screenSurface.putxy(xp, 24); _screenSurface.drawString("LEO", 4); - _menu.enableMenuItem(_menu._discussMenu[1]); + _menu->enableMenuItem(_menu->_discussMenu[1]); } if ((bitIndex & 64) == 64) { _screenSurface.putxy(xp, 32); _screenSurface.drawString("PAT", 4); - _menu.enableMenuItem(_menu._discussMenu[2]); + _menu->enableMenuItem(_menu->_discussMenu[2]); } if ((bitIndex & 32) == 32) { _screenSurface.putxy(xp, 40); _screenSurface.drawString("GUY", 4); - _menu.enableMenuItem(_menu._discussMenu[3]); + _menu->enableMenuItem(_menu->_discussMenu[3]); } if ((bitIndex & 16) == 16) { _screenSurface.putxy(xp, 48); _screenSurface.drawString("EVA", 4); - _menu.enableMenuItem(_menu._discussMenu[4]); + _menu->enableMenuItem(_menu->_discussMenu[4]); } if ((bitIndex & 8) == 8) { _screenSurface.putxy(xp, 56); _screenSurface.drawString("BOB", 4); - _menu.enableMenuItem(_menu._discussMenu[5]); + _menu->enableMenuItem(_menu->_discussMenu[5]); } if ((bitIndex & 4) == 4) { _screenSurface.putxy(xp, 64); _screenSurface.drawString("LUC", 4); - _menu.enableMenuItem(_menu._discussMenu[6]); + _menu->enableMenuItem(_menu->_discussMenu[6]); } if ((bitIndex & 2) == 2) { _screenSurface.putxy(xp, 72); _screenSurface.drawString("IDA", 4); - _menu.enableMenuItem(_menu._discussMenu[7]); + _menu->enableMenuItem(_menu->_discussMenu[7]); } if ((bitIndex & 1) == 1) { _screenSurface.putxy(xp, 80); _screenSurface.drawString("MAX", 4); - _menu.enableMenuItem(_menu._discussMenu[8]); + _menu->enableMenuItem(_menu->_discussMenu[8]); } _currBitIndex = bitIndex; } @@ -605,7 +605,7 @@ int MortevielleEngine::getPresenceStatsGreenRoom() { else if ((hour >= 0) && (hour < 8)) retVal = 70; - _menu.updateMenu(); + _menu->updateMenu(); return retVal; } @@ -698,7 +698,7 @@ int MortevielleEngine::getPresenceStatsRedRoom() { */ void MortevielleEngine::displayAloneText() { for (int i = 1; i <= 8; ++i) - _menu.disableMenuItem(_menu._discussMenu[i]); + _menu->disableMenuItem(_menu->_discussMenu[i]); Common::String sYou = getEngineString(S_YOU); Common::String sAre = getEngineString(S_ARE); @@ -1284,7 +1284,7 @@ void MortevielleEngine::loseGame() { resetOpenObjects(); _roomDoorId = OWN_ROOM; _curSearchObjId = 0; - _menu.unsetSearchMenu(); + _menu->unsetSearchMenu(); if (!_blo) getPresence(MANOR_FRONT); @@ -1333,7 +1333,7 @@ void MortevielleEngine::startDialog(int16 rep) { assert(rep >= 0); - _mouse.hideMouse(); + _mouse->hideMouse(); Common::String dialogStr = getString(rep + kDialogStringIndex); _text.displayStr(dialogStr, 230, 4, 65, 26, 5); _dialogManager.drawF3F8(); @@ -1346,7 +1346,7 @@ void MortevielleEngine::startDialog(int16 rep) { return; } while (key != 66); clearScreen(); - _mouse.showMouse(); + _mouse->showMouse(); } /** @@ -1357,7 +1357,7 @@ void MortevielleEngine::endSearch() { _heroSearching = false; _obpart = false; _searchCount = 0; - _menu.unsetSearchMenu(); + _menu->unsetSearchMenu(); } /** @@ -1383,13 +1383,13 @@ void MortevielleEngine::gotoDiningRoom() { handleDescriptionText(2, 33); testKey(false); menuUp(); - _mouse.hideMouse(); + _mouse->hideMouse(); clearScreen(); drawDiscussionBox(); startDialog(140); drawRightFrame(); drawClock(); - _mouse.showMouse(); + _mouse->showMouse(); _coreVar._currPlace = OWN_ROOM; prepareDisplayText(); resetPresenceInRooms(DINING_ROOM); @@ -1451,8 +1451,8 @@ void MortevielleEngine::floodedInWell() { * @remarks Originally called 'antegame' */ void MortevielleEngine::gameLoaded() { - _mouse.hideMouse(); - _menu._menuDisplayed = false; + _mouse->hideMouse(); + _menu->_menuDisplayed = false; _loseGame = true; _anyone = false; _destinationOk = true; @@ -1490,11 +1490,11 @@ void MortevielleEngine::gameLoaded() { handleDescriptionText(2, _crep); clearVerbBar(); _endGame = false; - _menu.setDestinationText(_coreVar._currPlace); - _menu.setInventoryText(); + _menu->setDestinationText(_coreVar._currPlace); + _menu->setInventoryText(); if (_coreVar._selectedObjectId != 0) displayItemInHand(_coreVar._selectedObjectId + 400); - _mouse.showMouse(); + _mouse->showMouse(); } /** @@ -1508,7 +1508,7 @@ void MortevielleEngine::handleOpcode() { _keyPressedEsc = false; if (!_anyone) { if (_uptodatePresence) { - if ((_currMenu == MENU_MOVE) || (_currAction == _menu._opcodeLeave) || (_currAction == _menu._opcodeSleep) || (_currAction == _menu._opcodeEat)) { + if ((_currMenu == MENU_MOVE) || (_currAction == _menu->_opcodeLeave) || (_currAction == _menu->_opcodeSleep) || (_currAction == _menu->_opcodeEat)) { _controlMenu = 4; menuUp(); return; @@ -1521,60 +1521,60 @@ void MortevielleEngine::handleOpcode() { fctDiscuss(); else if (_currMenu == MENU_INVENTORY) fctInventoryTake(); - else if (_currAction == _menu._opcodeAttach) + else if (_currAction == _menu->_opcodeAttach) fctAttach(); - else if (_currAction == _menu._opcodeWait) + else if (_currAction == _menu->_opcodeWait) fctWait(); - else if (_currAction == _menu._opcodeForce) + else if (_currAction == _menu->_opcodeForce) fctForce(); - else if (_currAction == _menu._opcodeSleep) + else if (_currAction == _menu->_opcodeSleep) fctSleep(); - else if (_currAction == _menu._opcodeListen) + else if (_currAction == _menu->_opcodeListen) fctListen(); - else if (_currAction == _menu._opcodeEnter) + else if (_currAction == _menu->_opcodeEnter) fctEnter(); - else if (_currAction == _menu._opcodeClose) + else if (_currAction == _menu->_opcodeClose) fctClose(); - else if (_currAction == _menu._opcodeSearch) + else if (_currAction == _menu->_opcodeSearch) fctSearch(); - else if (_currAction == _menu._opcodeKnock) + else if (_currAction == _menu->_opcodeKnock) fctKnock(); - else if (_currAction == _menu._opcodeScratch) + else if (_currAction == _menu->_opcodeScratch) fctScratch(); - else if (_currAction == _menu._opcodeRead) + else if (_currAction == _menu->_opcodeRead) fctRead(); - else if (_currAction == _menu._opcodeEat) + else if (_currAction == _menu->_opcodeEat) fctEat(); - else if (_currAction == _menu._opcodePlace) + else if (_currAction == _menu->_opcodePlace) fctPlace(); - else if (_currAction == _menu._opcodeOpen) + else if (_currAction == _menu->_opcodeOpen) fctOpen(); - else if (_currAction == _menu._opcodeTake) + else if (_currAction == _menu->_opcodeTake) fctTake(); - else if (_currAction == _menu._opcodeLook) + else if (_currAction == _menu->_opcodeLook) fctLook(); - else if (_currAction == _menu._opcodeSmell) + else if (_currAction == _menu->_opcodeSmell) fctSmell(); - else if (_currAction == _menu._opcodeSound) + else if (_currAction == _menu->_opcodeSound) fctSound(); - else if (_currAction == _menu._opcodeLeave) + else if (_currAction == _menu->_opcodeLeave) fctLeave(); - else if (_currAction == _menu._opcodeLift) + else if (_currAction == _menu->_opcodeLift) fctLift(); - else if (_currAction == _menu._opcodeTurn) + else if (_currAction == _menu->_opcodeTurn) fctTurn(); - else if (_currAction == _menu._opcodeSSearch) + else if (_currAction == _menu->_opcodeSSearch) fctSelfSearch(); - else if (_currAction == _menu._opcodeSRead) + else if (_currAction == _menu->_opcodeSRead) fctSelfRead(); - else if (_currAction == _menu._opcodeSPut) + else if (_currAction == _menu->_opcodeSPut) fctSelfPut(); - else if (_currAction == _menu._opcodeSLook) + else if (_currAction == _menu->_opcodeSLook) fctSelftLook(); _hiddenHero = false; - if (_currAction == _menu._opcodeSHide) + if (_currAction == _menu->_opcodeSHide) fctSelfHide(); } else if (_anyone) { interactNPC(); @@ -1640,9 +1640,9 @@ void MortevielleEngine::charToHour() { * @remarks Originally called 'clsf1' */ void MortevielleEngine::clearUpperLeftPart() { - _mouse.hideMouse(); + _mouse->hideMouse(); _screenSurface.fillRect(0, Common::Rect(0, 11, 514, 175)); - _mouse.showMouse(); + _mouse->showMouse(); } /** @@ -1650,7 +1650,7 @@ void MortevielleEngine::clearUpperLeftPart() { * @remarks Originally called 'clsf2' */ void MortevielleEngine::clearDescriptionBar() { - _mouse.hideMouse(); + _mouse->hideMouse(); if (_largestClearScreen) { _screenSurface.fillRect(0, Common::Rect(1, 176, 633, 199)); _screenSurface.drawBox(0, 176, 634, 23, 15); @@ -1659,7 +1659,7 @@ void MortevielleEngine::clearDescriptionBar() { _screenSurface.fillRect(0, Common::Rect(1, 176, 633, 190)); _screenSurface.drawBox(0, 176, 634, 14, 15); } - _mouse.showMouse(); + _mouse->showMouse(); } /** @@ -1667,10 +1667,10 @@ void MortevielleEngine::clearDescriptionBar() { * @remarks Originally called 'clsf3' */ void MortevielleEngine::clearVerbBar() { - _mouse.hideMouse(); + _mouse->hideMouse(); _screenSurface.fillRect(0, Common::Rect(1, 192, 633, 199)); _screenSurface.drawBox(0, 191, 634, 8, 15); - _mouse.showMouse(); + _mouse->showMouse(); } /** @@ -1680,7 +1680,7 @@ void MortevielleEngine::clearVerbBar() { void MortevielleEngine::clearUpperRightPart() { Common::String st; - _mouse.hideMouse(); + _mouse->hideMouse(); // Clear ambiance description _screenSurface.fillRect(15, Common::Rect(544, 93, 600, 98)); @@ -1697,7 +1697,7 @@ void MortevielleEngine::clearUpperRightPart() { // Clear person list _screenSurface.fillRect(15, Common::Rect(560, 24, 610, 86)); - _mouse.showMouse(); + _mouse->showMouse(); } /** @@ -2135,10 +2135,10 @@ void MortevielleEngine::showTitleScreen() { * @remarks Originally called 'dessine' */ void MortevielleEngine::draw(int x, int y) { - _mouse.hideMouse(); + _mouse->hideMouse(); setPal(_numpal); displayPicture(_curPict, x, y); - _mouse.showMouse(); + _mouse->showMouse(); } /** @@ -2147,9 +2147,9 @@ void MortevielleEngine::draw(int x, int y) { */ void MortevielleEngine::drawRightFrame() { setPal(89); - _mouse.hideMouse(); + _mouse->hideMouse(); displayPicture(_rightFramePict, 0, 0); - _mouse.showMouse(); + _mouse->showMouse(); } /** @@ -2205,7 +2205,7 @@ void MortevielleEngine::prepareRoom() { _minute = 30; drawClock(); } - if (_mouse._pos.y < 12) + if (_mouse->_pos.y < 12) return; if (!_blo) { @@ -2221,8 +2221,8 @@ void MortevielleEngine::prepareRoom() { int newTime = readclock(); if ((newTime - _currentTime) > _inGameHourDuration) { - bool activeMenu = _menu._menuActive; - _menu.eraseMenu(); + bool activeMenu = _menu->_menuActive; + _menu->eraseMenu(); _currentHourCount += ((newTime - _currentTime) / _inGameHourDuration); _currentTime = newTime; switch (_place) { @@ -2289,7 +2289,7 @@ void MortevielleEngine::prepareRoom() { } if (activeMenu) - _menu.drawMenu(); + _menu->drawMenu(); } } _endTime = readclock(); @@ -2315,7 +2315,7 @@ void MortevielleEngine::drawClock() { const int y = 123; const int rg = 9; - _mouse.hideMouse(); + _mouse->hideMouse(); _screenSurface.drawRectangle(570, 118, 20, 10); _screenSurface.drawRectangle(578, 114, 6, 18); @@ -2332,7 +2332,7 @@ void MortevielleEngine::drawClock() { hour12 = 12; _screenSurface.drawLine(((uint)x >> 1) * kResolutionScaler, y, ((uint)(x + cv[0][hour12 - 1]) >> 1) * kResolutionScaler, y + cv[1][hour12 - 1], 1); - _mouse.showMouse(); + _mouse->showMouse(); _screenSurface.putxy(568, 154); if (_hour > 11) @@ -2622,8 +2622,8 @@ void MortevielleEngine::displayItemInHand(int objId) { if (objId != 500) strp = getString(objId - 501 + kInventoryStringIndex); - _menu.setText(_menu._inventoryMenu[8], strp); - _menu.disableMenuItem(_menu._inventoryMenu[8]); + _menu->setText(_menu->_inventoryMenu[8], strp); + _menu->disableMenuItem(_menu->_inventoryMenu[8]); } /** @@ -2924,7 +2924,7 @@ void MortevielleEngine::testKey(bool d) { int x, y; bool click; - _mouse.hideMouse(); + _mouse->hideMouse(); displayStatusInDescriptionBar('K'); // Wait for release from any key or mouse button @@ -2932,7 +2932,7 @@ void MortevielleEngine::testKey(bool d) { _key = gettKeyPressed(); do { - _mouse.getMousePosition(x, y, click); + _mouse->getMousePosition(x, y, click); quest = keyPressed(); if (quest && shouldQuit()) return; @@ -2943,14 +2943,14 @@ void MortevielleEngine::testKey(bool d) { if (d) prepareRoom(); quest = keyPressed(); - _mouse.getMousePosition(x, y, click); + _mouse->getMousePosition(x, y, click); if (shouldQuit()) return; } while (!(quest || (click) || (d && _anyone))); if (quest) gettKeyPressed(); setMouseClick(false); - _mouse.showMouse(); + _mouse->showMouse(); } /** @@ -3061,7 +3061,7 @@ void MortevielleEngine::getSearchDescription(int objId) { * @remarks Originally called 'mennor' */ void MortevielleEngine::menuUp() { - _menu.menuUp(_currMenu); + _menu->menuUp(_currMenu); } /** @@ -3101,7 +3101,7 @@ void MortevielleEngine::addObjectToInventory(int objectId) { if (_coreVar._inventory[i] == 0) { _coreVar._inventory[i] = objectId; - _menu.setInventoryText(); + _menu->setInventoryText(); } else // Inventory is full _crep = 139; @@ -3112,8 +3112,8 @@ void MortevielleEngine::addObjectToInventory(int objectId) { * @remarks Originally called 'quelquun' */ void MortevielleEngine::interactNPC() { - if (_menu._menuDisplayed) - _menu.eraseMenu(); + if (_menu->_menuDisplayed) + _menu->eraseMenu(); endSearch(); _crep = 997; @@ -3134,12 +3134,12 @@ L1: else _coreVar._faithScore += 3 * (_coreVar._faithScore / 10); exitRoom(); - _menu.setDestinationText(LANDING); + _menu->setDestinationText(LANDING); int charIdx = convertBitIndexToCharacterIndex(_currBitIndex); _caff = 69 + charIdx; _crep = _caff; _currMenu = MENU_DISCUSS; - _currAction = (_menu._discussMenu[charIdx]._menuId << 8) | _menu._discussMenu[charIdx]._actionId; + _currAction = (_menu->_discussMenu[charIdx]._menuId << 8) | _menu->_discussMenu[charIdx]._actionId; _syn = true; _col = true; } else { @@ -3157,8 +3157,8 @@ L1: prepareDisplayText(); } } - if (_menu._menuDisplayed) - _menu.drawMenu(); + if (_menu->_menuDisplayed) + _menu->drawMenu(); } /** @@ -3206,12 +3206,12 @@ void MortevielleEngine::displayStatusArrow() { touch = '\0'; do { - _mouse.moveMouse(qust, touch); + _mouse->moveMouse(qust, touch); if (shouldQuit()) return; if (getMouseClick()) - inRect = (_mouse._pos.x < 256 * kResolutionScaler) && (_mouse._pos.y < 176) && (_mouse._pos.y > 12); + inRect = (_mouse->_pos.x < 256 * kResolutionScaler) && (_mouse->_pos.y < 176) && (_mouse->_pos.y > 12); prepareRoom(); } while (!(qust || inRect || _anyone)); @@ -3223,8 +3223,8 @@ void MortevielleEngine::displayStatusArrow() { _keyPressedEsc = true; if (inRect) { - _x = _mouse._pos.x; - _y = _mouse._pos.y; + _x = _mouse->_pos.x; + _y = _mouse->_pos.y; } } @@ -3292,7 +3292,7 @@ void MortevielleEngine::displayLookScreen(int objId) { int mdes = _caff; _caff = objId; - if (((_caff > 29) && (_caff < 33)) || (_caff == 144) || (_caff == 147) || (_caff == 149) || (_currAction == _menu._opcodeSLook)) { + if (((_caff > 29) && (_caff < 33)) || (_caff == 144) || (_caff == 147) || (_caff == 149) || (_currAction == _menu->_opcodeSLook)) { drawPictureWithText(); if ((_caff > 29) && (_caff < 33)) handleDescriptionText(2, _caff); @@ -3305,7 +3305,7 @@ void MortevielleEngine::displayLookScreen(int objId) { } else { _obpart = true; _crep = _caff + 400; - _menu.setSearchMenu(); + _menu->setSearchMenu(); } } @@ -3357,10 +3357,10 @@ int MortevielleEngine::checkLeaveSecretPassage() { * @remarks Originally called 'fenat' */ void MortevielleEngine::displayStatusInDescriptionBar(char stat) { - _mouse.hideMouse(); + _mouse->hideMouse(); _screenSurface.writeCharacter(Common::Point(306, 193), stat, 12); _screenSurface.drawBox(300, 191, 16, 8, 15); - _mouse.showMouse(); + _mouse->showMouse(); } /** |