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

alxpnv noreply at scummvm.org
Mon Oct 3 09:53:48 UTC 2022


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

Summary:
6a3054ada7 ASYLUM: fix Keyboard Config screen
02b210f515 ASYLUM: enable keymapper on dialog screen
78900f7a2d ASYLUM: add a shortcut to show the in-game menu
e4c922c8de ASYLUM: change mapping for the in-game menu
7e3d996e47 ASYLUM: HiveControl puzzle: don't reset at quit


Commit: 6a3054ada7f4fd4c4c0688a12fc99f72c60d43a0
    https://github.com/scummvm/scummvm/commit/6a3054ada7f4fd4c4c0688a12fc99f72c60d43a0
Author: alxpnv (alxpnv22 at yahoo.com)
Date: 2022-10-03T11:25:37+03:00

Commit Message:
ASYLUM: fix Keyboard Config screen

Changed paths:
    engines/asylum/metaengine.cpp


diff --git a/engines/asylum/metaengine.cpp b/engines/asylum/metaengine.cpp
index 7ccc34b8f42..e6af91f58fb 100644
--- a/engines/asylum/metaengine.cpp
+++ b/engines/asylum/metaengine.cpp
@@ -112,18 +112,6 @@ Common::KeymapArray AsylumMetaEngine::initKeymaps(const char *target) const {
 
 	Action *act;
 
-	act = new Action(kStandardActionLeftClick, _("Left Click"));
-	act->setLeftClickEvent();
-	act->addDefaultInputMapping("MOUSE_LEFT");
-	act->addDefaultInputMapping("JOY_A");
-	engineKeyMap->addAction(act);
-
-	act = new Action(kStandardActionRightClick, _("Right Click"));
-	act->setRightClickEvent();
-	act->addDefaultInputMapping("MOUSE_RIGHT");
-	act->addDefaultInputMapping("JOY_B");
-	engineKeyMap->addAction(act);
-
 	act = new Action("VERSION", _("Show version"));
 	act->setCustomEngineActionEvent(kAsylumActionShowVersion);
 	act->addDefaultInputMapping("v");
@@ -160,6 +148,18 @@ Common::KeymapArray AsylumMetaEngine::initKeymaps(const char *target) const {
 	act->addDefaultInputMapping("JOY_X");
 	engineKeyMap->addAction(act);
 
+	act = new Action(kStandardActionLeftClick, _("Left Click"));
+	act->setLeftClickEvent();
+	act->addDefaultInputMapping("MOUSE_LEFT");
+	act->addDefaultInputMapping("JOY_A");
+	engineKeyMap->addAction(act);
+
+	act = new Action(kStandardActionRightClick, _("Right Click"));
+	act->setRightClickEvent();
+	act->addDefaultInputMapping("MOUSE_RIGHT");
+	act->addDefaultInputMapping("JOY_B");
+	engineKeyMap->addAction(act);
+
 	return Keymap::arrayOf(engineKeyMap);
 }
 


Commit: 02b210f5151be37006146014339a06b0b4725018
    https://github.com/scummvm/scummvm/commit/02b210f5151be37006146014339a06b0b4725018
Author: alxpnv (alxpnv22 at yahoo.com)
Date: 2022-10-03T11:25:38+03:00

Commit Message:
ASYLUM: enable keymapper on dialog screen

Changed paths:
    engines/asylum/asylum.cpp
    engines/asylum/views/menu.h


diff --git a/engines/asylum/asylum.cpp b/engines/asylum/asylum.cpp
index f98c1c761e9..3593fa8cf2f 100644
--- a/engines/asylum/asylum.cpp
+++ b/engines/asylum/asylum.cpp
@@ -402,7 +402,7 @@ void AsylumEngine::handleEvents() {
 	Common::Keymapper *const keymapper = _eventMan->getKeymapper();
 
 	while (_eventMan->pollEvent(ev)) {
-		keymapper->setEnabled(_handler == _scene || (_handler == _menu && !_menu->isEditingSavegameName()));
+		keymapper->setEnabled(_handler != _menu || (!_menu->isEditingSavegameName() && !_menu->isConfiguringKeyboard()));
 		switch (ev.type) {
 		default:
 			break;
diff --git a/engines/asylum/views/menu.h b/engines/asylum/views/menu.h
index 7d6ef0115cf..a6033eb6e8d 100644
--- a/engines/asylum/views/menu.h
+++ b/engines/asylum/views/menu.h
@@ -64,6 +64,7 @@ public:
 	void setLoadingDuringStartup()  { _loadingDuringStartup = true; }
 
 	bool isEditingSavegameName() { return _activeScreen == kMenuSaveGame && _isEditingSavegameName; };
+	bool isConfiguringKeyboard() { return _activeScreen == kMenuKeyboardConfig && _selectedShortcutIndex != -1; }
 
 private:
 	AsylumEngine *_vm;


Commit: 78900f7a2dbb84bae70ab474e45b97ed16fc3cca
    https://github.com/scummvm/scummvm/commit/78900f7a2dbb84bae70ab474e45b97ed16fc3cca
Author: alxpnv (alxpnv22 at yahoo.com)
Date: 2022-10-03T11:25:39+03:00

Commit Message:
ASYLUM: add a shortcut to show the in-game menu

Changed paths:
    engines/asylum/metaengine.cpp
    engines/asylum/puzzles/puzzle.cpp
    engines/asylum/resources/encounters.cpp
    engines/asylum/resources/encounters.h
    engines/asylum/shared.h
    engines/asylum/views/resviewer.cpp
    engines/asylum/views/scene.cpp
    engines/asylum/views/video.cpp


diff --git a/engines/asylum/metaengine.cpp b/engines/asylum/metaengine.cpp
index e6af91f58fb..3960f108954 100644
--- a/engines/asylum/metaengine.cpp
+++ b/engines/asylum/metaengine.cpp
@@ -142,6 +142,12 @@ Common::KeymapArray AsylumMetaEngine::initKeymaps(const char *target) const {
 	act->addDefaultInputMapping("o");
 	engineKeyMap->addAction(act);
 
+	act = new Action("MENU", _("Bring up the In-Game Menu"));
+	act->setCustomEngineActionEvent(kAsylumActionShowMenu);
+	act->addDefaultInputMapping("ESCAPE");
+	act->addDefaultInputMapping("JOY_START");
+	engineKeyMap->addAction(act);
+
 	act = new Action("INVENTORY", _("Open character inventory"));
 	act->setCustomEngineActionEvent(kAsylumActionOpenInventory);
 	act->addDefaultInputMapping("i");
diff --git a/engines/asylum/puzzles/puzzle.cpp b/engines/asylum/puzzles/puzzle.cpp
index 6edb0415701..a2bad5d7267 100644
--- a/engines/asylum/puzzles/puzzle.cpp
+++ b/engines/asylum/puzzles/puzzle.cpp
@@ -72,6 +72,9 @@ bool Puzzle::handleEvent(const AsylumEvent &evt) {
 
 	case Common::EVENT_RBUTTONUP:
 		return mouseRightUp(evt);
+
+	case Common::EVENT_CUSTOM_ENGINE_ACTION_START:
+		return keyExit(evt);
 	}
 
 	return false;
diff --git a/engines/asylum/resources/encounters.cpp b/engines/asylum/resources/encounters.cpp
index 2cfde6f192f..b168ee192b0 100644
--- a/engines/asylum/resources/encounters.cpp
+++ b/engines/asylum/resources/encounters.cpp
@@ -374,6 +374,16 @@ bool Encounter::handleEvent(const AsylumEvent &evt) {
 	case Common::EVENT_RBUTTONDOWN:
 	case Common::EVENT_RBUTTONUP:
 		return mouse(evt);
+
+	case Common::EVENT_CUSTOM_ENGINE_ACTION_START:
+		if ((AsylumAction)evt.customType == kAsylumActionShowMenu) {
+			if (!isSpeaking()
+			 && _isDialogOpen
+			 && !getSpeech()->getTextData()
+			 && !getSpeech()->getTextDataPos())
+				_shouldCloseDialog = true;
+		}
+		return true;
 	}
 
 	return false;
@@ -516,18 +526,6 @@ bool Encounter::update() {
 	return true;
 }
 
-bool Encounter::key(const AsylumEvent &evt) {
-	if (evt.kbd.keycode == Common::KEYCODE_ESCAPE) {
-		if (!isSpeaking()
-		 && _isDialogOpen
-		 && !getSpeech()->getTextData()
-		 && !getSpeech()->getTextDataPos())
-			_shouldCloseDialog = true;
-	}
-
-	return true;
-}
-
 bool Encounter::mouse(const AsylumEvent &evt) {
 	switch (evt.type) {
 	default:
diff --git a/engines/asylum/resources/encounters.h b/engines/asylum/resources/encounters.h
index 457e1c0939b..57a030d7d32 100644
--- a/engines/asylum/resources/encounters.h
+++ b/engines/asylum/resources/encounters.h
@@ -212,7 +212,7 @@ private:
 	// Message handling
 	bool init();
 	bool update();
-	bool key(const AsylumEvent &evt);
+	bool key(const AsylumEvent &evt) { return true; }
 	bool mouse(const AsylumEvent &evt);
 
 	//////////////////////////////////////////////////////////////////////////
diff --git a/engines/asylum/shared.h b/engines/asylum/shared.h
index bdb937a3a91..af2eb35acea 100644
--- a/engines/asylum/shared.h
+++ b/engines/asylum/shared.h
@@ -879,7 +879,8 @@ enum AsylumAction {
 	kAsylumActionSwitchToSarah,
 	kAsylumActionSwitchToGrimwall,
 	kAsylumActionSwitchToOlmec,
-	kAsylumActionOpenInventory
+	kAsylumActionOpenInventory,
+	kAsylumActionShowMenu
 };
 
 //////////////////////////////////////////////////////////////////////////
diff --git a/engines/asylum/views/resviewer.cpp b/engines/asylum/views/resviewer.cpp
index 92f34919680..102973b065d 100644
--- a/engines/asylum/views/resviewer.cpp
+++ b/engines/asylum/views/resviewer.cpp
@@ -167,10 +167,6 @@ void ResourceViewer::key(const AsylumEvent &evt) {
 	default:
 		break;
 
-	case Common::KEYCODE_ESCAPE:
-		_vm->switchEventHandler(_handler);
-		break;
-
 	case Common::KEYCODE_SPACE:
 		if (RESOURCE_INDEX(_resourceId) < resPackSizes[_resPack] - 1) {
 			int i = 1;
@@ -241,6 +237,11 @@ bool ResourceViewer::handleEvent(const AsylumEvent &evt) {
 	case Common::EVENT_KEYDOWN:
 		key(evt);
 		return true;
+
+	case Common::EVENT_CUSTOM_ENGINE_ACTION_START:
+		if ((AsylumAction)evt.customType == kAsylumActionShowMenu)
+			_vm->switchEventHandler(_handler);
+		return true;
 	}
 
 	return false;
diff --git a/engines/asylum/views/scene.cpp b/engines/asylum/views/scene.cpp
index c6157e9f8a1..16936f522d4 100644
--- a/engines/asylum/views/scene.cpp
+++ b/engines/asylum/views/scene.cpp
@@ -456,6 +456,21 @@ bool Scene::action(AsylumAction a) {
 			getActor()->changeStatus(kActorStatusEnabled);
 		}
 		break;
+
+	case kAsylumActionShowMenu:
+		if (getSpeech()->getSoundResourceId()) {
+			getScene()->stopSpeech();
+		} else {
+			if (getCursor()->isHidden())
+				break;
+
+			if (!_vm->checkGameVersion("Demo")) {
+				_savedScreen.copyFrom(getScreen()->getSurface());
+				memcpy(_savedPalette, getScreen()->getPalette(), sizeof(_savedPalette));
+				_vm->switchEventHandler(_vm->menu());
+			}
+		}
+		break;
 	}
 
 	return true;
@@ -479,23 +494,6 @@ bool Scene::key(const AsylumEvent &evt) {
 		warning("[Scene::key] debug command handling not implemented!");
 		break;
 
-	case Common::KEYCODE_ESCAPE:
-		// TODO add support for debug commands
-
-		if (getSpeech()->getSoundResourceId()) {
-			getScene()->stopSpeech();
-		} else {
-			if (getCursor()->isHidden())
-				break;
-
-			if (!_vm->checkGameVersion("Demo")) {
-				_savedScreen.copyFrom(getScreen()->getSurface());
-				memcpy(_savedPalette, getScreen()->getPalette(), sizeof(_savedPalette));
-				_vm->switchEventHandler(_vm->menu());
-			}
-		}
-		break;
-
 	case Common::KEYCODE_LEFTBRACKET:
 		if (evt.kbd.ascii != 123)
 			break;
diff --git a/engines/asylum/views/video.cpp b/engines/asylum/views/video.cpp
index 84c1a0703d9..23c8b8c3130 100644
--- a/engines/asylum/views/video.cpp
+++ b/engines/asylum/views/video.cpp
@@ -124,6 +124,7 @@ bool VideoPlayer::handleEvent(const AsylumEvent &evt) {
 
 	case Common::EVENT_LBUTTONDOWN:
 	case Common::EVENT_KEYDOWN:
+	case Common::EVENT_CUSTOM_ENGINE_ACTION_START:
 		_done = true;
 		if (!_vm->checkGameVersion("Steam") && !_vm->isAltDemo())
 			getScreen()->clear();


Commit: e4c922c8de8c4b65a927c600f8828cbc0056c411
    https://github.com/scummvm/scummvm/commit/e4c922c8de8c4b65a927c600f8828cbc0056c411
Author: alxpnv (alxpnv22 at yahoo.com)
Date: 2022-10-03T11:25:39+03:00

Commit Message:
ASYLUM: change mapping for the in-game menu

Changed paths:
    engines/asylum/metaengine.cpp


diff --git a/engines/asylum/metaengine.cpp b/engines/asylum/metaengine.cpp
index 3960f108954..699e8c5c29c 100644
--- a/engines/asylum/metaengine.cpp
+++ b/engines/asylum/metaengine.cpp
@@ -145,7 +145,7 @@ Common::KeymapArray AsylumMetaEngine::initKeymaps(const char *target) const {
 	act = new Action("MENU", _("Bring up the In-Game Menu"));
 	act->setCustomEngineActionEvent(kAsylumActionShowMenu);
 	act->addDefaultInputMapping("ESCAPE");
-	act->addDefaultInputMapping("JOY_START");
+	act->addDefaultInputMapping("JOY_Y");
 	engineKeyMap->addAction(act);
 
 	act = new Action("INVENTORY", _("Open character inventory"));


Commit: 7e3d996e47f78d47e82a9679264e8ee57bca666d
    https://github.com/scummvm/scummvm/commit/7e3d996e47f78d47e82a9679264e8ee57bca666d
Author: alxpnv (alxpnv22 at yahoo.com)
Date: 2022-10-03T11:25:39+03:00

Commit Message:
ASYLUM: HiveControl puzzle: don't reset at quit

Changed paths:
    engines/asylum/puzzles/hivecontrol.cpp


diff --git a/engines/asylum/puzzles/hivecontrol.cpp b/engines/asylum/puzzles/hivecontrol.cpp
index e79fa40f538..29634c50bbf 100644
--- a/engines/asylum/puzzles/hivecontrol.cpp
+++ b/engines/asylum/puzzles/hivecontrol.cpp
@@ -275,7 +275,11 @@ bool PuzzleHiveControl::mouseLeftDown(const AsylumEvent &) {
 }
 
 bool PuzzleHiveControl::mouseRightDown(const AsylumEvent &) {
-	reset();
+	if (_leverDelta) {
+		_leverDelta = 0;
+		_prevLeverPosition = _leverPosition;
+		_currentControl = kControlNone;
+	}
 
 	getSound()->stop(getWorld()->graphicResourceIds[73]);
 	getSound()->stop(getWorld()->graphicResourceIds[74]);




More information about the Scummvm-git-logs mailing list