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

l_bsp_q3.h File Reference

#include "q3files.h"

Include dependency graph for l_bsp_q3.h:

Include dependency graph

This graph shows which files directly or indirectly include this file:

Included by dependency graph

Go to the source code of this file.

Functions

void Q3_FreeMaxBSP (void)
void Q3_LoadBSPFile (struct quakefile_s *qf)
void Q3_ParseEntities (void)

Variables

q3_dbrush_tq3_dbrushes
q3_dbrushside_tq3_dbrushsides
char q3_dbrushsidetextured [Q3_MAX_MAP_BRUSHSIDES]
char * q3_dentdata
q3_dfog_tq3_dfogs
int * q3_dleafbrushes
q3_dleaf_tq3_dleafs
int * q3_dleafsurfaces
q3_dmodel_tq3_dmodels
q3_dnode_tq3_dnodes
q3_dplane_tq3_dplanes
int * q3_drawIndexes
q3_dsurface_tq3_drawSurfaces
q3_drawVert_tq3_drawVerts
q3_dshader_tq3_dshaders
int q3_entdatasize
byteq3_gridData
byteq3_lightBytes
int q3_numbrushes
int q3_numbrushsides
int q3_numDrawIndexes
int q3_numDrawSurfaces
int q3_numDrawVerts
int q3_numFogs
int q3_numGridPoints
int q3_numleafbrushes
int q3_numleafs
int q3_numleafsurfaces
int q3_numLightBytes
int q3_nummodels
int q3_numnodes
int q3_numplanes
int q3_numShaders
int q3_numVisBytes
byteq3_visBytes


Function Documentation

void Q3_FreeMaxBSP void   ) 
 

Definition at line 104 of file l_bsp_q3.c.

References FreeMemory(), q3_dbrushes, q3_dbrushsides, q3_dentdata, q3_dfogs, q3_dleafbrushes, q3_dleafs, q3_dleafsurfaces, q3_dmodels, q3_dnodes, q3_dplanes, q3_drawIndexes, q3_drawSurfaces, q3_drawVerts, q3_dshaders, q3_entdatasize, q3_gridData, q3_lightBytes, q3_numbrushes, q3_numbrushsides, q3_numDrawIndexes, q3_numDrawSurfaces, q3_numDrawVerts, q3_numFogs, q3_numGridPoints, q3_numleafbrushes, q3_numleafs, q3_numleafsurfaces, q3_numLightBytes, q3_nummodels, q3_numnodes, q3_numplanes, q3_numShaders, q3_numVisBytes, and q3_visBytes.

Referenced by LoadMapFromBSP().

00105 {
00106     if (q3_dmodels) FreeMemory(q3_dmodels);
00107     q3_dmodels = NULL;
00108     q3_nummodels = 0;
00109     if (q3_dshaders) FreeMemory(q3_dshaders);
00110     q3_dshaders = NULL;
00111     q3_numShaders = 0;
00112     if (q3_dentdata) FreeMemory(q3_dentdata);
00113     q3_dentdata = NULL;
00114     q3_entdatasize = 0;
00115     if (q3_dleafs) FreeMemory(q3_dleafs);
00116     q3_dleafs = NULL;
00117     q3_numleafs = 0;
00118     if (q3_dplanes) FreeMemory(q3_dplanes);
00119     q3_dplanes = NULL;
00120     q3_numplanes = 0;
00121     if (q3_dnodes) FreeMemory(q3_dnodes);
00122     q3_dnodes = NULL;
00123     q3_numnodes = 0;
00124     if (q3_dleafsurfaces) FreeMemory(q3_dleafsurfaces);
00125     q3_dleafsurfaces = NULL;
00126     q3_numleafsurfaces = 0;
00127     if (q3_dleafbrushes) FreeMemory(q3_dleafbrushes);
00128     q3_dleafbrushes = NULL;
00129     q3_numleafbrushes = 0;
00130     if (q3_dbrushes) FreeMemory(q3_dbrushes);
00131     q3_dbrushes = NULL;
00132     q3_numbrushes = 0;
00133     if (q3_dbrushsides) FreeMemory(q3_dbrushsides);
00134     q3_dbrushsides = NULL;
00135     q3_numbrushsides = 0;
00136     if (q3_lightBytes) FreeMemory(q3_lightBytes);
00137     q3_lightBytes = NULL;
00138     q3_numLightBytes = 0;
00139     if (q3_gridData) FreeMemory(q3_gridData);
00140     q3_gridData = NULL;
00141     q3_numGridPoints = 0;
00142     if (q3_visBytes) FreeMemory(q3_visBytes);
00143     q3_visBytes = NULL;
00144     q3_numVisBytes = 0;
00145     if (q3_drawVerts) FreeMemory(q3_drawVerts);
00146     q3_drawVerts = NULL;
00147     q3_numDrawVerts = 0;
00148     if (q3_drawIndexes) FreeMemory(q3_drawIndexes);
00149     q3_drawIndexes = NULL;
00150     q3_numDrawIndexes = 0;
00151     if (q3_drawSurfaces) FreeMemory(q3_drawSurfaces);
00152     q3_drawSurfaces = NULL;
00153     q3_numDrawSurfaces = 0;
00154     if (q3_dfogs) FreeMemory(q3_dfogs);
00155     q3_dfogs = NULL;
00156     q3_numFogs = 0;
00157 } //end of the function Q3_FreeMaxBSP

