summaryrefslogtreecommitdiff
path: root/src/SSystem/SComponent/c_API_controller_pad.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/SSystem/SComponent/c_API_controller_pad.cpp')
-rw-r--r--src/SSystem/SComponent/c_API_controller_pad.cpp143
1 files changed, 143 insertions, 0 deletions
diff --git a/src/SSystem/SComponent/c_API_controller_pad.cpp b/src/SSystem/SComponent/c_API_controller_pad.cpp
index c8c29794a6..4ac6aad2db 100644
--- a/src/SSystem/SComponent/c_API_controller_pad.cpp
+++ b/src/SSystem/SComponent/c_API_controller_pad.cpp
@@ -5,13 +5,156 @@
#include "SSystem/SComponent/c_API_controller_pad.h"
#include "m_Do/m_Do_controller_pad.h"
+#include "global.h"
+
+#if PLATFORM_WII
+#include "m_Do/m_Re_controller_pad.h"
+#endif
/* 8026328C-802632AC 25DBCC 0020+00 0/0 3/3 0/0 .text cAPICPad_recalibrate__Fv */
void cAPICPad_recalibrate() {
mDoCPd_c::recalibrate();
+
+ #if PLATFORM_WII
+ mReCPd::stopMoter();
+ #endif
}
/* 802632AC-802632C8 25DBEC 001C+00 0/0 3/3 1/1 .text cAPICPad_ANY_BUTTON__FUl */
u32 cAPICPad_ANY_BUTTON(u32 portNo) {
return mDoCPd_c::getTrig(portNo) & (PAD_BUTTON_A | PAD_BUTTON_B | PAD_BUTTON_START);
}
+
+#if PLATFORM_WII
+u32 cAPICPad_BUTTON(u32 i_padNo) {
+ return mReCPd::getHold(i_padNo);
+}
+
+u32 cAPICPad_Z_BUTTON(u32 i_padNo) {
+ return mReCPd::getHoldUp(i_padNo);
+}
+
+u32 cAPICPad_R_BUTTON(u32 i_padNo) {
+ return 0;
+}
+
+u32 cAPICPad_L_BUTTON(u32 i_padNo) {
+ return mReCPd::getHoldZ1(i_padNo);
+}
+
+u32 cAPICPad_A_BUTTON(u32 i_padNo) {
+ return mReCPd::getHoldA(i_padNo);
+}
+
+u32 cAPICPad_B_BUTTON(u32 i_padNo) {
+ return mReCPd::getHoldB(i_padNo);
+}
+
+u32 cAPICPad_X_BUTTON(u32 i_padNo) {
+ return mReCPd::getHoldRight(i_padNo);
+}
+
+u32 cAPICPad_Y_BUTTON(u32 i_padNo) {
+ return mReCPd::getHoldLeft(i_padNo);
+}
+
+u32 cAPICPad_TRIGGER(u32 i_padNo) {
+ return mReCPd::getTrig(i_padNo);
+}
+
+u32 cAPICPad_Z_TRIGGER(u32 i_padNo) {
+ return mReCPd::getTrigUp(i_padNo);
+}
+
+u32 cAPICPad_R_TRIGGER(u32 i_padNo) {
+ return 0;
+}
+
+u32 cAPICPad_UP_TRIGGER(u32 i_padNo) {
+ return 0;
+}
+
+u32 cAPICPad_DOWN_TRIGGER(u32 i_padNo) {
+ return 0;
+}
+
+u32 cAPICPad_LEFT_TRIGGER(u32 i_padNo) {
+ return 0;
+}
+
+u32 cAPICPad_RIGHT_TRIGGER(u32 i_padNo) {
+ return 0;
+}
+
+u32 cAPICPad_L_TRIGGER(u32 i_padNo) {
+ return mReCPd::getTrigZ1(i_padNo);
+}
+
+u32 cAPICPad_A_TRIGGER(u32 i_padNo) {
+ return mReCPd::getTrigA(i_padNo);
+}
+
+u32 cAPICPad_B_TRIGGER(u32 i_padNo) {
+ return mReCPd::getTrigB(i_padNo);
+}
+
+u32 cAPICPad_X_TRIGGER(u32 i_padNo) {
+ return mReCPd::getTrigRight(i_padNo);
+}
+
+u32 cAPICPad_Y_TRIGGER(u32 i_padNo) {
+ return mReCPd::getTrigLeft(i_padNo);
+}
+
+u32 cAPICPad_START_TRIGGER(u32 i_padNo) {
+ return mReCPd::getTrigStart(i_padNo);
+}
+
+f32 cAPICPad_X_STICK(u32 i_padNo) {
+ return mReCPd::getPad(i_padNo).field_0x4[0].ex_status.fs.stick.x;
+}
+
+f32 cAPICPad_X_STICK_3D(u32 i_padNo) {
+ return mReCPd::getPad(i_padNo).m_stick3D;
+}
+
+f32 cAPICPad_Y_STICK(u32 i_padNo) {
+ return mReCPd::getPad(i_padNo).field_0x4[0].ex_status.fs.stick.y;
+}
+
+f32 cAPICPad_VALUE_STICK(u32 i_padNo) {
+ return mReCPd::getPad(i_padNo).m_stickValue;
+}
+
+s16 cAPICPad_ANGLE_STICK(u32 i_padNo) {
+ return mReCPd::getPad(i_padNo).m_stickAngle;
+}
+
+s16 cAPICPad_ANGLE_STICK_3D(u32 i_padNo) {
+ return mReCPd::getFSStickAngle3DRev(i_padNo);
+}
+
+f32 cAPICPad_X_SUBSTICK(u32 i_padNo) {
+ return 0.0f;
+}
+
+f32 cAPICPad_Y_SUBSTICK(u32 i_padNo) {
+ return 0.0f;
+}
+
+f32 cAPICPad_VALUE_SUBSTICK(u32 i_padNo) {
+ return 0.0f;
+}
+
+s16 cAPICPad_ANGLE_SUBSTICK(u32 i_padNo) {
+ return 0;
+}
+
+f32 cAPICPad_L_ANALOG(u32 i_padNo) {
+ return 0.0f;
+}
+
+f32 cAPICPad_R_ANALOG(u32 i_padNo) {
+ return 0.0f;
+}
+#endif