From d9823696930765de820e1e511bd220c71e4bdfed Mon Sep 17 00:00:00 2001 From: divverent Date: Tue, 19 Oct 2010 19:13:39 +0000 Subject: [PATCH] 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 --- sv_phys.c | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) 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) -- 2.39.2