+ if(window==7)
+ {
+ for(j=0;j<d3_l->max_z;j++)
+ {
+ for(i=0;i<d3_l->max_x;i++)
+ {
+ if(*(d3_l->status+i+y*d3_l->max_x+(d3_l->max_z-j-1)*d3_l->max_x*d3_l->max_y)&RED) sum=*(d3_l->extra+i+y*d3_l->max_x+(d3_l->max_z-j-1)*d3_l->max_x*d3_l->max_y);
+ else sum=0;
+ sum=sum*255/max;
+ memset(buf,(unsigned char)sum,3);
+ if(write(fd,buf,3)<3)
+ {
+ puts("failed writing rgb values to bmp file");
+ return-1;
+ }
+ }
+ if(foo%4)
+ {
+ memset(buf,0,4-foo%4);
+ if(write(fd,buf,4-foo%4)<4-foo%4)
+ {
+ puts("failed writing 4 byte ending");
+ return -1;
+ }
+ }
+ }
+ }
+ if(window==8)
+ {
+ for(j=0;j<d3_l->max_z;j++)
+ {
+ for(i=0;i<d3_l->max_x;i++)
+ {
+ if(*(d3_l->status+x+i*d3_l->max_x+(d3_l->max_z-j-1)*d3_l->max_x*d3_l->max_y)&RED) sum=*(d3_l->extra+x+i*d3_l->max_x+(d3_l->max_z-j-1)*d3_l->max_x*d3_l->max_y);
+ else sum=0;
+ sum=sum*255/max;
+ memset(buf,(unsigned char)sum,3);
+ if(write(fd,buf,3)<3)
+ {
+ puts("failed writing rgb values to bmp file");
+ return-1;
+ }
+ }
+ if(foo%4)
+ {
+ memset(buf,0,4-foo%4);
+ if(write(fd,buf,4-foo%4)<4-foo%4)
+ {
+ puts("failed writing 4 byte ending");
+ return -1;
+ }
+ }
+ }
+ }
+ if(window==9)
+ {
+ for(j=0;j<d3_l->max_y;j++)
+ {
+ for(i=0;i<d3_l->max_x;i++)
+ {
+ if(*(d3_l->status+i+(d3_l->max_y-j-1)*d3_l->max_x+z*d3_l->max_x*d3_l->max_y)&RED) sum=*(d3_l->extra+i+(d3_l->max_y-j-1)*d3_l->max_x+z*d3_l->max_x*d3_l->max_y);
+ else sum=0;
+ sum=sum*255/max;
+ memset(buf,(unsigned char)sum,3);
+ if(write(fd,buf,3)<3)
+ {
+ puts("failed writing rgb values to bmp file");
+ return-1;
+ }
+ }
+ if(foo%4)
+ {
+ memset(buf,0,4-foo%4);
+ if(write(fd,buf,4-foo%4)<4-foo%4)
+ {
+ puts("failed writing 4 byte ending");
+ return -1;
+ }
+ }
+ }
+ }
+ if(window==10)
+ {
+ for(j=0;j<d3_l->max_z;j++)
+ {
+ for(i=0;i<d3_l->max_x;i++)
+ {
+ if(!(*(d3_l->status+i+y*d3_l->max_x+(d3_l->max_z-j-1)*d3_l->max_x*d3_l->max_y)&RED)) sum=*(d3_l->extra+i+y*d3_l->max_x+(d3_l->max_z-j-1)*d3_l->max_x*d3_l->max_y);
+ else sum=0;
+ sum=sum*255/max;
+ memset(buf,(unsigned char)sum,3);
+ if(write(fd,buf,3)<3)
+ {
+ puts("failed writing rgb values to bmp file");
+ return-1;
+ }
+ }
+ if(foo%4)
+ {
+ memset(buf,0,4-foo%4);
+ if(write(fd,buf,4-foo%4)<4-foo%4)
+ {
+ puts("failed writing 4 byte ending");
+ return -1;
+ }
+ }
+ }
+ }
+ if(window==11)
+ {
+ for(j=0;j<d3_l->max_z;j++)
+ {
+ for(i=0;i<d3_l->max_x;i++)
+ {
+ if(!(*(d3_l->status+x+i*d3_l->max_x+(d3_l->max_z-j-1)*d3_l->max_x*d3_l->max_y)&RED)) sum=*(d3_l->extra+x+i*d3_l->max_x+(d3_l->max_z-j-1)*d3_l->max_x*d3_l->max_y);
+ else sum=0;
+ sum=sum*255/max;
+ memset(buf,(unsigned char)sum,3);
+ if(write(fd,buf,3)<3)
+ {
+ puts("failed writing rgb values to bmp file");
+ return-1;
+ }
+ }
+ if(foo%4)
+ {
+ memset(buf,0,4-foo%4);
+ if(write(fd,buf,4-foo%4)<4-foo%4)
+ {
+ puts("failed writing 4 byte ending");
+ return -1;
+ }
+ }
+ }
+ }
+ if(window==12)
+ {
+ for(j=0;j<d3_l->max_y;j++)
+ {
+ for(i=0;i<d3_l->max_x;i++)
+ {
+ if(!(*(d3_l->status+i+(d3_l->max_y-j-1)*d3_l->max_x+z*d3_l->max_x*d3_l->max_y)&RED)) sum=*(d3_l->extra+i+(d3_l->max_y-j-1)*d3_l->max_x+z*d3_l->max_x*d3_l->max_y);
+ else sum=0;
+ sum=sum*255/max;
+ memset(buf,(unsigned char)sum,3);
+ if(write(fd,buf,3)<3)
+ {
+ puts("failed writing rgb values to bmp file");
+ return-1;
+ }
+ }
+ if(foo%4)
+ {
+ memset(buf,0,4-foo%4);
+ if(write(fd,buf,4-foo%4)<4-foo%4)
+ {
+ puts("failed writing 4 byte ending");
+ return -1;
+ }
+ }
+ }
+ }