From: Mario Date: Sun, 9 Aug 2020 12:01:43 +0000 (+1000) Subject: Use an ordered list to find triggers to touch, fixes some odd cases with overlapping... X-Git-Tag: xonotic-v0.8.5~778 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=52575743c833ba5456bddde8738a468e7236a9b4;p=xonotic%2Fxonotic-data.pk3dir.git Use an ordered list to find triggers to touch, fixes some odd cases with overlapping triggers --- diff --git a/qcsrc/common/physics/movetypes/movetypes.qc b/qcsrc/common/physics/movetypes/movetypes.qc index eb57922b9..e20755183 100644 --- a/qcsrc/common/physics/movetypes/movetypes.qc +++ b/qcsrc/common/physics/movetypes/movetypes.qc @@ -424,7 +424,7 @@ void _Movetype_LinkEdict_TouchAreaGrid(entity this) // SV_LinkEdict_TouchAreaGr if(this.solid == SOLID_NOT) return; - FOREACH_ENTITY_RADIUS(0.5 * (this.absmin + this.absmax), 0.5 * vlen(this.absmax - this.absmin), true, { + FOREACH_ENTITY_RADIUS_ORDERED(0.5 * (this.absmin + this.absmax), 0.5 * vlen(this.absmax - this.absmin), true, { if (it.solid == SOLID_TRIGGER && it != this) if (it.move_nomonsters != MOVE_NOMONSTERS && it.move_nomonsters != MOVE_WORLDONLY) if (gettouch(it) && boxesoverlap(it.absmin, it.absmax, this.absmin, this.absmax))