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

📄 spz16x16.c

📁 十七种模拟器源代码 非常有用的作课程设计不可缺少的
💻 C
📖 第 1 页 / 共 2 页
字号:
         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 + -