Loading [MathJax]/extensions/tex2jax.js
Twilight Princess
Decompilation of The Legend of Zelda: Twilight Princess
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
pad.h
Go to the documentation of this file.
1#ifndef _DOLPHIN_PAD_H_
2#define _DOLPHIN_PAD_H_
3
4#include <dolphin/types.h>
5
6#ifdef __cplusplus
7extern "C" {
8#endif
9
10#define PAD_SPEC_0 0
11#define PAD_SPEC_1 1
12#define PAD_SPEC_2 2
13#define PAD_SPEC_3 3
14#define PAD_SPEC_4 4
15#define PAD_SPEC_5 5
16
17#define PAD_MOTOR_STOP 0
18#define PAD_MOTOR_RUMBLE 1
19#define PAD_MOTOR_STOP_HARD 2
20
21#define PAD_CHAN0_BIT 0x80000000
22#define PAD_CHAN1_BIT 0x40000000
23#define PAD_CHAN2_BIT 0x20000000
24#define PAD_CHAN3_BIT 0x10000000
25
26#define PAD_MAX_CONTROLLERS 4
27
28#define PAD_BUTTON_LEFT (1 << 0) // 0x0001
29#define PAD_BUTTON_RIGHT (1 << 1) // 0x0002
30#define PAD_BUTTON_DOWN (1 << 2) // 0x0004
31#define PAD_BUTTON_UP (1 << 3) // 0x0008
32#define PAD_TRIGGER_Z (1 << 4) // 0x0010
33#define PAD_TRIGGER_R (1 << 5) // 0x0020
34#define PAD_TRIGGER_L (1 << 6) // 0x0040
35#define PAD_BUTTON_A (1 << 8) // 0x0100
36#define PAD_BUTTON_B (1 << 9) // 0x0200
37#define PAD_BUTTON_X (1 << 10) // 0x0400
38#define PAD_BUTTON_Y (1 << 11) // 0x0800
39#define PAD_BUTTON_MENU (1 << 12) // 0x1000
40#define PAD_BUTTON_START (1 << 12) // 0x1000
41
42#define PAD_ERR_NONE 0
43#define PAD_ERR_NO_CONTROLLER -1
44#define PAD_ERR_NOT_READY -2
45#define PAD_ERR_TRANSFER -3
46
47#define RES_WIRELESS_LITE 0x40000
48
49typedef struct PADStatus {
50 /* 0x00 */ u16 button;
51 /* 0x02 */ s8 stickX;
52 /* 0x03 */ s8 stickY;
53 /* 0x04 */ s8 substickX;
54 /* 0x05 */ s8 substickY;
55 /* 0x06 */ u8 triggerLeft;
56 /* 0x07 */ u8 triggerRight;
57 /* 0x08 */ u8 analogA;
58 /* 0x09 */ u8 analogB;
59 /* 0x0A */ s8 err;
61
74
75typedef void (*PADSamplingCallback)(void);
76
77// Pad
78int PADReset(u32 mask);
82void PADSetSamplingRate(u32 msec);
83void __PADTestSamplingRate(u32 tvmode);
84void PADControlAllMotors(const u32* commandArray);
85void PADControlMotor(s32 chan, u32 command);
86void PADSetSpec(u32 spec);
88int PADGetType(s32 chan, u32* type);
89BOOL PADSync(void);
92BOOL PADIsBarrel(s32 chan);
93
95
96// Padclamp
99
100#ifdef __cplusplus
101}
102#endif
103
104#endif
u32 mode
Definition GXTev.c:56
static u32 status
Definition fstload.c:9
void PADControlAllMotors(const u32 *commandArray)
Definition Pad.c:490
BOOL PADIsBarrel(s32 chan)
Definition Pad.c:831
BOOL __PADDisableRecalibration(BOOL disable)
Definition Pad.c:802
struct PADStatus PADStatus
PADSamplingCallback PADSetSamplingCallback(PADSamplingCallback callback)
Definition Pad.c:788
u32 PADGetSpec()
Definition Pad.c:561
struct PADClampRegion PADClampRegion
int PADReset(u32 mask)
Definition Pad.c:302
BOOL PADSync(void)
Definition Pad.c:728
void PADControlMotor(s32 chan, u32 command)
Definition Pad.c:520
BOOL PADInit()
Definition Pad.c:358
void __PADTestSamplingRate(u32 tvmode)
Definition Pad.c:485
BOOL PADRecalibrate(u32 mask)
Definition Pad.c:331
int PADGetType(s32 chan, u32 *type)
Definition Pad.c:717
void PADSetSamplingRate(u32 msec)
Definition Pad.c:480
void PADClampCircle(PADStatus *status)
Definition Padclamp.c:142
void PADSetSpec(u32 spec)
Definition Pad.c:540
void PADClamp(PADStatus *status)
Definition Padclamp.c:129
u32 PADRead(PADStatus *status)
Definition Pad.c:390
void(* PADSamplingCallback)(void)
Definition pad.h:75
void PADSetAnalogMode(u32 mode)
Definition Pad.c:732
Definition pad.h:62
u8 maxTrigger
Definition pad.h:64
s8 xyStick
Definition pad.h:67
s8 radStick
Definition pad.h:71
s8 minSubstick
Definition pad.h:68
s8 radSubstick
Definition pad.h:72
s8 xySubstick
Definition pad.h:70
u8 minTrigger
Definition pad.h:63
s8 maxStick
Definition pad.h:66
s8 maxSubstick
Definition pad.h:69
s8 minStick
Definition pad.h:65
Definition pad.h:49
u8 triggerLeft
Definition pad.h:55
s8 stickY
Definition pad.h:52
s8 substickY
Definition pad.h:54
s8 stickX
Definition pad.h:51
u8 analogA
Definition pad.h:57
u8 triggerRight
Definition pad.h:56
u16 button
Definition pad.h:50
u8 analogB
Definition pad.h:58
s8 substickX
Definition pad.h:53
s8 err
Definition pad.h:59
int BOOL
Definition types.h:30
signed char s8
Definition types.h:4
unsigned long u32
Definition types.h:9
unsigned short int u16
Definition types.h:7
signed long s32
Definition types.h:8
unsigned char u8
Definition types.h:5