All pastes #267797 Raw Edit

Mine

public text v1 · immutable
·published 2006-12-05 02:47 UTC
rendered paste body
unsigned 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);
						
				}
		}		
	
	
}