?? asc16.h
字號:
void Read_Asc16(int key,unsigned char *buf)
{
int handle;
long address;
handle=open("asc16",O_RDONLY|O_BINARY);
address=key*16l;
lseek(handle,address,SEEK_SET);
read(handle,buf,16);
close(handle);
}
void Put_Asc16(int cx,int cy,int key,int fcolor)
{
int a,b;
unsigned char buf[16];
Read_Asc16(key,buf);
for(a=0;a<16;a++)
for(b=0;b<8;b++)
if((buf[a]>>7-b)&1)
video_buffer[(((cy+a)<<8)+((cy+a)<<6))+cx+b]=fcolor;
}
void Put_Asc16_Size(int cx,int cy,int xsize,int ysize,int key,int fcolor)
{
int a,b,o,k;
unsigned char buf[16];
Read_Asc16(key,buf);
for(a=0;a<16;a++)
for(o=1;o<=ysize;o++)
for(b=0;b<8;b++)
for(k=1;k<=xsize;k++)
if((buf[a]>>7-b)&1)
video_buffer[(((cy+o+a*ysize)<<8)+((cy+o+a*ysize)<<6))+cx+xsize*b+k]=fcolor;
}
void Put_Asc16_Size_Format(int cx,int cy,int xsize,int ysize,int key,int fcolor,int bold,int i)
{
int a,b,o,k;
long address;
unsigned char buf[16];
Read_Asc16(key,buf);
for(a=0;a<16;a++)
for(o=1;o<=ysize;o++)
for(b=0;b<8;b++)
for(k=1;k<=xsize;k++)
if((buf[a]>>7-b)&1)
if(fcolor!=-1)
if(i==0)
{
video_buffer[(((cy+o+a*ysize)<<8)+((cy+o+a*ysize)<<6))+cx+xsize*b+k]=fcolor;
if(bold==1)
video_buffer[(((cy+o+a*ysize)<<8)+((cy+o+a*ysize)<<6))+cx+xsize*b+k+1]=fcolor;
}
else
{
video_buffer[(((cy+o+a*ysize)<<8)+((cy+o+a*ysize)<<6))+cx+xsize*b+k+16-a]=fcolor;
if(bold==1)
video_buffer[(((cy+o+a*ysize)<<8)+((cy+o+a*ysize)<<6))+cx+xsize*b+k+1+16-a]=fcolor;
}
else
if(i==0)
{
video_buffer[(((cy+o+a*ysize)<<8)+((cy+o+a*ysize)<<6))+cx+xsize*b+k]=rand()%100;
if(bold==1)
video_buffer[(((cy+o+a*ysize)<<8)+((cy+o+a*ysize)<<6))+cx+xsize*b+k+1]=rand()%100;
}
else
{
video_buffer[(((cy+o+a*ysize)<<8)+((cy+o+a*ysize)<<6))+cx+xsize*b+k+16-a]=rand()%100;
if(bold==1)
video_buffer[(((cy+o+a*ysize)<<8)+((cy+o+a*ysize)<<6))+cx+xsize*b+k+1+16-a]=rand()%100;
}
}
unsigned char buffer[4096];
char Load_Asc16()
{
int handle;
handle=open("asc16",O_RDONLY|O_BINARY);
read(handle,buffer,4096);
close(handle);
return(0);
}
void Read_Asc16_Array(int key,unsigned char *buf)
{
int i;
long address;
address=key*16l;
for(i=0;i<16;i++)
buf[i]=buffer[address+i];
}
void Put_Asc16_Array(int cx,int cy,int key,int fcolor)
{
int a,b;
unsigned char buf[16];
Read_Asc16_Array(key,buf);
for(a=0;a<16;a++)
for(b=0;b<8;b++)
if((buf[a]>>7-b)&1)
video_buffer[(((cy+a)<<8)+((cy+a)<<6))+cx+b]=fcolor;
}
void Put_Asc16_Size_Array(int cx,int cy,int xsize,int ysize,int key,int fcolor)
{
int a,b,o,k;
unsigned char buf[16];
Read_Asc16_Array(key,buf);
for(a=0;a<16;a++)
for(o=1;o<=ysize;o++)
for(b=0;b<8;b++)
for(k=1;k<=xsize;k++)
if((buf[a]>>7-b)&1)
video_buffer[(((cy+o+a*ysize)<<8)+((cy+o+a*ysize)<<6))+cx+xsize*b+k]=fcolor;
}
void Put_Asc16_Size_Format_Array(int cx,int cy,int xsize,int ysize,int key,int fcolor,int bold,int i)
{
int a,b,o,k;
long address;
unsigned char buf[16];
Read_Asc16_Array(key,buf);
for(a=0;a<16;a++)
for(o=1;o<=ysize;o++)
for(b=0;b<8;b++)
for(k=1;k<=xsize;k++)
if((buf[a]>>7-b)&1)
if(fcolor!=-1)
if(i==0)
{
video_buffer[(((cy+o+a*ysize)<<8)+((cy+o+a*ysize)<<6))+cx+xsize*b+k]=fcolor;
if(bold==1)
video_buffer[(((cy+o+a*ysize)<<8)+((cy+o+a*ysize)<<6))+cx+xsize*b+k+1]=fcolor;
}
else
{
video_buffer[(((cy+o+a*ysize)<<8)+((cy+o+a*ysize)<<6))+cx+xsize*b+k+16-a]=fcolor;
if(bold==1)
video_buffer[(((cy+o+a*ysize)<<8)+((cy+o+a*ysize)<<6))+cx+xsize*b+k+1+16-a]=fcolor;
}
else
if(i==0)
{
video_buffer[(((cy+o+a*ysize)<<8)+((cy+o+a*ysize)<<6))+cx+xsize*b+k]=rand()%100;
if(bold==1)
video_buffer[(((cy+o+a*ysize)<<8)+((cy+o+a*ysize)<<6))+cx+xsize*b+k+1]=rand()%100;
}
else
{
video_buffer[(((cy+o+a*ysize)<<8)+((cy+o+a*ysize)<<6))+cx+xsize*b+k+16-a]=rand()%100;
if(bold==1)
video_buffer[(((cy+o+a*ysize)<<8)+((cy+o+a*ysize)<<6))+cx+xsize*b+k+1+16-a]=rand()%100;
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -