Main Page | Class Hierarchy | Alphabetical List | Data Structures | Directories | File List | Data Fields | Globals

bspfile.c File Reference

#include "cmdlib.h"
#include "mathlib.h"
#include "bspfile.h"
#include "scriplib.h"

Include dependency graph for bspfile.c:

Include dependency graph

Go to the source code of this file.

Functions

void AddLump (FILE *bspfile, dheader_t *header, int lumpnum, const void *data, int len)
int CopyLump (dheader_t *header, int lump, void *dest, int size)
vec_t FloatForKey (const entity_t *ent, const char *key)
void GetLeafNums (void)
void GetVectorForKey (const entity_t *ent, const char *key, vec3_t vec)
void LoadBSPFile (const char *filename)
void ParseEntities (void)
qboolean ParseEntity (void)
epair_tParseEpair (void)
void PrintBSPFileSizes (void)
void PrintEntity (const entity_t *ent)
void SetKeyValue (entity_t *ent, const char *key, const char *value)
void StripTrailing (char *e)
void SwapBlock (int *block, int sizeOfBlock)
void SwapBSPFile (void)
void UnparseEntities (void)
const char * ValueForKey (const entity_t *ent, const char *key)
void WriteBSPFile (const char *filename)

Variables

dbrush_t dbrushes [MAX_MAP_BRUSHES]
dbrushside_t dbrushsides [MAX_MAP_BRUSHSIDES]
char dentdata [MAX_MAP_ENTSTRING]
dfog_t dfogs [MAX_MAP_FOGS]
int dleafbrushes [MAX_MAP_LEAFBRUSHES]
dleaf_t dleafs [MAX_MAP_LEAFS]
int dleafsurfaces [MAX_MAP_LEAFFACES]
dmodel_t dmodels [MAX_MAP_MODELS]
dnode_t dnodes [MAX_MAP_NODES]
dplane_t dplanes [MAX_MAP_PLANES]
int drawIndexes [MAX_MAP_DRAW_INDEXES]
dsurface_t drawSurfaces [MAX_MAP_DRAW_SURFS]
drawVert_t drawVerts [MAX_MAP_DRAW_VERTS]
dshader_t dshaders [MAX_MAP_SHADERS]
int entdatasize
entity_t entities [MAX_MAP_ENTITIES]
byte gridData [MAX_MAP_LIGHTGRID]
byte lightBytes [MAX_MAP_LIGHTING]
int num_entities
int numbrushes
int numbrushsides
int numDrawIndexes
int numDrawSurfaces
int numDrawVerts
int numFogs
int numGridPoints
int numleafbrushes
int numleafs
int numleafsurfaces
int numLightBytes
int nummodels
int numnodes
int numplanes
int numShaders
int numVisBytes
byte visBytes [MAX_MAP_VISIBILITY]


Function Documentation

void AddLump FILE bspfile,
dheader_t header,
int  lumpnum,
const void *  data,
int  len
 

Definition at line 250 of file bspfile.c.

References data, lump_t::filelen, lump_t::fileofs, ftell(), header, LittleLong(), dheader_t::lumps, and SafeWrite().

Referenced by WriteBSPFile().

00250                                                                                          {
00251     lump_t *lump;
00252 
00253     lump = &header->lumps[lumpnum];
00254     
00255     lump->fileofs = LittleLong( ftell(bspfile) );
00256     lump->filelen = LittleLong( len );
00257     SafeWrite( bspfile, data, (len+3)&~3 );
00258 }

Here is the call graph for this function:

int CopyLump dheader_t header,
int  lump,
void *  dest,
int  size
 

Definition at line 179 of file bspfile.c.

References byte, Error(), lump_t::filelen, lump_t::fileofs, header, length(), dheader_t::lumps, and memcpy().

Referenced by LoadBSPFile().

00179                                                                   {
00180     int     length, ofs;
00181 
00182     length = header->lumps[lump].filelen;
00183     ofs = header->lumps[lump].fileofs;
00184     
00185     if ( length % size ) {
00186         Error ("LoadBSPFile: odd lump size");
00187     }
00188 
00189     memcpy( dest, (byte *)header + ofs, length );
00190 
00191     return length / size;
00192 }

