#define ENTITYGRIDAREAS 16
#define MAX_ENTITYCLUSTERS 16
+#define JOINTTYPE_POINT 1
+#define JOINTTYPE_HINGE 2
+#define JOINTTYPE_SLIDER 3
+#define JOINTTYPE_UNIVERSAL 4
+#define JOINTTYPE_HINGE2 5
+#define JOINTTYPE_FIXED -1
+
typedef struct edict_engineprivate_s
{
// true if this edict is unused
qboolean ode_physics;
void *ode_body;
void *ode_geom;
+ void *ode_joint;
float *ode_vertex3f;
int *ode_element3i;
int ode_numvertices;
vec3_t ode_mins;
vec3_t ode_maxs;
vec_t ode_mass;
+ vec3_t ode_origin;
+ vec3_t ode_velocity;
+ vec3_t ode_angles;
+ vec3_t ode_avelocity;
+ qboolean ode_gravity;
int ode_modelindex;
vec_t ode_movelimit; // smallest component of (maxs[]-mins[])
matrix4x4_t ode_offsetmatrix;
matrix4x4_t ode_offsetimatrix;
+ int ode_joint_type;
+ int ode_joint_enemy;
+ int ode_joint_aiment;
+ vec3_t ode_joint_origin; // joint anchor
+ vec3_t ode_joint_angles; // joint axis
+ vec3_t ode_joint_velocity; // second joint axis
+ vec3_t ode_joint_movedir; // parameters
+ void *ode_massbuf;
}
edict_engineprivate_t;