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 }