69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
}
- (OFString *)name
{
return @"Nintendo 3DS";
}
- (OFSet *)buttons
{
return [OFSet setWithObjects: OFGameControllerButtonA,
OFGameControllerButtonB, OFGameControllerButtonSelect,
OFGameControllerButtonStart, OFGameControllerButtonDPadRight,
OFGameControllerButtonDPadLeft, OFGameControllerButtonDPadUp,
OFGameControllerButtonDPadDown, OFGameControllerButtonR,
OFGameControllerButtonL, OFGameControllerButtonX,
OFGameControllerButtonY, OFGameControllerButtonZL,
OFGameControllerButtonZR, OFGameControllerButtonCPadRight,
OFGameControllerButtonCPadLeft, OFGameControllerButtonCPadUp,
OFGameControllerButtonCPadDown, nil];
}
- (OFSet *)pressedButtons
{
OFMutableSet *pressedButtons = [OFMutableSet setWithCapacity: 18];
u32 keys;
hidScanInput();
keys = hidKeysHeld();
if (keys & KEY_A)
[pressedButtons addObject: OFGameControllerButtonA];
|
|
|
>
|
|
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
|
}
- (OFString *)name
{
return @"Nintendo 3DS";
}
- (OFSet OF_GENERIC(OFGameControllerButton) *)buttons
{
return [OFSet setWithObjects: OFGameControllerButtonA,
OFGameControllerButtonB, OFGameControllerButtonSelect,
OFGameControllerButtonStart, OFGameControllerButtonDPadRight,
OFGameControllerButtonDPadLeft, OFGameControllerButtonDPadUp,
OFGameControllerButtonDPadDown, OFGameControllerButtonR,
OFGameControllerButtonL, OFGameControllerButtonX,
OFGameControllerButtonY, OFGameControllerButtonZL,
OFGameControllerButtonZR, OFGameControllerButtonCPadRight,
OFGameControllerButtonCPadLeft, OFGameControllerButtonCPadUp,
OFGameControllerButtonCPadDown, nil];
}
- (OFSet OF_GENERIC(OFGameControllerButton) *)pressedButtons
{
OFMutableSet OF_GENERIC(OFGameControllerButton) *pressedButtons =
[OFMutableSet setWithCapacity: 18];
u32 keys;
hidScanInput();
keys = hidKeysHeld();
if (keys & KEY_A)
[pressedButtons addObject: OFGameControllerButtonA];
|
152
153
154
155
156
157
158
159
160
161
162
163
164
|
circlePosition pos;
hidCircleRead(&pos);
return OFMakePoint(
(float)pos.dx / (pos.dx < 0 ? -INT16_MIN : INT16_MAX),
(float)pos.dy / (pos.dy < 0 ? -INT16_MIN : INT16_MAX));
}
- (OFString *)description
{
return [OFString stringWithFormat: @"<%@: %@>", self.class, self.name];
}
@end
|
>
>
>
>
>
|
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
|
circlePosition pos;
hidCircleRead(&pos);
return OFMakePoint(
(float)pos.dx / (pos.dx < 0 ? -INT16_MIN : INT16_MAX),
(float)pos.dy / (pos.dy < 0 ? -INT16_MIN : INT16_MAX));
}
- (float)pressureForButton: (OFGameControllerButton)button
{
return ([self.pressedButtons containsObject: button] ? 1 : 0);
}
- (OFString *)description
{
return [OFString stringWithFormat: @"<%@: %@>", self.class, self.name];
}
@end
|