⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 spr16x16_8.c

📁 十七种模拟器源代码 非常有用的作课程设计不可缺少的
💻 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 + -