EPPCustomCurvePoints

From Unreal Tournament 2004 MiA Wiki
Revision as of 21:55, 15 March 2026 by Piglet (talk | contribs)

EPPCustomCurvePoints

The content of this field in [WinDrv.WindowsClient] defines mouse acceleration to use, when either DirectEnhancedPointerPrecision or RawEnhancedPointerPrecision are turned on.

The custom curve points define a response curve that maps mouse movement speed → sensitivity multiplier.

EPPCustomCurvePoints are specified as 5 float pairs separated by '|' and a single space, e.g. '0 0|0.43 1.070267|1.25 4.140625|3.86 18.984375|40.0 443.75'

Custom Curve Points (Mouse Acceleration)

These custom curve points define a response curve that maps mouse movement speed to an output sensitivity multiplier. The curve determines how much the mouse input is scaled depending on how fast the mouse is moved.

Each pair of floats represents a point on the curve in the form:

X Y

Where:

  • X – input mouse velocity (for example counts per millisecond or a normalized movement speed)
  • Y – output scaling value applied to the mouse movement

Points are separated by the character |. The system interpolates between these points to produce a smooth acceleration curve.

Explanation of the example Curve Points

Point Input Speed (X) Output Value (Y)
1 0 0
2 0.43 1.070267
3 1.25 4.140625
4 3.86 18.984375
5 40.0 443.75
  • When the mouse speed is 0, the output is 0.
  • At speed 0.43, the output multiplier is approximately 1.07.
  • At speed 1.25, the multiplier increases to approximately 4.14.
  • At higher speeds the multiplier grows rapidly, allowing fast turning when the mouse is moved quickly.

Interpolation Between Points

When the current mouse speed falls between two defined points, the output value is calculated using linear interpolation.

For example, if the mouse velocity is:

v = 1.0

This lies between the points:

0.43 1.070267
1.25 4.140625

First compute the interpolation factor:

t = (1.0 - 0.43) / (1.25 - 0.43)
t ≈ 0.695

Then compute the output value:

y = 1.070267 + t * (4.140625 - 1.070267)
y ≈ 3.21

The resulting multiplier applied to the mouse movement would therefore be approximately 3.21.

This allows a smooth and flexible curve while keeping configuration simple. The points represent:

Point Purpose
1 Origin (no movement)
2 Slow micro-adjustments
3 Medium aiming movement
4 Fast turning
5 Maximum flick speed

This allows precise aiming during slow mouse movements while still enabling large rotations during rapid flicks.

Behavior of the Curve

The example curve increases steeply as speed increases. This means:

  • Slow movements provide high precision for aiming.
  • Fast movements produce large rotations quickly.