Descent mouse movement bug, and workaround
25 posts
• Page 1 of 3 • 1, 2, 3
Descent mouse movement bug, and workaround
Some people, including Assman and myself, have problems using the mouse as a controller in Descent. The problem sounds something like this:
"When I try to continuously pitch my ship down, it pitches for a little while and then gets stuck. I can't pitch any further down, nor left and right. Pitching up a small amount gets my mouse control un-stuck, but then pitching back down the same small amount gets it stuck again. Moving my mouse quickly sometimes causes this to happen."
You can cause this behavior by putting Descent in windowed mode, and positioning it so that the bottom of the window is (barely) off your screen. Then you should have trouble pitching down. The same thing should happen for any other edge of the window that's off your screen.
So Assman, try putting Descent in windowed mode and making sure the whole window is on your screen and in front of all other windows. It might help.
"When I try to continuously pitch my ship down, it pitches for a little while and then gets stuck. I can't pitch any further down, nor left and right. Pitching up a small amount gets my mouse control un-stuck, but then pitching back down the same small amount gets it stuck again. Moving my mouse quickly sometimes causes this to happen."
You can cause this behavior by putting Descent in windowed mode, and positioning it so that the bottom of the window is (barely) off your screen. Then you should have trouble pitching down. The same thing should happen for any other edge of the window that's off your screen.
So Assman, try putting Descent in windowed mode and making sure the whole window is on your screen and in front of all other windows. It might help.
-
negatratoron
- Posts: 3
- Joined: Tue Apr 21, 2015 8:28 pm
There is also a setting somewhere that says something about maintaining cursor focus, which you might check.
-
deimos
- Posts: 71
- Joined: Wed Feb 11, 2015 7:20 pm
In the settings where you go to choose how you're going to change your sensitivity settings you need to have a red x in the box next to "Keep Keyboard and Mouse Focus" =)
-
Mark392
- Posts: 728
- Joined: Mon Sep 09, 2013 2:41 pm
Sounds interesting roncli. If you're on linux (or have a linux VM that could run Descent), retro is pretty easy to compile and test. Think you could stripe some printf statements through the code to see if the mouse input is 0 on some of the frames?
-
negatratoron
- Posts: 3
- Joined: Tue Apr 21, 2015 8:28 pm
I've not compiled Descent anywhere yet. This was an idea I got last night after reading the code on Drak's github.
I'd like to compile on Windows, and that will be my first goal. I read the steps and it doesn't seem too hard, but certain things are missing, like what version of the libraries is needed. I found a tool zif made that appears to have all those tools at the right versions, so that should help me figure things out some.
I'd like to compile on Windows, and that will be my first goal. I read the steps and it doesn't seem too hard, but certain things are missing, like what version of the libraries is needed. I found a tool zif made that appears to have all those tools at the right versions, so that should help me figure things out some.
-
roncli
- Posts: 1106
- Joined: Sun Mar 22, 2015 5:05 pm
- Location: Belmont, CA
A+ on the research Roncli -- that is how it works to the best of my knowledge as well -- but I don't think either of those explanations matches the reported problem behavior. If all that was happening was the game simply capping the turn speed, that would be ok. More than ok, that's what it's designed to do. If you got startled and moved your mouse too fast, you might run out of pad, but at least your ship would move at full speed until you did. What actually happens is that if you move the mouse too fast, you turn much slower than you should. I have no idea why, and didn't believe it was happening until I tested carefully. I thought it was just the delay in the ship coming up to full turn speed, that you'd run out of pad before you got up to speed, but I got out my Colorado-sized giant mouse pad and did some testing and . . . nope. I think moving the mouse fast really does slow you down. I don't think it's just the cap . . . though I'll confess I haven't actually measured.
And if it were a polling issue, your ship would be slow all the time, not merely when you tried to turn too fast. That's equivalent to "having a crappy mouse", I think.
I have a couple theories. Maybe for some reason if the mouse moves too fast, SDL is getting many small events instead of one large one, and they overwrite instead of adding? Or maybe if you move too far, something is overflowing somewhere? Or some other cause? I don't really know. I have not made the time to analyze it. If you figure it out before I get around to it, I'd be grateful to learn what you find.
Compiling on linux is pretty painless, just a case of installing whatever development libraries it asks for with your local package manager; there are three or four of them (a couple flavors of SDL and physfs), and they're pretty easy to search for. Then just type 'scons' and away it goes. Super easy. On Windows, I would have no idea how to set it up from scratch, but I can give you a copy of my set up (which is a Verran-modified-Jinx-modified-Zifomatic, which I am afraid to look at too hard lest it break.) And only Arch knows how to build on Mac.
And if it were a polling issue, your ship would be slow all the time, not merely when you tried to turn too fast. That's equivalent to "having a crappy mouse", I think.
I have a couple theories. Maybe for some reason if the mouse moves too fast, SDL is getting many small events instead of one large one, and they overwrite instead of adding? Or maybe if you move too far, something is overflowing somewhere? Or some other cause? I don't really know. I have not made the time to analyze it. If you figure it out before I get around to it, I'd be grateful to learn what you find.
Compiling on linux is pretty painless, just a case of installing whatever development libraries it asks for with your local package manager; there are three or four of them (a couple flavors of SDL and physfs), and they're pretty easy to search for. Then just type 'scons' and away it goes. Super easy. On Windows, I would have no idea how to set it up from scratch, but I can give you a copy of my set up (which is a Verran-modified-Jinx-modified-Zifomatic, which I am afraid to look at too hard lest it break.) And only Arch knows how to build on Mac.
-
Drakona
- Site Admin
- Posts: 1494
- Joined: Fri Aug 30, 2013 5:35 pm
25 posts
• Page 1 of 3 • 1, 2, 3