merged ppu code, added input+zapper, FDS/VS insert in menu
[fceu.git] / input / cursor.c
CommitLineData
c62d2810 1#include "share.h"
2
e328100e 3static uint8 GunSight[]={
4 0,0,0,0,0,0,1,0,0,0,0,0,0,
5 0,0,0,0,0,0,2,0,0,0,0,0,0,
6 0,0,0,0,0,0,1,0,0,0,0,0,0,
7 0,0,0,0,0,0,2,0,0,0,0,0,0,
8 0,0,0,0,0,0,0,0,0,0,0,0,0,
9 0,0,0,0,0,0,3,0,0,0,0,0,0,
10 1,2,1,2,0,3,3,3,0,2,1,2,1,
11 0,0,0,0,0,0,3,0,0,0,0,0,0,
12 0,0,0,0,0,0,0,0,0,0,0,0,0,
13 0,0,0,0,0,0,2,0,0,0,0,0,0,
14 0,0,0,0,0,0,1,0,0,0,0,0,0,
15 0,0,0,0,0,0,2,0,0,0,0,0,0,
16 0,0,0,0,0,0,1,0,0,0,0,0,0,
17};
c62d2810 18static uint8 FCEUcursor[11*19]=
19{
20 1,0,0,0,0,0,0,0,0,0,0,
21 1,1,0,0,0,0,0,0,0,0,0,
22 1,2,1,0,0,0,0,0,0,0,0,
23 1,2,2,1,0,0,0,0,0,0,0,
24 1,2,2,2,1,0,0,0,0,0,0,
25 1,2,2,2,2,1,0,0,0,0,0,
26 1,2,2,2,2,2,1,0,0,0,0,
27 1,2,2,2,2,2,2,1,0,0,0,
28 1,2,2,2,2,2,2,2,1,0,0,
29 1,2,2,2,2,2,2,2,2,1,0,
30 1,2,2,2,2,2,1,1,1,1,1,
31 1,2,2,1,2,2,1,0,0,0,0,
32 1,2,1,0,1,2,2,1,0,0,0,
33 1,1,0,0,1,2,2,1,0,0,0,
34 1,0,0,0,0,1,2,2,1,0,0,
35 0,0,0,0,0,1,2,2,1,0,0,
36 0,0,0,0,0,0,1,2,2,1,0,
37 0,0,0,0,0,0,1,2,2,1,0,
38 0,0,0,0,0,0,0,1,1,0,0,
39};
40
e328100e 41void FCEU_DrawGunSight(uint8 *buf, int xc, int yc)
42{
43 int x,y;
44 int c,d;
45
46 for(y=0;y<13;y++)
47 for(x=0;x<13;x++)
48 {
49 uint8 a;
50 a=GunSight[y*13+x];
51 if(a)
52 {
53 c=(yc+y-7);
54 d=(xc+x-7);
55 if(c>=0 && d>=0 && d<256 && c<240)
56 {
57 if(a==3)
58 buf[c*SCREEN_WIDTH+d+SCREEN_OFFS]=0xBF-(buf[c*SCREEN_WIDTH+d+SCREEN_OFFS]&0x3F);
59 else
60 buf[c*SCREEN_WIDTH+d+SCREEN_OFFS]=a-1;
61 }
62 }
63 }
64}
65
66
c62d2810 67void FCEU_DrawCursor(uint8 *buf, int xc, int yc)
68{
69 int x,y;
70 int c,d;
71
72 if(xc<256 && yc<240)
73 for(y=0;y<19;y++)
74 for(x=0;x<11;x++)
75 {
76 uint8 a;
77 a=FCEUcursor[y*11+x];
78 if(a)
79 {
80 c=(yc+y);
81 d=(xc+x);
82 if(d<256 && c<240)
e328100e 83 buf[c*SCREEN_WIDTH+d+SCREEN_OFFS]=a+127;
c62d2810 84 }
85 }
86}