commit 3135f61

Devine Lu Linvega  ·  2024-06-29 18:55:57 +0000 UTC
parent eff6246
Removing uxn core indirection in mouse, datetime
9 files changed,  +36, -40
+0, -2
1@@ -9,8 +9,6 @@ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
2 WITH REGARD TO THIS SOFTWARE.
3 */
4 
5-#define CONSOLE_VERSION 1
6-
7 #define CONSOLE_STD 0x1
8 #define CONSOLE_ARG 0x2
9 #define CONSOLE_EOA 0x3
+6, -6
 1@@ -13,29 +13,29 @@ WITH REGARD TO THIS SOFTWARE.
 2 */
 3 
 4 void
 5-controller_down(Uxn *u, Uint8 *d, Uint8 mask)
 6+controller_down(Uint8 *d, Uint8 mask)
 7 {
 8 	if(mask) {
 9 		d[2] |= mask;
10-		uxn_eval(u, PEEK2(d));
11+		uxn_eval(&uxn, PEEK2(d));
12 	}
13 }
14 
15 void
16-controller_up(Uxn *u, Uint8 *d, Uint8 mask)
17+controller_up(Uint8 *d, Uint8 mask)
18 {
19 	if(mask) {
20 		d[2] &= (~mask);
21-		uxn_eval(u, PEEK2(d));
22+		uxn_eval(&uxn, PEEK2(d));
23 	}
24 }
25 
26 void
27-controller_key(Uxn *u, Uint8 *d, Uint8 key)
28+controller_key(Uint8 *d, Uint8 key)
29 {
30 	if(key) {
31 		d[3] = key;
32-		uxn_eval(u, PEEK2(d));
33+		uxn_eval(&uxn, PEEK2(d));
34 		d[3] = 0x00;
35 	}
36 }
+3, -3
 1@@ -11,6 +11,6 @@ WITH REGARD TO THIS SOFTWARE.
 2 
 3 #define CONTROL_VERSION 1
 4 
 5-void controller_down(Uxn *u, Uint8 *d, Uint8 mask);
 6-void controller_up(Uxn *u, Uint8 *d, Uint8 mask);
 7-void controller_key(Uxn *u, Uint8 *d, Uint8 key);
 8+void controller_down(Uint8 *d, Uint8 mask);
 9+void controller_up(Uint8 *d, Uint8 mask);
10+void controller_key(Uint8 *d, Uint8 key);
+2, -2
 1@@ -15,7 +15,7 @@ WITH REGARD TO THIS SOFTWARE.
 2 */
 3 
 4 Uint8
 5-datetime_dei(Uxn *u, Uint8 addr)
 6+datetime_dei(Uint8 addr)
 7 {
 8 	time_t seconds = time(NULL);
 9 	struct tm zt = {0};
10@@ -34,6 +34,6 @@ datetime_dei(Uxn *u, Uint8 addr)
11 	case 0xc8: return t->tm_yday >> 8;
12 	case 0xc9: return t->tm_yday;
13 	case 0xca: return t->tm_isdst;
14-	default: return u->dev[addr];
15+	default: return uxn.dev[addr];
16 	}
17 }
+1, -1
1@@ -11,4 +11,4 @@ WITH REGARD TO THIS SOFTWARE.
2 
3 #define DATETIME_VERSION 1
4 
5-Uint8 datetime_dei(Uxn *u, Uint8 addr);
6+Uint8 datetime_dei(Uint8 addr);
+8, -8
 1@@ -13,33 +13,33 @@ WITH REGARD TO THIS SOFTWARE.
 2 */
 3 
 4 void
 5-mouse_down(Uxn *u, Uint8 *d, Uint8 mask)
 6+mouse_down(Uint8 *d, Uint8 mask)
 7 {
 8 	d[6] |= mask;
 9-	uxn_eval(u, PEEK2(d));
10+	uxn_eval(&uxn, PEEK2(d));
11 }
12 
13 void
14-mouse_up(Uxn *u, Uint8 *d, Uint8 mask)
15+mouse_up(Uint8 *d, Uint8 mask)
16 {
17 	d[6] &= (~mask);
18-	uxn_eval(u, PEEK2(d));
19+	uxn_eval(&uxn, PEEK2(d));
20 }
21 
22 void
23-mouse_pos(Uxn *u, Uint8 *d, Uint16 x, Uint16 y)
24+mouse_pos(Uint8 *d, Uint16 x, Uint16 y)
25 {
26 	*(d + 2) = x >> 8, *(d + 3) = x;
27 	*(d + 4) = y >> 8, *(d + 5) = y;
28-	uxn_eval(u, PEEK2(d));
29+	uxn_eval(&uxn, PEEK2(d));
30 }
31 
32 void
33-mouse_scroll(Uxn *u, Uint8 *d, Uint16 x, Uint16 y)
34+mouse_scroll(Uint8 *d, Uint16 x, Uint16 y)
35 {
36 	*(d + 0xa) = x >> 8, *(d + 0xb) = x;
37 	*(d + 0xc) = -y >> 8, *(d + 0xd) = -y;
38-	uxn_eval(u, PEEK2(d));
39+	uxn_eval(&uxn, PEEK2(d));
40 	*(d + 0xa) = 0, *(d + 0xb) = 0;
41 	*(d + 0xc) = 0, *(d + 0xd) = 0;
42 }
+4, -6
 1@@ -9,9 +9,7 @@ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
 2 WITH REGARD TO THIS SOFTWARE.
 3 */
 4 
 5-#define MOUSE_VERSION 1
 6-
 7-void mouse_down(Uxn *u, Uint8 *d, Uint8 mask);
 8-void mouse_up(Uxn *u, Uint8 *d, Uint8 mask);
 9-void mouse_pos(Uxn *u, Uint8 *d, Uint16 x, Uint16 y);
