Added nunchuck through UDP support in the new plugin.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5836 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
parent
ca827b9930
commit
c8ddcb9df1
|
@ -603,6 +603,14 @@
|
|||
RelativePath=".\Src\WiimoteEmu\Attachment\Nunchuk.h"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Src\WiimoteEmu\Attachment\UDPNunchuk.cpp"
|
||||
>
|
||||
</File>
|
||||
<File
|
||||
RelativePath=".\Src\WiimoteEmu\Attachment\UDPNunchuk.h"
|
||||
>
|
||||
</File>
|
||||
</Filter>
|
||||
</Filter>
|
||||
<Filter
|
||||
|
|
|
@ -11,6 +11,7 @@ files = [
|
|||
'WiimoteEmu/Attachment/Classic.cpp',
|
||||
'WiimoteEmu/Attachment/Attachment.cpp',
|
||||
'WiimoteEmu/Attachment/Nunchuk.cpp',
|
||||
'WiimoteEmu/Attachment/UDPNunchuk.cpp',
|
||||
'WiimoteEmu/Attachment/Drums.cpp',
|
||||
'WiimoteEmu/Attachment/Guitar.cpp',
|
||||
'WiimoteEmu/EmuSubroutines.cpp',
|
||||
|
|
|
@ -15,7 +15,7 @@ public:
|
|||
virtual void GetState( u8* const data, const bool focus = true ) {}
|
||||
std::string GetName() const;
|
||||
|
||||
const char* const name;
|
||||
const char* name;
|
||||
std::vector<u8> reg;
|
||||
};
|
||||
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
#include "Attachment.h"
|
||||
#ifndef NUNCHUCK_H
|
||||
#define NUNCHUCK_H
|
||||
|
||||
#include "Attachment.h"
|
||||
|
||||
namespace WiimoteEmu
|
||||
{
|
||||
|
@ -8,7 +10,7 @@ class Nunchuk : public Attachment
|
|||
{
|
||||
public:
|
||||
Nunchuk();
|
||||
void GetState( u8* const data, const bool focus );
|
||||
virtual void GetState( u8* const data, const bool focus );
|
||||
|
||||
private:
|
||||
Tilt* m_tilt;
|
||||
|
@ -23,3 +25,5 @@ private:
|
|||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
|
@ -0,0 +1,26 @@
|
|||
#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;
|
||||
ncdata->jx=u8(0x80+x*127);
|
||||
ncdata->jy=u8(0x80+y*127);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
#ifndef UDPNUNCHUCK_H
|
||||
#define UDPNUNCHUCK_H
|
||||
|
||||
#include "Nunchuk.h"
|
||||
|
||||
class UDPWrapper;
|
||||
|
||||
namespace WiimoteEmu
|
||||
{
|
||||
|
||||
class UDPNunchuk : public Nunchuk
|
||||
{
|
||||
public:
|
||||
UDPNunchuk(UDPWrapper * _wrp) : wrp(_wrp ) {name="UDP Nunchuk";}; //sorry for this :p I just dont' feel like rewriting the whole class for a name :p
|
||||
virtual void GetState( u8* const data, const bool focus );
|
||||
private:
|
||||
UDPWrapper * wrp;
|
||||
};
|
||||
|
||||
}
|
||||
#endif
|
|
@ -3,6 +3,7 @@
|
|||
#include "Attachment/Nunchuk.h"
|
||||
#include "Attachment/Guitar.h"
|
||||
#include "Attachment/Drums.h"
|
||||
#include "Attachment/UDPNunchuk.h"
|
||||
|
||||
#include "WiimoteEmu.h"
|
||||
#include "WiimoteHid.h"
|
||||
|
@ -292,6 +293,7 @@ Wiimote::Wiimote( const unsigned int index )
|
|||
m_extension->attachments.push_back( new WiimoteEmu::Classic() );
|
||||
m_extension->attachments.push_back( new WiimoteEmu::Guitar() );
|
||||
m_extension->attachments.push_back( new WiimoteEmu::Drums() );
|
||||
m_extension->attachments.push_back( new WiimoteEmu::UDPNunchuk(m_udp) );
|
||||
|
||||
// rumble
|
||||
groups.push_back( m_rumble = new ControlGroup( "Rumble" ) );
|
||||
|
|
Loading…
Reference in New Issue