Here is the call graph for this function:

void Q3_LoadBSPFile struct quakefile_s qf  ) 
 

Definition at line 590 of file l_bsp_q3.c.

References CountTriangles(), Error(), quakefile_s::filename, FreeMemory(), header, dheader_t::ident, LoadQuakeFile(), Q3_BSP_VERSION, Q3_CopyLump(), q3_dbrushes, q3_dbrushsides, q3_dentdata, q3_dfogs, q3_dleafbrushes, q3_dleafs, q3_dleafsurfaces, q3_dmodels, q3_dnodes, q3_dplanes, q3_drawIndexes, q3_drawSurfaces, q3_drawVerts, q3_dshaders, q3_entdatasize, Q3_FindVisibleBrushSides(), q3_gridData, q3_lightBytes, Q3_LUMP_BRUSHES, Q3_LUMP_BRUSHSIDES, Q3_LUMP_DRAWINDEXES, Q3_LUMP_DRAWVERTS, Q3_LUMP_ENTITIES, Q3_LUMP_FOGS, Q3_LUMP_LEAFBRUSHES, Q3_LUMP_LEAFS, Q3_LUMP_LEAFSURFACES, Q3_LUMP_LIGHTGRID, Q3_LUMP_LIGHTMAPS, Q3_LUMP_MODELS, Q3_LUMP_NODES, Q3_LUMP_PLANES, Q3_LUMP_SHADERS, Q3_LUMP_SURFACES, Q3_LUMP_VISIBILITY, q3_numbrushes, q3_numbrushsides, q3_numDrawIndexes, q3_numDrawSurfaces, q3_numDrawVerts, q3_numFogs, q3_numGridPoints, q3_numleafbrushes, q3_numleafs, q3_numleafsurfaces, q3_numLightBytes, q3_nummodels, q3_numnodes, q3_numplanes, q3_numShaders, q3_numVisBytes, Q3_SwapBlock(), Q3_SwapBSPFile(), q3_visBytes, and dheader_t::version.

Referenced by Q3_LoadMapFromBSP().

