114 JUT_ASSERT(360, 0 <= port && port < 4);
193 static void stopMotor(
int port,
bool hard_stop);
206 JUT_ASSERT(250, 0 <= port && port < 4);
u32 mode
Definition GXTev.c:56
void(* callbackFn)(int, void *)
Definition JUTGamePad.h:8
Definition JKRDisposer.h:12
static void stick(b_gos_class *i_this)
Definition d_a_b_gos.cpp:141
s64 OSTime
Definition os.h:19
void PADSetAnalogMode(u32 mode)
Definition Pad.c:732
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
double x double x
Definition e_atan2.c:58
double u
Definition e_pow.c:163
static void callback(u32 param_0)
Definition OSExec.c:308
Definition JUTGamePad.h:253
u32 getPattern() const
Definition JUTGamePad.h:258
static JSUList< JUTGamePadLongPress > sPatternList
Definition JUTGamePad.h:254
bool field_0x48[4]
Definition JUTGamePad.h:269
bool mLongPressStatus[4]
Definition JUTGamePad.h:267
bool field_0x11
Definition JUTGamePad.h:263
void checkCallback(int port, u32 hold_time)
Definition JUTGamePad.cpp:578
u32 mThreshold
Definition JUTGamePad.h:266
u8 field_0x0[0x10]
Definition JUTGamePad.h:261
bool mValid
Definition JUTGamePad.h:262
u32 mPattern
Definition JUTGamePad.h:264
u32 mMaskPattern
Definition JUTGamePad.h:265
bool isValid() const
Definition JUTGamePad.h:259
OSTime mStartHoldTime[4]
Definition JUTGamePad.h:268
void(* mCallback)(s32, JUTGamePadLongPress *, s32)
Definition JUTGamePad.h:270
u32 getMaskPattern() const
Definition JUTGamePad.h:257
s32 field_0x50
Definition JUTGamePad.h:271
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:177
static void stopMotor(int port, bool hard_stop)
Definition JUTGamePad.cpp:440
CRumble(JUTGamePad *pad)
Definition JUTGamePad.h:178
static bool isEnabled(u32 mask)
Definition JUTGamePad.h:203
static u32 mEnabled
Definition JUTGamePad.h:182
void stopMotorHard(int port)
Definition JUTGamePad.h:201
static bool isEnabledPort(int port)
Definition JUTGamePad.h:205
void stopPatternedRumble(s16 port)
Definition JUTGamePad.cpp:522
u8 * field_0x10
Definition JUTGamePad.h:214
void startPatternedRumble(void *data, ERumble rumble, u32 length)
Definition JUTGamePad.cpp:504
static void startMotor(int port)
Definition JUTGamePad.cpp:433
u32 mLength
Definition JUTGamePad.h:211
ERumble
Definition JUTGamePad.h:184
@ VAL_1
Definition JUTGamePad.h:186
@ VAL_2
Definition JUTGamePad.h:187
@ VAL_0
Definition JUTGamePad.h:185
u8 * mPattern
Definition JUTGamePad.h:212
u32 mFrameCount
Definition JUTGamePad.h:213
void stopPatternedRumbleAtThePeriod()
Definition JUTGamePad.cpp:527
static bool mStatus[4]
Definition JUTGamePad.h:181
static u32 sChannelMask[4]
Definition JUTGamePad.h:6
static void setEnabled(u32 mask)
Definition JUTGamePad.cpp:543
void clear()
Definition JUTGamePad.cpp:416
u32 mFrame
Definition JUTGamePad.h:210
void triggerPatternedRumble(u32 length)
Definition JUTGamePad.cpp:497
Definition JUTGamePad.h:156
f32 mValue
Definition JUTGamePad.h:169
void clear()
Definition JUTGamePad.cpp:342
void clear(JUTGamePad *pad)
s8 mRawY
Definition JUTGamePad.h:172
f32 mPosY
Definition JUTGamePad.h:168
f32 mPosX
Definition JUTGamePad.h:167
static f32 sPressPoint
Definition JUTGamePad.h:157
CStick()
Definition JUTGamePad.h:160
s16 mAngle
Definition JUTGamePad.h:170
static f32 sReleasePoint
Definition JUTGamePad.h:158
s8 mRawX
Definition JUTGamePad.h:171
Definition JUTGamePad.h:28
void stopMotor()
Definition JUTGamePad.h:110
static s8 getPortStatus(EPadPort port)
Definition JUTGamePad.h:113
void stopPatternedRumble()
Definition JUTGamePad.h:63
static bool mListInitialized
Definition JUTGamePad.h:222
static u32 sRumbleSupported
Definition JUTGamePad.h:232
static u8 mPadAssign[4]
Definition JUTGamePad.h:229
static BOOL init()
Definition JUTGamePad.cpp:55
static JUTGamePad * getGamePad(int port)
Definition JUTGamePad.cpp:531
f32 getMainStickX() const
Definition JUTGamePad.h:84
void startMotorWave(void *data, CRumble::ERumble rumble, u32 length)
Definition JUTGamePad.h:217
void checkResetCallback(OSTime holdTime)
Definition JUTGamePad.cpp:183
f32 getMainStickValue() const
Definition JUTGamePad.h:86
u8 field_0xa8
Definition JUTGamePad.h:246
u8 getAnalogR() const
Definition JUTGamePad.h:95
s16 getMainStickAngle() const
Definition JUTGamePad.h:87
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:240
static CButton mPadButton[4]
Definition JUTGamePad.h:224
void assign()
Definition JUTGamePad.cpp:153
JUTGamePadRecordBase * getPadReplay() const
Definition JUTGamePad.h:100
EWhichStick
Definition JUTGamePad.h:34
@ EMainStick
Definition JUTGamePad.h:35
@ ESubStick
Definition JUTGamePad.h:36
u8 getAnalogB() const
Definition JUTGamePad.h:93
virtual ~JUTGamePad()
Definition JUTGamePad.cpp:35
static u32 read()
Definition JUTGamePad.cpp:80
CStick mSubStick
Definition JUTGamePad.h:236
static void setAnalogMode(u32 mode)
Definition JUTGamePad.h:70
f32 getSubStickValue() const
Definition JUTGamePad.h:90
s16 mPortNum
Definition JUTGamePad.h:238
static u32 sSuppressPadReset
Definition JUTGamePad.h:230
CRumble mRumble
Definition JUTGamePad.h:237
static bool recalibrate(u32 mask)
Definition JUTGamePad.cpp:568
JUTGamePadRecordBase * mPadRecord
Definition JUTGamePad.h:241
void stopMotorWaveHard()
Definition JUTGamePad.h:175
void clear()
Definition JUTGamePad.cpp:61
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:103
s16 getPortNum() const
Definition JUTGamePad.h:98
static void checkResetSwitch()
Definition JUTGamePad.cpp:249
static PADStatus mPadStatus[4]
Definition JUTGamePad.h:223
f32 getMainStickY() const
Definition JUTGamePad.h:85
JUTGamePadRecordBase * getPadRecord() const
Definition JUTGamePad.h:101
u8 field_0x9c[4]
Definition JUTGamePad.h:244
C3ButtonReset mButtonReset
Definition JUTGamePad.h:243
CButton mButton
Definition JUTGamePad.h:234
void stopMotorHard()
Definition JUTGamePad.h:111
static JSUList< JUTGamePad > mPadList
Definition JUTGamePad.h:221
void update()
Definition JUTGamePad.cpp:202
EStickMode
Definition JUTGamePad.h:30
@ EStickMode1
Definition JUTGamePad.h:31
f32 getSubStickX() const
Definition JUTGamePad.h:88
s8 getErrorStatus() const
Definition JUTGamePad.h:96
bool isPushing3ButtonReset() const
Definition JUTGamePad.h:105
CStick mMainStick
Definition JUTGamePad.h:235
static EStickMode sStickMode
Definition JUTGamePad.h:227
static void clearResetOccurred()
Definition JUTGamePad.h:75
u32 getButton() const
Definition JUTGamePad.h:82
static CStick mPadMStick[4]
Definition JUTGamePad.h:225
static CStick mPadSStick[4]
Definition JUTGamePad.h:226
static void setResetCallback(callbackFn callback, void *arg)
Definition JUTGamePad.h:77
s16 getSubStickAngle() const
Definition JUTGamePad.h:91
JUTGamePad(JUTGamePad::EPadPort port)
Definition JUTGamePad.cpp:21
void stopMotorWave()
Definition JUTGamePad.h:109
f32 getSubStickY() const
Definition JUTGamePad.h:89
u32 getTrigger() const
Definition JUTGamePad.h:83
s8 mErrorStatus
Definition JUTGamePad.h:239
JUTGamePadRecordBase * mPadReplay
Definition JUTGamePad.h:242
static void clearForReset()
Definition JUTGamePad.cpp:267
static s32 sAnalogMode
Definition JUTGamePad.h:231
u8 getAnalogL() const
Definition JUTGamePad.h:94
u8 getAnalogA() const
Definition JUTGamePad.h:92
OSTime mResetHoldStartTime
Definition JUTGamePad.h:245
static int sClampMode
Definition JUTGamePad.h:228
void initList()
Definition JUTGamePad.cpp:44
s8 err
Definition pad.h:62