share/hedgewars/Data/Scripts/Utils.lua
author sheepluva
Tue, 16 Dec 2014 22:30:17 +0100
changeset 10680 4a4a82686e91
parent 4873 98dbb9b985e5
child 13215 bc95df84395f
permissions -rw-r--r--
issue #871 in hedgewars: "Hedgehog dropping into water while still attached to a rope makes engine crash" Due to doStepRopeWork's being completely skipped 75% of the ticks - including drowning/detachment-condition checks

-- Library for miscellaneous utilitiy functions

-- Check if a gear is inside a box
function gearIsInBox(gear, x, y, w, h)
    gx, gy = GetGearPosition(gear)
    if gx >= x and gy >= y and gx <= x + w and gy <= y + h then
        return true
    end
    return false
end

-- Check if a gear is inside a circle
function gearIsInCircle(gear, x, y, r, useRadius)
    gx, gy = GetGearPosition(gear)
    if useRadius then
        r = r + GetGearRadius(gear)
    end
    if r ^ 2 >= (x - gx) ^ 2 + (y - gy) ^ 2 then
        return true
    end
    return false
end