[sith] Fix turn rate affected by frame rate#41
Conversation
|
This doesn't correctly make the turning rate independent of the framerate. The static inline float sithPlayerControls_CalculateAngularVelocity(SithActorInfo* pActor, float axisDirection, float keyDirection, float speedFactor)
{
speedFactor = J3DMIN(speedFactor, 1.0f);
return (axisDirection * sithTime_g_fps) + (pActor->maxRotVelocity * keyDirection * speedFactor);
}So just appyling delta time to the speed factor doesn't remove framerate dependency because And yes I agree it's probably the best to make that rate adjustable. I also prefer the faster turning rate you normally get with 60FPS. Also I guess for speedrun builds, |
|
Ugh, that's what I get for going off the API instead of checking the implementation. I wish we could ask the devs what they intended by adding the frame rate to the velocity because it gives "quick hacky fix". Declaratively, the formula really should be probably just I'd say the default speed should be |
|
Yeah, I also would love to know the intention of that framerate multiplication. They must knew that this makes turning rate heavily framerate dependant. I also can't find any occurance where |
Fixes #10
Quick and dirty implementation plugs delta time into every line of code changing yaw in reaction to left/right arrow key. Up for discussion whether this should be behind a macro and whether the turn rate should be configurable - perhaps modern player sensibilities would prefer a higher than "intended" turn rate to make the game feel snappier.