Upload
This commit is contained in:
commit
43352ff262
1291 changed files with 220976 additions and 0 deletions
61
VISU/C/READMAT.C
Normal file
61
VISU/C/READMAT.C
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
|
||||
void readmat(void)
|
||||
{
|
||||
char tmp[256];
|
||||
int a,b,c,d;
|
||||
char *p,*p0,*t;
|
||||
matnum=0;
|
||||
printf("Materials:\n");
|
||||
while(!feof(in))
|
||||
{
|
||||
p0=p=getline();
|
||||
if(*p==';') continue;
|
||||
if(*p)
|
||||
{
|
||||
t=gettoken(&p);
|
||||
for(a=0;a<strlen(t);a++) if(t[a]=='#') t[a]=' ';
|
||||
strcpy(mat[matnum].name,t);
|
||||
mat[matnum].color=0;
|
||||
mat[matnum].flags=0;
|
||||
mat[matnum].colorlen=1;
|
||||
while(*p)
|
||||
{
|
||||
t=gettoken(&p);
|
||||
a=toupper(*t);
|
||||
switch(a)
|
||||
{
|
||||
case 'X' :
|
||||
mat[matnum].flags|=F_2SIDE;
|
||||
break;
|
||||
case 'L' :
|
||||
mat[matnum].colorlen=atoi(t+1);
|
||||
break;
|
||||
case 'G' :
|
||||
mat[matnum].flags|=F_GOURAUD;
|
||||
break;
|
||||
default :
|
||||
if(a>='0' && a<='9')
|
||||
{
|
||||
mat[matnum].color=atoi(t);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
switch(mat[matnum].colorlen)
|
||||
{
|
||||
case 32 : mat[matnum].flags|=F_SHADE32; break;
|
||||
case 16 : mat[matnum].flags|=F_SHADE16; break;
|
||||
case 8 : mat[matnum].flags|=F_SHADE8; break;
|
||||
case 1 : break;
|
||||
default : printf("ILLEGAL COLOR LENGTH>> "); break;
|
||||
}
|
||||
sscanf(p,"%s %i %i",mat[matnum].name,&mat[matnum].color,&mat[matnum].colorlen);
|
||||
printf("%s colors:%i..%i ",mat[matnum].name,mat[matnum].color,
|
||||
mat[matnum].color+mat[matnum].colorlen-1);
|
||||
if(mat[matnum].flags&F_GOURAUD) printf("Gouraud ");
|
||||
if(mat[matnum].flags&F_TEXTURE) printf("Texture ");
|
||||
printf("\n");
|
||||
matnum++;
|
||||
}
|
||||
}
|
||||
}
|
||||
Loading…
Reference in a new issue