diff options
author | Travis Howell | 2003-10-26 03:20:13 +0000 |
---|---|---|
committer | Travis Howell | 2003-10-26 03:20:13 +0000 |
commit | 0600e4e0f47f71801df995382896358db7f90b4b (patch) | |
tree | 30bf38ee4c63ab0cff084bc04d4c5b6cf73d5079 | |
parent | 060300339e8324add5ba46f50c8ea1cf48a6813c (diff) | |
download | scummvm-rg350-0600e4e0f47f71801df995382896358db7f90b4b.tar.gz scummvm-rg350-0600e4e0f47f71801df995382896358db7f90b4b.tar.bz2 scummvm-rg350-0600e4e0f47f71801df995382896358db7f90b4b.zip |
Fix simon1dos freezes
svn-id: r10966
-rw-r--r-- | simon/simon.cpp | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/simon/simon.cpp b/simon/simon.cpp index d0ededcccb..cadb3e8b63 100644 --- a/simon/simon.cpp +++ b/simon/simon.cpp @@ -4029,14 +4029,20 @@ void SimonEngine::talk_with_text(uint vga_sprite_id, uint color, const char *str len_div_3 = (strlen(string_ptr) + 3) / 3; - if (!(_game & GF_SIMON2)) { + if (_game & GF_SIMON2) { + if (_variableArray[86] == 0) + len_div_3 >>= 1; + if (_variableArray[86] == 2) + len_div_3 <<= 1; + _variableArray[85] = len_div_3 * 5; + } else if (_game & GF_WIN) { if (_variableArray[141] == 0) _variableArray[141] = 9; _variableArray[85] = _variableArray[141] * len_div_3; } else { - if (_variableArray[86] == 0) - len_div_3 >>= 1; - if (_variableArray[86] == 2) + if (_variableArray[141] == 0) + _variableArray[141] = len_div_3 / 2; + if (_variableArray[141] == 2) len_div_3 <<= 1; _variableArray[85] = len_div_3 * 5; } |