FTEQW
Documentation of the FTE engine source tree.
gl_q2bsp.c File Reference

Typedefs

typedef struct cmodel_s cmodel_t
 
typedef struct cminfo_s cminfo_t
 

Enumerations

enum  { shape_isbox , shape_iscapsule , shape_ispoint }
 

Functions

qboolean Mod_LoadVertexes (model_t *loadmodel, qbyte *mod_base, lump_t *l)
 
qboolean Mod_LoadVertexNormals (model_t *loadmodel, bspx_header_t *bspx, qbyte *mod_base, lump_t *l)
 
qboolean Mod_LoadEdges (model_t *loadmodel, qbyte *mod_base, lump_t *l, qboolean lm)
 
qboolean Mod_LoadMarksurfaces (model_t *loadmodel, qbyte *mod_base, lump_t *l, qboolean lm)
 
qboolean Mod_LoadSurfedges (model_t *loadmodel, qbyte *mod_base, lump_t *l)
 
void Mod_LoadEntities (model_t *loadmodel, qbyte *mod_base, lump_t *l)
 
void BuildLightMapGammaTable (float g, float c)
 
void CM_Init (void)
 
void Q2BSP_GenerateShadowMesh (model_t *mod, dlight_t *dl, const qbyte *lightvis, qbyte *litvis, void(*callback)(msurface_t *))
 
void Q3BSP_GenerateShadowMesh (model_t *mod, dlight_t *dl, const qbyte *lightvis, qbyte *litvis, void(*callback)(msurface_t *))
 
float RadiusFromBounds (const vec3_t mins, const vec3_t maxs)
 
void CalcSurfaceExtents (model_t *mod, msurface_t *s)
 
void AddPointToBounds (const vec3_t v, vec3_t mins, vec3_t maxs)
 
void ClearBounds (vec3_t mins, vec3_t maxs)
 
void Mod_SortShaders (model_t *mod)
 
qbyteReadPCXPalette (qbyte *buf, int len, qbyte *out)
 
qboolean BoundsIntersect (const vec3_t mins1, const vec3_t maxs1, const vec3_t mins2, const vec3_t maxs2)
 
void CategorizePlane (mplane_t *plane)
 
patchtessvert_tPatchInfo_Evaluate (const qcpatchvert_t *cp, const unsigned short patch_cp[2], const short subdiv[2], unsigned short *size)
 
unsigned int PatchInfo_EvaluateIndexes (const unsigned short *size, index_t *out_indexes)
 
mfog_tMod_FogForOrigin (model_t *wmodel, vec3_t org)
 
model_tCM_TempBoxModel (const vec3_t mins, const vec3_t maxs)
 
qbyteR_MarkLeaves_Q3 (model_t *mod, int clusters[2])
 
qbyteR_MarkLeaves_Q2 (model_t *mod, int viewclusters[2])
 
qboolean QDECL Mod_LoadQ2BrushModel (model_t *mod, void *buffer, size_t fsize)
 

Variables

cvar_t q3bsp_surf_meshcollision_flag = CVARD("q3bsp_surf_meshcollision_flag", "0x80000000", "The surfaceparm flag(s) that enables q3bsp trisoup collision")
 
cvar_t q3bsp_surf_meshcollision_force = CVARD("q3bsp_surf_meshcollision_force", "0", "Force mesh-based collisions on all q3bsp trisoup surfaces.")
 
cvar_t q3bsp_mergeq3lightmaps = CVARD("q3bsp_mergelightmaps", "1", "Specifies whether to merge lightmaps into atlases in order to boost performance. Unfortunately this breaks tcgen on lightmap passes - if you care, set this to 0.")
 
cvar_t q3bsp_ignorestyles = CVARD("q3bsp_ignorestyles", "0", "Ignores multiple lightstyles in Raven's q3bsp variant(and derivatives) for better batch/rendering performance.")
 
cvar_t q3bsp_bihtraces = CVARFD("_q3bsp_bihtraces", "0", CVAR_RENDERERLATCH, "Uses runtime-generated bih collision culling for faster traces.")
 
cvar_t r_shadow_bumpscale_basetexture
 
qbytemod_base
 
cvar_t map_noareas = CVAR("map_noareas", "0")
 
cvar_t map_noCurves = CVARF("map_noCurves", "0", CVAR_CHEAT)
 
cvar_t map_autoopenportals = CVARD("map_autoopenportals", "0", "When set to 1, force-opens all area portals. Normally these start closed and are opened by doors when they move, but this requires the gamecode to signal this.")
 
cvar_t r_subdivisions = CVAR("r_subdivisions", "2")
 
int r_dlightframecount
 

Typedef Documentation

◆ cminfo_t

typedef struct cminfo_s cminfo_t

◆ cmodel_t

typedef struct cmodel_s cmodel_t

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
shape_isbox 
shape_iscapsule 
shape_ispoint 

Function Documentation

◆ AddPointToBounds()

void AddPointToBounds ( const vec3_t  v,
vec3_t  mins,
vec3_t  maxs 
)

◆ BoundsIntersect()

qboolean BoundsIntersect ( const vec3_t  mins1,
const vec3_t  maxs1,
const vec3_t  mins2,
const vec3_t  maxs2 
)

◆ BuildLightMapGammaTable()

void BuildLightMapGammaTable ( float  g,
float  c 
)

◆ CalcSurfaceExtents()

