SDL2 joystick input can't SR45, and other things
Created attachment 569 [details]
scale joystick values to allow full range of movement
I've got a PS4 joypad here, and decided to mess around with it in Odamex. It's kinda hard to play well with it; I know I shouldn't expect it to be on part with M+K but it feels pretty bad even compared to console shooters.
There's about a 3× ratio between the smallest and largest possible input that'll register on the freelook/turn axis. It's both hard to aim precisely at something and to turn/pitch quickly at default sensitivity, and setting it to either extreme only makes one of the two far worse.
More importantly, having run+strafe on one joystick makes straferunning at normal speeds impossible. Both axes max out at their respective speed caps (50/40), leading to oval movement and a diagonal speed cap a lot lower than normal (try the BFG jump on brit11 map01 - it's nearly impossible).
I'm not sure whether this is the right fix, but changing the strafe axis to scale by forwardmove instead of sidemove makes things much more consistent and playable. Both axes probably should be scaled a bit extra to account for most joysticks being confined to a circle - I used 1/cos(pi/4). Strafing is a bit twitchy with this but it doesn't seem like a big loss. Thoughts?