From 39cc86c2608e2f75ace33fc7f43bc4f2ad743f1a Mon Sep 17 00:00:00 2001 From: M4xw Date: Tue, 22 Mar 2022 02:51:23 +0100 Subject: git subrepo clone https://github.com/HarbourMasters/soh.git subrepo: subdir: "soh" merged: "ba904bbd0" upstream: origin: "https://github.com/HarbourMasters/soh.git" branch: "master" commit: "ba904bbd0" git-subrepo: version: "0.4.1" origin: "???" commit: "???" --- soh/src/code/padsetup.c | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 soh/src/code/padsetup.c (limited to 'soh/src/code/padsetup.c') diff --git a/soh/src/code/padsetup.c b/soh/src/code/padsetup.c new file mode 100644 index 000000000..f3145a434 --- /dev/null +++ b/soh/src/code/padsetup.c @@ -0,0 +1,34 @@ +#include "global.h" + +s32 PadSetup_Init(OSMesgQueue* mq, u8* outMask, OSContStatus* status) { + s32 ret; + s32 i; + + *outMask = 0xFF; + ret = osContInit(mq, outMask, status); + if (ret != 0) { + return ret; + } + if (*outMask == 0xFF) { + if (osContStartQuery(mq) != 0) { + return 1; + } + + osRecvMesg(mq, NULL, OS_MESG_BLOCK); + osContGetQuery(status); + + *outMask = 0; + for (i = 0; i < 4; i++) { + switch (status[i].err_no) { + case 0: + if (status[i].type == CONT_TYPE_NORMAL) { + *outMask |= 1 << i; + } + break; + default: + break; + } + } + } + return 0; +} -- cgit v1.2.3