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"
|
RelativePath=".\Src\WiimoteEmu\Attachment\Nunchuk.h"
|
||||||
>
|
>
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\Src\WiimoteEmu\Attachment\UDPNunchuk.cpp"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\Src\WiimoteEmu\Attachment\UDPNunchuk.h"
|
||||||
|
>
|
||||||
|
</File>
|
||||||
</Filter>
|
</Filter>
|
||||||
</Filter>
|
</Filter>
|
||||||
<Filter
|
<Filter
|
||||||
|
|
|
@ -11,6 +11,7 @@ files = [
|
||||||
'WiimoteEmu/Attachment/Classic.cpp',
|
'WiimoteEmu/Attachment/Classic.cpp',
|
||||||
'WiimoteEmu/Attachment/Attachment.cpp',
|
'WiimoteEmu/Attachment/Attachment.cpp',
|
||||||
'WiimoteEmu/Attachment/Nunchuk.cpp',
|
'WiimoteEmu/Attachment/Nunchuk.cpp',
|
||||||
|
'WiimoteEmu/Attachment/UDPNunchuk.cpp',
|
||||||
'WiimoteEmu/Attachment/Drums.cpp',
|
'WiimoteEmu/Attachment/Drums.cpp',
|
||||||
'WiimoteEmu/Attachment/Guitar.cpp',
|
'WiimoteEmu/Attachment/Guitar.cpp',
|
||||||
'WiimoteEmu/EmuSubroutines.cpp',
|
'WiimoteEmu/EmuSubroutines.cpp',
|
||||||
|
|
|
@ -15,7 +15,7 @@ public:
|
||||||
virtual void GetState( u8* const data, const bool focus = true ) {}
|
virtual void GetState( u8* const data, const bool focus = true ) {}
|
||||||
std::string GetName() const;
|
std::string GetName() const;
|
||||||
|
|
||||||
const char* const name;
|
const char* name;
|
||||||
std::vector<u8> reg;
|
std::vector<u8> reg;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
#include "Attachment.h"
|
#ifndef NUNCHUCK_H
|
||||||
|
#define NUNCHUCK_H
|
||||||
|
|
||||||
|
#include "Attachment.h"
|
||||||
|
|
||||||
namespace WiimoteEmu
|
namespace WiimoteEmu
|
||||||
{
|
{
|
||||||
|
@ -8,7 +10,7 @@ class Nunchuk : public Attachment
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
Nunchuk();
|
Nunchuk();
|
||||||
void GetState( u8* const data, const bool focus );
|
virtual void GetState( u8* const data, const bool focus );
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Tilt* m_tilt;
|
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/Nunchuk.h"
|
||||||
#include "Attachment/Guitar.h"
|
#include "Attachment/Guitar.h"
|
||||||
#include "Attachment/Drums.h"
|
#include "Attachment/Drums.h"
|
||||||
|
#include "Attachment/UDPNunchuk.h"
|
||||||
|
|
||||||
#include "WiimoteEmu.h"
|
#include "WiimoteEmu.h"
|
||||||
#include "WiimoteHid.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::Classic() );
|
||||||
m_extension->attachments.push_back( new WiimoteEmu::Guitar() );
|
m_extension->attachments.push_back( new WiimoteEmu::Guitar() );
|
||||||
m_extension->attachments.push_back( new WiimoteEmu::Drums() );
|
m_extension->attachments.push_back( new WiimoteEmu::Drums() );
|
||||||
|
m_extension->attachments.push_back( new WiimoteEmu::UDPNunchuk(m_udp) );
|
||||||
|
|
||||||
// rumble
|
// rumble
|
||||||
groups.push_back( m_rumble = new ControlGroup( "Rumble" ) );
|
groups.push_back( m_rumble = new ControlGroup( "Rumble" ) );
|
||||||
|
|
Loading…
Reference in New Issue