[Scummvm-git-logs] scummvm master -> 53a4cf80518720b94da10f52f36dfe784c1509ff
bluegr
noreply at scummvm.org
Wed Oct 15 18:11:34 UTC 2025
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .
Summary:
53a4cf8051 AGI: fix RTL in KQ3
Commit: 53a4cf80518720b94da10f52f36dfe784c1509ff
https://github.com/scummvm/scummvm/commit/53a4cf80518720b94da10f52f36dfe784c1509ff
Author: SegMash (mashras77 at gmail.com)
Date: 2025-10-15T21:11:31+03:00
Commit Message:
AGI: fix RTL in KQ3
Changed paths:
engines/agi/text.cpp
diff --git a/engines/agi/text.cpp b/engines/agi/text.cpp
index 91ed1546350..56fb852ecf7 100644
--- a/engines/agi/text.cpp
+++ b/engines/agi/text.cpp
@@ -246,13 +246,13 @@ void TextMgr::display(int16 textNr, int16 textRow, int16 textColumn) {
if (textNr >= 1 && textNr <= _vm->_game._curLogic->numTexts) {
logicTextPtr = _vm->_game._curLogic->texts[textNr - 1];
+ processedTextPtr = stringPrintf(logicTextPtr);
// For RTL languages, adjust the cursor position to right-align text
if (_vm->isLanguageRTL()) {
- int textLength = strlen(logicTextPtr);
- textColumn = MAX < int16>(0, 40 - textColumn - textLength);
+ int textLength = strlen(processedTextPtr);
+ textColumn = MAX<int16>(0, 40 - textColumn - textLength);
charPos_Set(textRow, textColumn);
}
- processedTextPtr = stringPrintf(logicTextPtr);
processedTextPtr = stringWordWrap(processedTextPtr, 40);
#ifdef USE_TTS
@@ -1024,6 +1024,13 @@ void TextMgr::stringEdit(int16 stringMaxLen) {
} while (_vm->cycleInnerLoopIsActive() && !(_vm->shouldQuit() || _vm->_restartGame));
inputEditOn();
+ // Fix deletion of first letter after ENTER.
+ if (_vm->isLanguageRTL()) {
+ for (int i = 0; i < _inputStringCursorPos; i++)
+ displayCharacter(0x08);
+ displayCharacter(' ');
+ displayText((const char *)_inputString);
+ }
// Forget non-blocking text, user was asked to enter something
_vm->nonBlockingText_Forget();
More information about the Scummvm-git-logs
mailing list