home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
WADS of WADS
/
WadsOfWads.1994.zip
/
OTHER
/
DOOMBSP
/
DOOMBSP.M
< prev
next >
Wrap
Text File
|
1994-04-06
|
2KB
|
87 lines
// doombsp.c
#import "doombsp.h"
id wad_i;
boolean draw;
/*
==================
=
= main
=
==================
*/
int main (int argc, char **argv)
{
char *inmapname, *scan, *scan2;
char outmapname[1024];
char basename[80];
memset (outmapname,0,sizeof(outmapname));
memset (basename,0,sizeof(basename));
inmapname = NULL;
if (argc == 4)
{
if (strcmp(argv[1], "-draw"))
Error ("doombsp [-draw] inmap outwadpath");
inmapname = argv[2];
strcpy (outmapname,argv[3]);
draw = true;
NXApp = [Application new];
}
else if (argc == 3)
{
inmapname = argv[1];
strcpy (outmapname,argv[2]);
draw = false;
}
else
Error ("doombsp [-draw] inmap outwadpath");
strcat (outmapname,"/");
scan = inmapname+strlen(inmapname)-1;
while (*scan != '.' && scan !=inmapname)
scan--;
if (scan == inmapname)
strcpy (basename, inmapname); // no extension
else
{
scan2 = scan;
while (*scan != '/' && scan !=inmapname)
scan--;
if (scan != inmapname)
scan++;
strncpy (basename, scan, scan2-scan);
}
strcat (outmapname, basename);
strcat (outmapname,".wad");
printf ("output wadfile: %s\n", outmapname);
//
// write a label for the map name at the start of the wadfile
//
wad_i = [[Wadfile alloc] initNew: outmapname];
[wad_i addName:basename data:basename size:0];
LoadDoomMap (inmapname);
DrawMap ();
BuildBSP ();
printf ("segment cuts: %i\n",cuts);
SaveDoomMap ();
SaveBlocks ();
[wad_i writeDirectory];
[wad_i close];
[wad_i free];
//getchar();
return 0;
}