示例#1
0
void TASInputDlg::GetKeyBoardInput(GCPadStatus* PadStatus)
{
	SetStickValue(&m_main_stick.x_cont.set_by_keyboard, &m_main_stick.x_cont.value, m_main_stick.x_cont.text, PadStatus->stickX);
	SetStickValue(&m_main_stick.y_cont.set_by_keyboard, &m_main_stick.y_cont.value, m_main_stick.y_cont.text, PadStatus->stickY);

	SetStickValue(&m_c_stick.x_cont.set_by_keyboard, &m_c_stick.x_cont.value, m_c_stick.x_cont.text, PadStatus->substickX);
	SetStickValue(&m_c_stick.y_cont.set_by_keyboard, &m_c_stick.y_cont.value, m_c_stick.y_cont.text, PadStatus->substickY);
	SetSliderValue(&m_l_cont, PadStatus->triggerLeft);
	SetSliderValue(&m_r_cont, PadStatus->triggerRight);

	for (unsigned int i = 0; i < ArraySize(m_buttons); ++i)
	{
		if (m_buttons[i] != nullptr)
			SetButtonValue(m_buttons[i], ((PadStatus->button & m_gc_pad_buttons_bitmask[i]) != 0));
	}
	SetButtonValue(&m_l, ((PadStatus->triggerLeft) == 255) || ((PadStatus->button & PAD_TRIGGER_L) != 0));
	SetButtonValue(&m_r, ((PadStatus->triggerRight) == 255) || ((PadStatus->button & PAD_TRIGGER_R) != 0));
}
示例#2
0
// NOTE: Host / CPU Thread
void TASInputDlg::GetKeyBoardInput(GCPadStatus* PadStatus)
{
  SetStickValue(&m_main_stick.x_cont, PadStatus->stickX);
  SetStickValue(&m_main_stick.y_cont, PadStatus->stickY);

  SetStickValue(&m_c_stick.x_cont, PadStatus->substickX);
  SetStickValue(&m_c_stick.y_cont, PadStatus->substickY);
  SetSliderValue(&m_l_cont, PadStatus->triggerLeft);
  SetSliderValue(&m_r_cont, PadStatus->triggerRight);

  for (size_t i = 0; i < m_buttons.size(); ++i)
  {
    if (m_buttons[i] != nullptr)
      SetButtonValue(m_buttons[i], ((PadStatus->button & s_gc_pad_buttons_bitmask[i]) != 0));
  }
  SetButtonValue(&m_l,
                 ((PadStatus->triggerLeft) == 255) || ((PadStatus->button & PAD_TRIGGER_L) != 0));
  SetButtonValue(&m_r,
                 ((PadStatus->triggerRight) == 255) || ((PadStatus->button & PAD_TRIGGER_R) != 0));
}