X-Git-Url: http://git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Flib%2Fwarpzone%2Fcommon.qc;h=2c491cab9809d9b875ad739d3d92971280a3e01f;hb=56c279771cb4307afca3afbb4f28aee96eb015bb;hp=82d3a50719356083ae96fbb18d691dfc2b9f83df;hpb=b945d959784e5b249c66aea4f3326d8ae048f1cd;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/lib/warpzone/common.qc b/qcsrc/lib/warpzone/common.qc index 82d3a5071..2c491cab9 100644 --- a/qcsrc/lib/warpzone/common.qc +++ b/qcsrc/lib/warpzone/common.qc @@ -71,8 +71,10 @@ void WarpZone_SetUp(entity e, vector my_org, vector my_ang, vector other_org, ve 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); } @@ -201,9 +203,7 @@ void WarpZone_TraceBox_ThroughZone(vector org, vector mi, vector ma, vector end, 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; @@ -228,12 +228,6 @@ void WarpZone_TraceBox_ThroughZone(vector org, vector mi, vector ma, vector end, } } - vf = v_forward; - vr = v_right; - vu = v_up; - o0 = org; - e0 = end; - switch(nomonsters) { case MOVE_WORLDONLY: @@ -325,9 +319,6 @@ LABEL(fail) 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) @@ -343,7 +334,7 @@ void WarpZone_TraceLine(vector org, 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; @@ -368,10 +359,6 @@ void WarpZone_TraceToss_ThroughZone(entity e, entity forent, entity zone, WarpZo 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) @@ -441,9 +428,6 @@ void WarpZone_TraceToss_ThroughZone(entity e, entity forent, entity zone, WarpZo 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;