Added max zone settings

This commit is contained in:
Travis Nickles 2017-05-05 09:13:12 -07:00
parent 6b706adb02
commit 5bfd6df2d3
5 changed files with 1180 additions and 2592 deletions

View File

@ -385,6 +385,7 @@ namespace DS4Windows
percent /= 100f;
return value1 * percent + value2 * (1 - percent);
}
static double Clamp(double min, double value, double max)
{
if (value > max)
@ -395,6 +396,11 @@ namespace DS4Windows
return value;
}
private static int ClampInt(int min, int value, int max)
{
return (value < min) ? min : (value > max) ? max : value;
}
public static DS4State SetCurveAndDeadzone(int device, DS4State cState)
{
DS4State dState = new DS4State(cState);
@ -475,7 +481,8 @@ namespace DS4Windows
int lsDeadzone = getLSDeadzone(device);
int lsAntiDead = getLSAntiDeadzone(device);
if (lsDeadzone > 0 || lsAntiDead > 0)
int lsMaxZone = getLSMaxzone(device);
if (lsDeadzone > 0 || lsAntiDead > 0 || lsMaxZone != 100)
{
double lsSquared = Math.Pow(cState.LX - 127.5f, 2) + Math.Pow(cState.LY - 127.5f, 2);
double lsDeadzoneSquared = Math.Pow(lsDeadzone, 2);
@ -484,11 +491,19 @@ namespace DS4Windows
dState.LX = 127;
dState.LY = 127;
}
else if ((lsDeadzone > 0 && lsSquared > lsDeadzoneSquared) || lsAntiDead > 0)
else if ((lsDeadzone > 0 && lsSquared > lsDeadzoneSquared) || lsAntiDead > 0 || lsMaxZone != 100)
{
double r = Math.Atan2(-(dState.LY - 127.5f), (dState.LX - 127.5f));
double maxXValue = dState.LX >= 127.5 ? 127.5 : -127.5;
double maxYValue = dState.LY >= 127.5 ? 127.5 : -127.5;
double ratio = lsMaxZone / 100.0;
double maxZoneXNegValue = (ratio * -127.5f) + 127.5f;
double maxZoneXPosValue = (ratio * 127.5f) + 127.5f;
double maxZoneYNegValue = maxZoneXNegValue;
double maxZoneYPosValue = maxZoneXPosValue;
double maxZoneX = dState.LX >= 127.5 ? (maxZoneXPosValue - 127.5f) : (maxZoneXNegValue - 127.5f);
double maxZoneY = dState.LY >= 127.5 ? (maxZoneYPosValue - 127.5f) : (maxZoneYNegValue - 127.5f);
double tempLsXDead = 0.0, tempLsYDead = 0.0;
double tempOutputX = 0.0, tempOutputY = 0.0;
@ -499,14 +514,20 @@ namespace DS4Windows
if (lsSquared > lsDeadzoneSquared)
{
tempOutputX = ((dState.LX - 127.5f - tempLsXDead) / (double)(maxXValue - tempLsXDead));
tempOutputY = ((dState.LY - 127.5f - tempLsYDead) / (double)(maxYValue - tempLsYDead));
double currentX = Clamp(maxZoneXNegValue, dState.LX, maxZoneXPosValue);
double currentY = Clamp(maxZoneYNegValue, dState.LY, maxZoneYPosValue);
//currentX = (byte)((dState.LX >= 127.5f) ? Math.Min(dState.LX, maxZoneX) : Math.Max(dState.LX, maxZoneX));
//currentY = (byte)((dState.LY >= 127.5f) ? Math.Min(dState.LY, maxZoneY) : Math.Max(dState.LY, maxZoneY));
tempOutputX = ((currentX - 127.5f - tempLsXDead) / (double)(maxZoneX - tempLsXDead));
tempOutputY = ((currentY - 127.5f - tempLsYDead) / (double)(maxZoneY - tempLsYDead));
}
}
else
{
tempOutputX = ((dState.LX - 127.5f) / (double)(maxXValue));
tempOutputY = ((dState.LY - 127.5f) / (double)(maxYValue));
double currentX = Clamp(maxZoneXNegValue, dState.LX, maxZoneXPosValue);
double currentY = Clamp(maxZoneYNegValue, dState.LY, maxZoneYPosValue);
tempOutputX = (currentX - 127.5f) / (double)(maxZoneX);
tempOutputY = (currentY - 127.5f) / (double)(maxZoneY);
}
double tempLsXAntiDeadPercent = 0.0, tempLsYAntiDeadPercent = 0.0;
@ -538,7 +559,8 @@ namespace DS4Windows
int rsDeadzone = getRSDeadzone(device);
int rsAntiDead = getRSAntiDeadzone(device);
if (rsDeadzone > 0 || rsAntiDead > 0)
int rsMaxZone = getRSMaxzone(device);
if (rsDeadzone > 0 || rsAntiDead > 0 || rsMaxZone != 100)
{
double rsSquared = Math.Pow(cState.RX - 127.5f, 2) + Math.Pow(cState.RY - 127.5f, 2);
double rsDeadzoneSquared = Math.Pow(rsDeadzone, 2);
@ -547,11 +569,19 @@ namespace DS4Windows
dState.RX = 127;
dState.RY = 127;
}
else if ((rsDeadzone > 0 && rsSquared > rsDeadzoneSquared) || rsAntiDead > 0)
else if ((rsDeadzone > 0 && rsSquared > rsDeadzoneSquared) || rsAntiDead > 0 || rsMaxZone != 100)
{
double r = Math.Atan2(-(dState.RY - 127.5f), (dState.RX - 127.5f));
double maxXValue = dState.RX >= 127.5 ? 127.5 : -127.5;
double maxYValue = dState.RY >= 127.5 ? 127.5 : -127.5;
double ratio = rsMaxZone / 100.0;
double maxZoneXNegValue = (ratio * -127.5f) + 127.5f;
double maxZoneXPosValue = (ratio * 127.5f) + 127.5f;
double maxZoneYNegValue = maxZoneXNegValue;
double maxZoneYPosValue = maxZoneXPosValue;
double maxZoneX = dState.RX >= 127.5 ? (maxZoneXPosValue - 127.5f) : (maxZoneXNegValue - 127.5f);
double maxZoneY = dState.RY >= 127.5 ? (maxZoneYPosValue - 127.5f) : (maxZoneYNegValue - 127.5f);
double tempRsXDead = 0.0, tempRsYDead = 0.0;
double tempOutputX = 0.0, tempOutputY = 0.0;
@ -562,14 +592,24 @@ namespace DS4Windows
if (rsSquared > rsDeadzoneSquared)
{
tempOutputX = ((dState.RX - 127.5f - tempRsXDead) / (double)(maxXValue - tempRsXDead));
tempOutputY = ((dState.RY - 127.5f - tempRsYDead) / (double)(maxYValue - tempRsYDead));
double currentX = Clamp(maxZoneXNegValue, dState.RX, maxZoneXPosValue);
double currentY = Clamp(maxZoneYNegValue, dState.RY, maxZoneYPosValue);
tempOutputX = ((currentX - 127.5f - tempRsXDead) / (double)(maxZoneX - tempRsXDead));
tempOutputY = ((currentY - 127.5f - tempRsYDead) / (double)(maxZoneY - tempRsYDead));
//tempOutputX = ((dState.RX - 127.5f - tempRsXDead) / (double)(maxXValue - tempRsXDead));
//tempOutputY = ((dState.RY - 127.5f - tempRsYDead) / (double)(maxYValue - tempRsYDead));
}
}
else
{
tempOutputX = ((dState.RX - 127.5f) / (double)(maxXValue));
tempOutputY = ((dState.RY - 127.5f) / (double)(maxYValue));
double currentX = Clamp(maxZoneXNegValue, dState.RX, maxZoneXPosValue);
double currentY = Clamp(maxZoneYNegValue, dState.RY, maxZoneYPosValue);
tempOutputX = (currentX - 127.5f) / (double)(maxZoneX);
tempOutputY = (currentY - 127.5f) / (double)(maxZoneY);
//tempOutputX = ((dState.RX - 127.5f) / (double)(maxXValue));
//tempOutputY = ((dState.RY - 127.5f) / (double)(maxYValue));
}
double tempRsXAntiDeadPercent = 0.0, tempRsYAntiDeadPercent = 0.0;
@ -601,15 +641,20 @@ namespace DS4Windows
byte l2Deadzone = getL2Deadzone(device);
int l2AntiDeadzone = getL2AntiDeadzone(device);
if (l2Deadzone > 0 || l2AntiDeadzone > 0)
int l2Maxzone = getL2Maxzone(device);
if (l2Deadzone > 0 || l2AntiDeadzone > 0 || l2Maxzone != 100)
{
double tempL2Output = (cState.L2 / 255.0);
double tempL2AntiDead = 0.0;
double ratio = (l2Maxzone / 100.0);
double maxValue = 255 * ratio;
if (l2Deadzone > 0)
{
if (cState.L2 > l2Deadzone)
{
tempL2Output = ((dState.L2 - l2Deadzone) / (double)(255 - l2Deadzone));
double current = Clamp(0, dState.L2, maxValue);
tempL2Output = ((current - l2Deadzone) / (double)(maxValue - l2Deadzone));
}
else
{
@ -634,15 +679,20 @@ namespace DS4Windows
byte r2Deadzone = getR2Deadzone(device);
int r2AntiDeadzone = getR2AntiDeadzone(device);
if (r2Deadzone > 0 || r2AntiDeadzone > 0)
int r2Maxzone = getR2Maxzone(device);
if (r2Deadzone > 0 || r2AntiDeadzone > 0 || r2Maxzone != 100)
{
double tempR2Output = (cState.R2 / 255.0);
double tempR2AntiDead = 0.0;
double ratio = (r2Maxzone / 100.0);
double maxValue = 255 * ratio;
if (r2Deadzone > 0)
{
if (cState.R2 > r2Deadzone)
{
tempR2Output = ((dState.R2 - r2Deadzone) / (double)(255 - r2Deadzone));
double current = Clamp(0, dState.R2, maxValue);
tempR2Output = ((current - r2Deadzone) / (double)(maxValue - r2Deadzone));
}
else
{

View File

@ -575,6 +575,16 @@ namespace DS4Windows
{
return m_Config.RSAntiDeadzone[index];
}
public static int[] LSMaxzone => m_Config.LSMaxzone;
public static int getLSMaxzone(int index)
{
return m_Config.LSMaxzone[index];
}
public static int[] RSMaxzone => m_Config.RSMaxzone;
public static int getRSMaxzone(int index)
{
return m_Config.RSMaxzone[index];
}
public static int[] L2AntiDeadzone => m_Config.l2AntiDeadzone;
public static int getL2AntiDeadzone(int index)
{
@ -585,6 +595,16 @@ namespace DS4Windows
{
return m_Config.r2AntiDeadzone[index];
}
public static int[] L2Maxzone => m_Config.l2Maxzone;
public static int getL2Maxzone(int index)
{
return m_Config.l2Maxzone[index];
}
public static int[] R2Maxzone => m_Config.r2Maxzone;
public static int getR2Maxzone(int index)
{
return m_Config.r2Maxzone[index];
}
public static int[] LSCurve => m_Config.lsCurve;
public static int getLSCurve(int index)
{
@ -927,7 +947,9 @@ namespace DS4Windows
public Byte[] l2Deadzone = { 0, 0, 0, 0, 0 }, r2Deadzone = { 0, 0, 0, 0, 0 };
public int[] LSDeadzone = { 0, 0, 0, 0, 0 }, RSDeadzone = { 0, 0, 0, 0, 0 };
public int[] LSAntiDeadzone = { 0, 0, 0, 0, 0 }, RSAntiDeadzone = { 0, 0, 0, 0, 0 };
public int[] LSMaxzone = { 100, 100, 100, 100, 100 }, RSMaxzone = { 100, 100, 100, 100, 100 };
public int[] l2AntiDeadzone = { 0, 0, 0, 0, 0 }, r2AntiDeadzone = { 0, 0, 0, 0, 0 };
public int[] l2Maxzone = { 100, 100, 100, 100, 100 }, r2Maxzone = { 100, 100, 100, 100, 100 };
public double[] SXDeadzone = { 0.25, 0.25, 0.25, 0.25, 0.25 }, SZDeadzone = { 0.25, 0.25, 0.25, 0.25, 0.25 };
public double[] l2Sens = { 1, 1, 1, 1, 1 }, r2Sens = { 1, 1, 1, 1, 1 };
public double[] LSSens = { 1, 1, 1, 1, 1 }, RSSens = { 1, 1, 1, 1, 1 };
@ -1177,12 +1199,16 @@ namespace DS4Windows
XmlNode xmlRightTriggerMiddle = m_Xdoc.CreateNode(XmlNodeType.Element, "RightTriggerMiddle", null); xmlRightTriggerMiddle.InnerText = r2Deadzone[device].ToString(); Node.AppendChild(xmlRightTriggerMiddle);
XmlNode xmlL2AD = m_Xdoc.CreateNode(XmlNodeType.Element, "L2AntiDeadZone", null); xmlL2AD.InnerText = l2AntiDeadzone[device].ToString(); Node.AppendChild(xmlL2AD);
XmlNode xmlR2AD = m_Xdoc.CreateNode(XmlNodeType.Element, "R2AntiDeadZone", null); xmlR2AD.InnerText = r2AntiDeadzone[device].ToString(); Node.AppendChild(xmlR2AD);
XmlNode xmlL2Maxzone = m_Xdoc.CreateNode(XmlNodeType.Element, "L2MaxZone", null); xmlL2Maxzone.InnerText = l2Maxzone[device].ToString(); Node.AppendChild(xmlL2Maxzone);
XmlNode xmlR2Maxzone = m_Xdoc.CreateNode(XmlNodeType.Element, "R2MaxZone", null); xmlR2Maxzone.InnerText = r2Maxzone[device].ToString(); Node.AppendChild(xmlR2Maxzone);
XmlNode xmlButtonMouseSensitivity = m_Xdoc.CreateNode(XmlNodeType.Element, "ButtonMouseSensitivity", null); xmlButtonMouseSensitivity.InnerText = buttonMouseSensitivity[device].ToString(); Node.AppendChild(xmlButtonMouseSensitivity);
XmlNode xmlRainbow = m_Xdoc.CreateNode(XmlNodeType.Element, "Rainbow", null); xmlRainbow.InnerText = rainbow[device].ToString(); Node.AppendChild(xmlRainbow);
XmlNode xmlLSD = m_Xdoc.CreateNode(XmlNodeType.Element, "LSDeadZone", null); xmlLSD.InnerText = LSDeadzone[device].ToString(); Node.AppendChild(xmlLSD);
XmlNode xmlRSD = m_Xdoc.CreateNode(XmlNodeType.Element, "RSDeadZone", null); xmlRSD.InnerText = RSDeadzone[device].ToString(); Node.AppendChild(xmlRSD);
XmlNode xmlLSAD = m_Xdoc.CreateNode(XmlNodeType.Element, "LSAntiDeadZone", null); xmlLSAD.InnerText = LSAntiDeadzone[device].ToString(); Node.AppendChild(xmlLSAD);
XmlNode xmlRSAD = m_Xdoc.CreateNode(XmlNodeType.Element, "RSAntiDeadZone", null); xmlRSAD.InnerText = RSAntiDeadzone[device].ToString(); Node.AppendChild(xmlRSAD);
XmlNode xmlLSMaxZone = m_Xdoc.CreateNode(XmlNodeType.Element, "LSMaxZone", null); xmlLSMaxZone.InnerText = LSMaxzone[device].ToString(); Node.AppendChild(xmlLSMaxZone);
XmlNode xmlRSMaxZone = m_Xdoc.CreateNode(XmlNodeType.Element, "RSMaxZone", null); xmlRSMaxZone.InnerText = RSMaxzone[device].ToString(); Node.AppendChild(xmlRSMaxZone);
XmlNode xmlSXD = m_Xdoc.CreateNode(XmlNodeType.Element, "SXDeadZone", null); xmlSXD.InnerText = SXDeadzone[device].ToString(); Node.AppendChild(xmlSXD);
XmlNode xmlSZD = m_Xdoc.CreateNode(XmlNodeType.Element, "SZDeadZone", null); xmlSZD.InnerText = SZDeadzone[device].ToString(); Node.AppendChild(xmlSZD);
@ -1871,6 +1897,18 @@ namespace DS4Windows
catch { missingSetting = true; }
try { Item = m_Xdoc.SelectSingleNode("/" + rootname + "/R2AntiDeadZone"); int.TryParse(Item.InnerText, out r2AntiDeadzone[device]); }
catch { missingSetting = true; }
try {
Item = m_Xdoc.SelectSingleNode("/" + rootname + "/L2MaxZone"); int temp = 100;
int.TryParse(Item.InnerText, out temp);
l2Maxzone[device] = Math.Min(Math.Max(temp, 0), 100);
}
catch { missingSetting = true; }
try {
Item = m_Xdoc.SelectSingleNode("/" + rootname + "/R2MaxZone"); int temp = 100;
int.TryParse(Item.InnerText, out temp);
r2Maxzone[device] = Math.Min(Math.Max(temp, 0), 100);
}
catch { missingSetting = true; }
try { Item = m_Xdoc.SelectSingleNode("/" + rootname + "/ButtonMouseSensitivity"); int.TryParse(Item.InnerText, out buttonMouseSensitivity[device]); }
catch { missingSetting = true; }
try { Item = m_Xdoc.SelectSingleNode("/" + rootname + "/Rainbow"); double.TryParse(Item.InnerText, out rainbow[device]); }
@ -1883,6 +1921,18 @@ namespace DS4Windows
catch { missingSetting = true; }
try { Item = m_Xdoc.SelectSingleNode("/" + rootname + "/RSAntiDeadZone"); int.TryParse(Item.InnerText, out RSAntiDeadzone[device]); }
catch { missingSetting = true; }
try {
Item = m_Xdoc.SelectSingleNode("/" + rootname + "/LSMaxZone"); int temp = 100;
int.TryParse(Item.InnerText, out temp);
LSMaxzone[device] = Math.Min(Math.Max(temp, 0), 100);
}
catch { missingSetting = true; }
try {
Item = m_Xdoc.SelectSingleNode("/" + rootname + "/RSMaxZone"); int temp = 100;
int.TryParse(Item.InnerText, out temp);
RSMaxzone[device] = Math.Min(Math.Max(temp, 0), 100);
}
catch { missingSetting = true; }
try { Item = m_Xdoc.SelectSingleNode("/" + rootname + "/SXDeadZone"); double.TryParse(Item.InnerText, out SXDeadzone[device]); }
catch { missingSetting = true; }
try { Item = m_Xdoc.SelectSingleNode("/" + rootname + "/SZDeadZone"); double.TryParse(Item.InnerText, out SZDeadzone[device]); }

View File

@ -312,6 +312,15 @@
this.shareToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.pSToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.alwaysOnToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.maxZoneTabPage = new System.Windows.Forms.TabPage();
this.label5 = new System.Windows.Forms.Label();
this.nUDLSMaxZone = new System.Windows.Forms.NumericUpDown();
this.label6 = new System.Windows.Forms.Label();
this.nUDRSMaxZone = new System.Windows.Forms.NumericUpDown();
this.label7 = new System.Windows.Forms.Label();
this.label8 = new System.Windows.Forms.Label();
this.nUDL2Maxzone = new System.Windows.Forms.NumericUpDown();
this.nUDR2Maxzone = new System.Windows.Forms.NumericUpDown();
this.advColorDialog = new DS4Windows.AdvancedColorDialog();
((System.ComponentModel.ISupportInitialize)(this.nUDRainbow)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.tBBlueBar)).BeginInit();
@ -389,6 +398,11 @@
((System.ComponentModel.ISupportInitialize)(this.nUDSXS)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.nUDSZS)).BeginInit();
this.cMGyroTriggers.SuspendLayout();
this.maxZoneTabPage.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.nUDLSMaxZone)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.nUDRSMaxZone)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.nUDL2Maxzone)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.nUDR2Maxzone)).BeginInit();
this.SuspendLayout();
//
// lowColorChooserButton
@ -2566,6 +2580,7 @@
this.tCSens.Controls.Add(this.tPDeadzone);
this.tCSens.Controls.Add(this.tPCurve);
this.tCSens.Controls.Add(this.antiDeadzoneTabPage);
this.tCSens.Controls.Add(this.maxZoneTabPage);
resources.ApplyResources(this.tCSens, "tCSens");
this.tCSens.Name = "tCSens";
this.tCSens.SelectedIndex = 0;
@ -3247,6 +3262,128 @@
resources.ApplyResources(this.alwaysOnToolStripMenuItem, "alwaysOnToolStripMenuItem");
this.alwaysOnToolStripMenuItem.CheckedChanged += new System.EventHandler(this.SATrigger_CheckedChanged);
//
// maxZoneTabPage
//
this.maxZoneTabPage.Controls.Add(this.nUDR2Maxzone);
this.maxZoneTabPage.Controls.Add(this.nUDL2Maxzone);
this.maxZoneTabPage.Controls.Add(this.label8);
this.maxZoneTabPage.Controls.Add(this.label7);
this.maxZoneTabPage.Controls.Add(this.nUDRSMaxZone);
this.maxZoneTabPage.Controls.Add(this.label6);
this.maxZoneTabPage.Controls.Add(this.nUDLSMaxZone);
this.maxZoneTabPage.Controls.Add(this.label5);
resources.ApplyResources(this.maxZoneTabPage, "maxZoneTabPage");
this.maxZoneTabPage.Name = "maxZoneTabPage";
this.maxZoneTabPage.UseVisualStyleBackColor = true;
//
// label5
//
resources.ApplyResources(this.label5, "label5");
this.label5.Name = "label5";
//
// nUDLSMaxZone
//
this.nUDLSMaxZone.DecimalPlaces = 2;
this.nUDLSMaxZone.Increment = new decimal(new int[] {
1,
0,
0,
65536});
resources.ApplyResources(this.nUDLSMaxZone, "nUDLSMaxZone");
this.nUDLSMaxZone.Maximum = new decimal(new int[] {
1,
0,
0,
0});
this.nUDLSMaxZone.Name = "nUDLSMaxZone";
this.nUDLSMaxZone.Value = new decimal(new int[] {
1,
0,
0,
0});
this.nUDLSMaxZone.ValueChanged += new System.EventHandler(this.nUDLSMaxZone_ValueChanged);
//
// label6
//
resources.ApplyResources(this.label6, "label6");
this.label6.Name = "label6";
//
// nUDRSMaxZone
//
this.nUDRSMaxZone.DecimalPlaces = 2;
this.nUDRSMaxZone.Increment = new decimal(new int[] {
1,
0,
0,
65536});
resources.ApplyResources(this.nUDRSMaxZone, "nUDRSMaxZone");
this.nUDRSMaxZone.Maximum = new decimal(new int[] {
1,
0,
0,
0});
this.nUDRSMaxZone.Name = "nUDRSMaxZone";
this.nUDRSMaxZone.Value = new decimal(new int[] {
1,
0,
0,
0});
this.nUDRSMaxZone.ValueChanged += new System.EventHandler(this.nUDRSMaxZone_ValueChanged);
//
// label7
//
resources.ApplyResources(this.label7, "label7");
this.label7.Name = "label7";
//
// label8
//
resources.ApplyResources(this.label8, "label8");
this.label8.Name = "label8";
//
// nUDL2Maxzone
//
this.nUDL2Maxzone.DecimalPlaces = 2;
this.nUDL2Maxzone.Increment = new decimal(new int[] {
1,
0,
0,
65536});
resources.ApplyResources(this.nUDL2Maxzone, "nUDL2Maxzone");
this.nUDL2Maxzone.Maximum = new decimal(new int[] {
1,
0,
0,
0});
this.nUDL2Maxzone.Name = "nUDL2Maxzone";
this.nUDL2Maxzone.Value = new decimal(new int[] {
1,
0,
0,
0});
this.nUDL2Maxzone.ValueChanged += new System.EventHandler(this.nUDL2Maxzone_ValueChanged);
//
// nUDR2Maxzone
//
this.nUDR2Maxzone.DecimalPlaces = 2;
this.nUDR2Maxzone.Increment = new decimal(new int[] {
1,
0,
0,
65536});
resources.ApplyResources(this.nUDR2Maxzone, "nUDR2Maxzone");
this.nUDR2Maxzone.Maximum = new decimal(new int[] {
1,
0,
0,
0});
this.nUDR2Maxzone.Name = "nUDR2Maxzone";
this.nUDR2Maxzone.Value = new decimal(new int[] {
1,
0,
0,
0});
this.nUDR2Maxzone.ValueChanged += new System.EventHandler(this.nUDR2Maxzone_ValueChanged);
//
// Options
//
resources.ApplyResources(this, "$this");
@ -3351,6 +3488,12 @@
((System.ComponentModel.ISupportInitialize)(this.nUDSXS)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.nUDSZS)).EndInit();
this.cMGyroTriggers.ResumeLayout(false);
this.maxZoneTabPage.ResumeLayout(false);
this.maxZoneTabPage.PerformLayout();
((System.ComponentModel.ISupportInitialize)(this.nUDLSMaxZone)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.nUDRSMaxZone)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.nUDL2Maxzone)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.nUDR2Maxzone)).EndInit();
this.ResumeLayout(false);
}
@ -3642,5 +3785,14 @@
private System.Windows.Forms.NumericUpDown nUDL2AntiDead;
private System.Windows.Forms.Label label4;
private System.Windows.Forms.CheckBox enableTouchToggleCheckbox;
private System.Windows.Forms.TabPage maxZoneTabPage;
private System.Windows.Forms.NumericUpDown nUDRSMaxZone;
private System.Windows.Forms.Label label6;
private System.Windows.Forms.NumericUpDown nUDLSMaxZone;
private System.Windows.Forms.Label label5;
private System.Windows.Forms.NumericUpDown nUDR2Maxzone;
private System.Windows.Forms.NumericUpDown nUDL2Maxzone;
private System.Windows.Forms.Label label8;
private System.Windows.Forms.Label label7;
}
}

