Initial commit - http://sourceforge.net/p/fceumm/code/160/
This commit is contained in:
79
src/input/cursor.c
Normal file
79
src/input/cursor.c
Normal file
@@ -0,0 +1,79 @@
|
||||
#include "share.h"
|
||||
|
||||
static uint8 GunSight[] = {
|
||||
0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
|
||||
1, 2, 1, 2, 0, 3, 3, 3, 0, 2, 1, 2, 1,
|
||||
0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
|
||||
};
|
||||
static uint8 FCEUcursor[11 * 19] =
|
||||
{
|
||||
1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0,
|
||||
1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0,
|
||||
1, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0,
|
||||
1, 2, 2, 2, 2, 1, 0, 0, 0, 0, 0,
|
||||
1, 2, 2, 2, 2, 2, 1, 0, 0, 0, 0,
|
||||
1, 2, 2, 2, 2, 2, 2, 1, 0, 0, 0,
|
||||
1, 2, 2, 2, 2, 2, 2, 2, 1, 0, 0,
|
||||
1, 2, 2, 2, 2, 2, 2, 2, 2, 1, 0,
|
||||
1, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1,
|
||||
1, 2, 2, 1, 2, 2, 1, 0, 0, 0, 0,
|
||||
1, 2, 1, 0, 1, 2, 2, 1, 0, 0, 0,
|
||||
1, 1, 0, 0, 1, 2, 2, 1, 0, 0, 0,
|
||||
1, 0, 0, 0, 0, 1, 2, 2, 1, 0, 0,
|
||||
0, 0, 0, 0, 0, 1, 2, 2, 1, 0, 0,
|
||||
0, 0, 0, 0, 0, 0, 1, 2, 2, 1, 0,
|
||||
0, 0, 0, 0, 0, 0, 1, 2, 2, 1, 0,
|
||||
0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
|
||||
};
|
||||
|
||||
void FCEU_DrawGunSight(uint8 *buf, int xc, int yc) {
|
||||
int x, y;
|
||||
int c, d;
|
||||
|
||||
for (y = 0; y < 13; y++)
|
||||
for (x = 0; x < 13; x++) {
|
||||
uint8 a;
|
||||
a = GunSight[y * 13 + x];
|
||||
if (a) {
|
||||
c = (yc + y - 7);
|
||||
d = (xc + x - 7);
|
||||
if (c >= 0 && d >= 0 && d < 256 && c < 240) {
|
||||
if (a == 3)
|
||||
buf[c * 256 + d] = 0xBF - (buf[c * 256 + d] & 0x3F);
|
||||
else
|
||||
buf[c * 256 + d] = a - 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void FCEU_DrawCursor(uint8 *buf, int xc, int yc) {
|
||||
int x, y;
|
||||
int c, d;
|
||||
|
||||
if (xc < 256 && yc < 240)
|
||||
for (y = 0; y < 19; y++)
|
||||
for (x = 0; x < 11; x++) {
|
||||
uint8 a;
|
||||
a = FCEUcursor[y * 11 + x];
|
||||
if (a) {
|
||||
c = (yc + y);
|
||||
d = (xc + x);
|
||||
if (d < 256 && c < 240)
|
||||
buf[c * 256 + d] = a + 127;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user