]> icculus.org git repositories - btb/d2x.git/blob - utility/txb2txt.c
added utilities
[btb/d2x.git] / utility / txb2txt.c
1 #include <stdio.h>\r
2     \r
3 main(int ac,char *av[]) {\r
4   FILE *file,*outfile;\r
5   char equals,ch;\r
6   int code;\r
7     \r
8   if (ac!=3) {\r
9     printf("TXB2TXT V1.0 Copyright (c) Bryan Aamot, 1995\n"\r
10            "TXB to Text converter for Descent HOG files.\n"\r
11            "Converts a *.txb descent hog file to an ascii file.\n"\r
12            "Usage: TXB2TXT <txb file name> <text file name>\n"\r
13            "Example: TXT2TXB briefing.txb briefing.txt\n");\r
14     exit(1);\r
15   }\r
16   file = fopen(av[1],"rb");\r
17   if (!file) {\r
18     printf("Can't open txb file (%s)\n",av[1]);\r
19     exit(2);\r
20   }\r
21   outfile = fopen(av[2],"wb");\r
22   if (!outfile) {\r
23     printf("Can't open file (%s)\n",av[2]);\r
24     fclose(file);\r
25     exit(2);\r
26   }\r
27   for (;;) {\r
28     code = getc(file);\r
29     if (feof(file)) break;\r
30     if (code == 0x0a) {\r
31       fprintf(outfile,"\x0d\x0a");\r
32     } else {\r
33       ch = (  ( (code&0x3f) << 2 ) + ( (code&0xc0) >> 6 )  ) ^ 0xa7;\r
34       fprintf(outfile,"%c",ch);\r
35     }\r
36   }\r
37 \r
38   fclose(outfile);\r
39   fclose(file);\r
40 }\r