aboutsummaryrefslogtreecommitdiff
path: root/src/utils.lua
blob: c3e4bea018cfdcf7ff8bf68c45ccf95b43896339 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
function lerp(a, b, c)
  return a + (b - a) * c
end

function dlerp(a, b, c)
  return lerp(b, a, 0.5^c)
end

function bton(bool)
  return bool and 1 or 0
end

function min(a, b)
  if a < b then
    return a
  end
  return b
end

function normalize(x, y)
  if x == 0 and y == 0 then
    return 0, 0
  end

  local leng = math.sqrt(x*x + y*y)
  return x / leng, y / leng
end

-- Top left corner
function point_in_rect(px, py, rx, ry, rw, rh)
  return px > rx and px < rx + rw and py > ry and py < ry + rh
end

function dist(x1, y1, x2, y2)
  local dx = x1 - x2
  local dy = y1 - y2
  return (dx*dx + dy*dy)^0.5
end