[Scummvm-git-logs] scummvm master -> 887436ba8989cc1d0f28e7987a935376cbf99679
alxpnv
noreply at scummvm.org
Tue Aug 2 09:57:12 UTC 2022
This automated email contains information about 3 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
0b298aa412 ASYLUM: fix Keyboard Config screen
7b4e069fe8 ASYLUM: enable keymapper on dialog screen
887436ba89 ASYLUM: add a shortcut to show the in-game menu
Commit: 0b298aa412d4bec41a8d8a79e9d04d7eb148fc78
https://github.com/scummvm/scummvm/commit/0b298aa412d4bec41a8d8a79e9d04d7eb148fc78
Author: alxpnv (alxpnv22 at yahoo.com)
Date: 2022-08-02T12:59:34+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: 7b4e069fe8a0945524a575d5426e3f795dbb9945
https://github.com/scummvm/scummvm/commit/7b4e069fe8a0945524a575d5426e3f795dbb9945
Author: alxpnv (alxpnv22 at yahoo.com)
Date: 2022-08-02T12:59:35+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: 887436ba8989cc1d0f28e7987a935376cbf99679
https://github.com/scummvm/scummvm/commit/887436ba8989cc1d0f28e7987a935376cbf99679
Author: alxpnv (alxpnv22 at yahoo.com)
Date: 2022-08-02T12:59:35+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();
More information about the Scummvm-git-logs
mailing list