[Scummvm-git-logs] scummvm master -> 247074d92cb01d562ecd6e1cd3272a2b05f64419
bluegr
noreply at scummvm.org
Tue Mar 8 01:23:55 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:
247074d92c CHEWY: Fix regression when using items
Commit: 247074d92cb01d562ecd6e1cd3272a2b05f64419
https://github.com/scummvm/scummvm/commit/247074d92cb01d562ecd6e1cd3272a2b05f64419
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2022-03-08T03:23:41+02:00
Commit Message:
CHEWY: Fix regression when using items
Changed paths:
engines/chewy/dialogs/inventory.cpp
engines/chewy/events.cpp
engines/chewy/mouse.cpp
engines/chewy/mouse.h
diff --git a/engines/chewy/dialogs/inventory.cpp b/engines/chewy/dialogs/inventory.cpp
index bbc623ef6db..7b85c457ee4 100644
--- a/engines/chewy/dialogs/inventory.cpp
+++ b/engines/chewy/dialogs/inventory.cpp
@@ -203,11 +203,11 @@ void Inventory::menu() {
break;
case 3:
- g_events->_kbInfo._keyCode = Common::KEYCODE_PAGEUP;
+ _G(in)->_hotkey = Common::KEYCODE_PAGEUP;
break;
case 4:
- g_events->_kbInfo._keyCode = Common::KEYCODE_PAGEDOWN;
+ _G(in)->_hotkey = Common::KEYCODE_PAGEDOWN;
break;
case 5:
@@ -247,7 +247,8 @@ void Inventory::menu() {
}
} else if (_G(minfo)._button == 2 || g_events->_kbInfo._keyCode == Common::KEYCODE_ESCAPE) {
if (!mouseFl) {
- g_events->_kbInfo._keyCode = Common::KEYCODE_ESCAPE;
+ // Set virtual key
+ _G(in)->_hotkey = Common::KEYCODE_ESCAPE;
mouseFl = true;
}
}
@@ -466,6 +467,11 @@ int16 Inventory::look(int16 invent_nr, int16 mode, int16 ats_nr) {
}
switch (g_events->_kbInfo._scanCode) {
+ case Common::KEYCODE_F1:
+ case Common::KEYCODE_F2:
+ _G(in)->_hotkey = g_events->_kbInfo._scanCode;
+ break;
+
case Common::KEYCODE_ESCAPE:
endLoop = true;
break;
@@ -484,6 +490,7 @@ int16 Inventory::look(int16 invent_nr, int16 mode, int16 ats_nr) {
break;
}
+ g_events->_kbInfo._scanCode = Common::KEYCODE_INVALID;
setupScreen(NO_SETUP);
plot_menu();
_G(fontMgr)->setFont(_G(font8));
diff --git a/engines/chewy/events.cpp b/engines/chewy/events.cpp
index 130d81e553e..a3370bcda20 100644
--- a/engines/chewy/events.cpp
+++ b/engines/chewy/events.cpp
@@ -194,7 +194,6 @@ void EventsManager::processEvents() {
case Common::EVENT_RETURN_TO_LAUNCHER:
return;
- case Common::EVENT_KEYDOWN:
case Common::EVENT_KEYUP:
MOUSE_MOVE;
handleEvent(e);
@@ -247,7 +246,7 @@ char getch() {
g_events->update();
while (!g_system->getEventManager()->pollEvent(e) && !SHOULD_QUIT) {
- if (e.type == Common::EVENT_KEYDOWN)
+ if (e.type == Common::EVENT_KEYUP)
return e.kbd.ascii;
}
}
diff --git a/engines/chewy/mouse.cpp b/engines/chewy/mouse.cpp
index fa1ed05713a..daf89694506 100644
--- a/engines/chewy/mouse.cpp
+++ b/engines/chewy/mouse.cpp
@@ -57,6 +57,12 @@ int16 InputMgr::getSwitchCode() {
if (g_events->_kbInfo._keyCode != 0)
switch_code = (int16)g_events->_kbInfo._keyCode;
+ // Virtual key, set when an item is taken from the inventory
+ if (_hotkey != Common::KEYCODE_INVALID) {
+ switch_code = _hotkey;
+ _hotkey = Common::KEYCODE_INVALID;
+ }
+
return switch_code;
}
diff --git a/engines/chewy/mouse.h b/engines/chewy/mouse.h
index 1fad6e4a867..c39a4c77921 100644
--- a/engines/chewy/mouse.h
+++ b/engines/chewy/mouse.h
@@ -36,6 +36,8 @@ public:
int16 mouseVector(int16 x, int16 y, const int16 *tbl, int16 nr);
int16 getSwitchCode();
+
+ int16 _hotkey = Common::KEYCODE_INVALID;
};
} // namespace Chewy
More information about the Scummvm-git-logs
mailing list