//============================================================================
#ifndef ODE_STATIC
-# ifdef WIN32
-# define ODE_DYNAMIC 1
-# endif
+# define ODE_DYNAMIC 1
#endif
#if defined(ODE_STATIC) || defined(ODE_DYNAMIC)
cvar_t physics_ode_contact_cfm = {0, "physics_ode_contact_cfm", "0", "contact solver cfm parameter - Constraint Force Mixing (see ODE User Guide)"};
cvar_t physics_ode_world_erp = {0, "physics_ode_world_erp", "-1", "world solver erp parameter - Error Restitution Percent (see ODE User Guide); use defaults when set to -1"};
cvar_t physics_ode_world_cfm = {0, "physics_ode_world_cfm", "-1", "world solver cfm parameter - Constraint Force Mixing (see ODE User Guide); not touched when -1"};
-cvar_t physics_ode_iterationsperframe = {0, "physics_ode_iterationsperframe", "4", "divisor for time step, runs multiple physics steps per frame"};
+cvar_t physics_ode_iterationsperframe = {0, "physics_ode_iterationsperframe", "1", "divisor for time step, runs multiple physics steps per frame"};
cvar_t physics_ode_movelimit = {0, "physics_ode_movelimit", "0.5", "clamp velocity if a single move would exceed this percentage of object thickness, to prevent flying through walls"};
cvar_t physics_ode_spinlimit = {0, "physics_ode_spinlimit", "10000", "reset spin velocity if it gets too large"};
+cvar_t physics_ode = {0, "physics_ode", "0", "run ODE physics (enable this if you want them)"};
// LordHavoc: this large chunk of definitions comes from the ODE library
// include files.
Cvar_RegisterVariable(&physics_ode_iterationsperframe);
Cvar_RegisterVariable(&physics_ode_movelimit);
Cvar_RegisterVariable(&physics_ode_spinlimit);
+ Cvar_RegisterVariable(&physics_ode);
#ifdef ODE_DYNAMIC
// Load the DLL
void World_Physics_Frame(world_t *world, double frametime, double gravity)
{
#ifdef USEODE
- if (world->physics.ode)
+ if (world->physics.ode && physics_ode.integer)
{
int i;
prvm_edict_t *ed;