1#include "Game/System/WPadButton.hpp"
3WPadButton::WPadButton(
const WPad* pPad) {
9 mDelaySec = 0.41666666;
10 mPulseSec = 0.16666667;
11 KPADSetBtnRepeat(mPad->mChannel, mDelaySec, mPulseSec);
14void WPadButton::update() {
15 KPADStatus* status = mPad->getKPadStatus(0);
17 if (status !=
nullptr) {
20 _8 = status->trig & ~mHold & 0xFFFF;
26 if (!status->wpad_err || status->wpad_err == -2) {
28 mRelease = status->release;
33 if ((status->hold & 0x80000000) != 0) {
39bool WPadButton::testButtonUp()
const {
40 return (mHold >> 3) & 0x1;
43bool WPadButton::testButtonDown()
const {
44 return (mHold >> 2) & 0x1;
47bool WPadButton::testButtonLeft()
const {
51bool WPadButton::testButtonRight()
const {
52 return (mHold >> 1) & 0x1;
55bool WPadButton::testButtonA()
const {
56 return (mHold >> 11) & 0x1;
59bool WPadButton::testButtonB()
const {
60 return (mHold >> 10) & 0x1;
63bool WPadButton::testButtonMinus()
const {
64 return (mHold >> 12) & 0x1;
67bool WPadButton::testButtonPlus()
const {
68 return (mHold >> 4) & 0x1;
71bool WPadButton::testButton1()
const {
72 return (mHold >> 9) & 0x1;
75bool WPadButton::testButton2()
const {
76 return (mHold >> 8) & 0x1;
79bool WPadButton::testButtonC()
const {
80 return (mHold >> 14) & 0x1;
83bool WPadButton::testButtonZ()
const {
84 return (mHold >> 13) & 0x1;
87bool WPadButton::testTriggerUp()
const {
88 return (mHold >> 3) & 0x1;
91bool WPadButton::testTriggerDown()
const {
92 return (mHold >> 2) & 0x1;
95bool WPadButton::testTriggerLeft()
const {
99bool WPadButton::testTriggerRight()
const {
100 return (_8 >> 1) & 0x1;
103bool WPadButton::testTriggerA()
const {
104 return (_8 >> 11) & 0x1;
107bool WPadButton::testTriggerB()
const {
108 return (_8 >> 10) & 0x1;
111bool WPadButton::testTriggerMinus()
const {
112 return (_8 >> 12) & 0x1;
115bool WPadButton::testTriggerHome()
const {
116 return (_8 >> 15) & 0x1;
119bool WPadButton::testTriggerPlus()
const {
120 return (_8 >> 4) & 0x1;
123bool WPadButton::testTrigger1()
const {
124 return (_8 >> 9) & 0x1;
127bool WPadButton::testTrigger2()
const {
128 return (_8 >> 8) & 0x1;
131bool WPadButton::testTriggerC()
const {
132 return (_8 >> 14) & 0x1;
135bool WPadButton::testTriggerZ()
const {
136 return (_8 >> 13) & 0x1;
139bool WPadButton::testReleaseZ()
const {
140 return (mRelease >> 13) & 0x1;
143bool WPadButton::isChangeAnyState()
const {
146 if (_8 || mRelease) {