aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/scumm/string.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/engines/scumm/string.cpp b/engines/scumm/string.cpp
index c2a07fa54b..1c23223605 100644
--- a/engines/scumm/string.cpp
+++ b/engines/scumm/string.cpp
@@ -503,7 +503,9 @@ void ScummEngine::fakeBidiString(char *ltext, bool ignoreVerb) {
int sthead = 0;
char last = '\0';
for (int j = 0; j < ipos; j++) {
+ // Reverse string on current line (between start and ipos).
char *curr = text + start + ipos - j - 1;
+ // Special cases to preserve original ordering (numbers).
if (Common::isDigit(*curr) ||
(*curr == ',' && j + 1 < ipos && Common::isDigit(*(curr - 1)) && Common::isDigit(last)) ||
(*curr == '-' && (j + 1 == ipos || Common::isSpace(*(curr - 1))) && Common::isDigit(last))) {