Deltarune (Chapter 3) script viewer

← back to main script listing

gml_GlobalScript_scr_line_intersection

(view raw script w/o annotations or w/e)
1
function lines_intersect_x()
2
{
3
    var ua = 0;
4
    var ux = argument2 - argument0;
5
    var uy = argument3 - argument1;
6
    var vx = argument6 - argument4;
7
    var vy = argument7 - argument5;
8
    var wx = argument0 - argument4;
9
    var wy = argument1 - argument5;
10
    var ud = (vy * ux) - (vx * uy);
11
    if (ud != 0)
12
    {
13
        ua = ((vx * wy) - (vy * wx)) / ud;
14
        if (argument8)
15
        {
16
            var ub = ((ux * wy) - (uy * wx)) / ud;
17
            if (ua < 0 || ua > 1 || ub < 0 || ub > 1)
18
                ua = 0;
19
        }
20
    }
21
    return ua;
22
}