summaryrefslogtreecommitdiff
path: root/src/m
diff options
context:
space:
mode:
authorelijah-thomas774 <elijahthomas774@gmail.com>2025-06-15 14:40:59 -0400
committerelijah-thomas774 <elijahthomas774@gmail.com>2025-06-15 14:40:59 -0400
commite4b1c30f472e7a4fdbce657aba7b9b5fb0dd2d59 (patch)
treecd267c29d69e4996ff1d120ebb3613744ca69f1b /src/m
parent2707f74d70f2783f8e70889f48e95b3ec8c00635 (diff)
Pad stuff
Diffstat (limited to 'src/m')
-rw-r--r--src/m/m_pad.cpp15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/m/m_pad.cpp b/src/m/m_pad.cpp
index b277c448..5c1afd84 100644
--- a/src/m/m_pad.cpp
+++ b/src/m/m_pad.cpp
@@ -1,10 +1,11 @@
#include "m/m_pad.h"
#include "common.h"
+#include "d/d_pad.h"
#include "egg/core/eggController.h"
#include "egg/math/eggVector.h"
-#include "rvl/WPAD.h" // IWYU pragma: export
+#include "rvl/WPAD.h" // IWYU pragma: export
namespace mPad {
@@ -38,7 +39,7 @@ static void clearWPADInfo(int);
static int getWPADInfoCB(int controller);
void create() {
- g_padMg = EGG::CoreControllerMgr::sInstance;
+ g_padMg = EGG::CoreControllerMgr::instance();
initWPADInfo();
beginPad();
endPad();
@@ -62,10 +63,10 @@ void beginPad() {
for (; i < 4; i++) {
ctl = g_padMg->getNthController(i);
*p_ctl = ctl;
- if (ctl->mFlag.onBit(0)) {
+ if (ctl->isConnected()) {
// These sort of look like value, first order derivative, and second order derivative
// So perhaps value, velocity, acceleration?
- EGG::Vector2f pos = ctl->mCoreStatus[0].getUnk();
+ EGG::Vector2f pos = ctl->getCoreStatus()->getAccelVertical();
EGG::Vector2f v = pos - dat->v1;
dat->v1 = pos;
dat->v3 = v - dat->v2;
@@ -81,7 +82,7 @@ void beginPad() {
getWPADInfoCB(i);
}
} else if (*connected) {
- ctl->mCoreStatus->init();
+ ctl->getCoreStatus()->init();
ctl->sceneReset();
dat->v1.x = 0.0f;
dat->v1.y = 0.0f;
@@ -134,10 +135,8 @@ static void initWPADInfo() {
}
}
-extern "C" void fn_80058DA0(s32, s32);
-
static int getWPADInfoCB(int controller) {
- int result = WPADGetInfoAsync(controller, &s_WPADInfoTmp[controller], fn_80058DA0);
+ int result = WPADGetInfoAsync(controller, &s_WPADInfoTmp[controller], async_info_callback);
if (result == -1) {
clearWPADInfo(controller);
}