Here is the call graph for this function:

vec_t FloatForKey const entity_t ent,
const char *  key
 

Definition at line 543 of file bspfile.c.

00543                                                             {
00544     const char  *k;
00545     
00546     k = ValueForKey( ent, key );
00547     return atof(k);
00548 }

void GetLeafNums void   ) 
 

void GetVectorForKey const entity_t ent,
const char *  key,
vec3_t  vec
 

Definition at line 550 of file bspfile.c.

00550                                                                             {
00551     const char  *k;
00552     double  v1, v2, v3;
00553 
00554     k = ValueForKey (ent, key);
00555 
00556     // scanf into doubles, then assign, so it is vec_t size independent
00557     v1 = v2 = v3 = 0;
00558     sscanf (k, "%lf %lf %lf", &v1, &v2, &v3);
00559     vec[0] = v1;
00560     vec[1] = v2;
00561     vec[2] = v3;
00562 }

void LoadBSPFile const char *  filename  ) 
 

Definition at line 199 of file bspfile.c.

00199                                             {
00200     dheader_t   *header;
00201 
00202     // load the file header
00203     LoadFile (filename, (void **)&header);
00204 
00205     // swap the header
00206     SwapBlock( (int *)header, sizeof(*header) );
00207 
00208     if ( header->ident != BSP_IDENT ) {
00209         Error( "%s is not a IBSP file", filename );
00210     }
00211     if ( header->version != BSP_VERSION ) {
00212         Error( "%s is version %i, not %i", filename, header->version, BSP_VERSION );
00213     }
00214 
00215     numShaders = CopyLump( header, LUMP_SHADERS, dshaders, sizeof(dshader_t) );
00216     nummodels = CopyLump( header, LUMP_MODELS, dmodels, sizeof(dmodel_t) );
00217     numplanes = CopyLump( header, LUMP_PLANES, dplanes, sizeof(dplane_t) );
00218     numleafs = CopyLump( header, LUMP_LEAFS, dleafs, sizeof(dleaf_t) );
00219     numnodes = CopyLump( header, LUMP_NODES, dnodes, sizeof(dnode_t) );
00220     numleafsurfaces = CopyLump( header, LUMP_LEAFSURFACES, dleafsurfaces, sizeof(dleafsurfaces[0]) );
00221     numleafbrushes = CopyLump( header, LUMP_LEAFBRUSHES, dleafbrushes, sizeof(dleafbrushes[0]) );
00222     numbrushes = CopyLump( header, LUMP_BRUSHES, dbrushes, sizeof(dbrush_t) );
00223     numbrushsides = CopyLump( header, LUMP_BRUSHSIDES, dbrushsides, sizeof(dbrushside_t) );
00224     numDrawVerts = CopyLump( header, LUMP_DRAWVERTS, drawVerts, sizeof(drawVert_t) );
00225     numDrawSurfaces = CopyLump( header, LUMP_SURFACES, drawSurfaces, sizeof(dsurface_t) );
00226     numFogs = CopyLump( header, LUMP_FOGS, dfogs, sizeof(dfog_t) );
00227     numDrawIndexes = CopyLump( header, LUMP_DRAWINDEXES, drawIndexes, sizeof(drawIndexes[0]) );
00228 
00229     numVisBytes = CopyLump( header, LUMP_VISIBILITY, visBytes, 1 );
00230     numLightBytes = CopyLump( header, LUMP_LIGHTMAPS, lightBytes, 1 );
00231     entdatasize = CopyLump( header, LUMP_ENTITIES, dentdata, 1);
00232 
00233     numGridPoints = CopyLump( header, LUMP_LIGHTGRID, gridData, 8 );
00234 
00235 
00236     free( header );     // everything has been copied out
00237         
00238     // swap everything
00239     SwapBSPFile();
00240 }

void ParseEntities void   ) 
 

Definition at line 447 of file bspfile.c.

References dentdata, entdatasize, num_entities, ParseEntity(), and ParseFromMemory().

Referenced by LightMain(), PrintBSPFileSizes(), VLightMain(), and VSoundMain().

