blob: f1d8db886469555cb64312bf0ee9e70aee349333 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
#include "controller-adapter-gamepad.hh"
@implementation ControllerAdapterGamepad
- (instancetype)initWithProfile:(GCExtendedGamepad*)profile
{
self = [super init];
if (self)
{
_profile = profile;
}
return self;
}
- (nes::button_mask)readPressedButtons
{
auto res = nes::button_mask{};
if ([[[_profile dpad] up] isPressed]) { res.add(nes::buttons::up); }
if ([[[_profile dpad] down] isPressed]) { res.add(nes::buttons::down); }
if ([[[_profile dpad] left] isPressed]) { res.add(nes::buttons::left); }
if ([[[_profile dpad] right] isPressed]) { res.add(nes::buttons::right); }
if ([[_profile buttonA] isPressed]) { res.add(nes::buttons::a); }
if ([[_profile buttonB] isPressed]) { res.add(nes::buttons::b); }
if ([[_profile leftTrigger] isPressed]) { res.add(nes::buttons::select); }
if ([[_profile rightTrigger] isPressed]) { res.add(nes::buttons::start); }
return res;
}
@end
|