View File

@ -391,6 +391,23 @@ namespace DS4Windows
nUDR2AntiDead.Value = 0;
}
try
{
nUDL2Maxzone.Value = (decimal)(L2Maxzone[device] / 100d);
}
catch
{
nUDL2Maxzone.Value = 1;
}
try
{
nUDR2Maxzone.Value = (decimal)(R2Maxzone[device] / 100d);
}
catch
{
nUDR2Maxzone.Value = 1;
}
try
{
nUDLS.Value = Math.Round((decimal)(LSDeadzone[device] / 127d), 3);
@ -425,6 +442,23 @@ namespace DS4Windows
nUDRSAntiDead.Value = 0;
}
try
{
nUDLSMaxZone.Value = (decimal)(LSMaxzone[device] / 100d);
}
catch
{
nUDLSMaxZone.Value = 1;
}
try
{
nUDRSMaxZone.Value = (decimal)(RSMaxzone[device] / 100d);
}
catch
{
nUDRSMaxZone.Value = 1;
}
try
{
nUDSX.Value = (decimal)SXDeadzone[device];
@ -589,10 +623,14 @@ namespace DS4Windows
nUDRainbow.Value = 0;
nUDL2.Value = 0;
nUDR2.Value = 0;
nUDL2Maxzone.Value = 1;
nUDR2Maxzone.Value = 1;
nUDLS.Value = 0;
nUDRS.Value = 0;
nUDLSAntiDead.Value = 0;
nUDRSAntiDead.Value = 0;
nUDLSMaxZone.Value = 1;
nUDRSMaxZone.Value = 1;
nUDSX.Value = .25m;
nUDSZ.Value = .25m;
@ -2700,6 +2738,26 @@ namespace DS4Windows
EnableTouchToggle[device] = enableTouchToggleCheckbox.Checked;
}
private void nUDRSMaxZone_ValueChanged(object sender, EventArgs e)
{
RSMaxzone[device] = (int)(nUDRSMaxZone.Value * 100);
}
private void nUDLSMaxZone_ValueChanged(object sender, EventArgs e)
{
LSMaxzone[device] = (int)(nUDLSMaxZone.Value * 100);
}
private void nUDL2Maxzone_ValueChanged(object sender, EventArgs e)
{
L2Maxzone[device] = (int)(nUDL2Maxzone.Value * 100);
}
private void nUDR2Maxzone_ValueChanged(object sender, EventArgs e)
{
R2Maxzone[device] = (int)(nUDR2Maxzone.Value * 100);
}
private void Options_Resize(object sender, EventArgs e)
{
fLPSettings.AutoScroll = false;

File diff suppressed because it is too large Load Diff