Deltarune (Chapter 5) script viewer

← back to main script listing

gml_GlobalScript_distance_to_object_bbox

(view raw script w/o annotations or w/e)
1
function distance_to_object_bbox(arg0 = id, arg1, arg2 = 0)
2
{
3
    var point1x = arg0.bbox_left + ((arg0.bbox_right - arg0.bbox_left) / 2);
4
    var point1y = arg0.bbox_top + ((arg0.bbox_bottom - arg0.bbox_top) / 2);
5
    var point2x = arg1.bbox_left + ((arg1.bbox_right - arg1.bbox_left) / 2);
6
    var point2y = arg1.bbox_top + ((arg1.bbox_bottom - arg1.bbox_top) / 2);
7
    return point_distance(point1x, point1y, point2x, point2y);
8
}
9
10
function direction_to_object_bbox(arg0 = id, arg1, arg2 = false, arg3 = 0)
11
{
12
    var point1x = arg0.bbox_left + ((arg0.bbox_right - arg0.bbox_left) / 2);
13
    var point1y = arg0.bbox_top + ((arg0.bbox_bottom - arg0.bbox_top) / 2);
14
    var point2x = arg1.bbox_left + ((arg1.bbox_right - arg1.bbox_left) / 2);
15
    var point2y = arg1.bbox_top + ((arg1.bbox_bottom - arg1.bbox_top) / 2);
16
    var dir = point_direction(point1x, point1y, point2x, point2y);
17
    if (arg2)
18
    {
19
        dir += 90;
20
        if (dir > 360)
21
            dir -= 360;
22
        dir = round(dir / 90);
23
        if (dir == 4)
24
            dir = 0;
25
    }
26
    return dir;
27
}