[Scummvm-git-logs] scummvm master -> cd5dbb0ab32460a2c33fab7f057af9b5ac2a2b50

mgerhardy noreply at scummvm.org
Wed Jul 6 05:41:12 UTC 2022


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:
cd5dbb0ab3 TWINE: Action selection popup menu is not shown when pressing Ctrl


Commit: cd5dbb0ab32460a2c33fab7f057af9b5ac2a2b50
    https://github.com/scummvm/scummvm/commit/cd5dbb0ab32460a2c33fab7f057af9b5ac2a2b50
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2022-07-06T07:41:04+02:00

Commit Message:
TWINE: Action selection popup menu is not shown when pressing Ctrl

https://bugs.scummvm.org/ticket/13612

Changed paths:
    engines/twine/menu/menu.cpp
    engines/twine/menu/menu.h
    engines/twine/twine.cpp


diff --git a/engines/twine/menu/menu.cpp b/engines/twine/menu/menu.cpp
index a82c39f6486..d61f29fb310 100644
--- a/engines/twine/menu/menu.cpp
+++ b/engines/twine/menu/menu.cpp
@@ -1099,7 +1099,7 @@ void Menu::drawBehaviourMenu(int32 left, int32 top, int32 angle) {
 	drawInfoMenu(titleRect.left, titleRect.bottom + 10, titleRect.width());
 }
 
-void Menu::processBehaviourMenu() {
+void Menu::processBehaviourMenu(bool behaviourMenu) {
 	_engine->exitSceneryView();
 	if (_engine->_actor->_heroBehaviour == HeroBehaviourType::kProtoPack) {
 		_engine->_sound->stopSamples();
@@ -1122,7 +1122,8 @@ void Menu::processBehaviourMenu() {
 
 	_engine->_text->initTextBank(TextBankId::Options_and_menus);
 
-	if (_engine->isLba1Classic()) {
+	// quick actions to change behaviour don't show the menu in classic edition
+	if (!behaviourMenu && _engine->isLba1Classic()) {
 		char text[256];
 		_engine->_text->getMenuText(_engine->_actor->getTextIdForBehaviour(), text, sizeof(text));
 		_engine->_redraw->setRenderText(text);
diff --git a/engines/twine/menu/menu.h b/engines/twine/menu/menu.h
index 8e20945963d..5decc8e368f 100644
--- a/engines/twine/menu/menu.h
+++ b/engines/twine/menu/menu.h
@@ -239,7 +239,7 @@ public:
 	int32 optionsMenu();
 
 	/** Process hero behaviour menu */
-	void processBehaviourMenu();
+	void processBehaviourMenu(bool behaviourMenu);
 
 	int32 newGameClassicMenu();
 
diff --git a/engines/twine/twine.cpp b/engines/twine/twine.cpp
index c7c30d02525..a90a0a1e3c6 100644
--- a/engines/twine/twine.cpp
+++ b/engines/twine/twine.cpp
@@ -827,7 +827,8 @@ bool TwinEEngine::runGameEngine() { // mainLoopInteration
 		}
 
 		// Process behaviour menu
-		if ((_input->isActionActive(TwinEActionType::BehaviourMenu, false) ||
+		const bool behaviourMenu = _input->isActionActive(TwinEActionType::BehaviourMenu, false);
+		if ((behaviourMenu ||
 		     _input->isActionActive(TwinEActionType::QuickBehaviourNormal, false) ||
 		     _input->isActionActive(TwinEActionType::QuickBehaviourAthletic, false) ||
 		     _input->isActionActive(TwinEActionType::QuickBehaviourAggressive, false) ||
@@ -843,7 +844,7 @@ bool TwinEEngine::runGameEngine() { // mainLoopInteration
 				_actor->_heroBehaviour = HeroBehaviourType::kDiscrete;
 			}
 			ScopedEngineFreeze scopedFreeze(this);
-			_menu->processBehaviourMenu();
+			_menu->processBehaviourMenu(behaviourMenu);
 			_redraw->redrawEngineActions(true);
 		}
 




More information about the Scummvm-git-logs mailing list