aboutsummaryrefslogtreecommitdiff
path: root/engines/sword1
diff options
context:
space:
mode:
authorMatthew Hoops2012-06-16 01:37:40 -0400
committerMatthew Hoops2012-06-16 01:43:32 -0400
commit625f6cc71657e95e0361edefa333a38910c1aca5 (patch)
treeae5ef8582ede4d62e56253467ea144db2341b353 /engines/sword1
parentf02b696573fe4281e4890d71b74671804a5ebf41 (diff)
parent5230a0d61795e2855625a43d60dc3bc2ed83fc3d (diff)
downloadscummvm-rg350-625f6cc71657e95e0361edefa333a38910c1aca5.tar.gz
scummvm-rg350-625f6cc71657e95e0361edefa333a38910c1aca5.tar.bz2
scummvm-rg350-625f6cc71657e95e0361edefa333a38910c1aca5.zip
Merge remote branch 'upstream/master' into pegasus
Diffstat (limited to 'engines/sword1')
-rw-r--r--engines/sword1/objectman.cpp2
-rw-r--r--engines/sword1/text.cpp2
2 files changed, 3 insertions, 1 deletions
diff --git a/engines/sword1/objectman.cpp b/engines/sword1/objectman.cpp
index ed994a97fa..d0803590a7 100644
--- a/engines/sword1/objectman.cpp
+++ b/engines/sword1/objectman.cpp
@@ -105,7 +105,7 @@ char *ObjectMan::lockText(uint32 textId) {
addr += sizeof(Header);
if ((textId & ITM_ID) >= _resMan->readUint32(addr)) {
warning("ObjectMan::lockText(%d): only %d texts in file", textId & ITM_ID, _resMan->readUint32(addr));
- textId = 0; // get first line instead
+ return _missingSubTitleStr;
}
uint32 offset = _resMan->readUint32(addr + ((textId & ITM_ID) + 1) * 4);
if (offset == 0) {
diff --git a/engines/sword1/text.cpp b/engines/sword1/text.cpp
index 3bd2fdb2e6..f23ac5f182 100644
--- a/engines/sword1/text.cpp
+++ b/engines/sword1/text.cpp
@@ -156,6 +156,8 @@ uint16 Text::analyzeSentence(const uint8 *text, uint16 maxWidth, LineInfo *line)
}
uint16 Text::copyChar(uint8 ch, uint8 *sprPtr, uint16 sprWidth, uint8 pen) {
+ if (ch < SPACE)
+ ch = 64;
FrameHeader *chFrame = _resMan->fetchFrame(_font, ch - SPACE);
uint8 *chData = ((uint8 *)chFrame) + sizeof(FrameHeader);
uint8 *dest = sprPtr;