Skip to content

Commit

Permalink
add makeup speed variable and scale sensitivity down by 100000 in rem…
Browse files Browse the repository at this point in the history
…apper (thanks to @Y-T-G)
  • Loading branch information
komefai committed Mar 4, 2018
1 parent c43dbd4 commit 19df565
Show file tree
Hide file tree
Showing 3 changed files with 33 additions and 37 deletions.
26 changes: 20 additions & 6 deletions PS4Macro/Classes/Remapping/Remapper.cs
Original file line number Diff line number Diff line change
Expand Up @@ -48,6 +48,7 @@ public class Remapper
private const int MOUSE_CENTER_X = 500;
private const int MOUSE_CENTER_Y = 500;
private const int MOUSE_RELEASE_TIME = 50;
private const int MOUSE_SENSITIVITY_DIVISOR = 100000;

// Delegates
public delegate void OnMouseAxisChangedDelegate(byte x, byte y);
Expand All @@ -74,6 +75,7 @@ public class Remapper
public double MouseDecayRate { get; set; }
public double MouseDecayThreshold { get; set; }
public double MouseAnalogDeadzone { get; set; }
public double MouseMakeupSpeed { get; set; }
public AnalogStick MouseMovementAnalog { get; set; }
public int LeftMouseMapping { get; set; }
public int RightMouseMapping { get; set; }
Expand All @@ -93,9 +95,10 @@ public Remapper()

EnableMouseInput = false;
MouseSensitivity = 1;
MouseDecayRate = 10;
MouseDecayRate = 1.01;
MouseDecayThreshold = 0.1;
MouseAnalogDeadzone = 14.25;
MouseMakeupSpeed = 500;
MouseMovementAnalog = AnalogStick.Right;
LeftMouseMapping = 11; // R2
RightMouseMapping = 10; // L2
Expand Down Expand Up @@ -208,8 +211,8 @@ public void OnReceiveData(ref DualShockState state)
// Mouse moved
if (CurrentMouseStroke.DidMoved)
{
MouseSpeedX = (CurrentMouseStroke.VelocityX / 100) * MouseSensitivity;
MouseSpeedY = (CurrentMouseStroke.VelocityY / 100) * MouseSensitivity;
MouseSpeedX = (CurrentMouseStroke.VelocityX * MouseSensitivity) / MOUSE_SENSITIVITY_DIVISOR;
MouseSpeedY = (CurrentMouseStroke.VelocityY * MouseSensitivity) / MOUSE_SENSITIVITY_DIVISOR;
CurrentMouseStroke.DidMoved = false;

// Stop release timer
Expand Down Expand Up @@ -260,11 +263,22 @@ public void OnReceiveData(ref DualShockState state)
const double max = 255;
string analogProperty = MouseMovementAnalog == AnalogStick.Left ? "L" : "R";

// Scale speed to analog values
// Minimum speed
double positiveSpeed = 128 + MouseAnalogDeadzone;
double negativeSpeed = 128 - MouseAnalogDeadzone;
double rx = ((MouseSpeedX > 0) ? positiveSpeed : ((MouseSpeedX < 0) ? negativeSpeed : 128)) + (MouseSpeedX * 127);
double ry = ((MouseSpeedY > 0) ? positiveSpeed : ((MouseSpeedY < 0) ? negativeSpeed : 128)) + (MouseSpeedY * 127);

// Base speed
double baseX = ((MouseSpeedX > 0) ? positiveSpeed : ((MouseSpeedX < 0) ? negativeSpeed : 128));
double baseY = ((MouseSpeedY > 0) ? positiveSpeed : ((MouseSpeedY < 0) ? negativeSpeed : 128));

// Makeup speed
double makeupX = Math.Sign(MouseSpeedX) * MouseMakeupSpeed;
double makeupY = Math.Sign(MouseSpeedY) * MouseMakeupSpeed;

// Scale speed to analog values
double rx = baseX + (makeupX * MouseSpeedX * MouseSpeedX * 127);
double ry = baseY + (makeupY * MouseSpeedY * MouseSpeedY * 127);

byte scaledX = (byte)((rx < min) ? min : (rx > max) ? max : rx);
byte scaledY = (byte)((ry < min) ? min : (ry > max) ? max : ry);

Expand Down
26 changes: 13 additions & 13 deletions PS4Macro/Forms/RemapperForm.Designer.cs

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

18 changes: 0 additions & 18 deletions PS4Macro/Forms/RemapperForm.resx
Original file line number Diff line number Diff line change
Expand Up @@ -129,24 +129,6 @@
<metadata name="Path.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Browse.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="_Name.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="dataGridViewTextBoxColumn1.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Path.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Button.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Key.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="Button.UserAddedColumn" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
Expand Down

0 comments on commit 19df565

Please sign in to comment.