120 JUT_ASSERT(360, 0 <= port && port < 4);
199 static void stopMotor(
int port,
bool hard_stop);
221 JUT_ASSERT(250, 0 <= port && port < 4);
void(* callbackFn)(int, void *)
Definition JUTGamePad.h:8
u32 JUTReadGamePad()
Definition JUTGamePad.h:289
Definition JKRDisposer.h:12
static void stick(b_gos_class *i_this)
Definition d_a_b_gos.cpp:141
u32 mode
Definition GXTev.c:56
s64 OSTime
Definition os.h:19
void PADSetAnalogMode(u32 mode)
Definition Pad.c:732
double x double x
Definition e_atan2.c:58
double u
Definition e_pow.c:114
int BOOL
Definition types.h:33
signed char s8
Definition types.h:7
unsigned long u32
Definition types.h:12
signed short int s16
Definition types.h:9
float f32
Definition types.h:25
signed long s32
Definition types.h:11
unsigned char u8
Definition types.h:8
static void callback(u32 param_0)
Definition OSExec.c:308
Definition JUTGamePad.h:268
u32 getPattern() const
Definition JUTGamePad.h:273
static JSUList< JUTGamePadLongPress > sPatternList
Definition JUTGamePad.h:269
bool field_0x48[4]
Definition JUTGamePad.h:284
bool mLongPressStatus[4]
Definition JUTGamePad.h:282
bool field_0x11
Definition JUTGamePad.h:278
void checkCallback(int port, u32 hold_time)
Definition JUTGamePad.cpp:595
u32 mThreshold
Definition JUTGamePad.h:281
u8 field_0x0[0x10]
Definition JUTGamePad.h:276
bool mValid
Definition JUTGamePad.h:277
u32 mPattern
Definition JUTGamePad.h:279
u32 mMaskPattern
Definition JUTGamePad.h:280
bool isValid() const
Definition JUTGamePad.h:274
OSTime mStartHoldTime[4]
Definition JUTGamePad.h:283
void(* mCallback)(s32, JUTGamePadLongPress *, s32)
Definition JUTGamePad.h:285
u32 getMaskPattern() const
Definition JUTGamePad.h:272
s32 field_0x50
Definition JUTGamePad.h:286
Definition JUTGamePad.h:14
virtual void getStatus(PADStatus *pad)=0
virtual void write(PADStatus *pad)=0
virtual ~JUTGamePadRecordBase()
Definition JUTGamePad.h:15
bool mActive
Definition JUTGamePad.h:21
bool isActive() const
Definition JUTGamePad.h:19
Definition JUTGamePad.h:183
static void stopMotor(int port, bool hard_stop)
Definition JUTGamePad.cpp:443
CRumble(JUTGamePad *pad)
Definition JUTGamePad.h:184
static bool isEnabled(u32 mask)
Definition JUTGamePad.h:210
static void stopMotorHard(int port)
Definition JUTGamePad.h:208
static u32 mEnabled
Definition JUTGamePad.h:188
static bool isEnabledPort(int port)
Definition JUTGamePad.h:220
void stopPatternedRumble(s16 port)
Definition JUTGamePad.cpp:530
u8 * field_0x10
Definition JUTGamePad.h:229
void startPatternedRumble(void *data, ERumble rumble, u32 length)
Definition JUTGamePad.cpp:512
static void startMotor(int port)
Definition JUTGamePad.cpp:436
static void stopMotor(int port)
Definition JUTGamePad.h:207
u32 mLength
Definition JUTGamePad.h:226
ERumble
Definition JUTGamePad.h:190
@ VAL_1
Definition JUTGamePad.h:192
@ VAL_2
Definition JUTGamePad.h:193
@ VAL_0
Definition JUTGamePad.h:191
static u8 mStatus[4]
Definition JUTGamePad.h:187
u8 * mPattern
Definition JUTGamePad.h:227
u32 mFrameCount
Definition JUTGamePad.h:228
void stopPatternedRumbleAtThePeriod()
Definition JUTGamePad.cpp:536
static u32 sChannelMask[4]
Definition JUTGamePad.h:6
static void setEnabled(u32 mask)
Definition JUTGamePad.cpp:551
void clear()
Definition JUTGamePad.cpp:419
u32 mFrame
Definition JUTGamePad.h:225
void triggerPatternedRumble(u32 length)
Definition JUTGamePad.cpp:505
Definition JUTGamePad.h:162
f32 mValue
Definition JUTGamePad.h:175
void clear()
Definition JUTGamePad.cpp:342
void clear(JUTGamePad *pad)
s8 mRawY
Definition JUTGamePad.h:178
f32 mPosY
Definition JUTGamePad.h:174
f32 mPosX
Definition JUTGamePad.h:173
static f32 sPressPoint
Definition JUTGamePad.h:163
CStick()
Definition JUTGamePad.h:166
s16 mAngle
Definition JUTGamePad.h:176
static f32 sReleasePoint
Definition JUTGamePad.h:164
s8 mRawX
Definition JUTGamePad.h:177
Definition JUTGamePad.h:28
void stopMotor()
Definition JUTGamePad.h:116
static s8 getPortStatus(EPadPort port)
Definition JUTGamePad.h:119
void stopPatternedRumble()
Definition JUTGamePad.h:63
static bool mListInitialized
Definition JUTGamePad.h:237
static u32 sRumbleSupported
Definition JUTGamePad.h:247
static u8 mPadAssign[4]
Definition JUTGamePad.h:244
static BOOL init()
Definition JUTGamePad.cpp:57
static JUTGamePad * getGamePad(int port)
Definition JUTGamePad.cpp:541
f32 getMainStickX() const
Definition JUTGamePad.h:89
void startMotorWave(void *data, CRumble::ERumble rumble, u32 length)
Definition JUTGamePad.h:232
u32 getRelease() const
Definition JUTGamePad.h:87
static int getClampMode()
Definition JUTGamePad.h:76
void checkResetCallback(OSTime holdTime)
Definition JUTGamePad.cpp:189
f32 getMainStickValue() const
Definition JUTGamePad.h:91
u8 field_0xa8
Definition JUTGamePad.h:261
u8 getAnalogR() const
Definition JUTGamePad.h:100
s16 getMainStickAngle() const
Definition JUTGamePad.h:92
EPadPort
Definition JUTGamePad.h:39
@ EPort4
Definition JUTGamePad.h:44
@ EPort2
Definition JUTGamePad.h:42
@ EPort3
Definition JUTGamePad.h:43
@ EPort1
Definition JUTGamePad.h:41
@ EPortInvalid
Definition JUTGamePad.h:40
JSULink< JUTGamePad > mLink
Definition JUTGamePad.h:255
static CButton mPadButton[4]
Definition JUTGamePad.h:239
void assign()
Definition JUTGamePad.cpp:161
JUTGamePadRecordBase * getPadReplay() const
Definition JUTGamePad.h:105
EWhichStick
Definition JUTGamePad.h:34
@ EMainStick
Definition JUTGamePad.h:35
@ ESubStick
Definition JUTGamePad.h:36
u8 getAnalogB() const
Definition JUTGamePad.h:98
virtual ~JUTGamePad()
Definition JUTGamePad.cpp:35
static u32 read()
Definition JUTGamePad.cpp:82
CStick mSubStick
Definition JUTGamePad.h:251
static void setAnalogMode(u32 mode)
Definition JUTGamePad.h:71
f32 getSubStickValue() const
Definition JUTGamePad.h:95
s16 mPortNum
Definition JUTGamePad.h:253
static u32 sSuppressPadReset
Definition JUTGamePad.h:245
CRumble mRumble
Definition JUTGamePad.h:252
static bool recalibrate(u32 mask)
Definition JUTGamePad.cpp:584
JUTGamePadRecordBase * mPadRecord
Definition JUTGamePad.h:256
void stopMotorWaveHard()
Definition JUTGamePad.h:181
void clear()
Definition JUTGamePad.cpp:63
EClampMode
Definition JUTGamePad.h:47
@ EClampNone
Definition JUTGamePad.h:48
@ EClampStick
Definition JUTGamePad.h:49
@ EClampCircle
Definition JUTGamePad.h:50
bool testTrigger(u32 button) const
Definition JUTGamePad.h:109
bool testButton(u32 button) const
Definition JUTGamePad.h:108
s16 getPortNum() const
Definition JUTGamePad.h:103
static void checkResetSwitch()
Definition JUTGamePad.cpp:255
static PADStatus mPadStatus[4]
Definition JUTGamePad.h:238
f32 getMainStickY() const
Definition JUTGamePad.h:90
JUTGamePadRecordBase * getPadRecord() const
Definition JUTGamePad.h:106
u8 field_0x9c[4]
Definition JUTGamePad.h:259
C3ButtonReset mButtonReset
Definition JUTGamePad.h:258
CButton mButton
Definition JUTGamePad.h:249
void stopMotorHard()
Definition JUTGamePad.h:117
static JSUList< JUTGamePad > mPadList
Definition JUTGamePad.h:236
void update()
Definition JUTGamePad.cpp:208
u32 getRepeat() const
Definition JUTGamePad.h:88
EStickMode
Definition JUTGamePad.h:30
@ EStickMode1
Definition JUTGamePad.h:31
f32 getSubStickX() const
Definition JUTGamePad.h:93
void setButtonRepeat(u32, u32, u32)
Definition JUTGamePad.cpp:577
s8 getErrorStatus() const
Definition JUTGamePad.h:101
bool isPushing3ButtonReset() const
Definition JUTGamePad.h:111
CStick mMainStick
Definition JUTGamePad.h:250
static EStickMode sStickMode
Definition JUTGamePad.h:242
static void clearResetOccurred()
Definition JUTGamePad.h:78
u32 getButton() const
Definition JUTGamePad.h:85
static CStick mPadMStick[4]
Definition JUTGamePad.h:240
static CStick mPadSStick[4]
Definition JUTGamePad.h:241
static void setResetCallback(callbackFn callback, void *arg)
Definition JUTGamePad.h:80
s16 getSubStickAngle() const
Definition JUTGamePad.h:96
JUTGamePad(JUTGamePad::EPadPort port)
Definition JUTGamePad.cpp:21
void stopMotorWave()
Definition JUTGamePad.h:115
f32 getSubStickY() const
Definition JUTGamePad.h:94
u32 getTrigger() const
Definition JUTGamePad.h:86
s8 mErrorStatus
Definition JUTGamePad.h:254
JUTGamePadRecordBase * mPadReplay
Definition JUTGamePad.h:257
static void clearForReset()
Definition JUTGamePad.cpp:274
static s32 sAnalogMode
Definition JUTGamePad.h:246
u8 getAnalogL() const
Definition JUTGamePad.h:99
u8 getAnalogA() const
Definition JUTGamePad.h:97
OSTime mResetHoldStartTime
Definition JUTGamePad.h:260
static int sClampMode
Definition JUTGamePad.h:243
void initList()
Definition JUTGamePad.cpp:44
s8 err
Definition pad.h:62