aboutsummaryrefslogtreecommitdiff
path: root/verbs.cpp
diff options
context:
space:
mode:
authorJames Brown2002-03-11 13:05:54 +0000
committerJames Brown2002-03-11 13:05:54 +0000
commit00ed3c23109e13a2434dd42268eb01eb6fd49f92 (patch)
treee0ba2c4f481010bfbfea8dcabb264d3469631111 /verbs.cpp
parent74694139df8670880248e7f6765a1749fdbf3d95 (diff)
downloadscummvm-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.cpp21
1 files changed, 14 insertions, 7 deletions
diff --git a/verbs.cpp b/verbs.cpp
index 246ce69664..5e4f5bdf95 100644
--- a/verbs.cpp
+++ b/verbs.cpp
@@ -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);
}