00447                            {
00448     num_entities = 0;
00449     ParseFromMemory( dentdata, entdatasize );
00450 
00451     while ( ParseEntity () ) {
00452     }   
00453 }

Here is the call graph for this function:

qboolean ParseEntity void   ) 
 

Definition at line 408 of file bspfile.c.

References e, entities, epair_t, entity_t::epairs, Error(), GetToken(), mapent, epair_s::next, num_entities, ParseEpair(), qboolean, qtrue, and strcmp().

Referenced by HL_ParseEntities(), ParseEntities(), Q1_ParseEntities(), Q2_ParseEntities(), Q3_ParseEntities(), and Sin_ParseEntities().

00408                                 {
00409     epair_t     *e;
00410     entity_t    *mapent;
00411 
00412     if ( !GetToken (qtrue) ) {
00413         return qfalse;
00414     }
00415 
00416     if ( strcmp (token, "{") ) {
00417         Error ("ParseEntity: { not found");
00418     }
00419     if ( num_entities == MAX_MAP_ENTITIES ) {
00420         Error ("num_entities == MAX_MAP_ENTITIES");
00421     }
00422     mapent = &entities[num_entities];
00423     num_entities++;
00424 
00425     do {
00426         if ( !GetToken (qtrue) ) {
00427             Error ("ParseEntity: EOF without closing brace");
00428         }
00429         if ( !strcmp (token, "}") ) {
00430             break;
00431         }
00432         e = ParseEpair ();
00433         e->next = mapent->epairs;
00434         mapent->epairs = e;
00435     } while (1);
00436     
00437     return qtrue;
00438 }

Here is the call graph for this function:

epair_t* ParseEpair void   ) 
 

Definition at line 378 of file bspfile.c.

Referenced by BrushPrimit_Parse(), Entity_Parse(), ParseEntity(), ParseMapEntity(), ParsePatch(), Patch_Parse(), and Q2_ParseMapEntity().

00378                             {
00379     epair_t *e;
00380 
00381     e = malloc( sizeof(epair_t) );
00382     memset( e, 0, sizeof(epair_t) );
00383     
00384     if ( strlen(token) >= MAX_KEY-1 ) {
00385         Error ("ParseEpar: token too long");
00386     }
00387     e->key = copystring( token );
00388     GetToken( qfalse );
00389     if ( strlen(token) >= MAX_VALUE-1 ) {
00390         Error ("ParseEpar: token too long");
00391     }
00392     e->value = copystring( token );
00393 
00394     // strip trailing spaces that sometimes get accidentally
00395     // added in the editor
00396     StripTrailing( e->key );
00397     StripTrailing( e->value );
00398 
00399     return e;
00400 }

void PrintBSPFileSizes void   ) 
 

Definition at line 314 of file bspfile.c.

References dleafbrushes, dleafsurfaces, drawIndexes, drawSurfaces, drawVerts, entdatasize, LIGHTMAP_HEIGHT, LIGHTMAP_WIDTH, num_entities, numbrushes, numbrushsides, numDrawIndexes, numDrawSurfaces, numDrawVerts, numFogs, numleafbrushes, numleafs, numleafsurfaces, numLightBytes, nummodels, numnodes, numplanes, numShaders, numVisBytes, ParseEntities(), and printf().

Referenced by Bspinfo().