void CalcSurfaceExtents ( model_t mod,
msurface_t s 
)

◆ CategorizePlane()

void CategorizePlane ( mplane_t plane)

◆ ClearBounds()

void ClearBounds ( vec3_t  mins,
vec3_t  maxs 
)

◆ CM_Init()

void CM_Init ( void  )

◆ CM_TempBoxModel()

model_t * CM_TempBoxModel ( const vec3_t  mins,
const vec3_t  maxs 
)

◆ Mod_FogForOrigin()

mfog_t * Mod_FogForOrigin ( model_t wmodel,
vec3_t  org 
)

◆ Mod_LoadEdges()

qboolean Mod_LoadEdges ( model_t loadmodel,
qbyte mod_base,
lump_t l,
qboolean  lm 
)

◆ Mod_LoadEntities()

void Mod_LoadEntities ( model_t loadmodel,
qbyte mod_base,
lump_t l 
)

◆ Mod_LoadMarksurfaces()

qboolean Mod_LoadMarksurfaces ( model_t loadmodel,
qbyte mod_base,
lump_t l,
qboolean  lm 
)

◆ Mod_LoadQ2BrushModel()

qboolean QDECL Mod_LoadQ2BrushModel ( model_t mod,
void buffer,
size_t  fsize 
)

◆ Mod_LoadSurfedges()

qboolean Mod_LoadSurfedges ( model_t loadmodel,
qbyte mod_base,
lump_t l 
)

◆ Mod_LoadVertexes()

qboolean Mod_LoadVertexes ( model_t loadmodel,
qbyte mod_base,
lump_t l 
)

◆ Mod_LoadVertexNormals()

qboolean Mod_LoadVertexNormals ( model_t loadmodel,
bspx_header_t bspx,
qbyte mod_base,
lump_t l 
)

◆ Mod_SortShaders()

void Mod_SortShaders ( model_t mod)

◆ PatchInfo_Evaluate()

patchtessvert_t * PatchInfo_Evaluate ( const qcpatchvert_t cp,
const unsigned short  patch_cp[2],
const short  subdiv[2],
unsigned short *  size 
)

◆ PatchInfo_EvaluateIndexes()

unsigned int PatchInfo_EvaluateIndexes ( const unsigned short *  size,
index_t out_indexes 
)

◆ Q2BSP_GenerateShadowMesh()

void Q2BSP_GenerateShadowMesh ( model_t mod,
dlight_t dl,
const qbyte lightvis,
qbyte litvis,
void(*)(msurface_t *)  callback 
)

◆ Q3BSP_GenerateShadowMesh()

void Q3BSP_GenerateShadowMesh ( model_t mod,
dlight_t dl,
const qbyte lightvis,
qbyte litvis,
void(*)(msurface_t *)  callback 
)

◆ R_MarkLeaves_Q2()

qbyte * R_MarkLeaves_Q2 ( model_t mod,
int  viewclusters[2] 
)

◆ R_MarkLeaves_Q3()

qbyte * R_MarkLeaves_Q3 ( model_t mod,
int  clusters[2] 
)

◆ RadiusFromBounds()

float RadiusFromBounds ( const vec3_t  mins,
const vec3_t  maxs 
)

◆ ReadPCXPalette()

qbyte * ReadPCXPalette ( qbyte buf,
int  len,
qbyte out 
)

Variable Documentation

◆ map_autoopenportals

cvar_t map_autoopenportals = CVARD("map_autoopenportals", "0", "When set to 1, force-opens all area portals. Normally these start closed and are opened by doors when they move, but this requires the gamecode to signal this.")

◆ map_noareas

cvar_t map_noareas = CVAR("map_noareas", "0")

◆ map_noCurves

cvar_t map_noCurves = CVARF("map_noCurves", "0", CVAR_CHEAT)

◆ mod_base

qbyte* mod_base
extern

◆ q3bsp_bihtraces

cvar_t q3bsp_bihtraces = CVARFD("_q3bsp_bihtraces", "0", CVAR_RENDERERLATCH, "Uses runtime-generated bih collision culling for faster traces.")

◆ q3bsp_ignorestyles

cvar_t q3bsp_ignorestyles = CVARD("q3bsp_ignorestyles", "0", "Ignores multiple lightstyles in Raven's q3bsp variant(and derivatives) for better batch/rendering performance.")

◆ q3bsp_mergeq3lightmaps

cvar_t q3bsp_mergeq3lightmaps = CVARD("q3bsp_mergelightmaps", "1", "Specifies whether to merge lightmaps into atlases in order to boost performance. Unfortunately this breaks tcgen on lightmap passes - if you care, set this to 0.")

◆ q3bsp_surf_meshcollision_flag

cvar_t q3bsp_surf_meshcollision_flag = CVARD("q3bsp_surf_meshcollision_flag", "0x80000000", "The surfaceparm flag(s) that enables q3bsp trisoup collision")

◆ q3bsp_surf_meshcollision_force

cvar_t q3bsp_surf_meshcollision_force = CVARD("q3bsp_surf_meshcollision_force", "0", "Force mesh-based collisions on all q3bsp trisoup surfaces.")

◆ r_dlightframecount

int r_dlightframecount
extern

◆ r_shadow_bumpscale_basetexture

cvar_t r_shadow_bumpscale_basetexture
extern

◆ r_subdivisions

cvar_t r_subdivisions = CVAR("r_subdivisions", "2")