Opened 15 years ago

Closed 15 years ago

Last modified 5 years ago

#3902 closed defect (fixed)

MICKEY: Mouse movement

Reported by: SF/fac76 Owned by: bluegr
Priority: normal Component: Engine: AGI
Version: Keywords:
Cc: Game:


I think i found a "glitch" in Mickey's Space Adventure. In ship's screen, the mouse doesn't move very smoothly. Just go north when the game starts to this screen:

Could it be related to the sound being played?

I noticed this behavior in last SVN (Aug 24, 2008), in ScummVM 0.11 and 0.11.1, but not in TrollVM.

Ticket imported from: #2071125. Ticket imported from: bugs/3902.

Change History (9)

comment:1 by SF/fac76, 15 years ago

Sorry, forgot to say i'm using win32 build.

comment:2 by SF/mthreepwood, 15 years ago

Yes, this is because of the way sound is handled in Mickey. When the sound is not playing during the rest, ScummVM just delays the system. So, the mouse cannot be moved while it delays.

I tried working on a fix for this, but I haven't gotten to it yet. I'll look into it.

comment:3 by fingolfin, 15 years ago

So it is because of the delayMillis call in Mickey::playNote(). Ugh, that's indeed a bad hack and deserves to be fixed :).

A quick solution would be to replace that simple delay with an event loop -- in SCUMM we have a special "waitForTimer(int delay)" method which delays, but not by just invoking delayMillis, but via an event loop plus shorter delayMillis calls.

comment:4 by bluegr, 15 years ago

Do note that the original game did not have mouse cursor support (nor ScummVM's "click-to-move" mouse functionality), so it's more apparent in ScummVM...

comment:5 by fingolfin, 15 years ago

So, any chance one of you guys could look into implementing the simple fix I suggested?

comment:6 by fingolfin, 15 years ago

Owner: set to bluegr

comment:7 by bluegr, 15 years ago

Just noticed this one

Fixed in the latest SVN version by using the waitForTimer() function from the SCUMM engine


comment:8 by bluegr, 15 years ago

Resolution: fixed
Status: newclosed

comment:9 by digitall, 5 years ago

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