![]() |
DarkPlaces
Game engine based on the Quake 1 engine by id Software, developed by LadyHavoc
|
|
Go to the source code of this file.
Macros | |
#define | CL_PointSuperContents(point) |
Functions | |
trace_t | CL_Cache_TraceLineSurfaces (const vec3_t start, const vec3_t end, int type, int hitsupercontentsmask, int skipsupercontentsmask, int skipmaterialflagsmask) |
void | CL_FindNonSolidLocation (const vec3_t in, vec3_t out, vec_t radius) |
int | CL_GenericHitSuperContentsMask (const prvm_edict_t *edict) |
model_t * | CL_GetModelByIndex (int modelindex) |
model_t * | CL_GetModelFromEdict (prvm_edict_t *ed) |
void | CL_LinkEdict (prvm_edict_t *ent) |
float | CL_SelectTraceLine (const vec3_t start, const vec3_t end, vec3_t impact, vec3_t normal, int *hitent, entity_render_t *ignoreent) |
trace_t | CL_TraceBox (const vec3_t start, const vec3_t mins, const vec3_t maxs, const vec3_t end, int type, prvm_edict_t *passedict, int hitsupercontentsmask, int skipsupercontentsmask, int skipmaterialflagsmask, float extend, qbool hitnetworkbrushmodels, qbool hitnetworkplayers, int *hitnetworkentity, qbool hitcsqcentities) |
trace_t | CL_TraceLine (const vec3_t start, const vec3_t end, int type, prvm_edict_t *passedict, int hitsupercontentsmask, int skipsupercontentsmask, int skipmaterialflagsmask, float extend, qbool hitnetworkbrushmodels, qbool hitnetworkplayers, int *hitnetworkentity, qbool hitcsqcentities, qbool hitsurfaces) |
trace_t | CL_TracePoint (const vec3_t start, int type, prvm_edict_t *passedict, int hitsupercontentsmask, int skipsupercontentsmask, int skipmaterialflagsmask, qbool hitnetworkbrushmodels, qbool hitnetworkplayers, int *hitnetworkentity, qbool hitcsqcentities) |
#define CL_PointSuperContents | ( | point | ) |
Definition at line 17 of file cl_collision.h.
Referenced by CL_CheckBottom(), CL_movestep(), CL_NewParticlesFromEffectinfo(), CL_ParticleEffect_Fallback(), CL_ParticleExplosion(), R_DrawParticles(), V_CalcViewBlend(), VM_CL_checkbottom(), and VM_CL_pointcontents().
trace_t CL_Cache_TraceLineSurfaces | ( | const vec3_t | start, |
const vec3_t | end, | ||
int | type, | ||
int | hitsupercontentsmask, | ||
int | skipsupercontentsmask, | ||
int | skipmaterialflagsmask ) |
Definition at line 902 of file cl_collision.c.
References angles, trace_t::bmodelstartsolid, BoxesOverlap, client_state_t::brushmodel_entities, cl, CL_GetModelFromEdict(), CLVM_prog, Collision_Cache_ClipLineToGenericEntitySurfaces(), Collision_Cache_ClipLineToWorldSurfaces(), Collision_CombineTraces(), Con_Printf(), prvm_prog_t::edicts, trace_t::endpos, trace_t::ent, client_state_t::entities, trace_t::fraction, i, entity_render_t::inversematrix, entity_render_t::matrix, Matrix4x4_CreateFromQuakeEntity(), Matrix4x4_Invert_Simple(), max, MAX_EDICTS, entity_render_t::maxs, min, entity_render_t::mins, entity_render_t::model, model, MOVE_NOMONSTERS, MOVE_WORLDONLY, NULL, client_state_t::num_brushmodel_entities, origin, prvm_edict_t::priv, PRVM_clientedictfloat, PRVM_clientedictvector, entity_t::render, prvm_edict_t::server, solid, SOLID_BSP, trace_t::startsolid, type, VectorCopy, client_state_t::world, World_EntitiesInBox(), client_state_t::worldmodel, and trace_t::worldstartsolid.
Referenced by R_CanSeeBox(), R_DrawCorona(), and R_Shadow_BounceGrid_TracePhotons_Shot().
Definition at line 79 of file cl_collision.c.
int CL_GenericHitSuperContentsMask | ( | const prvm_edict_t * | edict | ) |
Definition at line 175 of file cl_collision.c.
References CLVM_prog, dphitcontentsmask, FL_MONSTER, flags, int(), PRVM_clientedictfloat, solid, SOLID_CORPSE, SOLID_SLIDEBOX, SOLID_TRIGGER, SUPERCONTENTS_BODY, SUPERCONTENTS_CORPSE, SUPERCONTENTS_MONSTERCLIP, SUPERCONTENTS_PLAYERCLIP, and SUPERCONTENTS_SOLID.
Referenced by CL_CheckBottom(), CL_movestep(), CL_Trace_Toss(), VM_CL_checkbottom(), VM_CL_droptofloor(), VM_CL_tracebox(), and VM_CL_traceline().
Definition at line 86 of file cl_collision.c.
model_t * CL_GetModelFromEdict | ( | prvm_edict_t * | ed | ) |
Definition at line 104 of file cl_collision.c.
References CL_GetModelByIndex(), CLVM_prog, prvm_edict_t::free, modelindex, NULL, and PRVM_clientedictfloat.
Referenced by CL_Cache_TraceLineSurfaces(), CL_GetEntityLocalTagMatrix(), CL_GetExtendedTagInfo(), CL_GetPitchSign(), CL_GetTagIndex(), CL_GetTagMatrix(), CL_TraceBox(), CL_TraceLine(), CL_TracePoint(), CL_VM_GetEntitySoundOrigin(), CSQC_AddRenderEdict(), getmodel(), VM_CL_gettagindex(), and VM_CL_gettaginfo().
void CL_LinkEdict | ( | prvm_edict_t * | ent | ) |
Definition at line 112 of file cl_collision.c.
References absmax, absmin, angles, avelocity, cl, cl_areagrid_link_SOLID_NOT, CL_GetModelByIndex(), CLVM_prog, Con_DPrintf(), Con_Printf(), prvm_prog_t::edicts, prvm_edict_t::free, cvar_t::integer, maxs, mins, model, modelindex, NULL, origin, PRVM_clientedictfloat, PRVM_clientedictvector, PRVM_NUM_FOR_EDICT, solid, SOLID_BSP, VectorAdd, VectorCopy, client_state_t::world, and World_LinkEdict().
Referenced by CL_movestep(), CLVM_end_increase_edicts(), SetMinMaxSizePRVM(), VM_CL_copyentity(), VM_CL_setorigin(), VM_CL_setsize(), and VM_nudgeoutofsolid().
float CL_SelectTraceLine | ( | const vec3_t | start, |
const vec3_t | end, | ||
vec3_t | impact, | ||
vec3_t | normal, | ||
int * | hitent, | ||
entity_render_t * | ignoreent ) |
Definition at line 5 of file cl_collision.c.
References entity_render_t::alpha, bound, BoxesOverlap, chase_active, cl, Collision_ClipTrace_Box(), EF_ADDITIVE, EF_NODEPTHTEST, EF_SELECTABLE, entity_render_t::effects, entity_state_t::effects, trace_t::endpos, client_state_t::entities, client_state_t::entities_active, entity_render_t::flags, trace_t::fraction, entity_render_t::frameblend, cvar_t::integer, entity_render_t::inversematrix, entity_render_t::matrix, Matrix4x4_Transform(), Matrix4x4_Transform3x3(), max, entity_render_t::maxs, min, entity_render_t::mins, entity_render_t::model, n, normal, plane_t::normal, model_t::normalmaxs, model_t::normalmins, NULL, client_state_t::num_entities, trace_t::plane, entity_t::render, RENDER_EXTERIORMODEL, entity_render_t::skeleton, entity_t::state_current, SUPERCONTENTS_SOLID, model_t::TraceLine, vec3_origin, VectorCopy, VectorLerp, and client_state_t::worldmodel.
Referenced by CL_UpdatePrydonCursor().
trace_t CL_TraceBox | ( | const vec3_t | start, |
const vec3_t | mins, | ||
const vec3_t | maxs, | ||
const vec3_t | end, | ||
int | type, | ||
prvm_edict_t * | passedict, | ||
int | hitsupercontentsmask, | ||
int | skipsupercontentsmask, | ||
int | skipmaterialflagsmask, | ||
float | extend, | ||
qbool | hitnetworkbrushmodels, | ||
qbool | hitnetworkplayers, | ||
int * | hitnetworkentity, | ||
qbool | hitcsqcentities ) |
Definition at line 651 of file cl_collision.c.
References angles, trace_t::bmodelstartsolid, BoxesOverlap, client_state_t::brushmodel_entities, cl, CL_GetModelFromEdict(), CL_TraceLine(), CL_TracePoint(), clipgroup, CLVM_prog, Collision_ClipToGenericEntity(), Collision_ClipToWorld(), Collision_CombineTraces(), Con_Printf(), prvm_prog_t::edicts, trace_t::endpos, trace_t::ent, client_state_t::entities, client_state_t::entities_active, FL_MONSTER, flags, trace_t::fraction, scoreboard_t::frags, entity_render_t::frameblend, gamemode, i, int(), cvar_t::integer, entity_render_t::inversematrix, IS_OLDNEXUIZ_DERIVED, entity_render_t::matrix, Matrix4x4_CreateFromQuakeEntity(), Matrix4x4_CreateTranslate(), Matrix4x4_Invert_Simple(), Matrix4x4_OriginFromMatrix(), max, MAX_EDICTS, client_state_t::maxclients, entity_render_t::maxs, maxs, min, entity_render_t::mins, mins, entity_render_t::model, model, MOVE_HITMODEL, MOVE_MISSILE, MOVE_NOMONSTERS, MOVE_WORLDONLY, scoreboard_t::name, NULL, client_state_t::num_brushmodel_entities, origin, owner, client_state_t::playerentity, client_state_t::playerstandmaxs, client_state_t::playerstandmins, prvm_edict_t::priv, PRVM_clientedictedict, PRVM_clientedictfloat, PRVM_clientedictvector, PRVM_EDICT_TO_PROG, PRVM_PROG_TO_EDICT, entity_t::render, client_state_t::scores, prvm_edict_t::server, entity_render_t::skeleton, solid, SOLID_BBOX, SOLID_BSP, SOLID_CORPSE, trace_t::startsolid, SUPERCONTENTS_BODY, SUPERCONTENTS_CORPSE, sv_debugmove, type, vec3_origin, VectorAdd, VectorCompare, VectorCopy, VectorSubtract, client_state_t::world, World_EntitiesInBox(), client_state_t::worldmodel, and trace_t::worldstartsolid.
Referenced by CL_ClientMovement_Move(), CL_ClientMovement_Physics_Walk(), CL_ClientMovement_Unstick(), CL_ClientMovement_UpdateStatus(), CL_movestep(), CL_Trace_Toss(), PHYS_TraceBox(), VM_CL_droptofloor(), and VM_CL_tracebox().
trace_t CL_TraceLine | ( | const vec3_t | start, |
const vec3_t | end, | ||
int | type, | ||
prvm_edict_t * | passedict, | ||
int | hitsupercontentsmask, | ||
int | skipsupercontentsmask, | ||
int | skipmaterialflagsmask, | ||
float | extend, | ||
qbool | hitnetworkbrushmodels, | ||
qbool | hitnetworkplayers, | ||
int * | hitnetworkentity, | ||
qbool | hitcsqcentities, | ||
qbool | hitsurfaces ) |
Definition at line 427 of file cl_collision.c.
References angles, trace_t::bmodelstartsolid, BoxesOverlap, client_state_t::brushmodel_entities, cl, CL_GetModelFromEdict(), CL_TracePoint(), clipgroup, CLVM_prog, Collision_ClipLineToGenericEntity(), Collision_ClipLineToWorld(), Collision_ClipToGenericEntity(), Collision_CombineTraces(), Con_Printf(), prvm_prog_t::edicts, trace_t::endpos, trace_t::ent, client_state_t::entities, client_state_t::entities_active, FL_MONSTER, flags, trace_t::fraction, scoreboard_t::frags, entity_render_t::frameblend, gamemode, i, int(), cvar_t::integer, entity_render_t::inversematrix, IS_OLDNEXUIZ_DERIVED, entity_render_t::matrix, Matrix4x4_CreateFromQuakeEntity(), Matrix4x4_CreateTranslate(), Matrix4x4_Invert_Simple(), Matrix4x4_OriginFromMatrix(), max, MAX_EDICTS, client_state_t::maxclients, entity_render_t::maxs, maxs, min, entity_render_t::mins, mins, entity_render_t::model, model, MOVE_HITMODEL, MOVE_MISSILE, MOVE_NOMONSTERS, MOVE_WORLDONLY, scoreboard_t::name, NULL, client_state_t::num_brushmodel_entities, origin, owner, client_state_t::playerentity, client_state_t::playerstandmaxs, client_state_t::playerstandmins, prvm_edict_t::priv, PRVM_clientedictedict, PRVM_clientedictfloat, PRVM_clientedictvector, PRVM_EDICT_TO_PROG, PRVM_PROG_TO_EDICT, entity_t::render, client_state_t::scores, prvm_edict_t::server, entity_render_t::skeleton, solid, SOLID_BBOX, SOLID_BSP, SOLID_CORPSE, trace_t::startsolid, SUPERCONTENTS_BODY, SUPERCONTENTS_CORPSE, sv_debugmove, type, vec3_origin, VectorAdd, VectorClear, VectorCompare, VectorCopy, client_state_t::world, World_EntitiesInBox(), client_state_t::worldmodel, and trace_t::worldstartsolid.
Referenced by CL_CheckBottom(), CL_ClientMovement_Physics_Walk(), CL_LinkNetworkEntity(), CL_NewParticle(), CL_ParticleExplosion(), CL_SpawnDecalParticleForPoint(), CL_TraceBox(), R_CanSeeBox(), R_CompleteLightPoint(), R_DrawParticles(), R_MoveExplosion(), R_NewExplosion(), R_Shadow_BounceGrid_TracePhotons_Shot(), R_Shadow_SelectLightInView(), R_Shadow_SetCursorLocationForView(), Sbar_ShowFPS(), V_CalcRefdefUsing(), VM_CL_checkbottom(), and VM_CL_traceline().
trace_t CL_TracePoint | ( | const vec3_t | start, |
int | type, | ||
prvm_edict_t * | passedict, | ||
int | hitsupercontentsmask, | ||
int | skipsupercontentsmask, | ||
int | skipmaterialflagsmask, | ||
qbool | hitnetworkbrushmodels, | ||
qbool | hitnetworkplayers, | ||
int * | hitnetworkentity, | ||
qbool | hitcsqcentities ) |
Definition at line 206 of file cl_collision.c.
References angles, trace_t::bmodelstartsolid, BoxesOverlap, client_state_t::brushmodel_entities, cl, CL_GetModelFromEdict(), clipgroup, CLVM_prog, Collision_ClipPointToGenericEntity(), Collision_ClipPointToWorld(), Collision_ClipToGenericEntity(), Collision_CombineTraces(), Con_Printf(), prvm_prog_t::edicts, trace_t::ent, client_state_t::entities, client_state_t::entities_active, FL_MONSTER, flags, trace_t::fraction, scoreboard_t::frags, entity_render_t::frameblend, gamemode, i, int(), cvar_t::integer, entity_render_t::inversematrix, IS_OLDNEXUIZ_DERIVED, entity_render_t::matrix, Matrix4x4_CreateFromQuakeEntity(), Matrix4x4_CreateTranslate(), Matrix4x4_Invert_Simple(), Matrix4x4_OriginFromMatrix(), MAX_EDICTS, client_state_t::maxclients, entity_render_t::maxs, maxs, entity_render_t::mins, mins, entity_render_t::model, model, MOVE_HITMODEL, MOVE_MISSILE, MOVE_NOMONSTERS, MOVE_WORLDONLY, scoreboard_t::name, NULL, client_state_t::num_brushmodel_entities, origin, owner, client_state_t::playerentity, client_state_t::playerstandmaxs, client_state_t::playerstandmins, prvm_edict_t::priv, PRVM_clientedictedict, PRVM_clientedictfloat, PRVM_clientedictvector, PRVM_EDICT_TO_PROG, PRVM_PROG_TO_EDICT, entity_t::render, client_state_t::scores, prvm_edict_t::server, entity_render_t::skeleton, solid, SOLID_BBOX, SOLID_BSP, SOLID_CORPSE, trace_t::startsolid, SUPERCONTENTS_BODY, SUPERCONTENTS_CORPSE, sv_debugmove, type, vec3_origin, VectorAdd, VectorClear, VectorCompare, VectorCopy, client_state_t::world, World_EntitiesInBox(), client_state_t::worldmodel, and trace_t::worldstartsolid.
Referenced by CL_ClientMovement_Physics_Swim(), CL_ClientMovement_UpdateStatus(), CL_TraceBox(), CL_TraceLine(), and R_Shadow_BounceGrid_RefractiveIndexAtPoint().