Opened 14 years ago

Last modified 2 months ago

#3799 new defect

DRASCULA: slowdown when you hold mouse buttons

Reported by: SF/glorifindel Owned by: sev-
Priority: normal Component: Engine: Drascula
Version: Keywords: slowdown, mouse
Cc: Game: Drascula

Description

I'm using the italian version of Drascula with the current SVN build (on Win32), and when I click anywhere on screen and hold the mouse button the game slows down. The save/load menu also has some glitches: when you type the name of the saved game some letters sometimes are not displayed and there is a strange gap from when you type to when the letter appears in the box. Wouldn't be better to adopt the standard SCUMM interface for the save/load menu (as in Nippon Safes Inc)?

Ticket imported from: #2011470. Ticket imported from: bugs/3799.

Change History (13)

comment:1 by sev-, 14 years ago

This bug is nice to get fixed before the release.

comment:2 by sev-, 14 years ago

Owner: set to bluegr
Priority: normalhigh

comment:3 by eriktorbjorn, 14 years ago

At least some of this might be because the pause() and delay() functions don't process events.

comment:4 by sev-, 14 years ago

Owner: changed from bluegr to sev-
Resolution: fixed
Status: newclosed

comment:5 by sev-, 14 years ago

Fixed in SVN and backported. The delays were used there pretty illogically. And each mousedown generated 200ms delay.

comment:6 by SF/glorifindel, 14 years ago

This bug is still here for me in latest 0.12pre version

comment:7 by SF/glorifindel, 14 years ago

Resolution: fixed
Status: closednew

comment:8 by fingolfin, 13 years ago

Sev, seems the issue was not fixed by your changes?

comment:9 by sev-, 13 years ago

That's right. In order to fix it the main gameloop has to be rewritten.

comment:10 by sev-, 12 years ago

Resolution: fixed
Status: newclosed

comment:11 by sev-, 12 years ago

I fixed it by reacting on button up event in right mouse. Quite controversal one, but it was the only option without serious rework. Please test.

comment:12 by dwatteau, 2 months ago

Keywords: slowdown mouse added
Priority: highnormal
Resolution: fixed
Status: closednew

This happens again with ScummVM 2.6.0.

Just start the game (English version here) and keep the left-mouse button pressed when walking: all the characters slow down.

(Doctors would say "then, don't do this" though ;)

comment:13 by eriktorbjorn, 2 months ago

This code in drascula.cpp seems to be responsible for the slowdown:

		if (_leftMouseButton == 1 && _menuBar) {
			selectVerbFromBar();
		} else if (_leftMouseButton == 1 && takeObject == 0) {
			if (verify1())
				return true;
			delay(100);
		} else if (_leftMouseButton == 1 && takeObject == 1) {
			if (verify2())
				return true;
		}

When I try it, it enters the case where it calls delay(100) I don't know the purpose of that, though

Last edited 2 months ago by eriktorbjorn (previous) (diff)
Note: See TracTickets for help on using tickets.