[Scummvm-cvs-logs] scummvm master -> e73a50c6c53bffcf10f044377a72cf754b524bf9
dreammaster
dreammaster at scummvm.org
Mon Oct 5 02:56:41 CEST 2015
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
e73a50c6c5 SHERLOCK: SS: Fix invalid characters when displaying journal
Commit: e73a50c6c53bffcf10f044377a72cf754b524bf9
https://github.com/scummvm/scummvm/commit/e73a50c6c53bffcf10f044377a72cf754b524bf9
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2015-10-04T20:56:13-04:00
Commit Message:
SHERLOCK: SS: Fix invalid characters when displaying journal
Changed paths:
engines/sherlock/fonts.cpp
engines/sherlock/talk.cpp
diff --git a/engines/sherlock/fonts.cpp b/engines/sherlock/fonts.cpp
index 482e795..b607891 100644
--- a/engines/sherlock/fonts.cpp
+++ b/engines/sherlock/fonts.cpp
@@ -147,10 +147,13 @@ void Fonts::writeString(Surface *surface, const Common::String &str,
}
curChar = translateChar(curChar);
- assert(curChar < _charCount);
- ImageFrame &frame = (*_font)[curChar];
- surface->transBlitFrom(frame, Common::Point(charPos.x, charPos.y + _yOffsets[curChar]), false, overrideColor);
- charPos.x += frame._frame.w + 1;
+ if (curChar < _charCount) {
+ ImageFrame &frame = (*_font)[curChar];
+ surface->transBlitFrom(frame, Common::Point(charPos.x, charPos.y + _yOffsets[curChar]), false, overrideColor);
+ charPos.x += frame._frame.w + 1;
+ } else {
+ warning("Invalid character encountered - %d", (int)curChar);
+ }
}
}
diff --git a/engines/sherlock/talk.cpp b/engines/sherlock/talk.cpp
index e399c26..4150835 100644
--- a/engines/sherlock/talk.cpp
+++ b/engines/sherlock/talk.cpp
@@ -915,6 +915,8 @@ bool Talk::isOpcode(byte checkCharacter) {
}
bool Talk::isPossibleOpcode(byte checkCharacter) {
+ // Some conversations in the Spanish version, such as the first conversation with Lastrade,
+ // start with an invalid character. Hence isPossibleOpcode being separate from isOpcode
if (IS_SERRATED_SCALPEL && _vm->getLanguage() == Common::ES_ESP)
return checkCharacter >= 128;
More information about the Scummvm-git-logs
mailing list