00314                                {
00315     if ( !num_entities ) {
00316         ParseEntities();
00317     }
00318 
00319     printf ("%6i models       %7i\n"
00320         ,nummodels, (int)(nummodels*sizeof(dmodel_t)));
00321     printf ("%6i shaders      %7i\n"
00322         ,numShaders, (int)(numShaders*sizeof(dshader_t)));
00323     printf ("%6i brushes      %7i\n"
00324         ,numbrushes, (int)(numbrushes*sizeof(dbrush_t)));
00325     printf ("%6i brushsides   %7i\n"
00326         ,numbrushsides, (int)(numbrushsides*sizeof(dbrushside_t)));
00327     printf ("%6i fogs         %7i\n"
00328         ,numFogs, (int)(numFogs*sizeof(dfog_t)));
00329     printf ("%6i planes       %7i\n"
00330         ,numplanes, (int)(numplanes*sizeof(dplane_t)));
00331     printf ("%6i entdata      %7i\n", num_entities, entdatasize);
00332 
00333     printf ("\n");
00334 
00335     printf ("%6i nodes        %7i\n"
00336         ,numnodes, (int)(numnodes*sizeof(dnode_t)));
00337     printf ("%6i leafs        %7i\n"
00338         ,numleafs, (int)(numleafs*sizeof(dleaf_t)));
00339     printf ("%6i leafsurfaces %7i\n"
00340         ,numleafsurfaces, (int)(numleafsurfaces*sizeof(dleafsurfaces[0])));
00341     printf ("%6i leafbrushes  %7i\n"
00342         ,numleafbrushes, (int)(numleafbrushes*sizeof(dleafbrushes[0])));
00343     printf ("%6i drawverts    %7i\n"
00344         ,numDrawVerts, (int)(numDrawVerts*sizeof(drawVerts[0])));
00345     printf ("%6i drawindexes  %7i\n"
00346         ,numDrawIndexes, (int)(numDrawIndexes*sizeof(drawIndexes[0])));
00347     printf ("%6i drawsurfaces %7i\n"
00348         ,numDrawSurfaces, (int)(numDrawSurfaces*sizeof(drawSurfaces[0])));
00349 
00350     printf ("%6i lightmaps    %7i\n"
00351         ,numLightBytes / (LIGHTMAP_WIDTH*LIGHTMAP_HEIGHT*3), numLightBytes );
00352     printf ("       visibility   %7i\n"
00353         , numVisBytes );
00354 }

Here is the call graph for this function:

void PrintEntity const entity_t ent  ) 
 

Definition at line 505 of file bspfile.c.

00505                                         {
00506     epair_t *ep;
00507     
00508     printf ("------- entity %p -------\n", ent);
00509     for (ep=ent->epairs ; ep ; ep=ep->next) {
00510         printf( "%s = %s\n", ep->key, ep->value );
00511     }
00512 
00513 }

void SetKeyValue entity_t ent,
const char *  key,
const char *  value
 

Definition at line 515 of file bspfile.c.

00515                                                                          {
00516     epair_t *ep;
00517     
00518     for ( ep=ent->epairs ; ep ; ep=ep->next ) {
00519         if ( !strcmp (ep->key, key) ) {
00520             free (ep->value);
00521             ep->value = copystring(value);
00522             return;
00523         }
00524     }
00525     ep = malloc (sizeof(*ep));
00526     ep->next = ent->epairs;
00527     ent->epairs = ep;
00528     ep->key = copystring(key);
00529     ep->value = copystring(value);
00530 }

void StripTrailing char *  e  ) 
 

Definition at line 362 of file bspfile.c.

References e, s, and strlen().

Referenced by ParseEpair(), Q2_UnparseEntities(), Sin_UnparseEntities(), UnparseEntities(), and WriteMapFileSafe().

00362                               {
00363     char    *s;
00364 
00365     s = e + strlen(e)-1;
00366     while (s >= e && *s <= 32)
00367     {
00368         *s = 0;
00369         s--;
00370     }
00371 }

Here is the call graph for this function:

void SwapBlock int *  block,
int  sizeOfBlock
 

Definition at line 92 of file bspfile.c.

References i, and LittleLong().

Referenced by LoadBSPFile(), and SwapBSPFile().

00092                                               {
00093     int     i;
00094 
00095     sizeOfBlock >>= 2;
00096     for ( i = 0 ; i < sizeOfBlock ; i++ ) {
00097         block[i] = LittleLong( block[i] );
00098     }
00099 }

Here is the call graph for this function:

void SwapBSPFile void   ) 
 

Definition at line 108 of file bspfile.c.

References dfog_t::brushNum, dshader_t::contentFlags, dbrushes, dbrushsides, dfogs, dleafbrushes, dleafs, dleafsurfaces, dmodels, dnodes, dplanes, drawIndexes, drawSurfaces, drawVerts, dshaders, i, drawVert_t::lightmap, LittleFloat(), LittleLong(), drawVert_t::normal, numbrushes, numbrushsides, numDrawIndexes, numDrawSurfaces, numleafbrushes, numleafs, numleafsurfaces, nummodels, numnodes, numplanes, drawVert_t::st, dshader_t::surfaceFlags, SwapBlock(), visBytes, dfog_t::visibleSide, and drawVert_t::xyz.

