[Scummvm-git-logs] scummvm master -> 774016275e52e6525fd8807ebfb98178a293effb

bluegr bluegr at gmail.com
Thu Sep 30 22:32:15 UTC 2021


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
774016275e TRECISION: Fix hiding animation areas when cutscenes start - bug #12624


Commit: 774016275e52e6525fd8807ebfb98178a293effb
    https://github.com/scummvm/scummvm/commit/774016275e52e6525fd8807ebfb98178a293effb
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2021-10-01T01:31:57+03:00

Commit Message:
TRECISION: Fix hiding animation areas when cutscenes start - bug #12624

playDialog() refreshes the screen when it finishes, so any calls to
toggleAnimArea() should be done before playDialog() starts.
This fixes cases such as the storekeeper's wife not disappearing
properly after the cutscene with the rat-on-wheels is shown

Changed paths:
    engines/trecision/logic.cpp


diff --git a/engines/trecision/logic.cpp b/engines/trecision/logic.cpp
index adaa84ad69..e857adae7d 100644
--- a/engines/trecision/logic.cpp
+++ b/engines/trecision/logic.cpp
@@ -1170,13 +1170,13 @@ void LogicManager::useInventoryWithScreen() {
 
 	case kItemRatOnSkate:
 		if ((_vm->_useWith[WITH] == oDONNA1D) && (_vm->_mousePos.x >= _vm->_obj[oDONNA1D]._lim.left && (_vm->_mousePos.x >= _vm->_obj[oDONNA1D]._lim.top + TOP) && (_vm->_mousePos.x <= _vm->_obj[oDONNA1D]._lim.right) && (_vm->_mousePos.y <= _vm->_obj[oDONNA1D]._lim.bottom + TOP))) {
+			_vm->_animMgr->_animTab[aBKG1D].toggleAnimArea(1, false);
 			_vm->_dialogMgr->playDialog(dF1D1);
 			updateInventory = false;
 			_vm->removeIcon(kItemRatOnSkate);
 			_vm->read3D("1d2.3d"); // after skate
 			_vm->setObjectVisible(oDONNA1D, false);
 			_vm->_room[_vm->_curRoom].setExtra(true);
-			_vm->_animMgr->_animTab[aBKG1D].toggleAnimArea(1, false);
 			printSentence = false;
 		}
 		break;
@@ -1351,10 +1351,10 @@ void LogicManager::useInventoryWithScreen() {
 
 	case kItemMicrowaveGun:
 		if (_vm->_useWith[WITH] == oDINOSAURO2E) {
+			_vm->_animMgr->_animTab[aBKG2E].toggleAnimArea(2, false);
 			_vm->_dialogMgr->playDialog(dF2E2);
 			_vm->setObjectVisible(oDINOSAURO2E, false);
 			_vm->setObjectAnim(oCATWALKA2E, a2E2PRIMAPALLONTANANDO);
-			_vm->_animMgr->_animTab[aBKG2E].toggleAnimArea(2, false);
 			printSentence = false;
 		}
 		break;
@@ -1904,9 +1904,9 @@ bool LogicManager::useScreenWithScreen() {
 	switch (_vm->_useWith[USED]) {
 	case oRAMPINO21:
 		if (_vm->_useWith[WITH] == oTUBO21) {
+			_vm->_animMgr->_animTab[aBKG21].toggleAnimArea(1, true);
 			_vm->_dialogMgr->playDialog(dF211);
 			_vm->_logicMgr->setupAltRoom(kRoom21, true);
-			_vm->_animMgr->_animTab[aBKG21].toggleAnimArea(1, true);
 			_vm->setObjectVisible(oRAMPINO21, false);
 			_vm->setObjectVisible(oTUBO21, false);
 			_vm->setObjectVisible(oCHAIN21, true);
@@ -2609,6 +2609,7 @@ bool LogicManager::mouseOperate(uint16 curObj) {
 
 	case oPANELM2G:
 		if (!_vm->_obj[oPANELM2G].isFlagExtra()) {
+			_vm->_animMgr->_animTab[aBKG2G].toggleAnimArea(1, false);
 			_vm->_dialogMgr->playDialog(dF2G1);
 			_vm->setObjectVisible(oCOPERCHIO2G, false);
 			_vm->setObjectVisible(oSERBATOIOC2G, false);
@@ -2617,7 +2618,6 @@ bool LogicManager::mouseOperate(uint16 curObj) {
 			_vm->setObjectVisible(oSERBATOIOA2G, true);
 			_vm->setObjectVisible(oPANNELLOE2G, true);
 			_vm->_obj[oPANELM2G].setFlagExtra(true);
-			_vm->_animMgr->_animTab[aBKG2G].toggleAnimArea(1, false);
 			retVal = false;
 		} else
 			retVal = true;
@@ -2653,10 +2653,10 @@ bool LogicManager::mouseOperate(uint16 curObj) {
 
 	case oCATWALKA2E:
 		if (!_vm->_obj[oCATWALKA2E].isFlagExtra()) {
+			_vm->_animMgr->_animTab[aBKG2E].toggleAnimArea(2, true);
 			_vm->_dialogMgr->playDialog(dF2E1);
 			_vm->setObjectVisible(oDINOSAURO2E, true);
 			_vm->_obj[oCATWALKA2E].setFlagExtra(true);
-			_vm->_animMgr->_animTab[aBKG2E].toggleAnimArea(2, true);
 			retVal = false;
 		} else if (_vm->_obj[curObj]._anim) {
 			_vm->_scheduler->doEvent(MC_CHARACTER, ME_CHARACTERACTION, MP_DEFAULT, _vm->_obj[curObj]._anim, 0, 0, curObj);




More information about the Scummvm-git-logs mailing list