e.warpzone_targetorigin = other_org;
e.warpzone_angles = my_ang;
e.warpzone_targetangles = other_ang;
- fixedmakevectors(my_ang); e.warpzone_forward = v_forward;
- fixedmakevectors(other_ang); e.warpzone_targetforward = v_forward;
+ FIXED_MAKE_VECTORS_NEW(my_ang, forward, right, up);
+ e.warpzone_forward = forward;
+ FIXED_MAKE_VECTORS(other_ang, forward, right, up);
+ e.warpzone_targetforward = forward;
setcamera_transform(e, WarpZone_camera_transform);
}
float nomonsters_adjusted;
float frac, sol, i;
float contentshack;
- vector o0, e0;
entity wz;
- vector vf, vr, vu;
WarpZone_trace_forent = forent;
WarpZone_trace_firstzone = NULL;
}
}
- vf = v_forward;
- vr = v_right;
- vu = v_up;
- o0 = org;
- e0 = end;
-
switch(nomonsters)
{
case MOVE_WORLDONLY:
if(contentshack)
BITCLR_ASSIGN(WarpZone_trace_forent.dphitcontentsmask, DPCONTENTS_SOLID);
trace_startsolid = sol;
- v_forward = vf;
- v_right = vr;
- v_up = vu;
}
void WarpZone_TraceBox(vector org, vector mi, vector ma, vector end, float nomonsters, entity forent)
void WarpZone_TraceToss_ThroughZone(entity e, entity forent, entity zone, WarpZone_trace_callback_t cb)
{
float g, dt, i;
- vector vf, vr, vu, v0, o0;
+ vector v0, o0;
entity wz;
o0 = e.origin;
return;
}
- vf = v_forward;
- vr = v_right;
- vu = v_up;
-
// if starting in warpzone, first transform
wz = WarpZone_Find(e.origin + e.mins, e.origin + e.maxs);
if(wz)
WarpZone_MakeAllOther();
LABEL(fail)
WarpZone_tracetoss_velocity = e.velocity;
- v_forward = vf;
- v_right = vr;
- v_up = vu;
// restore old entity data (caller just uses trace_endpos, WarpZone_tracetoss_velocity and the transform)
e.velocity = v0;
e.origin = o0;