00591 {
00592     q3_dheader_t    *header;
00593 
00594     // load the file header
00595     //LoadFile(filename, (void **)&header, offset, length);
00596     //
00597     LoadQuakeFile(qf, (void **)&header);
00598 
00599     // swap the header
00600     Q3_SwapBlock( (int *)header, sizeof(*header) );
00601 
00602     if ( header->ident != Q3_BSP_IDENT ) {
00603         Error( "%s is not a IBSP file", qf->filename );
00604     }
00605     if ( header->version != Q3_BSP_VERSION ) {
00606         Error( "%s is version %i, not %i", qf->filename, header->version, Q3_BSP_VERSION );
00607     }
00608 
00609     q3_numShaders = Q3_CopyLump( header, Q3_LUMP_SHADERS, (void *) &q3_dshaders, sizeof(q3_dshader_t) );
00610     q3_nummodels = Q3_CopyLump( header, Q3_LUMP_MODELS, (void *) &q3_dmodels, sizeof(q3_dmodel_t) );
00611     q3_numplanes = Q3_CopyLump( header, Q3_LUMP_PLANES, (void *) &q3_dplanes, sizeof(q3_dplane_t) );
00612     q3_numleafs = Q3_CopyLump( header, Q3_LUMP_LEAFS, (void *) &q3_dleafs, sizeof(q3_dleaf_t) );
00613     q3_numnodes = Q3_CopyLump( header, Q3_LUMP_NODES, (void *) &q3_dnodes, sizeof(q3_dnode_t) );
00614     q3_numleafsurfaces = Q3_CopyLump( header, Q3_LUMP_LEAFSURFACES, (void *) &q3_dleafsurfaces, sizeof(q3_dleafsurfaces[0]) );
00615     q3_numleafbrushes = Q3_CopyLump( header, Q3_LUMP_LEAFBRUSHES, (void *) &q3_dleafbrushes, sizeof(q3_dleafbrushes[0]) );
00616     q3_numbrushes = Q3_CopyLump( header, Q3_LUMP_BRUSHES, (void *) &q3_dbrushes, sizeof(q3_dbrush_t) );
00617     q3_numbrushsides = Q3_CopyLump( header, Q3_LUMP_BRUSHSIDES, (void *) &q3_dbrushsides, sizeof(q3_dbrushside_t) );
00618     q3_numDrawVerts = Q3_CopyLump( header, Q3_LUMP_DRAWVERTS, (void *) &q3_drawVerts, sizeof(q3_drawVert_t) );
00619     q3_numDrawSurfaces = Q3_CopyLump( header, Q3_LUMP_SURFACES, (void *) &q3_drawSurfaces, sizeof(q3_dsurface_t) );
00620     q3_numFogs = Q3_CopyLump( header, Q3_LUMP_FOGS, (void *) &q3_dfogs, sizeof(q3_dfog_t) );
00621     q3_numDrawIndexes = Q3_CopyLump( header, Q3_LUMP_DRAWINDEXES, (void *) &q3_drawIndexes, sizeof(q3_drawIndexes[0]) );
00622 
00623     q3_numVisBytes = Q3_CopyLump( header, Q3_LUMP_VISIBILITY, (void *) &q3_visBytes, 1 );
00624     q3_numLightBytes = Q3_CopyLump( header, Q3_LUMP_LIGHTMAPS, (void *) &q3_lightBytes, 1 );
00625     q3_entdatasize = Q3_CopyLump( header, Q3_LUMP_ENTITIES, (void *) &q3_dentdata, 1);
00626 
00627     q3_numGridPoints = Q3_CopyLump( header, Q3_LUMP_LIGHTGRID, (void *) &q3_gridData, 8 );
00628 
00629     CountTriangles();
00630 
00631     FreeMemory( header );       // everything has been copied out
00632         
00633     // swap everything
00634     Q3_SwapBSPFile();
00635 
00636     Q3_FindVisibleBrushSides();
00637 
00638     //Q3_PrintBSPFileSizes();
00639 }

Here is the call graph for this function:

void Q3_ParseEntities void   ) 
 


Variable Documentation

q3_dbrush_t* q3_dbrushes
 

Definition at line 68 of file l_bsp_q3.c.

Referenced by Q3_FindVisibleBrushSides(), Q3_FreeMaxBSP(), Q3_LoadBSPFile(), Q3_ParseBSPBrushes(), Q3_SwapBSPFile(), and Q3_WriteBSPFile().

q3_dbrushside_t* q3_dbrushsides
 

Definition at line 71 of file l_bsp_q3.c.

Referenced by Q3_BrushSideWinding(), Q3_BSPBrushToMapBrush(), Q3_FindVisibleBrushSides(), Q3_FreeMaxBSP(), Q3_LoadBSPFile(), Q3_SwapBSPFile(), and Q3_WriteBSPFile().

char q3_dbrushsidetextured[Q3_MAX_MAP_BRUSHSIDES]
 

Definition at line 94 of file l_bsp_q3.c.

Referenced by Q3_BSPBrushToMapBrush(), and Q3_FindVisibleBrushSides().

char* q3_dentdata
 

Definition at line 50 of file l_bsp_q3.c.

Referenced by Q3_FreeMaxBSP(), Q3_LoadBSPFile(), Q3_ParseEntities(), and Q3_WriteBSPFile().

q3_dfog_t* q3_dfogs
 

Definition at line 92 of file l_bsp_q3.c.

Referenced by Q3_FreeMaxBSP(), Q3_LoadBSPFile(), Q3_SwapBSPFile(), and Q3_WriteBSPFile().

int* q3_dleafbrushes
 

Definition at line 65 of file l_bsp_q3.c.

