aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--saga/input.cpp10
-rw-r--r--saga/interface.cpp5
-rw-r--r--saga/interface.h3
3 files changed, 16 insertions, 2 deletions
diff --git a/saga/input.cpp b/saga/input.cpp
index 12a15a38c5..3d2754220a 100644
--- a/saga/input.cpp
+++ b/saga/input.cpp
@@ -62,7 +62,8 @@ int SagaEngine::processInput() {
_interface->draw();
break;
-/* case 269:
+#if 0
+ case 269:
case 270:
case 273:
case 274:
@@ -73,7 +74,8 @@ int SagaEngine::processInput() {
_vm->_isoMap->_viewScroll.y += (_vm->_isoMap->_viewDiff * (event.kbd.keycode == 274) - _vm->_isoMap->_viewDiff * (event.kbd.keycode == 273));
_vm->_isoMap->_viewScroll.x += (_vm->_isoMap->_viewDiff * (event.kbd.keycode == 275) - _vm->_isoMap->_viewDiff * (event.kbd.keycode == 276));
}
- break;*/
+ break;
+#endif
case 282: // F1
_render->toggleFlag(RF_SHOW_FPS);
_actor->_handleActionDiv = (_actor->_handleActionDiv == 15) ? 50 : 15;
@@ -87,6 +89,10 @@ int SagaEngine::processInput() {
case 285: // F4
_render->toggleFlag(RF_OBJECTMAP_TEST);
break;
+ case 286: // F5
+ if (_interface->getSaveReminderState() > 0)
+ _interface->setMode(kPanelOption);
+ break;
case 287: // F6
_render->toggleFlag(RF_ACTOR_PATH_TEST);
break;
diff --git a/saga/interface.cpp b/saga/interface.cpp
index 6a2fd1d5e6..540b5aac5a 100644
--- a/saga/interface.cpp
+++ b/saga/interface.cpp
@@ -1080,9 +1080,11 @@ void Interface::setSave(PanelButton *panelButton) {
fileName = _vm->calcSaveFileName(_vm->getSaveFile(_optionSaveFileTitleNumber)->slotNumber);
_vm->save(fileName, _textInputString);
}
+ _textInput = false;
setMode(kPanelOption);
break;
case kTextCancel:
+ _textInput = false;
setMode(kPanelOption);
break;
}
@@ -1258,6 +1260,9 @@ void Interface::setOption(PanelButton *panelButton) {
void Interface::update(const Point& mousePoint, int updateFlag) {
+ if (!_active && _panelMode == kPanelNull && (updateFlag & UPDATE_MOUSECLICK))
+ _vm->_actor->abortSpeech();
+
if (_vm->_scene->isInDemo() || _fadeMode == kFadeOut || !_active) {
return;
}
diff --git a/saga/interface.h b/saga/interface.h
index 9e14ea9644..78fa69b780 100644
--- a/saga/interface.h
+++ b/saga/interface.h
@@ -195,6 +195,9 @@ public:
_saveReminderState = state;
draw();
}
+ int getSaveReminderState() {
+ return _saveReminderState;
+ }
bool isActive() { return _active; }
void setMode(int mode);
int getMode(void) const { return _panelMode; }