10-void mouse_scroll(Uxn *u, Uint8 *d, Uint16 x, Uint16 y);
11+void mouse_down(Uint8 *d, Uint8 mask);
12+void mouse_up(Uint8 *d, Uint8 mask);
13+void mouse_pos(Uint8 *d, Uint16 x, Uint16 y);
14+void mouse_scroll(Uint8 *d, Uint16 x, Uint16 y);
+11, -11
 1@@ -51,7 +51,7 @@ emu_dei(Uint8 addr)
 2 	case 0x00: return system_dei(&uxn, addr);
 3 	case 0x10: return console_dei(&uxn, addr);
 4 	case 0x20: return screen_dei(&uxn, addr);
 5-	case 0xc0: return datetime_dei(&uxn, addr);
 6+	case 0xc0: return datetime_dei(addr);
 7 	}
 8 	return uxn.dev[addr];
 9 }
10@@ -158,37 +158,37 @@ emu_event(Uxn *u)
11 		case XK_F4: emu_restart(u, boot_rom, 0); break;
12 		case XK_F5: emu_restart(u, boot_rom, 1); break;
13 		}
14-		controller_down(u, &u->dev[0x80], get_button(sym));
15-		controller_key(u, &u->dev[0x80], sym < 0x80 ? sym : (Uint8)buf[0]);
16+		controller_down(&u->dev[0x80], get_button(sym));
17+		controller_key(&u->dev[0x80], sym < 0x80 ? sym : (Uint8)buf[0]);
18 	} break;
19 	case KeyRelease: {
20 		KeySym sym;
21 		char buf[7];
22 		XLookupString((XKeyPressedEvent *)&ev, buf, 7, &sym, 0);
23-		controller_up(u, &u->dev[0x80], get_button(sym));
24+		controller_up(&u->dev[0x80], get_button(sym));
25 	} break;
26 	case ButtonPress: {
27 		XButtonPressedEvent *e = (XButtonPressedEvent *)&ev;
28 		if(e->button == 4)
29-			mouse_scroll(u, &u->dev[0x90], 0, 1);
30+			mouse_scroll(&u->dev[0x90], 0, 1);
31 		else if(e->button == 5)
32-			mouse_scroll(u, &u->dev[0x90], 0, -1);
33+			mouse_scroll(&u->dev[0x90], 0, -1);
34 		else if(e->button == 6)
35-			mouse_scroll(u, &u->dev[0x90], 1, 0);
36+			mouse_scroll(&u->dev[0x90], 1, 0);
37 		else if(e->button == 7)
38-			mouse_scroll(u, &u->dev[0x90], -1, 0);
39+			mouse_scroll(&u->dev[0x90], -1, 0);
40 		else
41-			mouse_down(u, &u->dev[0x90], 0x1 << (e->button - 1));
42+			mouse_down(&u->dev[0x90], 0x1 << (e->button - 1));
43 	} break;
44 	case ButtonRelease: {
45 		XButtonPressedEvent *e = (XButtonPressedEvent *)&ev;
46-		mouse_up(u, &u->dev[0x90], 0x1 << (e->button - 1));
47+		mouse_up(&u->dev[0x90], 0x1 << (e->button - 1));
48 	} break;
49 	case MotionNotify: {
50 		XMotionEvent *e = (XMotionEvent *)&ev;
51 		int x = clamp((e->x - PAD) / uxn_screen.scale, 0, uxn_screen.width - 1);
52 		int y = clamp((e->y - PAD) / uxn_screen.scale, 0, uxn_screen.height - 1);
53-		mouse_pos(u, &u->dev[0x90], x, y);
54+		mouse_pos(&u->dev[0x90], x, y);
55 	} break;
56 	}
57 }
+1, -1
1@@ -26,7 +26,7 @@ emu_dei(Uint8 addr)
2 	switch(addr & 0xf0) {
3 	case 0x00: return system_dei(&uxn, addr);
4 	case 0x10: return console_dei(&uxn, addr);
5-	case 0xc0: return datetime_dei(&uxn, addr);
6+	case 0xc0: return datetime_dei(addr);
7 	}
8 	return uxn.dev[addr];
9 }