summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core')
-rw-r--r--Source/Core/InputCommon/Src/ControllerEmu.cpp2
-rw-r--r--Source/Core/InputCommon/Src/ControllerEmu.h11
-rw-r--r--Source/Core/InputCommon/Src/ControllerInterface/ControllerInterface.cpp25
-rw-r--r--Source/Core/InputCommon/Src/ControllerInterface/DInput/DInputJoystick.cpp12
-rw-r--r--Source/Core/InputCommon/Src/ControllerInterface/DInput/DInputKeyboardMouse.cpp20
-rw-r--r--Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.cpp42
-rw-r--r--Source/Core/InputCommon/Src/ControllerInterface/XInput/XInput.cpp18
-rw-r--r--Source/Core/InputCommon/Src/GCPadStatus.h2
-rw-r--r--Source/Core/InputCommon/Src/InputConfig.cpp3
-rw-r--r--Source/Core/InputCommon/Src/UDPWiimote.cpp82
10 files changed, 148 insertions, 69 deletions
diff --git a/Source/Core/InputCommon/Src/ControllerEmu.cpp b/Source/Core/InputCommon/Src/ControllerEmu.cpp
index 2e6ad10617..964b6de405 100644
--- a/Source/Core/InputCommon/Src/ControllerEmu.cpp
+++ b/Source/Core/InputCommon/Src/ControllerEmu.cpp
@@ -12,7 +12,7 @@
// A copy of the GPL 2.0 should have been included with the program.
// If not, see http://www.gnu.org/licenses/
-// Official SVN repository and contact information can be found at
+// Official Git repository and contact information can be found at
// http://code.google.com/p/dolphin-emu/
#include "ControllerEmu.h"
diff --git a/Source/Core/InputCommon/Src/ControllerEmu.h b/Source/Core/InputCommon/Src/ControllerEmu.h
index 6084a610a1..b05b059d91 100644
--- a/Source/Core/InputCommon/Src/ControllerEmu.h
+++ b/Source/Core/InputCommon/Src/ControllerEmu.h
@@ -12,7 +12,7 @@
// A copy of the GPL 2.0 should have been included with the program.
// If not, see http://www.gnu.org/licenses/
-// Official SVN repository and contact information can be found at
+// Official Git repository and contact information can be found at
// http://code.google.com/p/dolphin-emu/
#ifndef _CONTROLLEREMU_H_
@@ -196,11 +196,15 @@ public:
template <typename C>
void GetState(C* const buttons, const C* bitmasks)
{
- std::vector<Control*>::iterator i = controls.begin(),
+ std::vector<Control*>::iterator
+ i = controls.begin(),
e = controls.end();
+
for (; i!=e; ++i, ++bitmasks)
+ {
if ((*i)->control_ref->State() > settings[0]->value) // threshold
*buttons |= *bitmasks;
+ }
}
};
@@ -221,8 +225,9 @@ public:
*digital |= *bitmasks;
}
else
+ {
*analog = S(controls[i+trig_count]->control_ref->State() * range);
-
+ }
}
}
diff --git a/Source/Core/InputCommon/Src/ControllerInterface/ControllerInterface.cpp b/Source/Core/InputCommon/Src/ControllerInterface/ControllerInterface.cpp
index 8e96231674..6a1427406d 100644
--- a/Source/Core/InputCommon/Src/ControllerInterface/ControllerInterface.cpp
+++ b/Source/Core/InputCommon/Src/ControllerInterface/ControllerInterface.cpp
@@ -157,7 +157,7 @@ bool ControllerInterface::UpdateOutput(const bool force)
if (force)
lk.lock();
else if (!lk.try_lock())
- return false;
+ return false;
size_t ok_count = 0;
@@ -173,7 +173,7 @@ bool ControllerInterface::UpdateOutput(const bool force)
//
// Device :: ~Device
//
-// dtor, delete all inputs/outputs on device destruction
+// Destructor, delete all inputs/outputs on device destruction
//
ControllerInterface::Device::~Device()
{
@@ -209,9 +209,9 @@ void ControllerInterface::Device::AddOutput(Output* const o)
//
// Device :: ClearInputState
//
-// device classes should override this func
-// ControllerInterface will call this when the device returns failure durring UpdateInput
-// used to try to set all buttons and axes to their default state when user unplugs a gamepad durring play
+// Device classes should override this function
+// ControllerInterface will call this when the device returns failure during UpdateInput
+// used to try to set all buttons and axes to their default state when user unplugs a gamepad during play
// buttons/axes that were held down at the time of unplugging should be seen as not pressed after unplugging
//
void ControllerInterface::Device::ClearInputState()
@@ -239,8 +239,10 @@ ControlState ControllerInterface::InputReference::State( const ControlState igno
// bit of hax for "NOT" to work at start of expression
if (ci != ce)
+ {
if (ci->mode == 2)
state = 1;
+ }
for (; ci!=ce; ++ci)
{
@@ -354,7 +356,8 @@ bool ControllerInterface::DeviceQualifier::operator==(const ControllerInterface:
if (name == devq.name)
if (source == devq.source)
return true;
- return false;
+
+ return false;
}
//
@@ -421,7 +424,9 @@ void ControllerInterface::UpdateReference(ControllerInterface::ControlReference*
break; // no terminating '`' character
}
else
+ {
ctrl_str += c;
+ }
}
}
@@ -478,7 +483,9 @@ ControllerInterface::Device::Control* ControllerInterface::InputReference::Detec
return *i;
}
else if ((*i)->GetState() < (1 - INPUT_DETECT_THRESHOLD))
+ {
*state = false;
+ }
}
Common::SleepCurrentThread(10); time += 10;
}
@@ -490,8 +497,8 @@ ControllerInterface::Device::Control* ControllerInterface::InputReference::Detec
//
// OutputReference :: Detect
//
-// totally different from the inputReference detect / i have them combined so it was simplier to make the gui.
-// the gui doesnt know the difference between an input and an output / its odd but i was lazy and it was easy
+// Totally different from the inputReference detect / I have them combined so it was simpler to make the GUI.
+// The GUI doesn't know the difference between an input and an output / it's odd but I was lazy and it was easy
//
// set all binded outputs to <range> power for x milliseconds return false
//
@@ -499,7 +506,7 @@ ControllerInterface::Device::Control* ControllerInterface::OutputReference::Dete
{
// ignore device
- // dont hang if we dont even have any controls mapped
+ // don't hang if we don't even have any controls mapped
if (m_controls.size())
{
State(1);
diff --git a/Source/Core/InputCommon/Src/ControllerInterface/DInput/DInputJoystick.cpp b/Source/Core/InputCommon/Src/ControllerInterface/DInput/DInputJoystick.cpp
index 9bc5364e76..ed5d1383ec 100644
--- a/Source/Core/InputCommon/Src/ControllerInterface/DInput/DInputJoystick.cpp
+++ b/Source/Core/InputCommon/Src/ControllerInterface/DInput/DInputJoystick.cpp
@@ -319,9 +319,13 @@ Joystick::Joystick( /*const LPCDIDEVICEINSTANCE lpddi, */const LPDIRECTINPUTDEVI
eff.lpvTypeSpecificParams = &diCF;
}
else if (1 == f)
+ {
eff.cbTypeSpecificParams = sizeof(DIRAMPFORCE);
+ }
else
+ {
eff.cbTypeSpecificParams = sizeof(DIPERIODIC);
+ }
LPDIRECTINPUTEFFECT pEffect;
if (SUCCEEDED(m_device->CreateEffect(force_type_names[f].guid, &eff, &pEffect, NULL)))
@@ -427,7 +431,9 @@ bool Joystick::UpdateInput()
}
}
else
+ {
hr = m_device->GetDeviceState(sizeof(m_state_in), &m_state_in);
+ }
// try reacquire if input lost
if (DIERR_INPUTLOST == hr || DIERR_NOTACQUIRED == hr)
@@ -460,12 +466,16 @@ bool Joystick::UpdateOutput()
ok_count += SUCCEEDED(i->iface->SetParameters(&eff, DIEP_TYPESPECIFICPARAMS | DIEP_START));
}
else
+ {
ok_count += SUCCEEDED(i->iface->Stop());
+ }
i->params = NULL;
}
else
+ {
++ok_count;
+ }
}
return (m_state_out.size() == ok_count);
@@ -492,7 +502,9 @@ std::string Joystick::Axis::GetName() const
}
// slider
else
+ {
ss << "Slider " << (int)(m_index - 6);
+ }
ss << (m_range < 0 ? '-' : '+');
return ss.str();
diff --git a/Source/Core/InputCommon/Src/ControllerInterface/DInput/DInputKeyboardMouse.cpp b/Source/Core/InputCommon/Src/ControllerInterface/DInput/DInputKeyboardMouse.cpp
index aea12c065c..866bce9671 100644
--- a/Source/Core/InputCommon/Src/ControllerInterface/DInput/DInputKeyboardMouse.cpp
+++ b/Source/Core/InputCommon/Src/ControllerInterface/DInput/DInputKeyboardMouse.cpp
@@ -56,15 +56,19 @@ void InitKeyboardMouse(IDirectInput8* const idi8, std::vector<ControllerInterfac
if (SUCCEEDED(idi8->CreateDevice( GUID_SysKeyboard, &kb_device, NULL)))
{
if (SUCCEEDED(kb_device->SetDataFormat(&c_dfDIKeyboard)))
- if (SUCCEEDED(kb_device->SetCooperativeLevel(NULL, DISCL_BACKGROUND | DISCL_NONEXCLUSIVE)))
{
- if (SUCCEEDED(idi8->CreateDevice( GUID_SysMouse, &mo_device, NULL )))
+ if (SUCCEEDED(kb_device->SetCooperativeLevel(NULL, DISCL_BACKGROUND | DISCL_NONEXCLUSIVE)))
{
- if (SUCCEEDED(mo_device->SetDataFormat(&c_dfDIMouse2)))
- if (SUCCEEDED(mo_device->SetCooperativeLevel(NULL, DISCL_BACKGROUND | DISCL_NONEXCLUSIVE)))
+ if (SUCCEEDED(idi8->CreateDevice( GUID_SysMouse, &mo_device, NULL )))
{
- devices.push_back(new KeyboardMouse(kb_device, mo_device));
- return;
+ if (SUCCEEDED(mo_device->SetDataFormat(&c_dfDIMouse2)))
+ {
+ if (SUCCEEDED(mo_device->SetCooperativeLevel(NULL, DISCL_BACKGROUND | DISCL_NONEXCLUSIVE)))
+ {
+ devices.push_back(new KeyboardMouse(kb_device, mo_device));
+ return;
+ }
+ }
}
}
}
@@ -203,7 +207,9 @@ bool KeyboardMouse::UpdateOutput()
memset( this, 0, sizeof(*this) );
type = INPUT_KEYBOARD;
ki.wVk = key;
- if (up) ki.dwFlags = KEYEVENTF_KEYUP;
+
+ if (up)
+ ki.dwFlags = KEYEVENTF_KEYUP;
}
};
diff --git a/Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.cpp b/Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.cpp
index c5ee3af23f..6c74c55d97 100644
--- a/Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.cpp
+++ b/Source/Core/InputCommon/Src/ControllerInterface/SDL/SDL.cpp
@@ -34,7 +34,7 @@ void Init( std::vector<ControllerInterface::Device*>& devices )
std::map<std::string, int> name_counts;
if (SDL_Init( SDL_INIT_FLAGS ) >= 0)
- {
+ {
// joysticks
for(int i = 0; i < SDL_NumJoysticks(); ++i)
{
@@ -49,7 +49,7 @@ void Init( std::vector<ControllerInterface::Device*>& devices )
delete js;
}
}
- }
+ }
}
Joystick::Joystick(SDL_Joystick* const joystick, const int sdl_index, const unsigned int index)
@@ -63,7 +63,7 @@ Joystick::Joystick(SDL_Joystick* const joystick, const int sdl_index, const unsi
// "why don't my 360 gamepad triggers/rumble work correctly"
#ifdef _WIN32
// checking the name is probably good (and hacky) enough
- // but i'll double check with the num of buttons/axes
+ // but I'll double check with the num of buttons/axes
std::string lcasename = GetName();
std::transform(lcasename.begin(), lcasename.end(), lcasename.begin(), tolower);
@@ -204,7 +204,9 @@ void Joystick::ConstantEffect::SetState(const ControlState state)
m_effect.effect.constant.length = SDL_HAPTIC_INFINITY;
}
else
+ {
m_effect.effect.type = 0;
+ }
const Sint16 old = m_effect.effect.constant.level;
m_effect.effect.constant.level = state * 0x7FFF;
@@ -220,7 +222,9 @@ void Joystick::RampEffect::SetState(const ControlState state)
m_effect.effect.ramp.length = SDL_HAPTIC_INFINITY;
}
else
+ {
m_effect.effect.type = 0;
+ }
const Sint16 old = m_effect.effect.ramp.start;
m_effect.effect.ramp.start = state * 0x7FFF;
@@ -235,15 +239,17 @@ void Joystick::SineEffect::SetState(const ControlState state)
m_effect.effect.type = SDL_HAPTIC_SINE;
m_effect.effect.periodic.length = 250;
}
- else {
+ else
+ {
m_effect.effect.type = 0;
}
const Sint16 old = m_effect.effect.periodic.magnitude;
- m_effect.effect.periodic.period = 5;
+ m_effect.effect.periodic.period = 5;
m_effect.effect.periodic.magnitude = state * 0x5000;
- m_effect.effect.periodic.attack_length = 0;
- m_effect.effect.periodic.fade_length = 500;
+ m_effect.effect.periodic.attack_length = 0;
+ m_effect.effect.periodic.fade_length = 500;
+
if (old != m_effect.effect.periodic.magnitude)
m_effect.changed = true;
}
@@ -255,15 +261,17 @@ void Joystick::SquareEffect::SetState(const ControlState state)
m_effect.effect.type = SDL_HAPTIC_SQUARE;
m_effect.effect.periodic.length = 250;
}
- else {
+ else
+ {
m_effect.effect.type = 0;
}
const Sint16 old = m_effect.effect.periodic.magnitude;
- m_effect.effect.periodic.period = 5;
+ m_effect.effect.periodic.period = 5;
m_effect.effect.periodic.magnitude = state * 0x5000;
- m_effect.effect.periodic.attack_length = 0;
- m_effect.effect.periodic.fade_length = 100;
+ m_effect.effect.periodic.attack_length = 0;
+ m_effect.effect.periodic.fade_length = 100;
+
if (old != m_effect.effect.periodic.magnitude)
m_effect.changed = true;
}
@@ -275,15 +283,17 @@ void Joystick::TriangleEffect::SetState(const ControlState state)
m_effect.effect.type = SDL_HAPTIC_TRIANGLE;
m_effect.effect.periodic.length = 250;
}
- else {
+ else
+ {
m_effect.effect.type = 0;
}
const Sint16 old = m_effect.effect.periodic.magnitude;
- m_effect.effect.periodic.period = 5;
+ m_effect.effect.periodic.period = 5;
m_effect.effect.periodic.magnitude = state * 0x5000;
- m_effect.effect.periodic.attack_length = 0;
- m_effect.effect.periodic.fade_length = 100;
+ m_effect.effect.periodic.attack_length = 0;
+ m_effect.effect.periodic.fade_length = 100;
+
if (old != m_effect.effect.periodic.magnitude)
m_effect.changed = true;
}
@@ -316,7 +326,9 @@ bool Joystick::UpdateOutput()
else // effect is already uploaded
{
if (i->effect.type) // if ouputstate >0
+ {
SDL_HapticUpdateEffect(m_haptic, i->id, &i->effect); // update the effect
+ }
else
{
SDL_HapticStopEffect(m_haptic, i->id); // else, stop and remove the effect
diff --git a/Source/Core/InputCommon/Src/ControllerInterface/XInput/XInput.cpp b/Source/Core/InputCommon/Src/ControllerInterface/XInput/XInput.cpp
index 7fe54d0d09..f9df3891bb 100644
--- a/Source/Core/InputCommon/Src/ControllerInterface/XInput/XInput.cpp
+++ b/Source/Core/InputCommon/Src/ControllerInterface/XInput/XInput.cpp
@@ -31,13 +31,13 @@ static const struct
{ "Thumb R", XINPUT_GAMEPAD_RIGHT_THUMB }
};
-static const char* const named_triggers[] =
+static const char* const named_triggers[] =
{
"Trigger L",
"Trigger R"
};
-static const char* const named_axes[] =
+static const char* const named_axes[] =
{
"Left X",
"Left Y",
@@ -45,7 +45,7 @@ static const char* const named_axes[] =
"Right Y"
};
-static const char* const named_motors[] =
+static const char* const named_motors[] =
{
"Motor L",
"Motor R"
@@ -66,12 +66,14 @@ Device::Device(const XINPUT_CAPABILITIES& caps, u8 index)
ZeroMemory(&m_current_state_out, sizeof(m_current_state_out));
// XInputGetCaps seems to always claim all capabilities are supported
- // but i will leave all this stuff in, incase m$ fixes xinput up a bit
+ // but I will leave all this stuff in, incase m$ fixes xinput up a bit
// get supported buttons
for (int i = 0; i != sizeof(named_buttons)/sizeof(*named_buttons); ++i)
+ {
if (named_buttons[i].bitmask & caps.Gamepad.wButtons)
AddInput(new Button(i, m_state_in.Gamepad.wButtons));
+ }
// get supported triggers
for (int i = 0; i != sizeof(named_triggers)/sizeof(*named_triggers); ++i)
@@ -114,8 +116,8 @@ void Device::ClearInputState()
std::string Device::GetName() const
{
// why aren't these defined
- // subtype doesn't seem to work, i tested with 2 diff arcade sticks, both were shown as gamepad
- // ill leave it in anyway, maybe m$ will fix it
+ // subtype doesn't seem to work, I tested with 2 different arcade sticks, both were shown as gamepad
+ // I'll leave it in anyway, maybe m$ will fix it
switch (m_subtype)
{
@@ -140,7 +142,7 @@ std::string Device::GetSource() const
return "XInput";
}
-// update i/o
+// Update I/O
bool Device::UpdateInput()
{
@@ -157,7 +159,9 @@ bool Device::UpdateOutput()
return (ERROR_SUCCESS == XInputSetState(m_index, &m_state_out));
}
else
+ {
return true;
+ }
}
// GET name/source/id
diff --git a/Source/Core/InputCommon/Src/GCPadStatus.h b/Source/Core/InputCommon/Src/GCPadStatus.h
index 835089a70d..38541570c4 100644
--- a/Source/Core/InputCommon/Src/GCPadStatus.h
+++ b/Source/Core/InputCommon/Src/GCPadStatus.h
@@ -12,7 +12,7 @@
// A copy of the GPL 2.0 should have been included with the program.
// If not, see http://www.gnu.org/licenses/
-// Official SVN repository and contact information can be found at
+// Official Git repository and contact information can be found at
// http://code.google.com/p/dolphin-emu/
#ifndef _GCPAD_H_INCLUDED__
diff --git a/Source/Core/InputCommon/Src/InputConfig.cpp b/Source/Core/InputCommon/Src/InputConfig.cpp
index 1988a9ebb7..12f5476283 100644
--- a/Source/Core/InputCommon/Src/InputConfig.cpp
+++ b/Source/Core/InputCommon/Src/InputConfig.cpp
@@ -78,7 +78,10 @@ bool InputPlugin::LoadConfig(bool isGC)
(*i)->LoadConfig(profile_ini.GetOrCreateSection("Profile"));
}
else
+ {
(*i)->LoadConfig(inifile.GetOrCreateSection((*i)->GetName().c_str()));
+ }
+
// update refs
(*i)->UpdateReferences(g_controller_interface);
}
diff --git a/Source/Core/InputCommon/Src/UDPWiimote.cpp b/Source/Core/InputCommon/Src/UDPWiimote.cpp
index f14f9ed7e2..e0cf787e0f 100644
--- a/Source/Core/InputCommon/Src/UDPWiimote.cpp
+++ b/Source/Core/InputCommon/Src/UDPWiimote.cpp
@@ -96,32 +96,39 @@ UDPWiimote::UDPWiimote(const char *_port, const char * name, int _index) :
hints.ai_socktype = SOCK_DGRAM;
hints.ai_flags = AI_PASSIVE; // use my IP
- if (!int_port){
+ if (!int_port)
+ {
cleanup;
err=-1;
return;
}
- if ((rv = getaddrinfo(NULL, _port, &hints, &servinfo)) != 0) {
+ if ((rv = getaddrinfo(NULL, _port, &hints, &servinfo)) != 0)
+ {
cleanup;
err=-1;
return;
}
// loop through all the results and bind to everything we can
- for(p = servinfo; p != NULL; p = p->ai_next) {
+ for(p = servinfo; p != NULL; p = p->ai_next)
+ {
sock_t sock;
- if ((sock = socket(p->ai_family, p->ai_socktype, p->ai_protocol)) == BAD_SOCK) {
+ if ((sock = socket(p->ai_family, p->ai_socktype, p->ai_protocol)) == BAD_SOCK)
+ {
continue;
}
- if (bind(sock, p->ai_addr, (int)p->ai_addrlen) == -1) {
+
+ if (bind(sock, p->ai_addr, (int)p->ai_addrlen) == -1)
+ {
close(sock);
continue;
}
d->sockfds.push_back(sock);
}
- if (d->sockfds.empty()) {
+ if (d->sockfds.empty())
+ {
cleanup;
err=-2;
return;
@@ -170,7 +177,9 @@ void UDPWiimote::mainThread()
timeout.tv_sec=1;
timeout.tv_usec=500000;
broadcastPresence();
- } else {
+ }
+ else
+ {
tleft-=telapsed;
timeout.tv_sec=(long)(tleft/1000);
timeout.tv_usec=(tleft%1000)*1000;
@@ -186,6 +195,7 @@ void UDPWiimote::mainThread()
if (rt)
{
for (std::list<sock_t>::iterator i=d->sockfds.begin(); i!=d->sockfds.end(); i++)
+ {
if (FD_ISSET(*i,&fds))
{
sock_t fd=*i;
@@ -206,11 +216,14 @@ void UDPWiimote::mainThread()
if (pharsePacket(bf,size)==0)
{
//NOTICE_LOG(WIIMOTE,"UDPWII New pack");
- } else {
+ }
+ else
+ {
//NOTICE_LOG(WIIMOTE,"UDPWII Wrong pack format... ignoring");
}
}
}
+ }
}
} while (!(d->exit));
}
@@ -230,16 +243,18 @@ UDPWiimote::~UDPWiimote()
delete d;
}
-#define ACCEL_FLAG (1<<0)
-#define BUTT_FLAG (1<<1)
-#define IR_FLAG (1<<2)
-#define NUN_FLAG (1<<3)
-#define NUNACCEL_FLAG (1<<4)
+#define ACCEL_FLAG (1 << 0)
+#define BUTT_FLAG (1 << 1)
+#define IR_FLAG (1 << 2)
+#define NUN_FLAG (1 << 3)
+#define NUNACCEL_FLAG (1 << 4)
int UDPWiimote::pharsePacket(u8 * bf, size_t size)
{
- if (size<3) return -1;
- if (bf[0]!=0xde)
+ if (size < 3)
+ return -1;
+
+ if (bf[0] != 0xde)
return -1;
//if (bf[1]==0)
// time=0;
@@ -247,9 +262,11 @@ int UDPWiimote::pharsePacket(u8 * bf, size_t size)
// return -1;
//time=bf[1];
u32 *p=(u32*)(&bf[3]);
- if (bf[2]&ACCEL_FLAG)
+ if (bf[2] & ACCEL_FLAG)
{
- if ((size-(((u8*)p)-bf))<12) return -1;
+ if ((size-(((u8*)p)-bf)) < 12)
+ return -1;
+
double ux,uy,uz;
ux=(double)((s32)ntohl(*p)); p++;
uy=(double)((s32)ntohl(*p)); p++;
@@ -258,27 +275,39 @@ int UDPWiimote::pharsePacket(u8 * bf, size_t size)
y=uy/1048576;
z=uz/1048576;
}
- if (bf[2]&BUTT_FLAG)
+
+ if (bf[2] & BUTT_FLAG)
{
- if ((size-(((u8*)p)-bf))<4) return -1;
+ if ((size-(((u8*)p)-bf)) < 4)
+ return -1;
+
mask=ntohl(*p); p++;
}
- if (bf[2]&IR_FLAG)
+
+ if (bf[2] & IR_FLAG)
{
- if ((size-(((u8*)p)-bf))<8) return -1;
+ if ((size-(((u8*)p)-bf)) < 8)
+ return -1;
+
pointerX=((double)((s32)ntohl(*p)))/1048576; p++;
pointerY=((double)((s32)ntohl(*p)))/1048576; p++;
}
- if (bf[2]&NUN_FLAG)
+
+ if (bf[2] & NUN_FLAG)
{
- if ((size-(((u8*)p)-bf))<9) return -1;
+ if ((size-(((u8*)p)-bf)) < 9)
+ return -1;
+
nunMask=*((u8*)p); p=(u32*)(((u8*)p)+1);
nunX=((double)((s32)ntohl(*p)))/1048576; p++;
nunY=((double)((s32)ntohl(*p)))/1048576; p++;
}
- if (bf[2]&NUNACCEL_FLAG)
+
+ if (bf[2] & NUNACCEL_FLAG)
{
- if ((size-(((u8*)p)-bf))<12) return -1;
+ if ((size-(((u8*)p)-bf)) < 12)
+ return -1;
+
double ux,uy,uz;
ux=(double)((s32)ntohl(*p)); p++;
uy=(double)((s32)ntohl(*p)); p++;
@@ -287,6 +316,7 @@ int UDPWiimote::pharsePacket(u8 * bf, size_t size)
naY=uy/1048576;
naZ=uz/1048576;
}
+
return 0;
}
@@ -314,7 +344,7 @@ void UDPWiimote::broadcastIPv4(const void * data, size_t size)
their_addr.sin_family = AF_INET;
their_addr.sin_port = htons(4431);
their_addr.sin_addr.s_addr = INADDR_BROADCAST;
- memset(their_addr.sin_zero, '\0', sizeof their_addr.sin_zero);
+ memset(their_addr.sin_zero, '\0', sizeof their_addr.sin_zero);
int num;
if ((num=sendto(d->bipv4_fd,(const dataz)data,(int)size,0,(struct sockaddr *) &their_addr, sizeof their_addr)) == -1)