diff options
Diffstat (limited to 'engines/adl/adl.cpp')
-rw-r--r-- | engines/adl/adl.cpp | 42 |
1 files changed, 18 insertions, 24 deletions
diff --git a/engines/adl/adl.cpp b/engines/adl/adl.cpp index 17fdd28892..d866af6a31 100644 --- a/engines/adl/adl.cpp +++ b/engines/adl/adl.cpp @@ -119,7 +119,7 @@ Common::String AdlEngine::readString(Common::ReadStream &stream, byte until) con break; str += b; - }; + } return str; } @@ -209,21 +209,13 @@ Common::String AdlEngine::inputString(byte prompt) const { return s; } - if (b < 0xa0) { - switch (b) { - case Common::KEYCODE_BACKSPACE | 0x80: - if (!s.empty()) { - _display->moveCursorBackward(); - _display->setCharAtCursor(APPLECHAR(' ')); - s.deleteLastChar(); - } - break; - }; - } else { - if (s.size() < 255) { - s += b; - _display->printString(Common::String(b)); - } + if (b < 0xa0 && b == (Common::KEYCODE_BACKSPACE | 0x80) && !s.empty()) { + _display->moveCursorBackward(); + _display->setCharAtCursor(APPLEBYTE(' ')); + s.deleteLastChar(); + } else if (s.size() < 255) { + s += b; + _display->printString(Common::String(b)); } } } @@ -233,7 +225,7 @@ byte AdlEngine::inputKey(bool showCursor) const { // If debug script is active, we fake a return press for the text overflow handling if (_inputScript && !_scriptPaused) - return APPLECHAR('\r'); + return APPLEBYTE('\r'); if (showCursor) _display->showCursor(true); @@ -252,12 +244,12 @@ byte AdlEngine::inputKey(bool showCursor) const { default: if (event.kbd.ascii >= 0x20 && event.kbd.ascii < 0x80) key = convertKey(event.kbd.ascii); - }; + } } // If debug script was activated in the meantime, abort input if (_inputScript && !_scriptPaused) - return APPLECHAR('\r'); + return APPLEBYTE('\r'); _display->updateTextScreen(); g_system->delayMillis(16); @@ -917,11 +909,11 @@ Common::Error AdlEngine::saveGameState(int slot, const Common::String &desc) { char name[SAVEGAME_NAME_LEN] = { }; if (!desc.empty()) - strncpy(name, desc.c_str(), sizeof(name) - 1); + Common::strlcpy(name, desc.c_str(), sizeof(name) - 1); else { Common::String defaultName("Save "); defaultName += 'A' + slot; - strncpy(name, defaultName.c_str(), sizeof(name) - 1); + Common::strlcpy(name, defaultName.c_str(), sizeof(name) - 1); } outFile->write(name, sizeof(name)); @@ -992,7 +984,7 @@ byte AdlEngine::convertKey(uint16 ascii) const { Common::String AdlEngine::getLine() { while (1) { - Common::String line = inputString(APPLECHAR('?')); + Common::String line = inputString(APPLEBYTE('?')); if (shouldQuit() || _isRestoring) return Common::String(); @@ -1028,8 +1020,10 @@ Common::String AdlEngine::getWord(const Common::String &line, uint &index) const // Copy up to 8 characters while (1) { - if (copied < 8) - str.setChar(line[index], copied++); + if (copied < 8) { + str.setChar(line[index], copied); + copied++; + } index++; |