281 |
f += mouseforce->get_force(a,x,v, time) * floor->mousefactor(); |
f += mouseforce->get_force(a,x,v, time) * floor->mousefactor(); |
282 |
double vv=length(v); |
double vv=length(v); |
283 |
if (vv > 0.01) |
if (vv > 0.01) |
284 |
f -= v/vv * floor->friction(); |
f -= v/vv * options::FrictionFactor*floor->friction(); |
285 |
else |
else |
286 |
f -= v * (floor->friction()); |
f -= v * options::FrictionFactor*(floor->friction()); |
287 |
f += floor->get_force(a); |
f += floor->get_force(a); |
288 |
} |
} |
289 |
|
|
310 |
static void |
static void |
311 |
advance_actor(Actor *a, double time, double h) |
advance_actor(Actor *a, double time, double h) |
312 |
{ |
{ |
313 |
const double MAXVEL = 20; |
const double MAXVEL = 40; |
314 |
|
|
315 |
ActorInfo &ai = *a->get_actorinfo(); |
ActorInfo &ai = *a->get_actorinfo(); |
316 |
V3 accel = get_accel(a, ai.pos, ai.vel, time); |
V3 accel = get_accel(a, ai.pos, ai.vel, time); |