Fixed really stupid POV hat bug
This commit is contained in:
@@ -2336,8 +2336,8 @@ void WinUpdateDevices()
|
|||||||
unsigned char keys2[256];
|
unsigned char keys2[256];
|
||||||
HRESULT hRes;
|
HRESULT hRes;
|
||||||
|
|
||||||
for (i=0;i<256;i++)
|
for (i = 0; i<256; i++)
|
||||||
keys2[i]=0;
|
keys2[i]=0;
|
||||||
keys=(unsigned char *)&pressed;
|
keys=(unsigned char *)&pressed;
|
||||||
|
|
||||||
if (KeyboardInput&&InputEn==1)
|
if (KeyboardInput&&InputEn==1)
|
||||||
@@ -2359,7 +2359,7 @@ void WinUpdateDevices()
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
for(i=0;i<256;i++)
|
for(i=0; i<256; i++)
|
||||||
{
|
{
|
||||||
if (keys2[i]==0) keys[i]=0;
|
if (keys2[i]==0) keys[i]=0;
|
||||||
if (keys2[i]!=0&&keys[i]==0) keys[i]=1;
|
if (keys2[i]!=0&&keys[i]==0) keys[i]=1;
|
||||||
@@ -2367,13 +2367,13 @@ void WinUpdateDevices()
|
|||||||
|
|
||||||
keys[0]=0;
|
keys[0]=0;
|
||||||
|
|
||||||
for(i=0;i<5;i++)
|
for(i=0; i<5; i++)
|
||||||
{
|
{
|
||||||
if (JoystickInput[i])
|
if (JoystickInput[i])
|
||||||
{
|
{
|
||||||
for(j=0;j<32;j++)
|
for(j=0; j<32; j++)
|
||||||
{
|
{
|
||||||
keys[0x100+i*32+j]=0;
|
keys[0x100 + i * 32 + j] = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
JoystickInput[i]->Poll();
|
JoystickInput[i]->Poll();
|
||||||
@@ -2386,107 +2386,107 @@ void WinUpdateDevices()
|
|||||||
|
|
||||||
if (!X1Disable[i])
|
if (!X1Disable[i])
|
||||||
{
|
{
|
||||||
if (js[i].lX>0) keys[0x100+i*32+0]=1;
|
if (js[i].lX>0) keys[0x100 + i * 32 + 0] = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!X2Disable[i])
|
if (!X2Disable[i])
|
||||||
{
|
{
|
||||||
if (js[i].lX<0) keys[0x100+i*32+1]=1;
|
if (js[i].lX<0) keys[0x100 + i * 32 + 1] = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!Y1Disable[i])
|
if (!Y1Disable[i])
|
||||||
{
|
{
|
||||||
if (js[i].lY>0) keys[0x100+i*32+2]=1;
|
if (js[i].lY>0) keys[0x100 + i * 32 + 2] = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!Y2Disable[i])
|
if (!Y2Disable[i])
|
||||||
{
|
{
|
||||||
if (js[i].lY<0) keys[0x100+i*32+3]=1;
|
if (js[i].lY<0) keys[0x100 + i * 32 + 3] = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!Z1Disable[i])
|
if (!Z1Disable[i])
|
||||||
{
|
{
|
||||||
if (js[i].lZ>0) keys[0x100+i*32+4]=1;
|
if (js[i].lZ>0) keys[0x100 + i * 32 + 4] = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!Z2Disable[i])
|
if (!Z2Disable[i])
|
||||||
{
|
{
|
||||||
if (js[i].lZ<0) keys[0x100+i*32+5]=1;
|
if (js[i].lZ<0) keys[0x100 + i * 32 + 5] = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!RY1Disable[i])
|
if (!RY1Disable[i])
|
||||||
{
|
{
|
||||||
if (js[i].lRy>0) keys[0x100+i*32+6]=1;
|
if (js[i].lRy>0) keys[0x100 + i * 32 + 6] = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!RY2Disable[i])
|
if (!RY2Disable[i])
|
||||||
{
|
{
|
||||||
if (js[i].lRy<0) keys[0x100+i*32+7]=1;
|
if (js[i].lRy<0) keys[0x100 + i * 32 + 7] = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!RZ1Disable[i])
|
if (!RZ1Disable[i])
|
||||||
{
|
{
|
||||||
if (js[i].lRz>0) keys[0x100+i*32+8]=1;
|
if (js[i].lRz>0) keys[0x100 + i * 32 + 8] = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!RZ2Disable[i])
|
if (!RZ2Disable[i])
|
||||||
{
|
{
|
||||||
if (js[i].lRz<0) keys[0x100+i*32+9]=1;
|
if (js[i].lRz<0) keys[0x100 + i * 32 + 9] = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!S01Disable[i])
|
if (!S01Disable[i])
|
||||||
{
|
{
|
||||||
if (js[i].rglSlider[0]>0) keys[0x100+i*32+10]=1;
|
if (js[i].rglSlider[0]>0) keys[0x100 + i * 32 + 10] = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!S02Disable[i])
|
if (!S02Disable[i])
|
||||||
{
|
{
|
||||||
if (js[i].rglSlider[0]<0) keys[0x100+i*32+11]=1;
|
if (js[i].rglSlider[0]<0) keys[0x100 + i * 32 + 11] = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!S11Disable[i])
|
if (!S11Disable[i])
|
||||||
{
|
{
|
||||||
if (js[i].rglSlider[1]>0) keys[0x100+i*32+12]=1;
|
if (js[i].rglSlider[1]>0) keys[0x100 + i * 32 + 12] = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!S12Disable[i])
|
if (!S12Disable[i])
|
||||||
{
|
{
|
||||||
if (js[i].rglSlider[1]<0) keys[0x100+i*32+13]=1;
|
if (js[i].rglSlider[1]<0) keys[0x100 + i * 32 + 13] = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!POVDisable[i])
|
if (!POVDisable[i])
|
||||||
{
|
{
|
||||||
for (int i2=0; i2<NumPOV[i]; i++)
|
for (int p=0; p<NumPOV[i]; p++)
|
||||||
{
|
{
|
||||||
switch (js[i].rgdwPOV[i2])
|
switch (js[i].rgdwPOV[p])
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
keys[0x100+i*32+3]=1;
|
keys[0x100 + i * 32 + 3] = 1;
|
||||||
break;
|
break;
|
||||||
case 4500:
|
case 4500:
|
||||||
keys[0x100+i*32+0]=1;
|
keys[0x100 + i * 32 + 0] = 1;
|
||||||
keys[0x100+i*32+3]=1;
|
keys[0x100 + i * 32 + 3] = 1;
|
||||||
break;
|
break;
|
||||||
case 9000:
|
case 9000:
|
||||||
keys[0x100+i*32+0]=1;
|
keys[0x100 + i * 32 + 0] = 1;
|
||||||
break;
|
break;
|
||||||
case 13500:
|
case 13500:
|
||||||
keys[0x100+i*32+0]=1;
|
keys[0x100 + i * 32 + 0] = 1;
|
||||||
keys[0x100+i*32+2]=1;
|
keys[0x100 + i * 32 + 2] = 1;
|
||||||
break;
|
break;
|
||||||
case 18000:
|
case 18000:
|
||||||
keys[0x100+i*32+2]=1;
|
keys[0x100 + i * 32 + 2] = 1;
|
||||||
break;
|
break;
|
||||||
case 22500:
|
case 22500:
|
||||||
keys[0x100+i*32+1]=1;
|
keys[0x100 + i * 32 + 1] = 1;
|
||||||
keys[0x100+i*32+2]=1;
|
keys[0x100 + i * 32 + 2] = 1;
|
||||||
break;
|
break;
|
||||||
case 27000:
|
case 27000:
|
||||||
keys[0x100+i*32+1]=1;
|
keys[0x100 + i * 32 + 1] = 1;
|
||||||
break;
|
break;
|
||||||
case 31500:
|
case 31500:
|
||||||
keys[0x100+i*32+1]=1;
|
keys[0x100 + i * 32 + 1] = 1;
|
||||||
keys[0x100+i*32+3]=1;
|
keys[0x100 + i * 32 + 3] = 1;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2494,13 +2494,13 @@ void WinUpdateDevices()
|
|||||||
|
|
||||||
if (NumBTN[i])
|
if (NumBTN[i])
|
||||||
for (j=0; j<NumBTN[i]; j++)
|
for (j=0; j<NumBTN[i]; j++)
|
||||||
if (js[i].rgbButtons[j]) keys[0x100+i*32+16+j]=1;
|
if (js[i].rgbButtons[j]) keys[0x100 + i * 32 + 16 + j] = 1;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
for(j=0;j<32;j++)
|
for(j=0; j<32; j++)
|
||||||
{
|
{
|
||||||
keys[0x100+i*32+j]=0;
|
keys[0x100 + i * 32 + j] = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user