diff -r 652139f230c7 -r 7a720b5d2247 share/hedgewars/Data/Scripts/Tracker.lua --- a/share/hedgewars/Data/Scripts/Tracker.lua Sat Jan 22 22:39:35 2011 +0300 +++ b/share/hedgewars/Data/Scripts/Tracker.lua Sat Jan 22 22:31:05 2011 +0100 @@ -224,6 +224,27 @@ end end +-- Run a function on all gears within a box +function runOnGearsInBox(func, x, y, w, h) + for k, gear in ipairs(gears) do + gx, gy = GetGearPosition(gear) + if gx >= x and gy >= y and gx <= x + w and gy <= y + h then + func(gear) + end + end +end + +-- Run a function on all gears within a circle +function runOnGearsInCircle(func, x, y, r) + for k, gear in ipairs(gears) do + gx, gy = GetGearPosition(gear) + gr = GetGearRadius(gear) + if (r + gr) ^ 2 >= (x - gx) ^ 2 + (y - gy) ^ 2 then + func(gear) + end + end +end + -- Run a function on all tracked hogs function runOnHogs(func) for k, hogs in pairs(teams) do