+ accelsens = m_accelerate_power_senscap.value * inv_sensitivity;
+ }
+
+ in_mouse_x *= accelsens;
+ in_mouse_y *= accelsens;
+ }
+
+ if (m_accelerate_natural_strength.value > 0.0f && m_accelerate_natural_accelsenscap.value >= 0.0f)
+ {
+ float accelsens = 1.0f;
+ float adjusted_speed_pxms = (averagespeed * 0.001f - m_accelerate_natural_offset.value);
+
+ if (adjusted_speed_pxms > 0 && m_accelerate_natural_accelsenscap.value != 1.0f)
+ {
+ float adjusted_accelsenscap = m_accelerate_natural_accelsenscap.value - 1.0f;
+ // This equation is made to multiply the sensitivity for a factor between 1 and m_accelerate_natural_accelsenscap
+ // this means there is no need to divide it for the sensitivity.value as the whole
+ // expression needs to be multiplied by the sensitivity at the end instead of only having the sens multiplied
+ accelsens += (adjusted_accelsenscap - adjusted_accelsenscap * exp( - ((adjusted_speed_pxms * m_accelerate_natural_strength.value) / fabs(adjusted_accelsenscap) )));