(not the usual) ScummVM touchscreen issue


diligentcircle

Well-Known Member
Joined
Aug 29, 2011
Messages
1,594
Age
30
Location
Milky Way galaxy
Website
onpon4.github.io
[split from other touchscreen topic]


... ScummVM currently doesn't handle the touch screen properly. The click is registered as happening in the last place the cursor was at, not the place you touched. It was one of the first things I tried with the touch screen.


I guess it must have something to do with how SDL handles mouse input, because a very similar problem exists in Pygame: a particular event attribute that is supposed to indicate the coordinates of the mouse click indicate the previous location for some reason. As a result, any game relying on that set of coordinates is going to have the exact same problem that ScummVM has.
 
Last edited by a moderator:
Ok, looks like some stuff might have changed while I was away.


History: DJWillis is a Pandora OS dev, and also a member of the ScummVM team. In the past he has asked that his releases aren't re-hosted anywhere. If you wanted his latest release you had to go to his blog. (If you have any RSS feeds set up you should add that site.)


Now: It appears that Ivanovic is maintaining the Pandora port (or the PND packaging side of it anyway) and has it on the repo. It is supposedly the same version as the one on the official ScummVM site. The touchscreen issue should be long gone... so I have no idea what the story is here.


Can anyone fill in the blanks?


I will split this to a new thread.
 
Hm, I looked over the blog post more carefully, and I don't think we're talking about the same thing. It seems to be talking about an issue with the cursor being offset (I've experienced that with Blob Wars and Penguin Command), but I'm talking about an issue where the mouse seems to click before it moves. The same problem is described in this topic with Pygame, so I wouldn't be surprised if it's related to SDL.
 
Last edited by a moderator:
Interesting. I haven't heard it mentioned before, and I can't seem to replicate it in ScummVM. Hopefully someone else can assist.

It is a little hard to replicate it on purpose; I believe it might have something to do with extra mouse motion events being triggered by slightly dragging the stylus and the mouse release event being the trigger rather than the mouse click event (just a guess). But if you try a few times (I've only done it on King's Quest VI, but I believe it should happen with other games, too), you can get it to happen by moving the cursor to something (e.g. the sky in KQ6) and then quickly tapping something else a distance away (e.g. the ring or log in KQ6). If you do it right, the cursor will move to the new location, but the game will react as if you clicked where the mouse was before (in my example, the sky was clicked on, even though you clearly meant to click on the ring or the log).


EDIT: Yup, it seems to be that the release event is used in most parts of the game. So here's an easier way to reproduce the issue: go to a menu (e.g. the title screen in KQ6), move the cursor away from the button you want to click, and touch the button. Notice that the button doesn't seem to be clicked. Release it, and nothing happens. This is because the click was registered somewhere else (the last position the cursor was at), so the button isn't considered for activation.


EDIT2: You can also reproduce the issue by clicking and holding something in e.g. King's Quest VI, rather than clicking and releasing (KQ6 will then register the click instead of the release).
 
Last edited by a moderator:
I've played Curse of Monkey Island all the way through on the Pandora.


Just curious have you been able to reproduce this bug in another game beside kings quest games?
 
I've played Curse of Monkey Island all the way through on the Pandora.


Just curious have you been able to reproduce this bug in another game beside kings quest games?

I've only bothered with King's Quest VI at this point. Actually, the King's Quest games are the only ScummVM compatible games I own/am interested in, and I would only play King's Quest V and King's Quest VI on ScummVM (I prefer to play the older ones in DOSBox, mostly because F1-F12 don't work on ScummVM).


I guess it's possible that a lot of games just ignore the mouse click event, in which case you're not going to experience this problem playing them.


EDIT: I've made a video demonstrating the bug and am uploading it to YouTube right now. Will post a link when it finishes.
 
Last edited by a moderator:
I've played Curse of Monkey Island all the way through on the Pandora.


Just curious have you been able to reproduce this bug in another game beside kings quest games?

I've only bothered with King's Quest VI at this point. Actually, the King's Quest games are the only ScummVM compatible games I own/am interested in, and I would only play King's Quest V and King's Quest VI on ScummVM (I prefer to play the older ones in DOSBox, mostly because F1-F12 don't work on ScummVM).


I guess it's possible that a lot of games just ignore the mouse click event, in which case you're not going to experience this problem playing them.


EDIT: I've made a video demonstrating the bug and am uploading it to YouTube right now. Will post a link when it finishes.

Pretty sure this is only a bug in the SCI engine and something I know about but the fix causes regressions elsewhere (and I REALLY don't like checking the running engine in the backend, that is messy). When I get around to doing a new build try it on that (no ETA as life is mental) and let me know if it is fixed.


As for the repo version, it is the latest official release, Ivanovic kindly repackaged it with SquashFS to get the size down (I normally prefer just shipping an uncompressed ISO style PND).


Regards,


John
 
Back
Top