Deltarune (Chapter 3) script viewer

← back to main script listing

gml_GlobalScript_scr_sort_by_distance

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

function
scr_sort_by_distance(arg0, arg1, arg2, arg3)
{ var _array = arg2; var _array_length = array_length_1d(_array); var _distance_array = []; for (var _i = 0; _i < _array_length; _i++) _array[_i].sort_value = point_distance(arg0, arg1, _array[_i].x, _array[_i].y); var _ascending = function(arg0, arg1) { return arg0.sort_value - arg1.sort_value; }; var _descending = function(arg0, arg1) { return arg1.sort_value - arg0.sort_value; }; if (arg3) array_sort(_array, _ascending); else array_sort(_array, _descending); return _array; }
(arg0, arg1, arg2, arg3)
2
{
3
    var _array = arg2;
4
    var _array_length = array_length_1d(_array);
5
    var _distance_array = [];
6
    for (var _i = 0; _i < _array_length; _i++)
7
        _array[_i].sort_value = point_distance(arg0, arg1, _array[_i].x, _array[_i].y);
8
    
9
    var _ascending = function(arg0, arg1)
10
    {
11
        return arg0.sort_value - arg1.sort_value;
12
    };
13
    
14
    var _descending = function(arg0, arg1)
15
    {
16
        return arg1.sort_value - arg0.sort_value;
17
    };
18
    
19
    if (arg3)
20
        array_sort(_array, _ascending);
21
    else
22
        array_sort(_array, _descending);
23
    return _array;
24
}