From: Samual Date: Sun, 14 Aug 2011 22:29:25 +0000 (-0400) Subject: Merge remote branch 'origin/div0-stable' into samual/movetype_spectator X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=ff96950bde1c8966f55d0f7b81ff4546a7c81edf;p=xonotic%2Fdarkplaces.git Merge remote branch 'origin/div0-stable' into samual/movetype_spectator Conflicts: sv_phys.c --- ff96950bde1c8966f55d0f7b81ff4546a7c81edf diff --cc sv_phys.c index c7a3b145,a28d178b..02539aca --- a/sv_phys.c +++ b/sv_phys.c @@@ -984,11 -984,10 +984,11 @@@ void SV_CheckAllEnts (void { if (check->priv.server->free) continue; - if (check->fields.server->movetype == MOVETYPE_PUSH - || check->fields.server->movetype == MOVETYPE_NONE - || check->fields.server->movetype == MOVETYPE_FOLLOW - || check->fields.server->movetype == MOVETYPE_NOCLIP - || check->fields.server->movetype == MOVETYPE_SPECTATOR) + if (PRVM_serveredictfloat(check, movetype) == MOVETYPE_PUSH + || PRVM_serveredictfloat(check, movetype) == MOVETYPE_NONE + || PRVM_serveredictfloat(check, movetype) == MOVETYPE_FOLLOW - || PRVM_serveredictfloat(check, movetype) == MOVETYPE_NOCLIP) ++ || PRVM_serveredictfloat(check, movetype) == MOVETYPE_NOCLIP ++ || PRVM_serveredictfloat(check, movetype) == MOVETYPE_SPECTATOR) continue; if (SV_TestEntityPosition (check, vec3_origin)) @@@ -2209,14 -2280,11 +2283,13 @@@ void SV_WalkMove (prvm_edict_t *ent // only try this if there was no floor in the way in the trace (no, // this check seems to be not REALLY necessary, because if clip & 1, // our trace will hit that thing too) - VectorSet(upmove, ent->fields.server->origin[0], ent->fields.server->origin[1], ent->fields.server->origin[2] + 1); - VectorSet(downmove, ent->fields.server->origin[0], ent->fields.server->origin[1], ent->fields.server->origin[2] - 1); - - if (ent->fields.server->movetype == MOVETYPE_FLYMISSILE) + VectorSet(upmove, PRVM_serveredictvector(ent, origin)[0], PRVM_serveredictvector(ent, origin)[1], PRVM_serveredictvector(ent, origin)[2] + 1); + VectorSet(downmove, PRVM_serveredictvector(ent, origin)[0], PRVM_serveredictvector(ent, origin)[1], PRVM_serveredictvector(ent, origin)[2] - 1); + if (PRVM_serveredictfloat(ent, movetype) == MOVETYPE_FLYMISSILE) type = MOVE_MISSILE; - else if (ent->fields.server->movetype == MOVETYPE_SPECTATOR) ++ else if (PRVM_serveredictfloat(ent, movetype) == MOVETYPE_SPECTATOR) + type = MOVE_WORLDONLY; - else if (ent->fields.server->solid == SOLID_TRIGGER || ent->fields.server->solid == SOLID_NOT) + else if (PRVM_serveredictfloat(ent, solid) == SOLID_TRIGGER || PRVM_serveredictfloat(ent, solid) == SOLID_NOT) type = MOVE_NOMONSTERS; // only clip against bmodels else type = MOVE_NORMAL;