[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