rendered paste bodyunsigned short sprites[8][16] = {
// 000 White
{0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000},
{0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000},
// 001 Light Gray
{0x0000,0xFFFF,0x0000,0xFFFF,0x0000,0xFFFF,0x0000,0xFFFF,0x0000,0xFFFF,0x0000,0xFFFF,0x0000,0xFFFF,0x0000,0xFFFF},
{0x0000,0xFFFF,0x0000,0xFFFF,0x0000,0xFFFF,0x0000,0xFFFF,0x0000,0xFFFF,0x0000,0xFFFF,0x0000,0xFFFF,0x0000,0xFFFF},
// 002 Dark Gray
{0xFFFF,0x0000,0xFFFF,0x0000,0xFFFF,0x0000,0xFFFF,0x0000,0xFFFF,0x0000,0xFFFF,0x0000,0xFFFF,0x0000,0xFFFF,0x0000},
{0xFFFF,0x0000,0xFFFF,0x0000,0xFFFF,0x0000,0xFFFF,0x0000,0xFFFF,0x0000,0xFFFF,0x0000,0xFFFF,0x0000,0xFFFF,0x0000},
// 003 Black
{0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF},
{0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF,0xFFFF}
};
unsigned short masks[4][16] = {
// 000 White
{~0x0000,~0x0000,~0x0000,~0x0000,~0x0000,~0x0000,~0x0000,~0x0000,~0x0000,~0x0000,~0x0000,~0x0000,~0x0000,~0x0000,~0x0000,~0x0000},
// 001 Light Gray
{~0x0000,~0xFFFF,~0x0000,~0xFFFF,~0x0000,~0xFFFF,~0x0000,~0xFFFF,~0x0000,~0xFFFF,~0x0000,~0xFFFF,~0x0000,~0xFFFF,~0x0000,~0xFFFF},
// 002 Dark Gray
{~0xFFFF,~0x0000,~0xFFFF,~0x0000,~0xFFFF,~0x0000,~0xFFFF,~0x0000,~0xFFFF,~0x0000,~0xFFFF,~0x0000,~0xFFFF,~0x0000,~0xFFFF,~0x0000},
// 003 Black
{~0xFFFF,~0xFFFF,~0xFFFF,~0xFFFF,~0xFFFF,~0xFFFF,~0xFFFF,~0xFFFF,~0xFFFF,~0xFFFF,~0xFFFF,~0xFFFF,~0xFFFF,~0xFFFF,~0xFFFF,~0xFFFF},
};
unsigned short tilemap[9][12] = {
{1,1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1,1},
{1,1,1,1,1,1,1,1,1}
};
void ClipGrayDrawTilemap16(short x, short y, void *map, void *tiles, void *masks, void *light, void *dark) {
short **mapptr=map;
short **tilesptr=tiles;
short **masksptr=masks;
short loop_w=0;
short loop_v=0;
ClipSprite16(50,50,16,tilesptr[2],light,SPRT_OR);
ClipSprite16(50,50,16,tilesptr[2],dark,SPRT_OR);
for(;loop_v<8;loop_v++) {
for(loop_w=0;loop_w<11;loop_w++) {
ClipSprite16((-(x&15))+(loop_w<<4),-(y&15)+(loop_v<<4),16,masksptr[mapptr[loop_v][loop_w]],light,SPRT_AND);
ngetchx();
ClipSprite16((-(x&15))+(loop_w<<4),-(y&15)+(loop_v<<4),16,masksptr[mapptr[loop_v][loop_w]],dark,SPRT_AND);
ClipSprite16((-(x&15))+(loop_w<<4),-(y&15)+(loop_v<<4),16,tilesptr[mapptr[loop_v][loop_w]*2],light,SPRT_OR);
ClipSprite16((-(x&15))+(loop_w<<4),-(y&15)+(loop_v<<4),16,tilesptr[(mapptr[loop_v][loop_w]*2)+1],dark,SPRT_OR);
}
}
}