Referenced by LoadBSPFile(), and WriteBSPFile().

00108                          {
00109     int             i;
00110     
00111     // models   
00112     SwapBlock( (int *)dmodels, nummodels * sizeof( dmodels[0] ) );
00113 
00114     // shaders (don't swap the name)
00115     for ( i = 0 ; i < numShaders ; i++ ) {
00116         dshaders[i].contentFlags = LittleLong( dshaders[i].contentFlags );
00117         dshaders[i].surfaceFlags = LittleLong( dshaders[i].surfaceFlags );
00118     }
00119 
00120     // planes
00121     SwapBlock( (int *)dplanes, numplanes * sizeof( dplanes[0] ) );
00122     
00123     // nodes
00124     SwapBlock( (int *)dnodes, numnodes * sizeof( dnodes[0] ) );
00125 
00126     // leafs
00127     SwapBlock( (int *)dleafs, numleafs * sizeof( dleafs[0] ) );
00128 
00129     // leaffaces
00130     SwapBlock( (int *)dleafsurfaces, numleafsurfaces * sizeof( dleafsurfaces[0] ) );
00131 
00132     // leafbrushes
00133     SwapBlock( (int *)dleafbrushes, numleafbrushes * sizeof( dleafbrushes[0] ) );
00134 
00135     // brushes
00136     SwapBlock( (int *)dbrushes, numbrushes * sizeof( dbrushes[0] ) );
00137 
00138     // brushsides
00139     SwapBlock( (int *)dbrushsides, numbrushsides * sizeof( dbrushsides[0] ) );
00140 
00141     // vis
00142     ((int *)&visBytes)[0] = LittleLong( ((int *)&visBytes)[0] );
00143     ((int *)&visBytes)[1] = LittleLong( ((int *)&visBytes)[1] );
00144 
00145     // drawverts (don't swap colors )
00146     for ( i = 0 ; i < numDrawVerts ; i++ ) {
00147         drawVerts[i].lightmap[0] = LittleFloat( drawVerts[i].lightmap[0] );
00148         drawVerts[i].lightmap[1] = LittleFloat( drawVerts[i].lightmap[1] );
00149         drawVerts[i].st[0] = LittleFloat( drawVerts[i].st[0] );
00150         drawVerts[i].st[1] = LittleFloat( drawVerts[i].st[1] );
00151         drawVerts[i].xyz[0] = LittleFloat( drawVerts[i].xyz[0] );
00152         drawVerts[i].xyz[1] = LittleFloat( drawVerts[i].xyz[1] );
00153         drawVerts[i].xyz[2] = LittleFloat( drawVerts[i].xyz[2] );
00154         drawVerts[i].normal[0] = LittleFloat( drawVerts[i].normal[0] );
00155         drawVerts[i].normal[1] = LittleFloat( drawVerts[i].normal[1] );
00156         drawVerts[i].normal[2] = LittleFloat( drawVerts[i].normal[2] );
00157     }
00158 
00159     // drawindexes
00160     SwapBlock( (int *)drawIndexes, numDrawIndexes * sizeof( drawIndexes[0] ) );
00161 
00162     // drawsurfs
00163     SwapBlock( (int *)drawSurfaces, numDrawSurfaces * sizeof( drawSurfaces[0] ) );
00164 
00165     // fogs
00166     for ( i = 0 ; i < numFogs ; i++ ) {
00167         dfogs[i].brushNum = LittleLong( dfogs[i].brushNum );
00168         dfogs[i].visibleSide = LittleLong( dfogs[i].visibleSide );
00169     }
00170 }

Here is the call graph for this function:

void UnparseEntities void   ) 
 

Definition at line 465 of file bspfile.c.

References entdatasize, entities, epair_t, entity_t::epairs, Error(), i, epair_s::key, line, epair_s::next, sprintf(), strcat(), strcpy(), StripTrailing(), strlen(), value, and epair_s::value.

Referenced by EndBSPFile(), and OnlyEnts().

