8bitbubsy / ft2-clone

Fasttracker 2 clone for Windows/macOS/Linux
https://16-bits.org
BSD 3-Clause "New" or "Revised" License
712 stars 48 forks source link

Software mouse should be ON by default #48

Closed malespiaut closed 7 months ago

malespiaut commented 7 months ago

Hello,

I've recently tested the latest revision of ft2-clone on my machine. I'm running Arch Linux with the i3 window manager.

When ft2-clone uses the hardware mouse, the cursor position doesn't match with what I'm clicking on, if I do the following:

1) Running ft2-clone in windowed mode. 2) Going fullscreen by pressing Super+F.

Activating the software mouse fixes the issue… and it looks better in my humble opinion, since the cursor position have to be aligned with the pixels drawn on the screen.

malespiaut commented 7 months ago

I also must point out that this issue, and workaround, also affects pt2-clone.

8bitbubsy commented 7 months ago

No, it should not be on by default, as it adds a frame of delay (if vsync is used), and it limits the mouse to 60Hz on monitors running at higher refresh rates (like mine, which is at 240Hz).

I don't know why the coordinate translation fails on your system, it works fine on my PC, my Macs and my Ubuntu Linux test machine.

malespiaut commented 7 months ago

Wow! That was fast! Maybe there's something to optimise somewhere if software mouse adds a frame.

If you want to reproduce this behavior, I suppose that you could just set up a Arch Linux VM with only i3. But I'm not familiar enough with the code to understand what is causing this problem…

8bitbubsy commented 7 months ago

There's nothing to optimize, it has to do with the nature of vsync with SDL2. I don't really support Linux for my tracker clones, as so many people have different problems depending on what distro, window manager and drivers they use. Sorry...