aboutsummaryrefslogtreecommitdiff
path: root/engines/hopkins/dialogs.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/hopkins/dialogs.cpp')
-rw-r--r--engines/hopkins/dialogs.cpp31
1 files changed, 25 insertions, 6 deletions
diff --git a/engines/hopkins/dialogs.cpp b/engines/hopkins/dialogs.cpp
index 7e4dc16d11..5e157ff66e 100644
--- a/engines/hopkins/dialogs.cpp
+++ b/engines/hopkins/dialogs.cpp
@@ -521,16 +521,35 @@ void DialogsManager::INVENT_ANIM() {
}
}
-void DialogsManager::TEST_INVENT() {
+void DialogsManager::TestForDialogOpening() {
if (_vm->_globals.PLAN_FLAG)
- _vm->_eventsManager.KEY_INVENT = 0;
- if (_vm->_eventsManager.KEY_INVENT == 1) {
+ _vm->_eventsManager.GAME_KEY = KEY_NONE;
+
+ if (_vm->_eventsManager.GAME_KEY != KEY_NONE) {
if (!INVENTFLAG) {
- _vm->_eventsManager.KEY_INVENT = 0;
+ GAME_KEY key = _vm->_eventsManager.GAME_KEY;
+ _vm->_eventsManager.GAME_KEY = KEY_NONE;
INVENTFLAG = 1;
- _vm->_dialogsManager.showInventory();
+
+ switch (key) {
+ case KEY_INVENTORY:
+ _vm->_dialogsManager.showInventory();
+ break;
+ case KEY_OPTIONS:
+ _vm->_dialogsManager.showOptionsDialog();
+ break;
+ case KEY_LOAD:
+ _vm->_dialogsManager.CHARGE_PARTIE();
+ break;
+ case KEY_SAVE:
+ _vm->_dialogsManager.SAUVE_PARTIE();
+ break;
+ default:
+ break;
+ }
+
INVENTFLAG = 0;
- _vm->_eventsManager.KEY_INVENT = 0;
+ _vm->_eventsManager.GAME_KEY = KEY_NONE;
}
}
}