From 51d8d43312121e6b1607eb56c5cbacd24d090971 Mon Sep 17 00:00:00 2001 From: div0 Date: Sun, 28 Feb 2010 19:45:36 +0000 Subject: [PATCH] change the sense of the transform in findradius git-svn-id: svn://svn.icculus.org/nexuiz/trunk@8719 f962a42d-fe04-0410-a3ab-8c8b0445ebaa --- data/qcsrc/server/g_damage.qc | 4 ++-- data/qcsrc/warpzonelib/common.qc | 7 ++----- data/qcsrc/warpzonelib/common.qh | 2 +- 3 files changed, 5 insertions(+), 8 deletions(-) diff --git a/data/qcsrc/server/g_damage.qc b/data/qcsrc/server/g_damage.qc index 4b0253408..d84546cf2 100644 --- a/data/qcsrc/server/g_damage.qc +++ b/data/qcsrc/server/g_damage.qc @@ -1116,7 +1116,7 @@ float RadiusDamage (entity inflictor, entity attacker, float coredamage, float e local float hitratio; local vector hitloc; local vector myblastorigin; - myblastorigin = WarpZone_UnTransformOrigin(targ, blastorigin); + myblastorigin = WarpZone_TransformOrigin(targ, blastorigin); center = targ.origin + (targ.mins + targ.maxs) * 0.5; // if it's a player, use the view origin as reference if (targ.classname == "player") @@ -1135,7 +1135,7 @@ float RadiusDamage (entity inflictor, entity attacker, float coredamage, float e while (c < total) { //traceline(targ.WarpZone_findradius_findorigin, nearest, MOVE_NOMONSTERS, inflictor); - WarpZone_TraceLine(blastorigin, WarpZone_TransformOrigin(targ, nearest), MOVE_NOMONSTERS, inflictor); + WarpZone_TraceLine(blastorigin, WarpZone_UnTransformOrigin(targ, nearest), MOVE_NOMONSTERS, inflictor); if (trace_fraction == 1 || trace_ent == targ) { hits = hits + 1; diff --git a/data/qcsrc/warpzonelib/common.qc b/data/qcsrc/warpzonelib/common.qc index af9405df2..d657a37cf 100644 --- a/data/qcsrc/warpzonelib/common.qc +++ b/data/qcsrc/warpzonelib/common.qc @@ -394,7 +394,6 @@ void WarpZone_FindRadius_Recurse(vector org, float rad, vector org0, vector org_new; vector org0_new; vector shift_new, transform_new; - vector shift_second, transform_second; vector p; entity e, e0; entity wz; @@ -444,10 +443,8 @@ void WarpZone_FindRadius_Recurse(vector org, float rad, vector org0, traceline(e.warpzone_targetorigin, org0_new, MOVE_NOMONSTERS, e); org_new = trace_endpos; - transform_second = AnglesTransform_Invert(e.warpzone_transform); - shift_second = AnglesTransform_PrePostShift_GetPostShift(e.warpzone_shift, transform_second, '0 0 0'); // invert the shift - transform_new = AnglesTransform_Multiply(transform, transform_second); - shift_new = AnglesTransform_Multiply_GetPostShift(transform, shift, transform_second, shift_second); + transform_new = AnglesTransform_Multiply(e.warpzone_transform, transform); + shift_new = AnglesTransform_Multiply_GetPostShift(e.warpzone_transform, e.warpzone_shift, transform, shift); WarpZone_FindRadius_Recurse( org_new, bound(0, rad - vlen(org_new - org0_new), rad - 8), diff --git a/data/qcsrc/warpzonelib/common.qh b/data/qcsrc/warpzonelib/common.qh index a1dab7de5..4806b1e3e 100644 --- a/data/qcsrc/warpzonelib/common.qh +++ b/data/qcsrc/warpzonelib/common.qh @@ -32,7 +32,7 @@ void WarpZone_TrailParticles(entity own, float eff, vector org, vector end); .vector WarpZone_findradius_dist; .vector WarpZone_findradius_nearest; -// also set: warpzone parameters, so WarpZone_TransformOrigin can transform vectors from victim's to blast's system +// also set: warpzone parameters, so WarpZone_TransformOrigin can transform vectors from blast's to victim's system .vector WarpZone_findradius_findorigin; .float WarpZone_findradius_findradius; entity WarpZone_FindRadius(vector org, float radius, float needlineofsight); -- 2.39.2