29 lines
583 B
C++
29 lines
583 B
C++
#include "UDPNunchuk.h"
|
|
#include "UDPWrapper.h"
|
|
#include "UDPWiimote.h"
|
|
|
|
#define NUNCHUK_C 0x02
|
|
#define NUNCHUK_Z 0x01
|
|
|
|
namespace WiimoteEmu
|
|
{
|
|
|
|
void UDPNunchuk::GetState( u8* const data, const bool focus )
|
|
{
|
|
Nunchuk::GetState(data, focus);
|
|
if (!(wrp->inst)) return;
|
|
|
|
wm_extension* const ncdata = (wm_extension*)data;
|
|
u8 mask;
|
|
float x, y;
|
|
wrp->inst->getNunchuck(x, y, mask);
|
|
if (mask&UDPWM_NC) ncdata->bt&=~NUNCHUK_C;
|
|
if (mask&UDPWM_NZ) ncdata->bt&=~NUNCHUK_Z;
|
|
if ((ncdata->jx==0x80)&&(ncdata->jy==0x80))
|
|
{
|
|
ncdata->jx=u8(0x80+x*127);
|
|
ncdata->jy=u8(0x80+y*127);
|
|
}
|
|
}
|
|
|
|
} |