Referenced by Q3_FreeMaxBSP(), Q3_LoadBSPFile(), Q3_PrintBSPFileSizes(), Q3_SwapBSPFile(), and Q3_WriteBSPFile().

q3_dleaf_t* q3_dleafs
 

Definition at line 53 of file l_bsp_q3.c.

Referenced by Q3_FreeMaxBSP(), Q3_LoadBSPFile(), Q3_SwapBSPFile(), and Q3_WriteBSPFile().

int* q3_dleafsurfaces
 

Definition at line 62 of file l_bsp_q3.c.

Referenced by Q3_FreeMaxBSP(), Q3_LoadBSPFile(), Q3_PrintBSPFileSizes(), Q3_SwapBSPFile(), and Q3_WriteBSPFile().

q3_dmodel_t* q3_dmodels
 

Definition at line 44 of file l_bsp_q3.c.

Referenced by Q3_FreeMaxBSP(), Q3_LoadBSPFile(), Q3_ParseBSPBrushes(), Q3_SwapBSPFile(), and Q3_WriteBSPFile().

q3_dnode_t* q3_dnodes
 

Definition at line 59 of file l_bsp_q3.c.

Referenced by Q3_FreeMaxBSP(), Q3_LoadBSPFile(), Q3_SwapBSPFile(), and Q3_WriteBSPFile().

q3_dplane_t* q3_dplanes
 

Definition at line 56 of file l_bsp_q3.c.

Referenced by Q3_BrushSideWinding(), Q3_BSPBrushToMapBrush(), Q3_DPlanes2MapPlanes(), Q3_FindVisibleBrushSides(), Q3_FreeMaxBSP(), Q3_LoadBSPFile(), Q3_SwapBSPFile(), and Q3_WriteBSPFile().

int* q3_drawIndexes
 

Definition at line 86 of file l_bsp_q3.c.

Referenced by Q3_FreeMaxBSP(), Q3_LoadBSPFile(), Q3_PrintBSPFileSizes(), Q3_SwapBSPFile(), and Q3_WriteBSPFile().

q3_dsurface_t* q3_drawSurfaces
 

Definition at line 89 of file l_bsp_q3.c.

Referenced by AAS_CreateCurveBrushes(), CountTriangles(), Q3_CreatePlanarSurfacePlanes(), Q3_FindVisibleBrushSides(), Q3_FreeMaxBSP(), Q3_LoadBSPFile(), Q3_PrintBSPFileSizes(), Q3_SurfacePlane(), Q3_SwapBSPFile(), and Q3_WriteBSPFile().

q3_drawVert_t* q3_drawVerts
 

Definition at line 83 of file l_bsp_q3.c.

Referenced by AAS_CreateCurveBrushes(), Q3_FaceOnWinding(), Q3_FreeMaxBSP(), Q3_LoadBSPFile(), Q3_PrintBSPFileSizes(), Q3_SurfacePlane(), Q3_SwapBSPFile(), and Q3_WriteBSPFile().

q3_dshader_t* q3_dshaders
 

Definition at line 47 of file l_bsp_q3.c.

Referenced by AAS_CreateCurveBrushes(), Q3_BSPBrushToMapBrush(), Q3_FreeMaxBSP(), Q3_LoadBSPFile(), Q3_SwapBSPFile(), and Q3_WriteBSPFile().

int q3_entdatasize
 

Definition at line 49 of file l_bsp_q3.c.

Referenced by Q3_FreeMaxBSP(), Q3_LoadBSPFile(), Q3_ParseEntities(), Q3_PrintBSPFileSizes(), Q3_UnparseEntities(), and Q3_WriteBSPFile().

byte* q3_gridData
 

Definition at line 77 of file l_bsp_q3.c.

Referenced by Q3_FreeMaxBSP(), Q3_LoadBSPFile(), and Q3_WriteBSPFile().

byte* q3_lightBytes
 

Definition at line 74 of file l_bsp_q3.c.

Referenced by Q3_FreeMaxBSP(), Q3_LoadBSPFile(), and Q3_WriteBSPFile().

int q3_numbrushes
 

Definition at line 67 of file l_bsp_q3.c.

Referenced by Q3_FreeMaxBSP(), Q3_LoadBSPFile(), Q3_PrintBSPFileSizes(), Q3_SwapBSPFile(), and Q3_WriteBSPFile().

int q3_numbrushsides
 

Definition at line 70 of file l_bsp_q3.c.

