aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWillem Jan Palenstijn2010-06-24 21:09:38 +0000
committerWillem Jan Palenstijn2010-06-24 21:09:38 +0000
commita03afd18985ffef220ffbdce3ea4c66c035609da (patch)
tree37d31eb4366eab07a33d5f029fb0e7c2003b1b5b
parent35b5da7e0fbc2ee3b3b81c2a0371ac57a00dc856 (diff)
downloadscummvm-rg350-a03afd18985ffef220ffbdce3ea4c66c035609da.tar.gz
scummvm-rg350-a03afd18985ffef220ffbdce3ea4c66c035609da.tar.bz2
scummvm-rg350-a03afd18985ffef220ffbdce3ea4c66c035609da.zip
SCI: Make kStrAt clear segment when writing characters
This is necessary since the uninitialized value detection from r50211, and is analogous to seg_manager.cpp's setChar. (Triggered in LSL3 age verification.) svn-id: r50234
-rw-r--r--engines/sci/engine/kstring.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/engines/sci/engine/kstring.cpp b/engines/sci/engine/kstring.cpp
index 1927a79eea..f2f9543ad2 100644
--- a/engines/sci/engine/kstring.cpp
+++ b/engines/sci/engine/kstring.cpp
@@ -115,12 +115,14 @@ reg_t kStrAt(EngineState *s, int argc, reg_t *argv) {
if (argc > 2) { /* Request to modify this char */
tmp.offset &= 0xff00;
tmp.offset |= newvalue;
+ tmp.segment = 0;
}
} else {
value = tmp.offset >> 8;
if (argc > 2) { /* Request to modify this char */
tmp.offset &= 0x00ff;
tmp.offset |= newvalue << 8;
+ tmp.segment = 0;
}
}
}