Gamepad (minor) > Disabled LiveUpdates, it's not stable in the current form
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4552 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
parent
00f2a30b71
commit
ee88afce58
|
@ -114,13 +114,6 @@ WiimotePadConfigDialog::WiimotePadConfigDialog(wxWindow *parent, wxWindowID id,
|
||||||
// Reset values
|
// Reset values
|
||||||
GetButtonWaitingID = 0;
|
GetButtonWaitingID = 0;
|
||||||
GetButtonWaitingTimer = 0;
|
GetButtonWaitingTimer = 0;
|
||||||
// Settings
|
|
||||||
// Only tested in Windows
|
|
||||||
#ifdef _WIN32
|
|
||||||
LiveUpdates = true;
|
|
||||||
#else
|
|
||||||
LiveUpdates = false;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// Start the slow timer
|
// Start the slow timer
|
||||||
int TimesPerSecond = 2;
|
int TimesPerSecond = 2;
|
||||||
|
|
|
@ -61,6 +61,7 @@ class WiimotePadConfigDialog : public wxDialog
|
||||||
void OnButtonTimer(wxTimerEvent& WXUNUSED(event)) { DoGetButtons(GetButtonWaitingID); }
|
void OnButtonTimer(wxTimerEvent& WXUNUSED(event)) { DoGetButtons(GetButtonWaitingID); }
|
||||||
void Update(wxTimerEvent& WXUNUSED(event));
|
void Update(wxTimerEvent& WXUNUSED(event));
|
||||||
void UpdatePad(wxTimerEvent& WXUNUSED(event));
|
void UpdatePad(wxTimerEvent& WXUNUSED(event));
|
||||||
|
void UpdateDeviceList();
|
||||||
|
|
||||||
wxTimer *m_Update,
|
wxTimer *m_Update,
|
||||||
*m_UpdatePad,
|
*m_UpdatePad,
|
||||||
|
@ -253,7 +254,6 @@ class WiimotePadConfigDialog : public wxDialog
|
||||||
};
|
};
|
||||||
|
|
||||||
void OnClose(wxCloseEvent& event);
|
void OnClose(wxCloseEvent& event);
|
||||||
void UpdateDeviceList();
|
|
||||||
void CreatePadGUIControls();
|
void CreatePadGUIControls();
|
||||||
void GeneralSettingsChanged(wxCommandEvent& event);
|
void GeneralSettingsChanged(wxCommandEvent& event);
|
||||||
|
|
||||||
|
|
|
@ -59,6 +59,12 @@ bool g_Encryption; // Encryption on or off
|
||||||
// Gamepad input
|
// Gamepad input
|
||||||
int NumPads = 0, NumDIDevices = -1; // Number of pads
|
int NumPads = 0, NumDIDevices = -1; // Number of pads
|
||||||
bool SDLPolling = true;
|
bool SDLPolling = true;
|
||||||
|
#ifdef _WIN32
|
||||||
|
bool LiveUpdates = false;
|
||||||
|
#else
|
||||||
|
bool LiveUpdates = false;
|
||||||
|
#endif
|
||||||
|
|
||||||
std::vector<InputCommon::CONTROLLER_INFO> joyinfo;
|
std::vector<InputCommon::CONTROLLER_INFO> joyinfo;
|
||||||
InputCommon::CONTROLLER_STATE_NEW PadState[4];
|
InputCommon::CONTROLLER_STATE_NEW PadState[4];
|
||||||
InputCommon::CONTROLLER_MAPPING_NEW PadMapping[4];
|
InputCommon::CONTROLLER_MAPPING_NEW PadMapping[4];
|
||||||
|
|
|
@ -184,6 +184,7 @@ static const u8 partially_id[] =
|
||||||
// Gamepad input
|
// Gamepad input
|
||||||
extern int NumPads, NumDIDevices; // Number of pads
|
extern int NumPads, NumDIDevices; // Number of pads
|
||||||
extern bool SDLPolling; // Turn off polling
|
extern bool SDLPolling; // Turn off polling
|
||||||
|
extern bool LiveUpdates;
|
||||||
extern std::vector<InputCommon::CONTROLLER_INFO> joyinfo;
|
extern std::vector<InputCommon::CONTROLLER_INFO> joyinfo;
|
||||||
extern InputCommon::CONTROLLER_STATE_NEW PadState[4];
|
extern InputCommon::CONTROLLER_STATE_NEW PadState[4];
|
||||||
extern InputCommon::CONTROLLER_MAPPING_NEW PadMapping[4];
|
extern InputCommon::CONTROLLER_MAPPING_NEW PadMapping[4];
|
||||||
|
|
|
@ -57,29 +57,24 @@ bool LocalSearchDevices(std::vector<InputCommon::CONTROLLER_INFO> &_joyinfo, int
|
||||||
return bSuccess;
|
return bSuccess;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
bool LocalSearchDevicesReset(std::vector<InputCommon::CONTROLLER_INFO> &_joyinfo, int &_NumPads)
|
bool LocalSearchDevicesReset(std::vector<InputCommon::CONTROLLER_INFO> &_joyinfo, int &_NumPads)
|
||||||
{
|
{
|
||||||
DEBUG_LOG(CONSOLE, "LocalSearchDevicesReset");
|
DEBUG_LOG(CONSOLE, "LocalSearchDevicesReset");
|
||||||
|
|
||||||
// Turn off device polling while resetting
|
// Turn off device polling while resetting
|
||||||
EnablePolling(false);
|
EnablePolling(false);
|
||||||
bool bSuccess = InputCommon::SearchDevicesReset(_joyinfo, _NumPads);
|
bool bSuccess = InputCommon::SearchDevicesReset(_joyinfo, _NumPads);
|
||||||
|
DoLocalSearchDevices(_joyinfo, _NumPads);
|
||||||
EnablePolling(true);
|
EnablePolling(true);
|
||||||
|
|
||||||
DoLocalSearchDevices(_joyinfo, _NumPads);
|
return true;
|
||||||
|
|
||||||
return bSuccess;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Fill joyinfo with the current connected devices
|
// Fill joyinfo with the current connected devices
|
||||||
bool DoLocalSearchDevices(std::vector<InputCommon::CONTROLLER_INFO> &_joyinfo, int &_NumPads)
|
bool DoLocalSearchDevices(std::vector<InputCommon::CONTROLLER_INFO> &_joyinfo, int &_NumPads)
|
||||||
{
|
{
|
||||||
//DEBUG_LOG(WIIMOTE, "LocalSearchDevices");
|
//DEBUG_LOG(WIIMOTE, "LocalSearchDevices");
|
||||||
|
|
||||||
// Turn off device polling while searching
|
|
||||||
WiiMoteEmu::EnablePolling(false);
|
|
||||||
|
|
||||||
bool bReturn = InputCommon::SearchDevices(_joyinfo, _NumPads);
|
|
||||||
|
|
||||||
// Warn the user if no gamepads are detected
|
// Warn the user if no gamepads are detected
|
||||||
if (_NumPads == 0 && g_EmulatorRunning)
|
if (_NumPads == 0 && g_EmulatorRunning)
|
||||||
|
@ -108,9 +103,7 @@ bool DoLocalSearchDevices(std::vector<InputCommon::CONTROLLER_INFO> &_joyinfo, i
|
||||||
if (!Match) PadState[i].joy = NULL;
|
if (!Match) PadState[i].joy = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
WiiMoteEmu::EnablePolling(true);
|
return true;
|
||||||
|
|
||||||
return bReturn;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Is the device connected?
|
// Is the device connected?
|
||||||
|
@ -147,6 +140,7 @@ void EnablePolling(bool Enable)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
// ID to Name
|
// ID to Name
|
||||||
// ----------------
|
// ----------------
|
||||||
std::string IDToName(int ID)
|
std::string IDToName(int ID)
|
||||||
|
@ -219,10 +213,10 @@ void GetJoyState(InputCommon::CONTROLLER_STATE_NEW &_PadState, InputCommon::CONT
|
||||||
//DEBUG_LOG(WIIMOTE, "GetJoyState: Polling:%i NumPads:%i", SDLPolling, NumPads);
|
//DEBUG_LOG(WIIMOTE, "GetJoyState: Polling:%i NumPads:%i", SDLPolling, NumPads);
|
||||||
|
|
||||||
// Return if polling is off
|
// Return if polling is off
|
||||||
if (!IsPolling) return;
|
if (!IsPolling()) return;
|
||||||
// Update joyinfo handles. This is in case the Wiimote plugin has restarted SDL after a pad was conencted/disconnected
|
// Update joyinfo handles. This is in case the Wiimote plugin has restarted SDL after a pad was conencted/disconnected
|
||||||
// so that the handles are updated. We don't need to run this this often. Once a second would be enough.
|
// so that the handles are updated. We don't need to run this this often. Once a second would be enough.
|
||||||
LocalSearchDevices(joyinfo, NumPads);
|
if (LiveUpdates) LocalSearchDevices(joyinfo, NumPads);
|
||||||
// Return if we have no pads
|
// Return if we have no pads
|
||||||
if (NumPads == 0) return;
|
if (NumPads == 0) return;
|
||||||
// Read info
|
// Read info
|
||||||
|
|
|
@ -121,12 +121,6 @@ PADConfigDialognJoy::PADConfigDialognJoy(wxWindow *parent, wxWindowID id, const
|
||||||
|
|
||||||
// Settings
|
// Settings
|
||||||
Debugging = false;
|
Debugging = false;
|
||||||
// Only tested in Windows
|
|
||||||
#ifdef _WIN32
|
|
||||||
LiveUpdates = true;
|
|
||||||
#else
|
|
||||||
LiveUpdates = false;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// Create controls
|
// Create controls
|
||||||
CreateGUIControls();
|
CreateGUIControls();
|
||||||
|
|
|
@ -49,6 +49,11 @@ InputCommon::CONTROLLER_STATE PadState[4];
|
||||||
InputCommon::CONTROLLER_MAPPING PadMapping[4];
|
InputCommon::CONTROLLER_MAPPING PadMapping[4];
|
||||||
bool g_EmulatorRunning = false;
|
bool g_EmulatorRunning = false;
|
||||||
bool SDLPolling = true;
|
bool SDLPolling = true;
|
||||||
|
#ifdef _WIN32
|
||||||
|
bool LiveUpdates = false;
|
||||||
|
#else
|
||||||
|
bool LiveUpdates = false;
|
||||||
|
#endif
|
||||||
int NumPads = 0, NumDIDevices = -1, LastPad = 0;
|
int NumPads = 0, NumDIDevices = -1, LastPad = 0;
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
HWND m_hWnd = NULL, m_hConsole = NULL; // Handle to window
|
HWND m_hWnd = NULL, m_hConsole = NULL; // Handle to window
|
||||||
|
@ -284,7 +289,7 @@ void PAD_GetStatus(u8 _numPAD, SPADStatus* _pPADStatus)
|
||||||
|
|
||||||
// Update joyinfo handles. This is in case the Wiimote plugin has restarted SDL after a pad was conencted/disconnected
|
// Update joyinfo handles. This is in case the Wiimote plugin has restarted SDL after a pad was conencted/disconnected
|
||||||
// so that the handles are updated.
|
// so that the handles are updated.
|
||||||
LocalSearchDevices(joyinfo, NumPads);
|
if (LiveUpdates) LocalSearchDevices(joyinfo, NumPads);
|
||||||
|
|
||||||
// Check if the pad is avaliable, currently we don't disable pads just because they are
|
// Check if the pad is avaliable, currently we don't disable pads just because they are
|
||||||
// disconnected
|
// disconnected
|
||||||
|
@ -459,9 +464,8 @@ bool LocalSearchDevicesReset(std::vector<InputCommon::CONTROLLER_INFO> &_joyinfo
|
||||||
// Turn off device polling while resetting
|
// Turn off device polling while resetting
|
||||||
EnablePolling(false);
|
EnablePolling(false);
|
||||||
bool Success = InputCommon::SearchDevicesReset(_joyinfo, _NumPads);
|
bool Success = InputCommon::SearchDevicesReset(_joyinfo, _NumPads);
|
||||||
EnablePolling(true);
|
|
||||||
|
|
||||||
DoLocalSearchDevices(_joyinfo, _NumPads);
|
DoLocalSearchDevices(_joyinfo, _NumPads);
|
||||||
|
EnablePolling(true);
|
||||||
|
|
||||||
return Success;
|
return Success;
|
||||||
}
|
}
|
||||||
|
|
|
@ -97,6 +97,7 @@
|
||||||
#endif
|
#endif
|
||||||
extern int NumPads, NumDIDevices, LastPad; // Number of pads
|
extern int NumPads, NumDIDevices, LastPad; // Number of pads
|
||||||
extern bool SDLPolling;
|
extern bool SDLPolling;
|
||||||
|
extern bool LiveUpdates;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue