📄 spz16x16.c
字号:
BIT+=GameBitmap->w; }while((++yy)<zoom_y); }}/******************************************************************************/void Draw16x16_ZoomXY(UINT8 *SPR, int x, int y, UINT8 cmap, int zoom_x, int zoom_y){ UINT8 *BIT,*SSS,*ZZX,*ZZY; int xx,yy; if((zoom_x+zoom_y)==32){ Draw16x16(SPR,x,y,cmap); return; } if((zoom_x!=0)&&(zoom_y!=0)){ ZZX=zoom_1616_dat+(zoom_x<<4); ZZY=zoom_1616_dat+(zoom_y<<4); BIT=GameBitmap->line[y]+x; yy=0; do{ SSS=SPR+(ZZY[yy]<<4); xx=0; do{ BIT[xx] = SSS[ZZX[xx]] | cmap; }while((++xx)<zoom_x); BIT+=GameBitmap->w; }while((++yy)<zoom_y); }}void Draw16x16_ZoomXY_FlipY(UINT8 *SPR, int x, int y, UINT8 cmap, int zoom_x, int zoom_y){ UINT8 *BIT,*SSS,*ZZX,*ZZY; int xx,yy; if((zoom_x+zoom_y)==32){ Draw16x16_FlipY(SPR,x,y,cmap); return; } if((zoom_x!=0)&&(zoom_y!=0)){ ZZX=zoom_1616r_dat+(zoom_x<<4); ZZY=zoom_1616_dat+(zoom_y<<4); BIT=GameBitmap->line[y]+x; yy=0; do{ SSS=SPR+(ZZY[yy]<<4); xx=0; do{ BIT[xx] = SSS[ZZX[xx]] | cmap; }while((++xx)<zoom_x); BIT+=GameBitmap->w; }while((++yy)<zoom_y); }}void Draw16x16_ZoomXY_FlipX(UINT8 *SPR, int x, int y, UINT8 cmap, int zoom_x, int zoom_y){ UINT8 *BIT,*SSS,*ZZX,*ZZY; int xx,yy; if((zoom_x+zoom_y)==32){ Draw16x16_FlipX(SPR,x,y,cmap); return; } if((zoom_x!=0)&&(zoom_y!=0)){ ZZX=zoom_1616_dat+(zoom_x<<4); ZZY=zoom_1616r_dat+(zoom_y<<4); BIT=GameBitmap->line[y]+x; yy=0; do{ SSS=SPR+(ZZY[yy]<<4); xx=0; do{ BIT[xx] = SSS[ZZX[xx]] | cmap; }while((++xx)<zoom_x); BIT+=GameBitmap->w; }while((++yy)<zoom_y); }}void Draw16x16_ZoomXY_FlipXY(UINT8 *SPR, int x, int y, UINT8 cmap, int zoom_x, int zoom_y){ UINT8 *BIT,*SSS,*ZZX,*ZZY; int xx,yy; if((zoom_x+zoom_y)==32){ Draw16x16_FlipXY(SPR,x,y,cmap); return; } if((zoom_x!=0)&&(zoom_y!=0)){ ZZX=zoom_1616r_dat+(zoom_x<<4); ZZY=zoom_1616r_dat+(zoom_y<<4); BIT=GameBitmap->line[y]+x; yy=0; do{ SSS=SPR+(ZZY[yy]<<4); xx=0; do{ BIT[xx] = SSS[ZZX[xx]] | cmap; }while((++xx)<zoom_x); BIT+=GameBitmap->w; }while((++yy)<zoom_y); }}/******************************************************************************/void Draw16x16_32_Trans_Mapped_ZoomXY(UINT8 *SPR, int x, int y, UINT8 *cmap, int zoom_x, int zoom_y){ UINT8 *BIT,*SSS,*ZZX,*ZZY; int xx,yy; if((zoom_x==16)&&(zoom_y==16)){ Draw16x16_Trans_Mapped(SPR,x,y,cmap); return; } if((zoom_x!=0)&&(zoom_y!=0)){ ZZX=zoom_1632_dat+(zoom_x<<5); ZZY=zoom_1632_dat+(zoom_y<<5); BIT=GameBitmap->line[y]+x; yy=0; do{ SSS=SPR+(ZZY[yy]<<4); xx=0; do{ if(SSS[ZZX[xx]]!=0) BIT[xx]=cmap[SSS[ZZX[xx]]]; }while((++xx)<zoom_x); BIT+=GameBitmap->w; }while((++yy)<zoom_y); }}void Draw16x16_32_Trans_Mapped_ZoomXY_FlipY(UINT8 *SPR, int x, int y, UINT8 *cmap, int zoom_x, int zoom_y){ UINT8 *BIT,*SSS,*ZZX,*ZZY; int xx,yy; if((zoom_x==16)&&(zoom_y==16)){ Draw16x16_Trans_Mapped_FlipY(SPR,x,y,cmap); return; } if((zoom_x!=0)&&(zoom_y!=0)){ ZZX=zoom_1632r_dat+(zoom_x<<5); ZZY=zoom_1632_dat+(zoom_y<<5); BIT=GameBitmap->line[y]+x; yy=0; do{ SSS=SPR+(ZZY[yy]<<4); xx=0; do{ if(SSS[ZZX[xx]]!=0) BIT[xx]=cmap[SSS[ZZX[xx]]]; }while((++xx)<zoom_x); BIT+=GameBitmap->w; }while((++yy)<zoom_y); }}void Draw16x16_32_Trans_Mapped_ZoomXY_FlipX(UINT8 *SPR, int x, int y, UINT8 *cmap, int zoom_x, int zoom_y){ UINT8 *BIT,*SSS,*ZZX,*ZZY; int xx,yy; if((zoom_x==16)&&(zoom_y==16)){ Draw16x16_Trans_Mapped_FlipX(SPR,x,y,cmap); return; } if((zoom_x!=0)&&(zoom_y!=0)){ ZZX=zoom_1632_dat+(zoom_x<<5); ZZY=zoom_1632r_dat+(zoom_y<<5); BIT=GameBitmap->line[y]+x; yy=0; do{ SSS=SPR+(ZZY[yy]<<4); xx=0; do{ if(SSS[ZZX[xx]]!=0) BIT[xx]=cmap[SSS[ZZX[xx]]]; }while((++xx)<zoom_x); BIT+=GameBitmap->w; }while((++yy)<zoom_y); }}void Draw16x16_32_Trans_Mapped_ZoomXY_FlipXY(UINT8 *SPR, int x, int y, UINT8 *cmap, int zoom_x, int zoom_y){ UINT8 *BIT,*SSS,*ZZX,*ZZY; int xx,yy; if((zoom_x==16)&&(zoom_y==16)){ Draw16x16_Trans_Mapped_FlipXY(SPR,x,y,cmap); return; } if((zoom_x!=0)&&(zoom_y!=0)){ ZZX=zoom_1632r_dat+(zoom_x<<5); ZZY=zoom_1632r_dat+(zoom_y<<5); BIT=GameBitmap->line[y]+x; yy=0; do{ SSS=SPR+(ZZY[yy]<<4); xx=0; do{ if(SSS[ZZX[xx]]!=0) BIT[xx]=cmap[SSS[ZZX[xx]]]; }while((++xx)<zoom_x); BIT+=GameBitmap->w; }while((++yy)<zoom_y); }}/******************************************************************************/void Draw16x16_32_Mapped_ZoomXY(UINT8 *SPR, int x, int y, UINT8 *cmap, int zoom_x, int zoom_y){ UINT8 *BIT,*SSS,*ZZX,*ZZY; int xx,yy; if((zoom_x==16)&&(zoom_y==16)){ Draw16x16_Mapped(SPR,x,y,cmap); return; } if((zoom_x!=0)&&(zoom_y!=0)){ ZZX=zoom_1632_dat+(zoom_x<<5); ZZY=zoom_1632_dat+(zoom_y<<5); BIT=GameBitmap->line[y]+x; yy=0; do{ SSS=SPR+(ZZY[yy]<<4); xx=0; do{ BIT[xx]=cmap[SSS[ZZX[xx]]]; }while((++xx)<zoom_x); BIT+=GameBitmap->w; }while((++yy)<zoom_y); }}void Draw16x16_32_Mapped_ZoomXY_FlipY(UINT8 *SPR, int x, int y, UINT8 *cmap, int zoom_x, int zoom_y){ UINT8 *BIT,*SSS,*ZZX,*ZZY; int xx,yy; if((zoom_x==16)&&(zoom_y==16)){ Draw16x16_Mapped_FlipY(SPR,x,y,cmap); return; } if((zoom_x!=0)&&(zoom_y!=0)){ ZZX=zoom_1632r_dat+(zoom_x<<5); ZZY=zoom_1632_dat+(zoom_y<<5); BIT=GameBitmap->line[y]+x; yy=0; do{ SSS=SPR+(ZZY[yy]<<4); xx=0; do{ BIT[xx]=cmap[SSS[ZZX[xx]]]; }while((++xx)<zoom_x); BIT+=GameBitmap->w; }while((++yy)<zoom_y); }}void Draw16x16_32_Mapped_ZoomXY_FlipX(UINT8 *SPR, int x, int y, UINT8 *cmap, int zoom_x, int zoom_y){ UINT8 *BIT,*SSS,*ZZX,*ZZY; int xx,yy; if((zoom_x==16)&&(zoom_y==16)){ Draw16x16_Mapped_FlipX(SPR,x,y,cmap); return; } if((zoom_x!=0)&&(zoom_y!=0)){ ZZX=zoom_1632_dat+(zoom_x<<5); ZZY=zoom_1632r_dat+(zoom_y<<5); BIT=GameBitmap->line[y]+x; yy=0; do{ SSS=SPR+(ZZY[yy]<<4); xx=0; do{ BIT[xx]=cmap[SSS[ZZX[xx]]]; }while((++xx)<zoom_x); BIT+=GameBitmap->w; }while((++yy)<zoom_y); }}void Draw16x16_32_Mapped_ZoomXY_FlipXY(UINT8 *SPR, int x, int y, UINT8 *cmap, int zoom_x, int zoom_y){ UINT8 *BIT,*SSS,*ZZX,*ZZY; int xx,yy; if((zoom_x==16)&&(zoom_y==16)){ Draw16x16_Mapped_FlipXY(SPR,x,y,cmap); return; } if((zoom_x!=0)&&(zoom_y!=0)){ ZZX=zoom_1632r_dat+(zoom_x<<5); ZZY=zoom_1632r_dat+(zoom_y<<5); BIT=GameBitmap->line[y]+x; yy=0; do{ SSS=SPR+(ZZY[yy]<<4); xx=0; do{ BIT[xx]=cmap[SSS[ZZX[xx]]]; }while((++xx)<zoom_x); BIT+=GameBitmap->w; }while((++yy)<zoom_y); }}/******************************************************************************/void Draw16x16_64_Trans_Mapped_ZoomXY(UINT8 *SPR, int x, int y, UINT8 *cmap, int zoom_x, int zoom_y){ UINT8 *BIT,*SSS,*ZZX,*ZZY; int xx,yy; if((zoom_x==16)&&(zoom_y==16)){ Draw16x16_Trans_Mapped(SPR,x,y,cmap); return; } if((zoom_x!=0)&&(zoom_y!=0)){ ZZX=zoom_1664_dat+(zoom_x<<6); ZZY=zoom_1664_dat+(zoom_y<<6); BIT=GameBitmap->line[y]+x; yy=0; do{ SSS=SPR+(ZZY[yy]<<4); xx=0; do{ if(SSS[ZZX[xx]]!=0) BIT[xx]=cmap[SSS[ZZX[xx]]]; }while((++xx)<zoom_x); BIT+=GameBitmap->w; }while((++yy)<zoom_y); }}void Draw16x16_64_Trans_Mapped_ZoomXY_FlipY(UINT8 *SPR, int x, int y, UINT8 *cmap, int zoom_x, int zoom_y){ UINT8 *BIT,*SSS,*ZZX,*ZZY; int xx,yy; if((zoom_x==16)&&(zoom_y==16)){ Draw16x16_Trans_Mapped_FlipY(SPR,x,y,cmap); return; } if((zoom_x!=0)&&(zoom_y!=0)){ ZZX=zoom_1664r_dat+(zoom_x<<6); ZZY=zoom_1664_dat+(zoom_y<<6); BIT=GameBitmap->line[y]+x; yy=0; do{ SSS=SPR+(ZZY[yy]<<4); xx=0; do{ if(SSS[ZZX[xx]]!=0) BIT[xx]=cmap[SSS[ZZX[xx]]]; }while((++xx)<zoom_x); BIT+=GameBitmap->w; }while((++yy)<zoom_y); }}void Draw16x16_64_Trans_Mapped_ZoomXY_FlipX(UINT8 *SPR, int x, int y, UINT8 *cmap, int zoom_x, int zoom_y){ UINT8 *BIT,*SSS,*ZZX,*ZZY; int xx,yy; if((zoom_x==16)&&(zoom_y==16)){ Draw16x16_Trans_Mapped_FlipX(SPR,x,y,cmap); return; } if((zoom_x!=0)&&(zoom_y!=0)){ ZZX=zoom_1664_dat+(zoom_x<<6); ZZY=zoom_1664r_dat+(zoom_y<<6); BIT=GameBitmap->line[y]+x; yy=0; do{ SSS=SPR+(ZZY[yy]<<4); xx=0; do{ if(SSS[ZZX[xx]]!=0) BIT[xx]=cmap[SSS[ZZX[xx]]]; }while((++xx)<zoom_x); BIT+=GameBitmap->w; }while((++yy)<zoom_y); }}void Draw16x16_64_Trans_Mapped_ZoomXY_FlipXY(UINT8 *SPR, int x, int y, UINT8 *cmap, int zoom_x, int zoom_y){ UINT8 *BIT,*SSS,*ZZX,*ZZY; int xx,yy; if((zoom_x==16)&&(zoom_y==16)){ Draw16x16_Trans_Mapped_FlipXY(SPR,x,y,cmap); return; } if((zoom_x!=0)&&(zoom_y!=0)){ ZZX=zoom_1664r_dat+(zoom_x<<6); ZZY=zoom_1664r_dat+(zoom_y<<6); BIT=GameBitmap->line[y]+x; yy=0; do{ SSS=SPR+(ZZY[yy]<<4); xx=0; do{ if(SSS[ZZX[xx]]!=0) BIT[xx]=cmap[SSS[ZZX[xx]]]; }while((++xx)<zoom_x); BIT+=GameBitmap->w; }while((++yy)<zoom_y); }}/******************************************************************************/void Draw16x16_64_Mapped_ZoomXY(UINT8 *SPR, int x, int y, UINT8 *cmap, int zoom_x, int zoom_y){ UINT8 *BIT,*SSS,*ZZX,*ZZY; int xx,yy; if((zoom_x==16)&&(zoom_y==16)){ Draw16x16_Mapped(SPR,x,y,cmap); return; } if((zoom_x!=0)&&(zoom_y!=0)){ ZZX=zoom_1664_dat+(zoom_x<<6); ZZY=zoom_1664_dat+(zoom_y<<6); BIT=GameBitmap->line[y]+x; yy=0; do{ SSS=SPR+(ZZY[yy]<<4); xx=0; do{ BIT[xx]=cmap[SSS[ZZX[xx]]]; }while((++xx)<zoom_x); BIT+=GameBitmap->w; }while((++yy)<zoom_y); }}void Draw16x16_64_Mapped_ZoomXY_FlipY(UINT8 *SPR, int x, int y, UINT8 *cmap, int zoom_x, int zoom_y){ UINT8 *BIT,*SSS,*ZZX,*ZZY; int xx,yy; if((zoom_x==16)&&(zoom_y==16)){ Draw16x16_Mapped_FlipY(SPR,x,y,cmap); return; } if((zoom_x!=0)&&(zoom_y!=0)){ ZZX=zoom_1664r_dat+(zoom_x<<6); ZZY=zoom_1664_dat+(zoom_y<<6); BIT=GameBitmap->line[y]+x; yy=0; do{ SSS=SPR+(ZZY[yy]<<4); xx=0; do{ BIT[xx]=cmap[SSS[ZZX[xx]]]; }while((++xx)<zoom_x); BIT+=GameBitmap->w; }while((++yy)<zoom_y); }}void Draw16x16_64_Mapped_ZoomXY_FlipX(UINT8 *SPR, int x, int y, UINT8 *cmap, int zoom_x, int zoom_y){ UINT8 *BIT,*SSS,*ZZX,*ZZY; int xx,yy; if((zoom_x==16)&&(zoom_y==16)){ Draw16x16_Mapped_FlipX(SPR,x,y,cmap); return; } if((zoom_x!=0)&&(zoom_y!=0)){ ZZX=zoom_1664_dat+(zoom_x<<6); ZZY=zoom_1664r_dat+(zoom_y<<6); BIT=GameBitmap->line[y]+x; yy=0; do{ SSS=SPR+(ZZY[yy]<<4); xx=0; do{ BIT[xx]=cmap[SSS[ZZX[xx]]]; }while((++xx)<zoom_x); BIT+=GameBitmap->w; }while((++yy)<zoom_y); }}void Draw16x16_64_Mapped_ZoomXY_FlipXY(UINT8 *SPR, int x, int y, UINT8 *cmap, int zoom_x, int zoom_y){ UINT8 *BIT,*SSS,*ZZX,*ZZY; int xx,yy; if((zoom_x==16)&&(zoom_y==16)){ Draw16x16_Mapped_FlipXY(SPR,x,y,cmap); return; } if((zoom_x!=0)&&(zoom_y!=0)){ ZZX=zoom_1664r_dat+(zoom_x<<6); ZZY=zoom_1664r_dat+(zoom_y<<6); BIT=GameBitmap->line[y]+x; yy=0; do{ SSS=SPR+(ZZY[yy]<<4); xx=0; do{ BIT[xx]=cmap[SSS[ZZX[xx]]]; }while((++xx)<zoom_x); BIT+=GameBitmap->w; }while((++yy)<zoom_y); }}/******************************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -