diff options
author | Willem Jan Palenstijn | 2010-06-24 21:09:38 +0000 |
---|---|---|
committer | Willem Jan Palenstijn | 2010-06-24 21:09:38 +0000 |
commit | a03afd18985ffef220ffbdce3ea4c66c035609da (patch) | |
tree | 37d31eb4366eab07a33d5f029fb0e7c2003b1b5b | |
parent | 35b5da7e0fbc2ee3b3b81c2a0371ac57a00dc856 (diff) | |
download | scummvm-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.cpp | 2 |
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; } } } |