diff options
author | James Brown | 2002-03-11 13:05:54 +0000 |
---|---|---|
committer | James Brown | 2002-03-11 13:05:54 +0000 |
commit | 00ed3c23109e13a2434dd42268eb01eb6fd49f92 (patch) | |
tree | e0ba2c4f481010bfbfea8dcabb264d3469631111 /verbs.cpp | |
parent | 74694139df8670880248e7f6765a1749fdbf3d95 (diff) | |
download | scummvm-rg350-00ed3c23109e13a2434dd42268eb01eb6fd49f92.tar.gz scummvm-rg350-00ed3c23109e13a2434dd42268eb01eb6fd49f92.tar.bz2 scummvm-rg350-00ed3c23109e13a2434dd42268eb01eb6fd49f92.zip |
Fix Zak and Indy3 verbage
svn-id: r3728
Diffstat (limited to 'verbs.cpp')
-rw-r--r-- | verbs.cpp | 21 |
1 files changed, 14 insertions, 7 deletions
@@ -67,14 +67,14 @@ void Scumm::checkExecVerbs() { void Scumm::verbMouseOver(int verb) { if (_verbMouseOver==verb) return; - + if (_verbs[_verbMouseOver].type!=1) { drawVerb(_verbMouseOver, 0); _verbMouseOver = verb; } if (_verbs[verb].type!=1 && _verbs[verb].hicolor) { - drawVerb(verb, 1); + drawVerb(verb, 1); _verbMouseOver = verb; } } @@ -85,16 +85,20 @@ int Scumm::checkMouseOver(int x, int y) { vs = &_verbs[i]; do { + if (_features && GF_OLD256) + vs->saveid = 0; + if (vs->curmode!=1 || !vs->verbid || vs->saveid || - y < vs->y || y >= vs->bottom) + y < vs->y || y >= vs->bottom) continue; if (vs->center) { if (x < -(vs->right - vs->x - vs->x) || x >= vs->right) - continue; - } else { + continue; + } else { if (x < vs->x || x >= vs->right) continue; } + return i; } while (--vs,--i); return 0; @@ -109,7 +113,7 @@ void Scumm::drawVerb(int vrb, int mode) { return; vs = &_verbs[vrb]; - + if (!vs->saveid && vs->curmode && vs->verbid) { if (vs->type==1) { drawVerbBitmap(vrb, vs->x, vs->y); @@ -129,19 +133,22 @@ void Scumm::drawVerb(int vrb, int mode) { string[4].color = color; if (vs->curmode==2) string[4].color = vs->dimcolor; + _messagePtr = getResourceAddress(rtVerb, vrb); assert(_messagePtr); + tmp = charset._center; charset._center = 0; drawString(4); charset._center = tmp; + vs->right = charset._strRight; vs->bottom = charset._strBottom; vs->oldleft = charset._strLeft; vs->oldright = charset._strRight; vs->oldtop = charset._strTop; vs->oldbottom = charset._strBottom; - charset._strLeft = charset._strRight; + charset._strLeft = charset._strRight; } else { restoreVerbBG(vrb); } |