📄 spr16x16_8.c
字号:
/******************************************************************************//* *//* RAINE 16x16 TILE DRAWING *//* *//******************************************************************************/#include "deftypes.h"#include "raine.h"/*MappedTransparent MappedDirect-MappedTransparent Direct-Mapped*/void init_spr16x16asm(void){}// 16x16 mapped spritesvoid Draw16x16_Mapped(UINT8 *SPR, int x, int y, UINT8 *cmap){ UINT8 *line; int xx,yy; for(yy=0; yy<16; yy++){ line = GameBitmap->line[y+yy] + x; for(xx=0; xx<16; xx++){ *line++ = cmap[ *SPR++ ]; } }}void Draw16x16_Mapped_FlipX(UINT8 *SPR, int x, int y, UINT8 *cmap){ UINT8 *line; int xx,yy; for(yy=15; yy>=0; yy--){ line = GameBitmap->line[y+yy] + x; for(xx=0; xx<16; xx++){ *line++ = cmap[ *SPR++ ]; } }}void Draw16x16_Mapped_FlipY(UINT8 *SPR, int x, int y, UINT8 *cmap){ UINT8 *line; int xx,yy; for(yy=0; yy<16; yy++){ line = GameBitmap->line[y+yy] + x + 7; for(xx=0; xx<16; xx++){ *line-- = cmap[ *SPR++ ]; } }}void Draw16x16_Mapped_FlipXY(UINT8 *SPR, int x, int y, UINT8 *cmap){ UINT8 *line; int xx,yy; for(yy=15; yy>=0; yy--){ line = GameBitmap->line[y+yy] + x + 7; for(xx=0; xx<16; xx++){ *line-- = cmap[ *SPR++ ]; } }}// 16x16 mapped transparent spritesvoid Draw16x16_Trans_Mapped(UINT8 *SPR, int x, int y, UINT8 *cmap){ UINT8 *line; int xx,yy; for(yy=0; yy<16; yy++){ line = GameBitmap->line[y+yy] + x; for(xx=0; xx<16; xx++, SPR++){ if(*SPR) line[xx] = cmap[ *SPR ]; } }}void Draw16x16_Trans_Mapped_FlipX(UINT8 *SPR, int x, int y, UINT8 *cmap){ UINT8 *line; int xx,yy; for(yy=15; yy>=0; yy--){ line = GameBitmap->line[y+yy] + x; for(xx=0; xx<16; xx++, SPR++){ if(*SPR) line[xx] = cmap[ *SPR ]; } }}void Draw16x16_Trans_Mapped_FlipY(UINT8 *SPR, int x, int y, UINT8 *cmap){ UINT8 *line; int xx,yy; for(yy=0; yy<16; yy++){ line = GameBitmap->line[y+yy] + x; for(xx=15; xx>=0; xx--, SPR++){ if(*SPR) line[xx] = cmap[ *SPR ]; } }}void Draw16x16_Trans_Mapped_FlipXY(UINT8 *SPR, int x, int y, UINT8 *cmap){ UINT8 *line; int xx,yy; for(yy=15; yy>=0; yy--){ line = GameBitmap->line[y+yy] + x; for(xx=15; xx>=0; xx--, SPR++){ if(*SPR) line[xx] = cmap[ *SPR ]; } }}// 16x16 spritesvoid Draw16x16(UINT8 *SPR, int x, int y, UINT8 cmap){ UINT8 *line; int xx,yy; for(yy=0; yy<16; yy++){ line = GameBitmap->line[y+yy] + x; for(xx=0; xx<16; xx++){ *line++ = *SPR++ | cmap; } }}void Draw16x16_FlipX(UINT8 *SPR, int x, int y, UINT8 cmap){ UINT8 *line; int xx,yy; for(yy=15; yy>=0; yy--){ line = GameBitmap->line[y+yy] + x; for(xx=0; xx<16; xx++){ *line++ = *SPR++ | cmap; } }}void Draw16x16_FlipY(UINT8 *SPR, int x, int y, UINT8 cmap){ UINT8 *line; int xx,yy; for(yy=0; yy<16; yy++){ line = GameBitmap->line[y+yy] + x + 7; for(xx=0; xx<16; xx++){ *line-- = *SPR++ | cmap; } }}void Draw16x16_FlipXY(UINT8 *SPR, int x, int y, UINT8 cmap){ UINT8 *line; int xx,yy; for(yy=15; yy>=0; yy--){ line = GameBitmap->line[y+yy] + x + 7; for(xx=0; xx<16; xx++){ *line-- = *SPR++ | cmap; } }}// 16x16 transparent spritesvoid Draw16x16_Trans(UINT8 *SPR, int x, int y, UINT8 cmap){ UINT8 *line; int xx,yy; for(yy=0; yy<16; yy++){ line = GameBitmap->line[y+yy] + x; for(xx=0; xx<16; xx++, SPR++){ if(*SPR) line[xx] = *SPR | cmap; } }}void Draw16x16_Trans_FlipX(UINT8 *SPR, int x, int y, UINT8 cmap){ UINT8 *line; int xx,yy; for(yy=15; yy>=0; yy--){ line = GameBitmap->line[y+yy] + x; for(xx=0; xx<16; xx++, SPR++){ if(*SPR) line[xx] = *SPR | cmap; } }}void Draw16x16_Trans_FlipY(UINT8 *SPR, int x, int y, UINT8 cmap){ UINT8 *line; int xx,yy; for(yy=0; yy<16; yy++){ line = GameBitmap->line[y+yy] + x; for(xx=15; xx>=0; xx--, SPR++){ if(*SPR) line[xx] = *SPR | cmap; } }}void Draw16x16_Trans_FlipXY(UINT8 *SPR, int x, int y, UINT8 cmap){ UINT8 *line; int xx,yy; for(yy=15; yy>=0; yy--){ line = GameBitmap->line[y+yy] + x; for(xx=15; xx>=0; xx--, SPR++){ if(*SPR) line[xx] = *SPR | cmap; } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -