1- #include < revolution/KPAD.h>
2-
31#include < libkiwi.h>
42
3+ #include < revolution/KPAD.h>
4+
55namespace kiwi {
66
7+ /* *****************************************************************************
8+ *
9+ * WiiCtrl
10+ *
11+ ******************************************************************************/
12+
13+ /* *
14+ * @brief Tests whether specific buttons were held down last frame
15+ *
16+ * @param buttons Button mask
17+ */
18+ bool WiiCtrl::IsHold (u32 buttons) const {
19+ u32 mask = ConvertMask (buttons);
20+ return (GetStatus ().hold & mask) == mask;
21+ }
22+
23+ /* *
24+ * @brief Tests whether specific buttons were released last frame
25+ *
26+ * @param buttons Button mask
27+ */
28+ bool WiiCtrl::IsRelease (u32 buttons) const {
29+ u32 mask = ConvertMask (buttons);
30+ return (GetStatus ().release & mask) == mask;
31+ }
32+
33+ /* *
34+ * @brief Tests whether specific buttons were triggered (pressed) last frame
35+ *
36+ * @param buttons Button mask
37+ */
38+ bool WiiCtrl::IsTrig (u32 buttons) const {
39+ u32 mask = ConvertMask (buttons);
40+ return (GetStatus ().trig & mask) == mask;
41+ }
42+
743/* *
844 * @brief Converts generic (EButton) mask to button mask for KPAD
945 *
@@ -29,7 +65,7 @@ u32 WiiCtrl::ConvertMask(u32 mask) {
2965
3066 u32 conv = 0 ;
3167
32- for (int i = 0 ; i < LENGTHOF (table); i++) {
68+ for (int i = 0 ; i < K_LENGTHOF (table); i++) {
3369 if (mask & table[i][0 ]) {
3470 conv |= table[i][1 ];
3571 }
@@ -38,48 +74,24 @@ u32 WiiCtrl::ConvertMask(u32 mask) {
3874 return conv;
3975}
4076
41- /* *
42- * @brief Tests whether specific buttons were held down last frame
43- *
44- * @param buttons Button mask
45- */
46- bool WiiCtrl::IsHold (u32 buttons) const {
47- u32 mask = ConvertMask (buttons);
48- return (GetStatus ().hold & mask) == mask;
49- }
50-
51- /* *
52- * @brief Tests whether specific buttons were released last frame
77+ /* *****************************************************************************
5378 *
54- * @param buttons Button mask
55- */
56- bool WiiCtrl::IsRelease (u32 buttons) const {
57- u32 mask = ConvertMask (buttons);
58- return (GetStatus ().release & mask) == mask;
59- }
60-
61- /* *
62- * @brief Tests whether specific buttons were triggered (pressed) last frame
79+ * CtrlMgr
6380 *
64- * @param buttons Button mask
65- */
66- bool WiiCtrl::IsTrig (u32 buttons) const {
67- u32 mask = ConvertMask (buttons);
68- return (GetStatus ().trig & mask) == mask;
69- }
81+ ******************************************************************************/
7082
7183/* *
7284 * @brief Gets Wii Remote controller by player index
7385 *
7486 * @param i Player index
7587 */
76- const WiiCtrl& CtrlMgr::GetWiiCtrl (EPlayer i) {
88+ const WiiCtrl& CtrlMgr::GetWiiCtrl (int i) {
7789 K_ASSERT (i < EPlayer_Max);
7890
79- EGG::CoreController* pBase = getNthController (i);
80- K_ASSERT (pBase != nullptr );
91+ const EGG::CoreController* pBase = getNthController (i);
92+ K_ASSERT_PTR (pBase);
8193
82- return *reinterpret_cast <WiiCtrl*>(pBase);
94+ return *reinterpret_cast <const WiiCtrl*>(pBase);
8395}
8496
8597} // namespace kiwi
0 commit comments