[Scummvm-git-logs] scummvm branch-2-8 -> 58f4eea8d5c04f6627783d234a69e5dc87801b3e
fracturehill
noreply at scummvm.org
Sun Jan 7 20:58:01 UTC 2024
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:
72a319bc15 NANCY: Fix nancy1 telephone hints
6d4693bc46 NANCY: Show/hide virtual keyboard when saving
ff6b203abe NANCY: Show general keymaps in GMM
2bb5b95b04 NANCY: Split maze map key into separate Keymap
58f4eea8d5 NEWS: Mention Nancy fixes
Commit: 72a319bc158e5883d82898ec834cf5b27cd74a56
https://github.com/scummvm/scummvm/commit/72a319bc158e5883d82898ec834cf5b27cd74a56
Author: Kaloyan Chehlarski (strahy at outlook.com)
Date: 2024-01-07T20:39:29+01:00
Commit Message:
NANCY: Fix nancy1 telephone hints
A fix for some broken nancy3 phone calls resulted in
the nancy1 hint system not working. This commit makes
sure the fix only applies to later games, which do not use
the HintSystem action record.
Changed paths:
engines/nancy/action/puzzle/telephone.cpp
diff --git a/engines/nancy/action/puzzle/telephone.cpp b/engines/nancy/action/puzzle/telephone.cpp
index 30526200063..184ffb56aab 100644
--- a/engines/nancy/action/puzzle/telephone.cpp
+++ b/engines/nancy/action/puzzle/telephone.cpp
@@ -241,8 +241,10 @@ void Telephone::execute() {
break;
case kCall: {
PhoneCall &call = _calls[_selected];
- if (call.sceneChange._sceneChange.sceneID == kNoScene) {
- // Make sure we don't get stuck here. Happens in nancy3 when calling George's number
+
+ // Make sure we don't get stuck here. Happens in nancy3 when calling George's number
+ // Check ignored in nancy1 since the HintSystem AR is in the same scene as the Telephone
+ if (call.sceneChange._sceneChange.sceneID == kNoScene && g_nancy->getGameType() != kGameTypeNancy1) {
call.sceneChange._sceneChange = NancySceneState.getSceneInfo();
}
Commit: 6d4693bc46c318c08974e2ed97b94f783934486d
https://github.com/scummvm/scummvm/commit/6d4693bc46c318c08974e2ed97b94f783934486d
Author: Kaloyan Chehlarski (strahy at outlook.com)
Date: 2024-01-07T20:39:29+01:00
Commit Message:
NANCY: Show/hide virtual keyboard when saving
Changed paths:
engines/nancy/state/loadsave.cpp
diff --git a/engines/nancy/state/loadsave.cpp b/engines/nancy/state/loadsave.cpp
index 7346bbf269c..454fb840212 100644
--- a/engines/nancy/state/loadsave.cpp
+++ b/engines/nancy/state/loadsave.cpp
@@ -399,6 +399,7 @@ void LoadSaveMenu::enterFilename() {
_blinkingCursorOverlay.setVisible(true);
_nextBlink = g_nancy->getTotalPlayTime() + _loadSaveData->_blinkingTimeDelay;
_enteringNewState = false;
+ g_system->setFeatureState(OSystem::kFeatureVirtualKeyboard, true);
}
// Perform cursor blinking
@@ -436,6 +437,7 @@ void LoadSaveMenu::enterFilename() {
_state = kRun;
_enteringNewState = true;
g_nancy->_sound->playSound("BULS");
+ g_system->setFeatureState(OSystem::kFeatureVirtualKeyboard, false);
return;
}
@@ -444,6 +446,7 @@ void LoadSaveMenu::enterFilename() {
_state = kSave;
_enteringNewState = true;
g_nancy->_sound->playSound("BULS");
+ g_system->setFeatureState(OSystem::kFeatureVirtualKeyboard, false);
return;
}
}
Commit: ff6b203abeb30acee1e17ebe3644d7974f7b03fb
https://github.com/scummvm/scummvm/commit/ff6b203abeb30acee1e17ebe3644d7974f7b03fb
Author: Kaloyan Chehlarski (strahy at outlook.com)
Date: 2024-01-07T20:39:30+01:00
Commit Message:
NANCY: Show general keymaps in GMM
Fixed an issue in the nancy MetaEngine which caused
the general keymaps to not be shown alongside the
engine-specific ones.
Changed paths:
engines/nancy/metaengine.cpp
diff --git a/engines/nancy/metaengine.cpp b/engines/nancy/metaengine.cpp
index 0f6b9a1b5b6..0d1f5cd5609 100644
--- a/engines/nancy/metaengine.cpp
+++ b/engines/nancy/metaengine.cpp
@@ -123,7 +123,7 @@ public:
};
Common::KeymapArray NancyMetaEngine::initKeymaps(const char *target) const {
- Common::KeymapArray keymaps;
+ Common::KeymapArray keymaps = MetaEngine::initKeymaps(target);
Nancy::InputManager::initKeymaps(keymaps, target);
return keymaps;
}
Commit: 2bb5b95b04e2fe8377b2b8014f3dd4ce09be2695
https://github.com/scummvm/scummvm/commit/2bb5b95b04e2fe8377b2b8014f3dd4ce09be2695
Author: Kaloyan Chehlarski (strahy at outlook.com)
Date: 2024-01-07T20:39:30+01:00
Commit Message:
NANCY: Split maze map key into separate Keymap
The "Open map" action used in nancy3/nancy6's
RaycastPuzzle interfered with general keyboard input,
causing whichever key was bound to it to not fire.
Effectively, this meant that inputting the letter 'm' was
impossible. This commit makes sure the binding is
deactivated whenever text input is needed.
Changed paths:
engines/nancy/action/puzzle/passwordpuzzle.cpp
engines/nancy/action/puzzle/riddlepuzzle.cpp
engines/nancy/input.cpp
engines/nancy/input.h
engines/nancy/state/loadsave.cpp
diff --git a/engines/nancy/action/puzzle/passwordpuzzle.cpp b/engines/nancy/action/puzzle/passwordpuzzle.cpp
index d538731ac3d..b77360cd971 100644
--- a/engines/nancy/action/puzzle/passwordpuzzle.cpp
+++ b/engines/nancy/action/puzzle/passwordpuzzle.cpp
@@ -92,6 +92,7 @@ void PasswordPuzzle::execute() {
init();
registerGraphics();
g_system->setFeatureState(OSystem::kFeatureVirtualKeyboard, true);
+ g_nancy->_input->enableSecondaryKeymaps(false);
_nextBlinkTime = g_nancy->getTotalPlayTime() + _cursorBlinkTime;
_state = kRun;
// fall through
@@ -180,6 +181,7 @@ void PasswordPuzzle::execute() {
}
g_system->setFeatureState(OSystem::kFeatureVirtualKeyboard, false);
+ g_nancy->_input->enableSecondaryKeymaps(true);
finishExecution();
}
}
diff --git a/engines/nancy/action/puzzle/riddlepuzzle.cpp b/engines/nancy/action/puzzle/riddlepuzzle.cpp
index 25441773bef..09238414efd 100644
--- a/engines/nancy/action/puzzle/riddlepuzzle.cpp
+++ b/engines/nancy/action/puzzle/riddlepuzzle.cpp
@@ -145,6 +145,7 @@ void RiddlePuzzle::execute() {
if (!g_nancy->_sound->isSoundPlaying(_riddles[_riddleID].sound)) {
_solveState = kNotSolved;
g_system->setFeatureState(OSystem::kFeatureVirtualKeyboard, true);
+ g_nancy->_input->enableSecondaryKeymaps(false);
}
@@ -257,6 +258,7 @@ void RiddlePuzzle::execute() {
sceneChange->execute();
g_system->setFeatureState(OSystem::kFeatureVirtualKeyboard, false);
+ g_nancy->_input->enableSecondaryKeymaps(true);
finishExecution();
}
}
diff --git a/engines/nancy/input.cpp b/engines/nancy/input.cpp
index b589ddfe375..8338a0e1c7d 100644
--- a/engines/nancy/input.cpp
+++ b/engines/nancy/input.cpp
@@ -23,6 +23,7 @@
#include "backends/keymapper/action.h"
#include "backends/keymapper/keymap.h"
+#include "backends/keymapper/keymapper.h"
#include "backends/keymapper/standard-actions.h"
#include "engines/nancy/nancy.h"
@@ -30,6 +31,8 @@
namespace Nancy {
+static const char *mazeKeymapID = "nancy-maze";
+
void InputManager::processEvents() {
using namespace Common;
Common::Event event;
@@ -155,10 +158,18 @@ void InputManager::forceCleanInput() {
_otherKbdInput.clear();
}
+void InputManager::enableSecondaryKeymaps(bool enabled) {
+ Common::Keymapper *keymapper = g_nancy->getEventManager()->getKeymapper();
+ Common::Keymap *mazeKeymap = keymapper->getKeymap(mazeKeymapID);
+ if (mazeKeymap)
+ mazeKeymap->setEnabled(enabled);
+}
+
void InputManager::initKeymaps(Common::KeymapArray &keymaps, const char *target) {
using namespace Common;
using namespace Nancy;
+ Common::String gameId = ConfMan.get("gameid", target);
Keymap *mainKeymap = new Keymap(Keymap::kKeymapTypeGame, "nancy-main", "Nancy Drew");
Action *act;
@@ -211,17 +222,20 @@ void InputManager::initKeymaps(Common::KeymapArray &keymaps, const char *target)
act->addDefaultInputMapping("ESCAPE");
act->addDefaultInputMapping("JOY_START");
mainKeymap->addAction(act);
+
+ keymaps.push_back(mainKeymap);
- Common::String t(target);
- if (t.hasPrefix("nancy3") || t.hasPrefix("nancy6")) {
+ if (gameId == "nancy3" || gameId == "nancy6") {
+ Keymap *mazeKeymap = new Keymap(Keymap::kKeymapTypeGame, mazeKeymapID, "Nancy Drew - Maze");
+
act = new Action("RAYCM", _("Show/hide maze map"));
act->setCustomEngineActionEvent(kNancyActionShowRaycastMap);
act->addDefaultInputMapping("m");
act->addDefaultInputMapping("JOY_RIGHT_SHOULDER");
- mainKeymap->addAction(act);
- }
+ mazeKeymap->addAction(act);
- keymaps.push_back(mainKeymap);
+ keymaps.push_back(mazeKeymap);
+ }
}
} // End of namespace Nancy
diff --git a/engines/nancy/input.h b/engines/nancy/input.h
index de816b4a597..b09b32c8904 100644
--- a/engines/nancy/input.h
+++ b/engines/nancy/input.h
@@ -93,6 +93,7 @@ public:
NancyInput getInput() const;
void forceCleanInput();
void setMouseInputEnabled(bool enabled) { _mouseEnabled = enabled; }
+ void enableSecondaryKeymaps(bool enabled);
static void initKeymaps(Common::KeymapArray &keymaps, const char *target);
diff --git a/engines/nancy/state/loadsave.cpp b/engines/nancy/state/loadsave.cpp
index 454fb840212..ccb3315f87d 100644
--- a/engines/nancy/state/loadsave.cpp
+++ b/engines/nancy/state/loadsave.cpp
@@ -69,6 +69,7 @@ void LoadSaveMenu::process() {
switch (_state) {
case kInit:
init();
+ g_nancy->_input->enableSecondaryKeymaps(false);
// fall through
case kRun:
run();
@@ -92,6 +93,7 @@ void LoadSaveMenu::process() {
// Make sure stop runs on the same frame
if (_state == kStop) {
stop();
+ g_nancy->_input->enableSecondaryKeymaps(true);
}
g_nancy->_cursorManager->setCursorType(CursorManager::kNormalArrow);
Commit: 58f4eea8d5c04f6627783d234a69e5dc87801b3e
https://github.com/scummvm/scummvm/commit/58f4eea8d5c04f6627783d234a69e5dc87801b3e
Author: Kaloyan Chehlarski (strahy at outlook.com)
Date: 2024-01-07T21:57:18+01:00
Commit Message:
NEWS: Mention Nancy fixes
Changed paths:
NEWS.md
diff --git a/NEWS.md b/NEWS.md
index 1b087701453..0f2ca8f330c 100644
--- a/NEWS.md
+++ b/NEWS.md
@@ -9,6 +9,12 @@ For a more comprehensive changelog of the latest experimental code, see:
MM:
- Enabled engine, allowing MM1 and Xeen to be compiled.
+ NANCY:
+ - Fixed the telephone hints in Secrets Can Kill.
+ - Fixed the 'M' keyboard key not working in Message in a Haunted Mansion.
+ - Allowed general keymaps to be shown in the engine Keymaps menu.
+ - Virtual keyboard now triggers when using the load/save menu.
+
SCUMM:
- Fix screen corruption (and sometimes even crashes) in Mac Loom and
Indiana Jones and the Last Crusade when using menu shortcut keys.
More information about the Scummvm-git-logs
mailing list