Referenced by Q3_FindVisibleBrushSides(), Q3_FreeMaxBSP(), Q3_LoadBSPFile(), Q3_PrintBSPFileSizes(), Q3_SwapBSPFile(), and Q3_WriteBSPFile().

int q3_numDrawIndexes
 

Definition at line 85 of file l_bsp_q3.c.

Referenced by Q3_FreeMaxBSP(), Q3_LoadBSPFile(), Q3_PrintBSPFileSizes(), Q3_SwapBSPFile(), and Q3_WriteBSPFile().

int q3_numDrawSurfaces
 

Definition at line 88 of file l_bsp_q3.c.

Referenced by Q3_CreatePlanarSurfacePlanes(), Q3_FreeMaxBSP(), Q3_LoadBSPFile(), Q3_PrintBSPFileSizes(), Q3_SwapBSPFile(), and Q3_WriteBSPFile().

int q3_numDrawVerts
 

Definition at line 82 of file l_bsp_q3.c.

Referenced by Q3_FreeMaxBSP(), Q3_LoadBSPFile(), Q3_PrintBSPFileSizes(), and Q3_WriteBSPFile().

int q3_numFogs
 

Definition at line 91 of file l_bsp_q3.c.

Referenced by Q3_FreeMaxBSP(), Q3_LoadBSPFile(), Q3_PrintBSPFileSizes(), and Q3_WriteBSPFile().

int q3_numGridPoints
 

Definition at line 76 of file l_bsp_q3.c.

Referenced by Q3_FreeMaxBSP(), Q3_LoadBSPFile(), and Q3_WriteBSPFile().

int q3_numleafbrushes
 

Definition at line 64 of file l_bsp_q3.c.

Referenced by Q3_FreeMaxBSP(), Q3_LoadBSPFile(), Q3_PrintBSPFileSizes(), Q3_SwapBSPFile(), and Q3_WriteBSPFile().

int q3_numleafs
 

Definition at line 52 of file l_bsp_q3.c.

Referenced by Q3_FreeMaxBSP(), Q3_LoadBSPFile(), Q3_PrintBSPFileSizes(), Q3_SwapBSPFile(), and Q3_WriteBSPFile().

int q3_numleafsurfaces
 

Definition at line 61 of file l_bsp_q3.c.

Referenced by Q3_FreeMaxBSP(), Q3_LoadBSPFile(), Q3_PrintBSPFileSizes(), Q3_SwapBSPFile(), and Q3_WriteBSPFile().

int q3_numLightBytes
 

Definition at line 73 of file l_bsp_q3.c.

Referenced by Q3_FreeMaxBSP(), Q3_LoadBSPFile(), Q3_PrintBSPFileSizes(), and Q3_WriteBSPFile().

int q3_nummodels
 

Definition at line 43 of file l_bsp_q3.c.

Referenced by Q3_FreeMaxBSP(), Q3_LoadBSPFile(), Q3_PrintBSPFileSizes(), Q3_SwapBSPFile(), and Q3_WriteBSPFile().

int q3_numnodes
 

Definition at line 58 of file l_bsp_q3.c.

Referenced by Q3_FreeMaxBSP(), Q3_LoadBSPFile(), Q3_PrintBSPFileSizes(), Q3_SwapBSPFile(), and Q3_WriteBSPFile().

int q3_numplanes
 

Definition at line 55 of file l_bsp_q3.c.

Referenced by Q3_FreeMaxBSP(), Q3_LoadBSPFile(), Q3_PrintBSPFileSizes(), Q3_SwapBSPFile(), and Q3_WriteBSPFile().

int q3_numShaders
 

Definition at line 46 of file l_bsp_q3.c.

Referenced by Q3_FreeMaxBSP(), Q3_LoadBSPFile(), Q3_PrintBSPFileSizes(), and Q3_WriteBSPFile().

int q3_numVisBytes
 

Definition at line 79 of file l_bsp_q3.c.

Referenced by Q3_FreeMaxBSP(), Q3_LoadBSPFile(), Q3_PrintBSPFileSizes(), and Q3_WriteBSPFile().

byte* q3_visBytes
 

Definition at line 80 of file l_bsp_q3.c.

Referenced by Q3_FreeMaxBSP(), Q3_LoadBSPFile(), Q3_SwapBSPFile(), and Q3_WriteBSPFile().


Generated on Thu Aug 25 12:53:49 2005 for Quake III Arena by  doxygen 1.3.9.1