mirror of
https://github.com/cemu-project/DS4Windows.git
synced 2024-11-23 09:49:16 +01:00
Merge branch 'jay' into udpserver
This commit is contained in:
commit
28f3414a05
@ -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)
|
||||||
|
@ -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;
|
||||||
|
@ -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")]
|
||||||
|
|
||||||
|
@ -8,12 +8,12 @@ You can find the latest and older versions [here](https://github.com/Ryochan7/DS
|
|||||||
|
|
||||||
UdpServer builds for using Gyro motion controls in Cemu.
|
UdpServer builds for using Gyro motion controls in Cemu.
|
||||||
|
|
||||||
http://ryochan7.xyz/ds4windows/test/DS4Windows_1.5.0_UdpServer_x64.zip
|
http://ryochan7.xyz/ds4windows/test/DS4Windows_1.5.1_UdpServer_x64.zip
|
||||||
http://ryochan7.xyz/ds4windows/test/DS4Windows_1.5.0_ViGEm_UdpServer_x64.zip
|
http://ryochan7.xyz/ds4windows/test/DS4Windows_1.5.1_ViGEm_UdpServer_x64.zip
|
||||||
|
|
||||||
ViGEm build.
|
ViGEm build.
|
||||||
|
|
||||||
http://ryochan7.xyz/ds4windows/test/DS4Windows_1.5.0_ViGEm_x64.zip
|
http://ryochan7.xyz/ds4windows/test/DS4Windows_1.5.1_ViGEm_x64.zip
|
||||||
|
|
||||||
This project is a fork of the work of Jays2Kings. You can find the old project
|
This project is a fork of the work of Jays2Kings. You can find the old project
|
||||||
website at [ds4windows.com](http://ds4windows.com).
|
website at [ds4windows.com](http://ds4windows.com).
|
||||||
|
Loading…
Reference in New Issue
Block a user