From: divverent Date: Tue, 19 Oct 2010 19:13:39 +0000 (+0000) Subject: fix in entity teleport detection of FlyMove X-Git-Tag: xonotic-v0.1.0preview~99 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=d9823696930765de820e1e511bd220c71e4bdfed;p=xonotic%2Fdarkplaces.git fix in entity teleport detection of FlyMove git-svn-id: svn://svn.icculus.org/twilight/trunk/darkplaces@10555 d7cf8633-e32d-0410-b094-e92efae38249 ::stable-branch::merge=245e40043557def8aac7ec4d3c1c094086f2418d --- diff --git a/sv_phys.c b/sv_phys.c index 78633253..e55ae81e 100644 --- a/sv_phys.c +++ b/sv_phys.c @@ -1297,12 +1297,24 @@ static int SV_FlyMove (prvm_edict_t *ent, float time, qboolean applygravity, flo //Con_Printf("step %f %f %f : ", ent->fields.server->origin[0], ent->fields.server->origin[1], ent->fields.server->origin[2]); VectorSet(steppush, 0, 0, stepheight); VectorCopy(ent->fields.server->origin, org); - SV_PushEntity(&steptrace, ent, steppush, false, false); + if(!SV_PushEntity(&steptrace, ent, steppush, false, false)) + { + blocked |= 8; + break; + } //Con_Printf("%f %f %f : ", ent->fields.server->origin[0], ent->fields.server->origin[1], ent->fields.server->origin[2]); - SV_PushEntity(&steptrace2, ent, push, false, false); + if(!SV_PushEntity(&steptrace2, ent, push, false, false)) + { + blocked |= 8; + break; + } //Con_Printf("%f %f %f : ", ent->fields.server->origin[0], ent->fields.server->origin[1], ent->fields.server->origin[2]); VectorSet(steppush, 0, 0, org[2] - ent->fields.server->origin[2]); - SV_PushEntity(&steptrace3, ent, steppush, false, false); + if(!SV_PushEntity(&steptrace3, ent, steppush, false, false)) + { + blocked |= 8; + break; + } //Con_Printf("%f %f %f : ", ent->fields.server->origin[0], ent->fields.server->origin[1], ent->fields.server->origin[2]); // accept the new position if it made some progress... if (fabs(ent->fields.server->origin[0] - org[0]) >= 0.03125 || fabs(ent->fields.server->origin[1] - org[1]) >= 0.03125)