]> de.git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - cl_collision.h
reworked collision cache to only be used by bouncegrid and only in
[xonotic/darkplaces.git] / cl_collision.h
index 74c42e8badc5963953216bd6e6e51642f5ca6a52..851502cfa349537789da8f9f65683a3edeb56290 100644 (file)
@@ -2,14 +2,18 @@
 #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_startcontents; // set by TraceLine
-
-float CL_TraceLine(const vec3_t start, const vec3_t end, vec3_t impact, vec3_t normal, int hitbmodels, entity_render_t **hitent, int hitsupercontentsmask);
-float CL_SelectTraceLine(const vec3_t start, const vec3_t end, vec3_t impact, vec3_t normal, int *hitent);
+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);
-int CL_PointQ1Contents(const vec3_t p);
-int CL_PointSuperContents(const vec3_t p);
+
+dp_model_t *CL_GetModelByIndex(int modelindex);
+dp_model_t *CL_GetModelFromEdict(prvm_edict_t *ed);
+
+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);
+trace_t CL_Cache_TraceLineSurfaces(const vec3_t start, const vec3_t end, int type, int hitsupercontentsmask);
+#define CL_PointSuperContents(point) (CL_TracePoint((point), sv_gameplayfix_swiminbmodels.integer ? MOVE_NOMONSTERS : MOVE_WORLDONLY, NULL, 0, true, false, NULL, false).startsupercontents)
 
 #endif