2009-07-28 21:32:10 +00:00
|
|
|
// Copyright (C) 2003 Dolphin Project.
|
2008-12-08 04:46:09 +00:00
|
|
|
|
|
|
|
// This program is free software: you can redistribute it and/or modify
|
|
|
|
// it under the terms of the GNU General Public License as published by
|
|
|
|
// the Free Software Foundation, version 2.0.
|
|
|
|
|
|
|
|
// This program is distributed in the hope that it will be useful,
|
|
|
|
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
// GNU General Public License 2.0 for more details.
|
|
|
|
|
|
|
|
// 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
|
|
|
|
// http://code.google.com/p/dolphin-emu/
|
|
|
|
|
|
|
|
|
|
|
|
#ifndef WIIMOTE_REAL_H
|
|
|
|
#define WIIMOTE_REAL_H
|
|
|
|
|
2009-01-25 23:07:15 +00:00
|
|
|
|
|
|
|
#include "wiiuse.h"
|
2009-07-03 12:22:32 +00:00
|
|
|
#include "ChunkFile.h"
|
2009-01-25 23:07:15 +00:00
|
|
|
|
2010-01-09 19:06:23 +00:00
|
|
|
#ifndef EXCLUDE_H
|
|
|
|
//this one is required for Common::Event
|
|
|
|
#include "Thread.h"
|
|
|
|
#endif
|
2010-01-05 17:38:37 +00:00
|
|
|
|
2008-12-08 04:46:09 +00:00
|
|
|
namespace WiiMoteReal
|
|
|
|
{
|
|
|
|
|
|
|
|
int Initialize();
|
2010-04-26 17:51:32 +00:00
|
|
|
#ifdef _WIN32
|
2010-04-15 16:47:55 +00:00
|
|
|
int WiimotePairUp(bool unpair);
|
2010-04-26 17:51:32 +00:00
|
|
|
#endif
|
2010-01-05 17:38:37 +00:00
|
|
|
|
2010-01-01 16:50:11 +00:00
|
|
|
void Allocate();
|
2009-07-03 12:22:32 +00:00
|
|
|
void DoState(PointerWrap &p);
|
2008-12-08 04:46:09 +00:00
|
|
|
void Shutdown(void);
|
2010-01-01 00:38:24 +00:00
|
|
|
void InterruptChannel(int _WiimoteNumber, u16 _channelID, const void* _pData, u32 _Size);
|
|
|
|
void ControlChannel(int _WiimoteNumber, u16 _channelID, const void* _pData, u32 _Size);
|
|
|
|
void Update(int _WiimoteNumber);
|
2009-02-01 13:01:50 +00:00
|
|
|
|
|
|
|
void SendAcc(u8 _ReportID);
|
|
|
|
void ClearEvents();
|
2009-02-07 03:16:41 +00:00
|
|
|
|
2009-01-25 23:07:15 +00:00
|
|
|
|
|
|
|
#ifndef EXCLUDE_H
|
2009-01-26 07:01:43 +00:00
|
|
|
extern wiimote_t** g_WiiMotesFromWiiUse;
|
2009-02-03 07:43:52 +00:00
|
|
|
extern bool g_Shutdown;
|
2009-01-26 07:01:43 +00:00
|
|
|
extern int g_NumberOfWiiMotes;
|
External/wiiuse clean up, part 2.
- More removal of unnecessary code
- Windows: Modification of Wiiuse_Find under windows,
instead of always deleting and recreating the whole wiimote_t struct, we do maintain the old one,
adding/removing new wiimotes to/from it
- some wiimote bugfixes, see below for details
Windows related stuff:
Fixed most of the disconnection issues (single and mulitple real wiimotes, both wiimote plugins) (I haven't had a disconnect msg in hours anymore(ms stack)).
Rumble bug should be fixed now(both plugins,pls verify).
Fixed some pair up issues( sometimes you had to press the pair up button up to 3 times, till it paired up your wiimote).
More dongles might be now supported via ms stack, pls try and report back!
Fixed a problem where multiple wiimotes would swap slots on pair-up/addition of a real wiimote (2-4 real wiimotes) (both plugins, but not integrated into new plugin).
Improved ingame auto-pairup for real wiimotes(thx to the new wiiuse_find routine).
Fixed a bug on setting wiimote timeouts, which means changing the timeout was just a dummy earlier.
Most of the stuff concerns stuff in the old wiimote plugin, dont worry, in the end it's important for both plugins. It will get ported to the new plugin sooner or later.:')
Some minor stuff.
This might break osx/linux build and maybe the new plugin realwiimote-wise only. Thx to glennrics to pointing me to some breakings on linux, I didn't fix them all.
PS I hope i haven't forgotten anything, enjoy.
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@5940 8ced0084-cf51-0410-be5f-012b33b47a6e
2010-07-22 04:31:36 +00:00
|
|
|
extern int LastNumberOfWiimotes;
|
2010-04-26 17:51:32 +00:00
|
|
|
#ifdef _WIN32
|
|
|
|
extern Common::Thread* g_AutoPairUpInvisibleWindow;
|
|
|
|
extern Common::Thread* g_AutoPairUpMonitoring;
|
|
|
|
extern Common::Event g_StartAutopairThread;
|
|
|
|
THREAD_RETURN PairUp_ThreadFunc(void* arg);
|
|
|
|
THREAD_RETURN RunInvisibleMessageWindow_ThreadFunc(void* arg);
|
|
|
|
#endif
|
2009-01-25 23:07:15 +00:00
|
|
|
#endif
|
2008-12-08 04:46:09 +00:00
|
|
|
|
2009-01-25 23:07:15 +00:00
|
|
|
}; // WiiMoteReal
|
2008-12-08 04:46:09 +00:00
|
|
|
|
2009-03-07 08:07:11 +00:00
|
|
|
#endif
|
|
|
|
|