X-Git-Url: https://git.xonotic.org/?a=blobdiff_plain;f=cl_collision.h;h=27ce51be26db7bdd7f3ebb48f2072efe9a668572;hb=9855b6cf603522523529940c9df8827e7d0c2f91;hp=ec4a89f05df47f3e17b4448fce88d9b31d55a70b;hpb=1019743b2072b60aa1a2897b04c7cbb8f94454d1;p=xonotic%2Fdarkplaces.git diff --git a/cl_collision.h b/cl_collision.h index ec4a89f0..27ce51be 100644 --- a/cl_collision.h +++ b/cl_collision.h @@ -2,13 +2,17 @@ #ifndef CL_COLLISION_H #define CL_COLLISION_H -// if contents is not zero, it will impact on content changes -// (leafs matching contents are considered empty, others are solid) -extern int cl_traceline_endcontents; // set by TraceLine +float CL_SelectTraceLine(const vec3_t start, const vec3_t end, vec3_t impact, vec3_t normal, int *hitent, entity_render_t *ignoreent); +void CL_FindNonSolidLocation(const vec3_t in, vec3_t out, vec_t radius); -// need to call this sometime before using TraceLine with hitbmodels -void CL_TraceLine_ScanForBModels(void); +dp_model_t *CL_GetModelByIndex(int modelindex); +dp_model_t *CL_GetModelFromEdict(prvm_edict_t *ed); -float CL_TraceLine (vec3_t start, vec3_t end, vec3_t impact, vec3_t normal, int contents, int hitbmodels); +void CL_LinkEdict(prvm_edict_t *ent); +int CL_GenericHitSuperContentsMask(const prvm_edict_t *edict); +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, qboolean hitnetworkbrushmodels, qboolean hitnetworkplayers, int *hitnetworkentity, qboolean hitcsqcentities); +trace_t CL_TraceLine(const vec3_t start, const vec3_t end, int type, prvm_edict_t *passedict, int hitsupercontentsmask, qboolean hitnetworkbrushmodels, qboolean hitnetworkplayers, int *hitnetworkentity, qboolean hitcsqcentities, qboolean hitsurfaces); +trace_t CL_TracePoint(const vec3_t start, int type, prvm_edict_t *passedict, int hitsupercontentsmask, qboolean hitnetworkbrushmodels, qboolean hitnetworkplayers, int *hitnetworkentity, qboolean hitcsqcentities); +#define CL_PointSuperContents(point) (CL_TracePoint((point), sv_gameplayfix_swiminbmodels.integer ? MOVE_NOMONSTERS : MOVE_WORLDONLY, NULL, 0, true, false, NULL, false).startsupercontents) #endif