00465                              {
00466     char    *buf, *end;
00467     epair_t *ep;
00468     char    line[2048];
00469     int     i;
00470     char    key[1024], value[1024];
00471 
00472     buf = dentdata;
00473     end = buf;
00474     *end = 0;
00475     
00476     for (i=0 ; i<num_entities ; i++) {
00477         ep = entities[i].epairs;
00478         if ( !ep ) {
00479             continue;   // ent got removed
00480         }
00481         
00482         strcat (end,"{\n");
00483         end += 2;
00484                 
00485         for ( ep = entities[i].epairs ; ep ; ep=ep->next ) {
00486             strcpy (key, ep->key);
00487             StripTrailing (key);
00488             strcpy (value, ep->value);
00489             StripTrailing (value);
00490                 
00491             sprintf (line, "\"%s\" \"%s\"\n", key, value);
00492             strcat (end, line);
00493             end += strlen(line);
00494         }
00495         strcat (end,"}\n");
00496         end += 2;
00497 
00498         if (end > buf + MAX_MAP_ENTSTRING) {
00499             Error ("Entity text too long");
00500         }
00501     }
00502     entdatasize = end - buf + 1;
00503 }

Here is the call graph for this function:

const char* ValueForKey const entity_t ent,
const char *  key
 

Definition at line 532 of file bspfile.c.

00532                                                                  {
00533     epair_t *ep;
00534     
00535     for (ep=ent->epairs ; ep ; ep=ep->next) {
00536         if (!strcmp (ep->key, key) ) {
00537             return ep->value;
00538         }
00539     }
00540     return "";
00541 }

void WriteBSPFile const char *  filename  ) 
 

Definition at line 267 of file bspfile.c.

00267                                              {      
00268     dheader_t   outheader, *header;
00269     FILE        *bspfile;
00270 
00271     header = &outheader;
00272     memset( header, 0, sizeof(dheader_t) );
00273     
00274     SwapBSPFile();
00275 
00276     header->ident = LittleLong( BSP_IDENT );
00277     header->version = LittleLong( BSP_VERSION );
00278     
00279     bspfile = SafeOpenWrite( filename );
00280     SafeWrite( bspfile, header, sizeof(dheader_t) );    // overwritten later
00281 
00282     AddLump( bspfile, header, LUMP_SHADERS, dshaders, numShaders*sizeof(dshader_t) );
00283     AddLump( bspfile, header, LUMP_PLANES, dplanes, numplanes*sizeof(dplane_t) );
00284     AddLump( bspfile, header, LUMP_LEAFS, dleafs, numleafs*sizeof(dleaf_t) );
00285     AddLump( bspfile, header, LUMP_NODES, dnodes, numnodes*sizeof(dnode_t) );
00286     AddLump( bspfile, header, LUMP_BRUSHES, dbrushes, numbrushes*sizeof(dbrush_t) );
00287     AddLump( bspfile, header, LUMP_BRUSHSIDES, dbrushsides, numbrushsides*sizeof(dbrushside_t) );
00288     AddLump( bspfile, header, LUMP_LEAFSURFACES, dleafsurfaces, numleafsurfaces*sizeof(dleafsurfaces[0]) );
00289     AddLump( bspfile, header, LUMP_LEAFBRUSHES, dleafbrushes, numleafbrushes*sizeof(dleafbrushes[0]) );
00290     AddLump( bspfile, header, LUMP_MODELS, dmodels, nummodels*sizeof(dmodel_t) );
00291     AddLump( bspfile, header, LUMP_DRAWVERTS, drawVerts, numDrawVerts*sizeof(drawVert_t) );
00292     AddLump( bspfile, header, LUMP_SURFACES, drawSurfaces, numDrawSurfaces*sizeof(dsurface_t) );
00293     AddLump( bspfile, header, LUMP_VISIBILITY, visBytes, numVisBytes );
00294     AddLump( bspfile, header, LUMP_LIGHTMAPS, lightBytes, numLightBytes );
00295     AddLump( bspfile, header, LUMP_LIGHTGRID, gridData, 8 * numGridPoints );
00296     AddLump( bspfile, header, LUMP_ENTITIES, dentdata, entdatasize );
00297     AddLump( bspfile, header, LUMP_FOGS, dfogs, numFogs * sizeof(dfog_t) );
00298     AddLump( bspfile, header, LUMP_DRAWINDEXES, drawIndexes, numDrawIndexes * sizeof(drawIndexes[0]) );
00299     
00300     fseek (bspfile, 0, SEEK_SET);
00301     SafeWrite (bspfile, header, sizeof(dheader_t));
00302     fclose (bspfile);   
00303 }


