Opened 13 years ago

Closed 13 years ago

Last modified 12 months ago

#3079 closed defect (fixed)

SCUMM: Textual verb glitch

Reported by: eriktorbjorn Owned by: eriktorbjorn
Priority: normal Component: Engine: SCUMM
Keywords: Cc:
Game:

Description

Latest SVN snapshot

There is a slight glitch with textual verbs in some early SCUMM games. It goes like this:

1) Move the cursor to a verb, preferably at the top of the verb area.
2) Move the cursor off the verb and into the main picture area.
3) Move the cursor back to the same verb as in step 1. If the game is affected by the glitch, the verb will not light up.

This appears to be because _verbMouseOver is still refering to the verb in step 1, so verbMouseOver() does nothing.

Games that I own that are affected:

Maniac Mansion, v1
Maniac Mansion, v2
Zak McKracken, v2
Indiana Jones and the Last Crusade (VGA)

However, The Secret of Monkey Island (VGA floppy) does not seem to be affected. Maybe it sets up verb 0 to have a hicolor value?

One simple workaround is to set _verbMouseOver to 0 when verb is 0 in verbMouseOver().

Ticket imported from: #1662774. Ticket imported from: bugs/3079.

Change History (6)

comment:1 by fingolfin, 13 years ago

Is this a regression or an old bug? Could you try to see if it behaves differently in 0.9.x / 0.8.x ?

comment:2 by eriktorbjorn, 13 years ago

I didn't think to check that, but it appears to be a regression. I can't reproduce it in 0.8.x or 0.9.x. (I think I need an older GCC to go back to 0.7.x and earlier, but there isn't much point in doing that.)

The only relevant difference I can see between verbMouseOver() in SVN and 0.9.1 is that in 0.9.1, we set _verbMouseOver both after calling drawVerb(_verbMouseOver, 0) and drawVerb(verb, 1). In SVN, we only set it after calling drawVerb(verb, 1).

It looks like it was one of the changes made in revision 24650 ("cleanup"). We should just change back to the old behaviour then, right?

comment:3 by fingolfin, 13 years ago

Yes, most definitely, please do so. No idea why I made such a nonsense "cleanup", HRM :-(. Thanks for cathing this.

comment:4 by eriktorbjorn, 13 years ago

Ok, I have done so.

comment:5 by eriktorbjorn, 13 years ago

Owner: set to eriktorbjorn
Resolution: fixed
Status: newclosed

comment:6 by digitall, 12 months ago

Component: Engine: SCUMM
Note: See TracTickets for help on using tickets.