diff options
author | James Brown | 2002-07-31 13:33:07 +0000 |
---|---|---|
committer | James Brown | 2002-07-31 13:33:07 +0000 |
commit | 3ab2d71154172f6f900f3c1b2e04aad7e3b44b4e (patch) | |
tree | bc78574d6a59c1d1a470092f985b3a0fd6e5fb2e /string.cpp | |
parent | 30cd1e43d2b6b74d56d19b21f114542b961edad5 (diff) | |
download | scummvm-rg350-3ab2d71154172f6f900f3c1b2e04aad7e3b44b4e.tar.gz scummvm-rg350-3ab2d71154172f6f900f3c1b2e04aad7e3b44b4e.tar.bz2 scummvm-rg350-3ab2d71154172f6f900f3c1b2e04aad7e3b44b4e.zip |
Fix by yot to prevent two Zak freezes. This may be a fixme.
Zak is now pretty much bugless except for a walkbox issue and some sound
stuff.
svn-id: r4683
Diffstat (limited to 'string.cpp')
-rw-r--r-- | string.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/string.cpp b/string.cpp index 8a64bdc716..df90fd8c52 100644 --- a/string.cpp +++ b/string.cpp @@ -203,7 +203,11 @@ void Scumm::CHARSET_1() if (!_haveMsg) return; - if (!(_features & GF_AFTER_V7)) { + // FIXME: This Zak check fixes several hangs (Yak hang, and opening + // 'secret room while walking' hang. It doesn't do the camera check + // when the talk target isn't an actor. The question is, can we make + // this a more general case? Does it really need to be Zak specific? + if (!(_features & GF_AFTER_V7) && !(_gameId==GID_ZAK256 && _vars[VAR_TALK_ACTOR] == 0xFF)) { if ((camera._dest.x >> 3) != (camera._cur.x >> 3) || camera._cur.x != camera._last.x) return; } |