home *** CD-ROM | disk | FTP | other *** search
- #include <stdio.h>
-
- #define BSPVERSION 29
- #define OLDBSPVERSION 28
- #define HEADER_LUMPS 15
-
- typedef struct
- {
- int fileofs, filelen;
- } lump_t;
-
- typedef struct
- {
- int version;
- lump_t lumps[HEADER_LUMPS];
- } dheader_t;
-
-
- int main(int argc, char *argv[])
- {
- FILE * file;
- char *filename = NULL;
- dheader_t header;
-
- printf("\n");
- printf("Quake BSP Format Converter\n");
- printf("Version 1.0\n");
- printf("Copyright (C) 1996 Brent McLeod\n");
- printf("\n");
-
- if(argv[1] == NULL)
- {
- printf("Usage: bspup <filename.bsp>\n");
- return 0;
- }
-
- filename = argv[1];
- // file = fopen(filename, "rb");
- if((file = fopen(filename, "rb")) == NULL)
- {
- printf("%s: File not found\n", filename);
- return 0;
- }
-
- fread(&header, sizeof(dheader_t), 1, file);
- fclose(file);
- if(header.version != OLDBSPVERSION)
- {
- printf("This does not appear to be a type %i BSP file.\n", OLDBSPVERSION);
- return 0;
- }
- header.version = BSPVERSION;
-
- file = fopen(filename, "r+b");
- fwrite(&header, sizeof(dheader_t), 1, file);
- fclose(file);
- printf("%s converted from BSP Version 28 to 29\n", filename);
- return 1;
- }
-