If you're Wiimotes input was a real Wiimote and you decided to play a Gamecube Game, then you'd eventually get the message "Wiimote has been disconnected", and it would harshly mess up your game play. Fixed it so that message only appears during Wii game play. Should we checked if Wiimote was ever connected for that gaming session?

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@4925 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
interdpth 2010-01-22 23:24:43 +00:00
parent 68a4eacb62
commit 267fd392d7
1 changed files with 19 additions and 17 deletions

View File

@ -161,25 +161,27 @@ CPanel::CPanel(
return 0;
case WIIMOTE_DISCONNECT:
if (main_frame->bNoWiimoteMsg)
main_frame->bNoWiimoteMsg = false;
else
{
// The Wiimote has been disconnect, we offer reconnect here
wxMessageDialog *dlg = new wxMessageDialog(
this,
wxString::Format(wxT("Wiimote %i has been disconnected by system.\n")
wxT("Maybe this game doesn't support multi-wiimote,\n")
wxT("or maybe it is due to idle time out or other reason.\n\n")
wxT("Do you want to reconnect immediately?"), lParam + 1),
wxT("Reconnect Wiimote Confirm"),
wxYES_NO | wxSTAY_ON_TOP | wxICON_INFORMATION, //wxICON_QUESTION,
wxDefaultPosition);
if( SConfig::GetInstance().m_LocalCoreStartupParameter.bWii ){ //Only Alerts if the game is a wii game.
if (main_frame->bNoWiimoteMsg)
main_frame->bNoWiimoteMsg = false;
else
{
// The Wiimote has been disconnect, we offer reconnect here
wxMessageDialog *dlg = new wxMessageDialog(
this,
wxString::Format(wxT("Wiimote %i has been disconnected by system.\n")
wxT("Maybe this game doesn't support multi-wiimote,\n")
wxT("or maybe it is due to idle time out or other reason.\n\n")
wxT("Do you want to reconnect immediately?"), lParam + 1),
wxT("Reconnect Wiimote Confirm"),
wxYES_NO | wxSTAY_ON_TOP | wxICON_INFORMATION, //wxICON_QUESTION,
wxDefaultPosition);
if (dlg->ShowModal() == wxID_YES)
GetUsbPointer()->AccessWiiMote(lParam | 0x100)->Activate(true);
if (dlg->ShowModal() == wxID_YES)
GetUsbPointer()->AccessWiiMote(lParam | 0x100)->Activate(true);
dlg->Destroy();
dlg->Destroy();
}
}
return 0;
}