commit ab6ce6b
neauoire
·
2022-04-05 16:17:08 +0000 UTC
parent 9c34a59
Removed mouse as Device
6 files changed,
+28,
-25
M
build.sh
+1,
-0
1@@ -1,6 +1,7 @@
2 #!/bin/sh -e
3
4 clang-format -i src/uxn11.c
5+clang-format -i src/devices/*
6
7 echo "Cleaning.."
8 rm -f ./bin/*
+16,
-16
1@@ -14,33 +14,33 @@ WITH REGARD TO THIS SOFTWARE.
2 */
3
4 void
5-mouse_down(Device *d, Uint8 mask)
6+mouse_down(Uxn *u, Uint8 *d, Uint8 mask)
7 {
8- d->dat[6] |= mask;
9- uxn_eval(d->u, GETVECTOR(d));
10+ d[6] |= mask;
11+ uxn_eval(u, GETVEC(d));
12 }
13
14 void
15-mouse_up(Device *d, Uint8 mask)
16+mouse_up(Uxn *u, Uint8 *d, Uint8 mask)
17 {
18- d->dat[6] &= (~mask);
19- uxn_eval(d->u, GETVECTOR(d));
20+ d[6] &= (~mask);
21+ uxn_eval(u, GETVEC(d));
22 }
23
24 void
25-mouse_pos(Device *d, Uint16 x, Uint16 y)
26+mouse_pos(Uxn *u, Uint8 *d, Uint16 x, Uint16 y)
27 {
28- DEVPOKE16(0x2, x);
29- DEVPOKE16(0x4, y);
30- uxn_eval(d->u, GETVECTOR(d));
31+ POKDEV(0x2, x);
32+ POKDEV(0x4, y);
33+ uxn_eval(u, GETVEC(d));
34 }
35
36 void
37-mouse_scroll(Device *d, Uint16 x, Uint16 y)
38+mouse_scroll(Uxn *u, Uint8 *d, Uint16 x, Uint16 y)
39 {
40- DEVPOKE16(0xa, x);
41- DEVPOKE16(0xc, -y);
42- uxn_eval(d->u, GETVECTOR(d));
43- DEVPOKE16(0xa, 0);
44- DEVPOKE16(0xc, 0);
45+ POKDEV(0xa, x);
46+ POKDEV(0xc, -y);
47+ uxn_eval(u, GETVEC(d));
48+ POKDEV(0xa, 0);
49+ POKDEV(0xc, 0);
50 }
+4,
-4
1@@ -10,7 +10,7 @@ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
2 WITH REGARD TO THIS SOFTWARE.
3 */
4
5-void mouse_down(Device *d, Uint8 mask);
6-void mouse_up(Device *d, Uint8 mask);
7-void mouse_pos(Device *d, Uint16 x, Uint16 y);
8-void mouse_scroll(Device *d, Uint16 x, Uint16 y);
9+void mouse_down(Uxn *u, Uint8 *d, Uint8 mask);
10+void mouse_up(Uxn *u, Uint8 *d, Uint8 mask);
11+void mouse_pos(Uxn *u, Uint8 *d, Uint16 x, Uint16 y);
12+void mouse_scroll(Uxn *u, Uint8 *d, Uint16 x, Uint16 y);
+2,
-2
1@@ -55,8 +55,8 @@ void
2 system_deo(Device *d, Uint8 port)
3 {
4 switch(port) {
5- case 0x2: d->u->wst = (Stack*)(d->u->ram + (d->dat[port] ? (d->dat[port] * 0x100) : 0x10000)); break;
6- case 0x3: d->u->rst = (Stack*)(d->u->ram + (d->dat[port] ? (d->dat[port] * 0x100) : 0x10100)); break;
7+ case 0x2: d->u->wst = (Stack *)(d->u->ram + (d->dat[port] ? (d->dat[port] * 0x100) : 0x10000)); break;
8+ case 0x3: d->u->rst = (Stack *)(d->u->ram + (d->dat[port] ? (d->dat[port] * 0x100) : 0x10100)); break;
9 case 0xe: system_inspect(d->u); break;
10 default: system_deo_special(d, port);
11 }
+2,
-0
1@@ -22,7 +22,9 @@ typedef unsigned int Uint32;
2 #define DEVPEEK16(o, x) { (o) = (d->dat[(x)] << 8) + d->dat[(x) + 1]; }
3 #define DEVPOKE16(x, y) { d->dat[(x)] = (y) >> 8; d->dat[(x) + 1] = (y); }
4 #define GETVECTOR(d) ((d)->dat[0] << 8 | (d)->dat[1])
5+
6 #define GETVEC(d) ((d)[0] << 8 | (d)[1])
7+#define POKDEV(x, y) { d[(x)] = (y) >> 8; d[(x) + 1] = (y); }
8
9 /* clang-format on */
10
+3,
-3
1@@ -155,15 +155,15 @@ processEvent(void)
2 } break;
3 case ButtonPress: {
4 XButtonPressedEvent *e = (XButtonPressedEvent *)&ev;
5- mouse_down(devmouse, 0x1 << (e->button - 1));
6+ mouse_down(devmouse->u, devmouse->dat, 0x1 << (e->button - 1));
7 } break;
8 case ButtonRelease: {
9 XButtonPressedEvent *e = (XButtonPressedEvent *)&ev;
10- mouse_up(devmouse, 0x1 << (e->button - 1));
11+ mouse_up(devmouse->u, devmouse->dat, 0x1 << (e->button - 1));
12 } break;
13 case MotionNotify: {
14 XMotionEvent *e = (XMotionEvent *)&ev;
15- mouse_pos(devmouse, e->x, e->y);
16+ mouse_pos(devmouse->u, devmouse->dat, e->x, e->y);
17 } break;
18 }
19 }