Deltarune (Chapter 4) script viewer

← back to main script listing

gml_GlobalScript_scr_get_intersection

(view raw script w/o annotations or w/e)
1
function 
scr_get_intersection
scr_get_intersection

function
scr_get_intersection(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8)
{ var ua = 0; var ux = arg2 - arg0; var uy = arg3 - arg1; var vx = arg6 - arg4; var vy = arg7 - arg5; var wx = arg0 - arg4; var wy = arg1 - arg5; var ud = (vy * ux) - (vx * uy); if (ud != 0) { ua = ((vx * wy) - (vy * wx)) / ud; if (arg8) { var ub = ((ux * wy) - (uy * wx)) / ud; if (ua < 0 || ua > 1 || ub < 0 || ub > 1) ua = 0; } } return ua; } function scr_get_intersection_v2(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { var _vecmul =
scr_get_intersection(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
var _vec2 = new Vector2(arg0, arg1); var _vecAdd = new Vector2(arg2 - arg0, arg3 - arg1).normalized * _vecmul; _vec2.x += _vecAdd.x; _vec2.y += _vecAdd.y; return _vec2; }
(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8)
2
{
3
    var ua = 0;
4
    var ux = arg2 - arg0;
5
    var uy = arg3 - arg1;
6
    var vx = arg6 - arg4;
7
    var vy = arg7 - arg5;
8
    var wx = arg0 - arg4;
9
    var wy = arg1 - arg5;
10
    var ud = (vy * ux) - (vx * uy);
11
    if (ud != 0)
12
    {
13
        ua = ((vx * wy) - (vy * wx)) / ud;
14
        if (arg8)
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
}
23
24
function scr_get_intersection_v2(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8)
25
{
26
    var _vecmul = 
scr_get_intersection
scr_get_intersection

function
scr_get_intersection(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8)
{ var ua = 0; var ux = arg2 - arg0; var uy = arg3 - arg1; var vx = arg6 - arg4; var vy = arg7 - arg5; var wx = arg0 - arg4; var wy = arg1 - arg5; var ud = (vy * ux) - (vx * uy); if (ud != 0) { ua = ((vx * wy) - (vy * wx)) / ud; if (arg8) { var ub = ((ux * wy) - (uy * wx)) / ud; if (ua < 0 || ua > 1 || ub < 0 || ub > 1) ua = 0; } } return ua; } function scr_get_intersection_v2(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) { var _vecmul =
scr_get_intersection(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
var _vec2 = new Vector2(arg0, arg1); var _vecAdd = new Vector2(arg2 - arg0, arg3 - arg1).normalized * _vecmul; _vec2.x += _vecAdd.x; _vec2.y += _vecAdd.y; return _vec2; }
(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
27
    var _vec2 = new Vector2(arg0, arg1);
28
    var _vecAdd = new Vector2(arg2 - arg0, arg3 - arg1).normalized * _vecmul;
29
    _vec2.x += _vecAdd.x;
30
    _vec2.y += _vecAdd.y;
31
    return _vec2;
32
}