Lookaround Input Scales Mouse Sensitivity Differently

Raven shared this bug 10 hours ago
Submitted

My usual habits for any game where the player controls a character's view with the mouse are to have my mouse hardware dpi as high as possible, and my in-game sensitivity quite low. In space engineers, this works perfectly fine - high-resolution input but relatively normal speed mouse movements. There is one exception to this for some reason, 'lookaround' as the game calls it, specifically while in a grid seat. Moving the camera view without sending input to gyro control.

In this specific instance, mouse sensitivity seems to be scaled strangely differently. Mouse input maps to view-movement vastly differently when in a cockpit or any other seat, moving a lot slower. I suspect that this is related to some sort of exponential variable within the game's code, where the difference is less noticeable at higher sensitivity values.

My mouse sensitivity is at 0.1 according to SpaceEngineers.cfg, though in-game there is no numeric value shown, just a slider. The issue should be reproducible quite easily by setting mouse sensitivity to something around that low, then going into any game world and comparing the first person mouse aim sensitivity to the lookaround sensitivity when sat in any seat and holding Alt.

In working on a mod to tweak this, I have learned some small details, shown in code below.

//the following results in normal, useful sensitivity
MyCockpit.Rotate(new Vector2(MyAPIGateway.Input.GetMouseY(), MyAPIGateway.Input.GetMouseX()), 0);

//the following results in weirdly slow unhelpful sensitivity, equivalent to unmodified game behaviour
MyCockpit.Rotate(MyAPIGateway.Input.GetRotation(), 0);

I thought maybe the issue might be related to the multiplier of 0.13 in the 'num' variable in MyCockpit.Rotate(), but that's just guesswork.

public void Rotate(Vector2 rotationIndicator, float roll)
{
    float num = MyInput.Static.GetMouseSensitivity() * 0.13f;

    . . .
}

Leave a Comment
 
Attach a file
Access denied