Variable Documentation

dbrush_t dbrushes[MAX_MAP_BRUSHES]
 

Definition at line 57 of file bspfile.c.

dbrushside_t dbrushsides[MAX_MAP_BRUSHSIDES]
 

Definition at line 60 of file bspfile.c.

char dentdata[MAX_MAP_ENTSTRING]
 

Definition at line 39 of file bspfile.c.

dfog_t dfogs[MAX_MAP_FOGS]
 

Definition at line 81 of file bspfile.c.

Referenced by FogDrawSurfs(), LoadBSPFile(), SwapBSPFile(), and WriteBSPFile().

int dleafbrushes[MAX_MAP_LEAFBRUSHES]
 

Definition at line 54 of file bspfile.c.

dleaf_t dleafs[MAX_MAP_LEAFS]
 

Definition at line 42 of file bspfile.c.

int dleafsurfaces[MAX_MAP_LEAFFACES]
 

Definition at line 51 of file bspfile.c.

Referenced by EmitLeaf(), LoadBSPFile(), PrintBSPFileSizes(), SwapBSPFile(), TraceLine(), and WriteBSPFile().

dmodel_t dmodels[MAX_MAP_MODELS]
 

Definition at line 33 of file bspfile.c.

dnode_t dnodes[MAX_MAP_NODES]
 

Definition at line 48 of file bspfile.c.

dplane_t dplanes[MAX_MAP_PLANES]
 

Definition at line 45 of file bspfile.c.

int drawIndexes[MAX_MAP_DRAW_INDEXES]
 

Definition at line 75 of file bspfile.c.

Referenced by EmitModelSurf(), EmitPatchSurf(), FacetsForTriangleSurface(), LoadBSPFile(), PrintBSPFileSizes(), SurfaceAsTriFan(), SurfaceAsTristrip(), SwapBSPFile(), VL_FacetsForTriangleSurface(), VS_FacetsForTriangleSurface(), and WriteBSPFile().

dsurface_t drawSurfaces[MAX_MAP_DRAW_SURFS]
 

Definition at line 78 of file bspfile.c.

Referenced by CountLightmaps(), CreateFilters(), CreateSurfaceLights(), EmitFlareSurf(), EmitModelSurf(), EmitPatchSurf(), EmitPlanarSurf(), FindSkyBrushes(), InitSurfacesForTesting(), LoadBSPFile(), PrintBSPFileSizes(), SwapBSPFile(), TraceLtm(), TriSoupLightingThread(), VertexLightingThread(), VL_CalcVisibleLightmapPixelArea(), VL_CreateFakeSurfaceLights(), VL_CreateSkyLights(), VL_DoForcedTraceLight(), VL_FindAdjacentSurface(), VL_FixLightmapEdges(), VL_GenerateFacetFor3Points(), VL_GenerateFacetFor4Points(), VL_InitSurfacesForTesting(), VL_LightmapMatrixFromPoints(), VL_LightSurfaceWithVolume(), VL_ShiftPatchLightmaps(), VL_SmoothenLightmapEdges(), VL_StoreLightmap(), VL_SurfaceRadiosity(), VS_CalcVisibleLightmapPixelArea(), VS_CreateFakeSurfaceLights(), VS_CreateSkyLights(), VS_DoForcedTraceLight(), VS_FindAdjacentSurface(), VS_FixLightmapEdges(), VS_GenerateFacetFor3Points(), VS_GenerateFacetFor4Points(), VS_InitSurfacesForTesting(), VS_LightmapMatrixFromPoints(), VS_LightSurfaceWithVolume(), VS_ShiftPatchLightmaps(), VS_SmoothenLightmapEdges(), VS_StoreLightmap(), VS_SurfaceRadiosity(), and WriteBSPFile().

