diff options
Diffstat (limited to 'engines/kyra/gui_lok.cpp')
-rw-r--r-- | engines/kyra/gui_lok.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/engines/kyra/gui_lok.cpp b/engines/kyra/gui_lok.cpp index 87cd088071..c835d5a02a 100644 --- a/engines/kyra/gui_lok.cpp +++ b/engines/kyra/gui_lok.cpp @@ -682,15 +682,17 @@ int GUI_LoK::loadGameMenu(Button *button) { } void GUI_LoK::redrawTextfield() { + Screen::FontId of = _screen->setFont(Screen::FID_8_FNT); _screen->fillRect(38, 91, 287, 102, _vm->gameFlags().platform == Common::kPlatformAmiga ? 18 : 250); _text->printText(_savegameName, 38, 92, 253, 0, 0); - + _screen->_charWidth = -2; int width = _screen->getTextWidth(_savegameName); _screen->fillRect(39 + width, 93, 45 + width, 100, _vm->gameFlags().platform == Common::kPlatformAmiga ? 31 : 254); _screen->_charWidth = 0; _screen->updateScreen(); + _screen->setFont(of); } void GUI_LoK::updateSavegameString() { @@ -702,7 +704,7 @@ void GUI_LoK::updateSavegameString() { char inputKey = _keyPressed.ascii; Util::convertISOToDOS(inputKey); - if ((uint8)inputKey > 31 && (uint8)inputKey < 226) { + if ((uint8)inputKey > 31 && (uint8)inputKey < (_vm->gameFlags().lang == Common::JA_JPN ? 176 : 226)) { if (length < ARRAYSIZE(_savegameName)-1) { _savegameName[length] = inputKey; _savegameName[length+1] = 0; @@ -749,7 +751,7 @@ int GUI_LoK::saveGame(Button *button) { } redrawTextfield(); - while (_displaySubMenu && !_vm->shouldQuit()) { + while (_displaySubMenu && !_vm->shouldQuit()) { checkTextfieldInput(); updateSavegameString(); processHighlights(_menu[3]); |