summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authora1xd <[email protected]>2021-09-18 05:34:59 -0400
committera1xd <[email protected]>2021-09-23 22:36:18 -0400
commit94ce1542b03090b81a4250f7f799895c58ab286c (patch)
tree84d80e63e929177ee2bf8cb1e081ed0f48a0edbb
parentrefactor SetActiveHandles method (diff)
downloadrawaccel-94ce1542b03090b81a4250f7f799895c58ab286c.tar.xz
rawaccel-94ce1542b03090b81a4250f7f799895c58ab286c.zip
rename directional multipliers
changes profile layout
-rw-r--r--common/rawaccel-base.hpp14
-rw-r--r--common/rawaccel-validate.hpp4
-rw-r--r--common/rawaccel.hpp8
-rw-r--r--grapher/Models/Mouse/MouseWatcher.cs6
-rw-r--r--grapher/Models/Serialized/SettingsManager.cs3
-rw-r--r--wrapper/wrapper.cpp26
6 files changed, 33 insertions, 28 deletions
diff --git a/common/rawaccel-base.hpp b/common/rawaccel-base.hpp
index cee1a3e..aefee6d 100644
--- a/common/rawaccel-base.hpp
+++ b/common/rawaccel-base.hpp
@@ -71,20 +71,20 @@ namespace rawaccel {
vec2d domain_weights = { 1, 1 };
vec2d range_weights = { 1, 1 };
- double sensitivity = 1;
- double yx_sens_ratio = 1;
-
accel_args accel_x;
accel_args accel_y;
- double speed_min = 0;
- double speed_max = 0;
-
- vec2d dir_multipliers = { 1, 1 };
+ double sensitivity = 1;
+ double yx_sens_ratio = 1;
+ double lr_sens_ratio = 1;
+ double ud_sens_ratio = 1;
double degrees_rotation = 0;
double degrees_snap = 0;
+
+ double speed_min = 0;
+ double speed_max = 0;
};
diff --git a/common/rawaccel-validate.hpp b/common/rawaccel-validate.hpp
index 23deb5f..f1c2980 100644
--- a/common/rawaccel-validate.hpp
+++ b/common/rawaccel-validate.hpp
@@ -157,8 +157,8 @@ namespace rawaccel {
error("domain weights"" must be positive");
}
- if (args.dir_multipliers.x <= 0 || args.dir_multipliers.y <= 0) {
- error("negative directional multipliers must be positive");
+ if (args.lr_sens_ratio <= 0 || args.ud_sens_ratio <= 0) {
+ error("sens ratio must be positive");
}
if (args.lp_norm <= 0) {
diff --git a/common/rawaccel.hpp b/common/rawaccel.hpp
index be4e1a5..e2f31b1 100644
--- a/common/rawaccel.hpp
+++ b/common/rawaccel.hpp
@@ -139,11 +139,11 @@ namespace rawaccel {
in.y *= dpi_adjusted_sens * args.yx_sens_ratio;
if (apply_dir_mul_x && in.x < 0) {
- in.x *= args.dir_multipliers.x;
+ in.x *= args.lr_sens_ratio;
}
if (apply_dir_mul_y && in.y < 0) {
- in.y *= args.dir_multipliers.y;
+ in.y *= args.ud_sens_ratio;
}
}
@@ -156,8 +156,8 @@ namespace rawaccel {
apply_snap = args.degrees_snap != 0;
apply_directional_weight = args.range_weights.x != args.range_weights.y;
compute_ref_angle = apply_snap || apply_directional_weight;
- apply_dir_mul_x = args.dir_multipliers.x != 1;
- apply_dir_mul_y = args.dir_multipliers.y != 1;
+ apply_dir_mul_x = args.lr_sens_ratio != 1;
+ apply_dir_mul_y = args.ud_sens_ratio != 1;
if (!args.whole) {
distance_mode = distance_mode::separate;
diff --git a/grapher/Models/Mouse/MouseWatcher.cs b/grapher/Models/Mouse/MouseWatcher.cs
index c36ceb4..91eebb8 100644
--- a/grapher/Models/Mouse/MouseWatcher.cs
+++ b/grapher/Models/Mouse/MouseWatcher.cs
@@ -757,7 +757,11 @@ namespace grapher.Models.Mouse
// strip negative directional multipliers, charts calculated from positive input
- Vec2<double> dirMults = SettingsManager.ActiveProfile.directionalMultipliers;
+ Vec2<double> dirMults = new Vec2<double>
+ {
+ x = SettingsManager.ActiveProfile.lrSensRatio,
+ y = SettingsManager.ActiveProfile.udSensRatio
+ };
if (dirMults.x > 0 && x < 0)
{
diff --git a/grapher/Models/Serialized/SettingsManager.cs b/grapher/Models/Serialized/SettingsManager.cs
index cb42c4e..aac0f3e 100644
--- a/grapher/Models/Serialized/SettingsManager.cs
+++ b/grapher/Models/Serialized/SettingsManager.cs
@@ -179,7 +179,8 @@ namespace grapher.Models.Serialized
settings.snap = UserProfile.snap;
settings.maximumSpeed = UserProfile.maximumSpeed;
settings.minimumSpeed = UserProfile.minimumSpeed;
- settings.directionalMultipliers = UserProfile.directionalMultipliers;
+ settings.lrSensRatio = UserProfile.lrSensRatio;
+ settings.udSensRatio = UserProfile.udSensRatio;
}
public GUISettings MakeGUISettingsFromFields()
diff --git a/wrapper/wrapper.cpp b/wrapper/wrapper.cpp
index ce4d298..b81e2aa 100644
--- a/wrapper/wrapper.cpp
+++ b/wrapper/wrapper.cpp
@@ -116,24 +116,19 @@ public ref struct Profile
[JsonProperty("Stretches accel range for horizontal vs vertical inputs")]
Vec2<double> rangeXY;
- [JsonProperty("Sensitivity multiplier")]
- double sensitivity;
-
- [JsonProperty("Y/X sensitivity ratio (vertical sens multiplier)")]
- double yxSensRatio;
-
[JsonProperty("Whole or horizontal accel parameters")]
AccelArgs argsX;
[JsonProperty("Vertical accel parameters")]
AccelArgs argsY;
- [JsonIgnore]
- double minimumSpeed;
- [JsonProperty("Input Speed Cap")]
- double maximumSpeed;
-
- [JsonProperty("Negative directional multipliers")]
- Vec2<double> directionalMultipliers;
+ [JsonProperty("Sensitivity multiplier")]
+ double sensitivity;
+ [JsonProperty("Y/X sensitivity ratio (vertical sens multiplier)")]
+ double yxSensRatio;
+ [JsonProperty("L/R sensitivity ratio (left sens multiplier)")]
+ double lrSensRatio;
+ [JsonProperty("U/D sensitivity ratio (up sens multiplier)")]
+ double udSensRatio;
[JsonProperty("Degrees of rotation")]
double rotation;
@@ -141,6 +136,11 @@ public ref struct Profile
[JsonProperty("Degrees of angle snapping")]
double snap;
+ [JsonIgnore]
+ double minimumSpeed;
+ [JsonProperty("Input Speed Cap")]
+ double maximumSpeed;
+
Profile(ra::profile& args)
{
Marshal::PtrToStructure(IntPtr(&args), this);