Merge branch 'jay' into vigem-udpserver

This commit is contained in:
Travis Nickles 2018-08-03 01:48:27 -05:00
commit 24403394ad
3 changed files with 66 additions and 39 deletions

View File

@ -25,13 +25,16 @@ namespace DS4Windows
protected Int32 Scale(Int32 Value, Boolean Flip) protected Int32 Scale(Int32 Value, Boolean Flip)
{ {
Value -= 0x80; unchecked
{
Value -= 0x80;
//float temp = (Value - (-128)) / (float)inputResolution; //float temp = (Value - (-128)) / (float)inputResolution;
float temp = (Value - (-128)) * reciprocalInputResolution; float temp = (Value - (-128)) * reciprocalInputResolution;
if (Flip) temp = (temp - 0.5f) * -1.0f + 0.5f; if (Flip) temp = (temp - 0.5f) * -1.0f + 0.5f;
return (Int32)(temp * outputResolution + (-32768)); return (Int32)(temp * outputResolution + (-32768));
}
} }
@ -113,41 +116,44 @@ namespace DS4Windows
Output[i] = 0; Output[i] = 0;
} }
if (state.Share) Output[10] |= (Byte)(1 << 5); // Back unchecked
if (state.L3) Output[10] |= (Byte)(1 << 6); // Left Thumb {
if (state.R3) Output[10] |= (Byte)(1 << 7); // Right Thumb if (state.Share) Output[10] |= (Byte)(1 << 5); // Back
if (state.Options) Output[10] |= (Byte)(1 << 4); // Start if (state.L3) Output[10] |= (Byte)(1 << 6); // Left Thumb
if (state.R3) Output[10] |= (Byte)(1 << 7); // Right Thumb
if (state.Options) Output[10] |= (Byte)(1 << 4); // Start
if (state.DpadUp) Output[10] |= (Byte)(1 << 0); // Up if (state.DpadUp) Output[10] |= (Byte)(1 << 0); // Up
if (state.DpadRight) Output[10] |= (Byte)(1 << 3); // Down if (state.DpadRight) Output[10] |= (Byte)(1 << 3); // Down
if (state.DpadDown) Output[10] |= (Byte)(1 << 1); // Right if (state.DpadDown) Output[10] |= (Byte)(1 << 1); // Right
if (state.DpadLeft) Output[10] |= (Byte)(1 << 2); // Left if (state.DpadLeft) Output[10] |= (Byte)(1 << 2); // Left
if (state.L1) Output[11] |= (Byte)(1 << 0); // Left Shoulder if (state.L1) Output[11] |= (Byte)(1 << 0); // Left Shoulder
if (state.R1) Output[11] |= (Byte)(1 << 1); // Right Shoulder if (state.R1) Output[11] |= (Byte)(1 << 1); // Right Shoulder
if (state.Triangle) Output[11] |= (Byte)(1 << 7); // Y if (state.Triangle) Output[11] |= (Byte)(1 << 7); // Y
if (state.Circle) Output[11] |= (Byte)(1 << 5); // B if (state.Circle) Output[11] |= (Byte)(1 << 5); // B
if (state.Cross) Output[11] |= (Byte)(1 << 4); // A if (state.Cross) Output[11] |= (Byte)(1 << 4); // A
if (state.Square) Output[11] |= (Byte)(1 << 6); // X if (state.Square) Output[11] |= (Byte)(1 << 6); // X
if (state.PS) Output[11] |= (Byte)(1 << 2); // Guide if (state.PS) Output[11] |= (Byte)(1 << 2); // Guide
Output[12] = state.L2; // Left Trigger Output[12] = state.L2; // Left Trigger
Output[13] = state.R2; // Right Trigger Output[13] = state.R2; // Right Trigger
Int32 ThumbLX = Scale(state.LX, false); Int32 ThumbLX = Scale(state.LX, false);
Int32 ThumbLY = Scale(state.LY, true); Int32 ThumbLY = Scale(state.LY, true);
Int32 ThumbRX = Scale(state.RX, false); Int32 ThumbRX = Scale(state.RX, false);
Int32 ThumbRY = Scale(state.RY, true); Int32 ThumbRY = Scale(state.RY, true);
Output[14] = (Byte)((ThumbLX >> 0) & 0xFF); // LX Output[14] = (Byte)((ThumbLX >> 0) & 0xFF); // LX
Output[15] = (Byte)((ThumbLX >> 8) & 0xFF); Output[15] = (Byte)((ThumbLX >> 8) & 0xFF);
Output[16] = (Byte)((ThumbLY >> 0) & 0xFF); // LY Output[16] = (Byte)((ThumbLY >> 0) & 0xFF); // LY
Output[17] = (Byte)((ThumbLY >> 8) & 0xFF); Output[17] = (Byte)((ThumbLY >> 8) & 0xFF);
Output[18] = (Byte)((ThumbRX >> 0) & 0xFF); // RX Output[18] = (Byte)((ThumbRX >> 0) & 0xFF); // RX
Output[19] = (Byte)((ThumbRX >> 8) & 0xFF); Output[19] = (Byte)((ThumbRX >> 8) & 0xFF);
Output[20] = (Byte)((ThumbRY >> 0) & 0xFF); // RY Output[20] = (Byte)((ThumbRY >> 0) & 0xFF); // RY
Output[21] = (Byte)((ThumbRY >> 8) & 0xFF); Output[21] = (Byte)((ThumbRY >> 8) & 0xFF);
}
} }
public Boolean Plugin(Int32 Serial) public Boolean Plugin(Int32 Serial)

View File

@ -409,13 +409,28 @@ namespace DS4Windows
foreach (Control control in fLPSettings.Controls) foreach (Control control in fLPSettings.Controls)
{ {
string tempst;
if (control.HasChildren) if (control.HasChildren)
{ {
foreach (Control ctrl in control.Controls) foreach (Control ctrl in control.Controls)
ctrl.MouseHover += Items_MouseHover; {
if (hoverTextDict.TryGetValue(ctrl, out tempst))
{
ctrl.MouseHover += Items_MouseHover;
}
else
{
ctrl.MouseHover += ClearLastMessage;
}
}
}
else
{
if (hoverTextDict.TryGetValue(control, out tempst))
control.MouseEnter += Items_MouseHover;
else
control.MouseHover += ClearLastMessage;
} }
control.MouseHover += Items_MouseHover;
} }
} }
@ -447,6 +462,12 @@ namespace DS4Windows
g.DrawImage(shield, new Rectangle(0, 0, finalWidth, finalHeight)); g.DrawImage(shield, new Rectangle(0, 0, finalWidth, finalHeight));
} }
private void ClearLastMessage(object sender, EventArgs e)
{
lbLastMessage.Text = "";
lbLastMessage.ForeColor = SystemColors.GrayText;
}
private void blankControllerTab() private void blankControllerTab()
{ {
for (int Index = 0, PadsLen = Pads.Length; for (int Index = 0, PadsLen = Pads.Length;

View File

@ -33,7 +33,7 @@ using System.Runtime.InteropServices;
// You can specify all the values or you can default the Build and Revision Numbers // You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below: // by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")] // [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.5.1")] [assembly: AssemblyVersion("1.5.2")]
[assembly: AssemblyFileVersion("1.5.1")] [assembly: AssemblyFileVersion("1.5.2")]
[assembly: NeutralResourcesLanguage("en")] [assembly: NeutralResourcesLanguage("en")]