mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-02-13 15:59:23 +01:00
Moved the gcpad calibration from construction to runtime
This commit is contained in:
parent
e96569ff0c
commit
dee6a04980
@ -24,35 +24,8 @@ CSIDevice_GCController::CSIDevice_GCController(SIDevices device, int _iDeviceNum
|
||||
, m_TButtonCombo(0)
|
||||
, m_LastButtonCombo(COMBO_NONE)
|
||||
{
|
||||
GCPadStatus pad_origin;
|
||||
memset(&m_Origin, 0, sizeof(SOrigin));
|
||||
memset(&pad_origin, 0, sizeof(GCPadStatus));
|
||||
|
||||
pad_origin.button = 0x00;
|
||||
pad_origin.stickX = 0x80; // center
|
||||
pad_origin.stickY = 0x80;
|
||||
pad_origin.substickX = 0x80;
|
||||
pad_origin.substickY = 0x80;
|
||||
pad_origin.triggerLeft = 0x1F; // 0-30 is the lower deadzone
|
||||
pad_origin.triggerRight = 0x1F;
|
||||
|
||||
// Dunno if we need to do this, game/lib should set it?
|
||||
m_Mode = 0x03;
|
||||
|
||||
#if defined(__LIBUSB__) || defined (_WIN32)
|
||||
if (SI_GCAdapter::IsDetected())
|
||||
{
|
||||
SI_GCAdapter::Input(ISIDevice::m_iDeviceNumber, &pad_origin);
|
||||
}
|
||||
#endif
|
||||
|
||||
m_Origin.uButton = pad_origin.button;
|
||||
m_Origin.uOriginStickX = pad_origin.stickX;
|
||||
m_Origin.uOriginStickY = pad_origin.stickY;
|
||||
m_Origin.uSubStickStickX = pad_origin.substickX;
|
||||
m_Origin.uSubStickStickY = pad_origin.substickY;
|
||||
m_Origin.uTrigger_L = pad_origin.triggerLeft;
|
||||
m_Origin.uTrigger_R = pad_origin.triggerRight;
|
||||
}
|
||||
|
||||
int CSIDevice_GCController::RunBuffer(u8* _pBuffer, int _iLength)
|
||||
@ -87,6 +60,21 @@ int CSIDevice_GCController::RunBuffer(u8* _pBuffer, int _iLength)
|
||||
case CMD_ORIGIN:
|
||||
{
|
||||
INFO_LOG(SERIALINTERFACE, "PAD - Get Origin");
|
||||
|
||||
GCPadStatus pad_origin;
|
||||
memset(&m_Origin, 0, sizeof(SOrigin));
|
||||
memset(&pad_origin, 0, sizeof(GCPadStatus));
|
||||
|
||||
pad_origin = GetPadStatus();
|
||||
|
||||
m_Origin.uButton = pad_origin.button;
|
||||
m_Origin.uOriginStickX = pad_origin.stickX;
|
||||
m_Origin.uOriginStickY = pad_origin.stickY;
|
||||
m_Origin.uSubStickStickX = pad_origin.substickX;
|
||||
m_Origin.uSubStickStickY = pad_origin.substickY;
|
||||
m_Origin.uTrigger_L = pad_origin.triggerLeft;
|
||||
m_Origin.uTrigger_R = pad_origin.triggerRight;
|
||||
|
||||
u8* pCalibration = reinterpret_cast<u8*>(&m_Origin);
|
||||
for (int i = 0; i < (int)sizeof(SOrigin); i++)
|
||||
{
|
||||
|
Loading…
x
Reference in New Issue
Block a user