#include #include #include #include #include #include #define split_number 8 FILE *outf[split_number*split_number]; char *f_names; void open_files() { char names[1024]; int i; for (i=0;i <--- w/o .dat\n Result: .l2j\n"); exit(0); }; f_names=argv[1]; sprintf(inf_n,"%s.dat",f_names); inf=fopen(inf_n,"r"); open_files(); int j,i; fseek(inf,18,SEEK_SET); for (x=0;x<256;x++) { for (y=0;y<256;y++) { buf_pointer=0; r=fread(&buf[buf_pointer],2,1,inf); bb.a[1]=buf[buf_pointer+1]; bb.a[0]=buf[buf_pointer]; if (bb.b_int>2048) { printf("error %u\n",bb.b_int); exit(1); }; if (bb.b_int==0) { buf_pointer+=2; r=fread(&buf[buf_pointer],2,1,inf); buf_pointer+=2; r+fread(&buf[buf_pointer],2,1,inf); write_out(x,y,&buf[0],buf_pointer); } else if ( bb.b_int == 64) { for (i=0;i<64;i++) { buf_pointer+=2; r=fread(&buf[buf_pointer],2,1,inf); }; write_out(x,y,&buf[0],buf_pointer); } else { for (i=0;i<64;i++) { buf_pointer+=2; r=fread(&buf[buf_pointer],2,1,inf); bb.a[1]=buf[buf_pointer+1]; bb.a[0]=buf[buf_pointer]; for (j=0;j