merged ppu code, added input+zapper, FDS/VS insert in menu
[fceu.git] / input / cursor.c
1 #include "share.h"
2
3 static 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 };
18 static 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
41 void 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
67 void 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)
83       buf[c*SCREEN_WIDTH+d+SCREEN_OFFS]=a+127;
84     }
85    }
86 }