[Scummvm-git-logs] scummvm branch-2-6 -> 7bcff16b4f5b769ec84bd0657851ea3fdb295de4

mgerhardy noreply at scummvm.org
Wed Jul 6 05:43:35 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:
7bcff16b4f TWINE: Action selection popup menu is not shown when pressing Ctrl


Commit: 7bcff16b4f5b769ec84bd0657851ea3fdb295de4
    https://github.com/scummvm/scummvm/commit/7bcff16b4f5b769ec84bd0657851ea3fdb295de4
Author: Martin Gerhardy (martin.gerhardy at gmail.com)
Date: 2022-07-06T07:42:30+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 25ec638d71e..f8852c4d79e 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 3fcc5b13514..2e291925b7a 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