summaryrefslogtreecommitdiff
path: root/src/engine/ragdoll.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/ragdoll.h')
-rw-r--r--src/engine/ragdoll.h17
1 files changed, 3 insertions, 14 deletions
diff --git a/src/engine/ragdoll.h b/src/engine/ragdoll.h
index cf68c01..1e51c81 100644
--- a/src/engine/ragdoll.h
+++ b/src/engine/ragdoll.h
@@ -436,12 +436,10 @@ void ragdolldata::constrain()
FVAR(ragdollbodyfric, 0, 0.95f, 1);
FVAR(ragdollbodyfricscale, 0, 2, 10);
-FVAR(ragdollwaterfric, 0, 0.85f, 1);
FVAR(ragdollgroundfric, 0, 0.8f, 1);
FVAR(ragdollairfric, 0, 0.996f, 1);
FVAR(ragdollunstick, 0, 10, 1e3f);
VAR(ragdollexpireoffset, 0, 1500, 30000);
-VAR(ragdollwaterexpireoffset, 0, 3000, 30000);
void ragdolldata::move(dynent *pl, float ts)
{
@@ -449,15 +447,7 @@ void ragdolldata::move(dynent *pl, float ts)
if(collidemillis && lastmillis > collidemillis) return;
int material = lookupmaterial(vec(center.x, center.y, center.z + radius/2));
- bool water = isliquid(material&MATF_VOLUME);
- if(!pl->inwater && water) game::physicstrigger(pl, true, 0, -1, material&MATF_VOLUME);
- else if(pl->inwater && !water)
- {
- material = lookupmaterial(center);
- water = isliquid(material&MATF_VOLUME);
- if(!water) game::physicstrigger(pl, true, 0, 1, pl->inwater);
- }
- pl->inwater = water ? material&MATF_VOLUME : MAT_AIR;
+ pl->inwater = MAT_AIR;
calcrotfriction();
float tsfric = timestep ? ts/timestep : 1,
@@ -468,8 +458,7 @@ void ragdolldata::move(dynent *pl, float ts)
vert &v = verts[i];
vec dpos = vec(v.pos).sub(v.oldpos);
dpos.z -= GRAVITY*ts*ts;
- if(water) dpos.z += 0.25f*sinf(detrnd(size_t(this)+i, 360)*RAD + lastmillis/10000.0f*M_PI)*ts;
- dpos.mul(pow((water ? ragdollwaterfric : 1.0f) * (v.collided ? ragdollgroundfric : airfric), ts*1000.0f/ragdolltimestepmin)*tsfric);
+ dpos.mul(pow(1.0f * (v.collided ? ragdollgroundfric : airfric), ts*1000.0f/ragdolltimestepmin)*tsfric);
v.oldpos = v.pos;
v.pos.add(dpos);
}
@@ -494,7 +483,7 @@ void ragdolldata::move(dynent *pl, float ts)
if(collisions)
{
floating = 0;
- if(!collidemillis) collidemillis = lastmillis + (water ? ragdollwaterexpireoffset : ragdollexpireoffset);
+ if(!collidemillis) collidemillis = lastmillis + ragdollexpireoffset;
}
else if(++floating > 1 && lastmillis < collidemillis) collidemillis = 0;