aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorBad Diode <bd@badd10de.dev>2023-08-30 18:23:17 +0200
committerBad Diode <bd@badd10de.dev>2023-08-30 18:23:17 +0200
commitf04783a0e084bf6f16a2c6c18f530d76ffb82eca (patch)
treef4c83b01fd31980b2868bf853fa2b7c3acb08bc9 /src
parenta1d4e282bc2398e43a085688dd483160c7144f3e (diff)
downloaduxngba-f04783a0e084bf6f16a2c6c18f530d76ffb82eca.tar.gz
uxngba-f04783a0e084bf6f16a2c6c18f530d76ffb82eca.zip
Add back controller support
Diffstat (limited to 'src')
-rw-r--r--src/input.c9
-rw-r--r--src/main.c5
2 files changed, 7 insertions, 7 deletions
diff --git a/src/input.c b/src/input.c
index c257271..375bd23 100644
--- a/src/input.c
+++ b/src/input.c
@@ -5,8 +5,8 @@ typedef enum {
5} ControlMethod; 5} ControlMethod;
6 6
7const ControlMethod ctrl_methods[] = { 7const ControlMethod ctrl_methods[] = {
8 CONTROL_MOUSE,
9 CONTROL_CONTROLLER, 8 CONTROL_CONTROLLER,
9 CONTROL_MOUSE,
10}; 10};
11static ControlMethod ctrl_idx = 0; 11static ControlMethod ctrl_idx = 0;
12 12
@@ -21,7 +21,7 @@ static Mouse mouse = {SCREEN_WIDTH / 2, SCREEN_HEIGHT / 2};
21void 21void
22handle_input() { 22handle_input() {
23 poll_keys(); 23 poll_keys();
24 if (key_tap(KEY_SELECT)) { 24 if (key_tap(KEY_L) || key_tap(KEY_R)) {
25 // Reset control variables on method switch. 25 // Reset control variables on method switch.
26 switch (ctrl_methods[ctrl_idx]) { 26 switch (ctrl_methods[ctrl_idx]) {
27 case CONTROL_CONTROLLER: { 27 case CONTROL_CONTROLLER: {
@@ -67,12 +67,12 @@ handle_input() {
67 } else { 67 } else {
68 *flag &= ~0x02; 68 *flag &= ~0x02;
69 } 69 }
70 if (key_tap(KEY_L)) { 70 if (key_tap(KEY_SELECT)) {
71 *flag |= 0x04; 71 *flag |= 0x04;
72 } else { 72 } else {
73 *flag &= ~0x04; 73 *flag &= ~0x04;
74 } 74 }
75 if (key_tap(KEY_R)) { 75 if (key_tap(KEY_START)) {
76 *flag |= 0x08; 76 *flag |= 0x08;
77 } else { 77 } else {
78 *flag &= ~0x08; 78 *flag &= ~0x08;
@@ -202,4 +202,3 @@ handle_input() {
202 } 202 }
203 } 203 }
204} 204}
205
diff --git a/src/main.c b/src/main.c
index 1679e1b..cb6091f 100644
--- a/src/main.c
+++ b/src/main.c
@@ -200,8 +200,9 @@ deo_stub(u8 *dev, u8 port) {
200 200
201u16 201u16
202dei_stub(u8 *dev, u8 port) { 202dei_stub(u8 *dev, u8 port) {
203 (void)dev; 203 if (port == 0) {
204 (void)port; 204 return PEEK2(dev);
205 }
205 return dev[port]; 206 return dev[port];
206} 207}
207 208