EPPCustomCurvePoints: Difference between revisions

From Unreal Tournament 2004 MiA Wiki
mNo edit summary
mNo edit summary
 
Line 1: Line 1:
==EPPCustomCurvePoints==
==EPPCustomCurvePoints==


The content of this field in '''[WinDrv.WindowsClient]''' defines mouse acceleration to use, when either <code>UseDirectInput & DirectEnhancedPointerPrecision</code> or <code>UseRawHIDInput & RawEnhancedPointerPrecision</code> are turned on. Note: For Preview 15+ this is likely to change to a single setting: <code>MouseAcceleration</code>
The content of this field in '''[WinDrv.WindowsClient]''' defines mouse acceleration to use, when either <code>UseDirectInput & DirectEnhancedPointerPrecision</code> or <code>UseRawHIDInput & RawEnhancedPointerPrecision</code> are turned on. Note: For Preview 15+ this is likely to change to a single setting which is used by both <code>UseDirectInput</code> and <code>UseRawHIDInput</code> : <code>MouseAcceleration</code>


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

Latest revision as of 16:17, 18 March 2026

EPPCustomCurvePoints

The content of this field in [WinDrv.WindowsClient] defines mouse acceleration to use, when either UseDirectInput & DirectEnhancedPointerPrecision or UseRawHIDInput & RawEnhancedPointerPrecision are turned on. Note: For Preview 15+ this is likely to change to a single setting which is used by both UseDirectInput and UseRawHIDInput : MouseAcceleration

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

Output
^
|                                  *
|                            *
|                      *
|               *
|        *
|*
+---------------------------------------> Input Speed

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

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