#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 < MAXCONTROLLERS; i++) { switch (status[i].errno) { case 0: if (status[i].type == CONT_TYPE_NORMAL) { *outMask |= 1 << i; } break; default: break; } } } return 0; }