diff options
Diffstat (limited to 'engines/kyra/gui.cpp')
-rw-r--r-- | engines/kyra/gui.cpp | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/engines/kyra/gui.cpp b/engines/kyra/gui.cpp index 18fdd4436d..8cafb54fb8 100644 --- a/engines/kyra/gui.cpp +++ b/engines/kyra/gui.cpp @@ -596,7 +596,7 @@ int KyraEngine::buttonMenuCallback(Button *caller) { calcCoords(_menu[i]); _menuRestoreScreen = true; - _keyPressed = 0; + _keyPressed.reset(); _mousePressFlag = false; _toplevelMenu = 0; @@ -826,7 +826,7 @@ void KyraEngine::gui_getInput() { _mouseWheel = 1; break; case Common::EVENT_KEYDOWN: - _keyPressed = event.kbd.ascii; + _keyPressed = event.kbd; break; default: break; @@ -1002,26 +1002,28 @@ void KyraEngine::gui_redrawTextfield() { void KyraEngine::gui_updateSavegameString() { int length; - if (_keyPressed) { + if (_keyPressed.keycode) { length = strlen(_savegameName); - if (_keyPressed > 31 && _keyPressed < 127) { + if (_keyPressed.ascii > 31 && _keyPressed.ascii < 127) { if (length < 31) { - _savegameName[length] = _keyPressed; + _savegameName[length] = _keyPressed.ascii; _savegameName[length+1] = 0; gui_redrawTextfield(); } - } else if (_keyPressed == 8 ||_keyPressed == 127) { + } else if (_keyPressed.keycode == Common::KEYCODE_BACKSPACE || + _keyPressed.keycode == Common::KEYCODE_DELETE) { if (length > 0) { _savegameName[length-1] = 0; gui_redrawTextfield(); } - } else if (_keyPressed == 13) { + } else if (_keyPressed.keycode == Common::KEYCODE_RETURN || + _keyPressed.keycode == Common::KEYCODE_KP_ENTER) { _displaySubMenu = false; } } - _keyPressed = 0; + _keyPressed.reset(); } int KyraEngine::gui_saveGame(Button *button) { |