EPPCustomCurvePoints: Difference between revisions

From Unreal Tournament 2004 MiA Wiki
No edit summary
mNo edit summary
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
==EPPCustomCurvePoints==
==EPPCustomCurvePoints==


The content of this field in '''[WinDrv.WindowsClient]''' defines mouse acceleration to use, when either DirectEnhancedPointerPrecision or RawEnhancedPointerPrecision are turned on.
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.
Line 101: Line 101:
== Behavior of the Curve ==
== Behavior of the Curve ==


The example curve increases steeply as speed increases. This means:
<pre>
Output
^
|                                  *
|                            *
|                      *
|              *
|        *
|*
+---------------------------------------> Input Speed
</pre>The example curve increases steeply as speed increases. This means:


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

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.