[Scummvm-git-logs] scummvm master -> e5055b7e7aaebf89473465c0c4f780f5f21e2707
moralrecordings
noreply at scummvm.org
Wed Jul 15 15:49:31 UTC 2026
This automated email contains information about 3 new commits which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .
Summary:
c03b37a79f FOOL: Fix typo in puzzleCompletionStatus check
043e02da33 FOOL: Replace entire menu if item slot zero gets defined
e5055b7e7a FOOL: Add basic custom keymap
Commit: c03b37a79fe34312760ddddf414f7f82e9c1bf1a
https://github.com/scummvm/scummvm/commit/c03b37a79fe34312760ddddf414f7f82e9c1bf1a
Author: Scott Percival (code at moral.net.au)
Date: 2026-07-15T23:48:16+08:00
Commit Message:
FOOL: Fix typo in puzzleCompletionStatus check
Changed paths:
engines/fool/fool_thoth.cpp
diff --git a/engines/fool/fool_thoth.cpp b/engines/fool/fool_thoth.cpp
index c087f50fe18..5247297492d 100644
--- a/engines/fool/fool_thoth.cpp
+++ b/engines/fool/fool_thoth.cpp
@@ -1072,7 +1072,7 @@ void FoolGame::hermitScreenZoom() {
void FoolGame::hermitScreenBehold() {
// 140:28bc
- if (_puzzleCompletionStatus[0x68] > 4) {
+ if (_puzzleCompletionStatus[0x34] > 4) {
waitForMouseUp();
menuClickMessage();
flashRect(0x29, 0x37, 0x142, 0x1c9, 0x96);
Commit: 043e02da331d3cb7061f7ac737f402708dd3e819
https://github.com/scummvm/scummvm/commit/043e02da331d3cb7061f7ac737f402708dd3e819
Author: Scott Percival (code at moral.net.au)
Date: 2026-07-15T23:48:16+08:00
Commit Message:
FOOL: Replace entire menu if item slot zero gets defined
Fixes menu change between "The 2 Enchantments" and "The Last
Enchantment" in the High Priestess challenge.
Changed paths:
engines/fool/zbasic.cpp
diff --git a/engines/fool/zbasic.cpp b/engines/fool/zbasic.cpp
index 437c08da36b..f926774470f 100644
--- a/engines/fool/zbasic.cpp
+++ b/engines/fool/zbasic.cpp
@@ -328,7 +328,13 @@ uint32 ZBasic::mem(int16 index) {
void ZBasic::menu(uint16 menuNo, uint16 itemNo, uint16 state, const Common::U32String &title) {
debugC(5, kDebugLoading, "ZBasic::menu: menuNo %d, itemNo %d, state %d, title \"%s\"", menuNo, itemNo, state, title.encode().c_str());
- Graphics::MacToolbox::MenuHandle handle = _toolbox->GetMHandle(menuNo);
+ Graphics::MacToolbox::MenuHandle handle;
+ // if we define itemNo = 0, throw out the old menu first
+ if (itemNo == 0) {
+ _toolbox->DeleteMenu(menuNo);
+ } else {
+ handle = _toolbox->GetMHandle(menuNo);
+ }
if (!handle) {
handle = _toolbox->NewMenu(menuNo, Common::U32String());
}
Commit: e5055b7e7aaebf89473465c0c4f780f5f21e2707
https://github.com/scummvm/scummvm/commit/e5055b7e7aaebf89473465c0c4f780f5f21e2707
Author: Scott Percival (code at moral.net.au)
Date: 2026-07-15T23:48:16+08:00
Commit Message:
FOOL: Add basic custom keymap
Needed as the new hotspot display feature in the default keymappings
will eat all uses of the letter H.
Changed paths:
engines/fool/metaengine.cpp
diff --git a/engines/fool/metaengine.cpp b/engines/fool/metaengine.cpp
index 674225b1f32..d495ddce376 100644
--- a/engines/fool/metaengine.cpp
+++ b/engines/fool/metaengine.cpp
@@ -19,6 +19,9 @@
*
*/
+#include "backends/keymapper/action.h"
+#include "backends/keymapper/keymap.h"
+#include "backends/keymapper/standard-actions.h"
#include "common/punycode.h"
#include "common/savefile.h"
#include "common/translation.h"
@@ -64,6 +67,7 @@ public:
bool removeSaveState(const char *target, int slot) const override;
const ADExtraGuiOptionsMap *getAdvancedExtraGuiOptions() const override;
+ Common::KeymapArray initKeymaps(const char *target) const override;
};
const char *FoolMetaEngine::getName() const {
@@ -123,6 +127,62 @@ bool FoolMetaEngine::removeSaveState(const char *target, int slot) const {
return g_system->getSavefileManager()->removeSavefile(getSavegameFile(slot, target));
}
+Common::KeymapArray FoolMetaEngine::initKeymaps(const char *target) const {
+
+ Common::String gameId = ConfMan.get("gameid", target);
+ Common::Keymap *engineKeyMap = new Common::Keymap(Common::Keymap::kKeymapTypeGame, "fool-default", _("Fool's Errand keymappings"));
+
+ Common::Action *act;
+
+ act = new Common::Action(Common::kStandardActionLeftClick, _("Left click"));
+ act->setLeftClickEvent();
+ act->addDefaultInputMapping("MOUSE_LEFT");
+ act->addDefaultInputMapping("JOY_A");
+ engineKeyMap->addAction(act);
+
+ act = new Common::Action(Common::kStandardActionMiddleClick, _("Middle click"));
+ act->addDefaultInputMapping("MOUSE_MIDDLE");
+ act->setMiddleClickEvent();
+ engineKeyMap->addAction(act);
+
+ act = new Common::Action(Common::kStandardActionRightClick, _("Right click"));
+ act->setRightClickEvent();
+ act->addDefaultInputMapping("MOUSE_RIGHT");
+ act->addDefaultInputMapping("JOY_B");
+ engineKeyMap->addAction(act);
+
+ act = new Common::Action("PIND", _("Predictive input dialog"));
+ act->setEvent(Common::EVENT_PREDICTIVE_DIALOG);
+ act->allowKbdRepeats();
+ engineKeyMap->addAction(act);
+
+ act = new Common::Action(Common::kStandardActionMoveUp, _("Up"));
+ act->setKeyEvent(Common::KEYCODE_KP8);
+ act->addDefaultInputMapping("JOY_UP");
+ act->allowKbdRepeats();
+ engineKeyMap->addAction(act);
+
+ act = new Common::Action(Common::kStandardActionMoveDown, _("Down"));
+ act->setKeyEvent(Common::KEYCODE_KP2);
+ act->addDefaultInputMapping("JOY_DOWN");
+ act->allowKbdRepeats();
+ engineKeyMap->addAction(act);
+
+ act = new Common::Action(Common::kStandardActionMoveLeft, _("Left"));
+ act->setKeyEvent(Common::KEYCODE_KP4);
+ act->addDefaultInputMapping("JOY_LEFT");
+ act->allowKbdRepeats();
+ engineKeyMap->addAction(act);
+
+ act = new Common::Action(Common::kStandardActionMoveRight, _("Right"));
+ act->setKeyEvent(Common::KEYCODE_KP6);
+ act->addDefaultInputMapping("JOY_RIGHT");
+ act->allowKbdRepeats();
+ engineKeyMap->addAction(act);
+
+ return Common::Keymap::arrayOf(engineKeyMap);
+}
+
#if PLUGIN_ENABLED_DYNAMIC(FOOL)
REGISTER_PLUGIN_DYNAMIC(FOOL, PLUGIN_TYPE_ENGINE, FoolMetaEngine);
More information about the Scummvm-git-logs
mailing list