drawVert_t drawVerts[MAX_MAP_DRAW_VERTS]
 

Definition at line 72 of file bspfile.c.

Referenced by CreateFilters(), CreateSurfaceLights(), EmitModelSurf(), EmitPatchSurf(), EmitPlanarSurf(), FacetsForPatch(), FacetsForTriangleSurface(), InitSurfacesForTesting(), LoadBSPFile(), PrintBSPFileSizes(), SurfaceAsTriFan(), SurfaceAsTristrip(), SwapBSPFile(), TraceLtm(), VertexLighting(), VL_CreateFakeSurfaceLights(), VL_FacetsForPatch(), VL_FacetsForTriangleSurface(), VL_LightmapMatrixFromPoints(), VL_ShiftPatchLightmaps(), VS_CreateFakeSurfaceLights(), VS_FacetsForPatch(), VS_FacetsForTriangleSurface(), VS_LightmapMatrixFromPoints(), VS_ShiftPatchLightmaps(), and WriteBSPFile().

dshader_t dshaders[MAX_MAP_SHADERS]
 

Definition at line 36 of file bspfile.c.

Referenced by CreateFilters(), CreateSurfaceLights(), EmitShader(), FindSkyBrushes(), InitSurfacesForTesting(), LoadBSPFile(), SwapBSPFile(), TraceLtm(), TriSoupLightingThread(), VertexLightingThread(), VL_CreateFakeSurfaceLights(), VL_CreateSkyLights(), VL_DoForcedTraceLight(), VL_InitSurfacesForTesting(), VL_SurfaceRadiosity(), VL_WindingAreaOutsideBrushes(), VS_CreateFakeSurfaceLights(), VS_CreateSkyLights(), VS_DoForcedTraceLight(), VS_InitSurfacesForTesting(), VS_SurfaceRadiosity(), VS_WindingAreaOutsideBrushes(), and WriteBSPFile().

int entdatasize
 

Definition at line 38 of file bspfile.c.

entity_t entities[MAX_MAP_ENTITIES]
 

Definition at line 360 of file bspfile.c.

byte gridData[MAX_MAP_LIGHTGRID]
 

Definition at line 66 of file bspfile.c.

Referenced by LoadBSPFile(), R_SetupEntityLightingGrid(), TraceGrid(), and WriteBSPFile().

byte lightBytes[MAX_MAP_LIGHTING]
 

Definition at line 63 of file bspfile.c.

Referenced by LoadBSPFile(), TraceLtm(), VL_StoreLightmap(), VS_StoreLightmap(), and WriteBSPFile().

int num_entities
 

Definition at line 359 of file bspfile.c.

int numbrushes
 

Definition at line 56 of file bspfile.c.

int numbrushsides
 

Definition at line 59 of file bspfile.c.

int numDrawIndexes
 

Definition at line 74 of file bspfile.c.

Referenced by EmitModelSurf(), EmitPatchSurf(), LoadBSPFile(), PrintBSPFileSizes(), SurfaceAsTriFan(), SurfaceAsTristrip(), SwapBSPFile(), and WriteBSPFile().

int numDrawSurfaces
 

Definition at line 77 of file bspfile.c.

Referenced by CountLightmaps(), EmitFlareSurf(), EmitModelSurf(), EmitPatchSurf(), EmitPlanarSurf(), EndModel(), GridAndVertexLighting(), LightWorld(), LoadBSPFile(), PrintBSPFileSizes(), SwapBSPFile(), TraceLine(), VL_DoForcedTraceLightSurfaces(), VL_Radiosity(), VS_DoForcedTraceLightSurfaces(), VS_Radiosity(), and WriteBSPFile().

int numDrawVerts
 

Definition at line 71 of file bspfile.c.

Referenced by EmitModelSurf(), EmitPatchSurf(), EmitPlanarSurf(), LoadBSPFile(), PrintBSPFileSizes(), SurfaceAsTriFan(), and WriteBSPFile().

int numFogs
 

Definition at line 80 of file bspfile.c.

Referenced by FogDrawSurfs(), LoadBSPFile(), PrintBSPFileSizes(), and