Deltarune script viewer

← back to main script listing

gml_GlobalScript_scr_array_sort

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

function scr_array_sort(arg0, arg1) { var _array = arg0; var _ascending = arg1; var _array_length = array_length_1d(arg0); var _tempValue = 0; var _loopAgain = true; var _emergencyStop = 0; while (_loopAgain == true && _emergencyStop < 100) { _loopAgain = false; _emergencyStop++; for (i = 1; i < _array_length; i++) { if (_array[i] == _array[i - 1]) { continue; } else if (_ascending == (_array[i] < _array[i - 1])) { _loopAgain = true; _tempValue = _array[i - 1]; _array[i - 1] = _array[i]; _array[i] = _tempValue; } } } if (_emergencyStop >= 100) scr_debug_print(""); return _array; }
(arg0, arg1)
2
{
3
    var _array = arg0;
4
    var _ascending = arg1;
5
    var _array_length = array_length_1d(arg0);
6
    var _tempValue = 0;
7
    var _loopAgain = true;
8
    var _emergencyStop = 0;
9
    while (_loopAgain == true && _emergencyStop < 100)
10
    {
11
        _loopAgain = false;
12
        _emergencyStop++;
13
        for (i = 1; i < _array_length; i++)
14
        {
15
            if (_array[i] == _array[i - 1])
16
            {
17
                continue;
18
            }
19
            else if (_ascending == (_array[i] < _array[i - 1]))
20
            {
21
                _loopAgain = true;
22
                _tempValue = _array[i - 1];
23
                _array[i - 1] = _array[i];
24
                _array[i] = _tempValue;
25
            }
26
        }
27
    }
28
    if (_emergencyStop >= 100)
29
        scr_debug_print
scr_debug_print

function scr_debug_print(arg0) { if (!scr_debug()) exit; if (!instance_exists(obj_debug_gui)) { instance_create(__view_get(e__VW.XView, 0) + 10, __view_get(e__VW.YView, 0) + 10, obj_debug_gui); obj_debug_gui.depth = -9999; } obj_debug_gui.newtext = arg0; with (obj_debug_gui) { message[messagecount] = newtext; newtext = ""; timer[messagecount] = 90 - totaltimer; totaltimer += timer[messagecount]; messagecount++; debugmessage = message[0]; for (i = 1; i < messagecount; i++) debugmessage += ("#" + message[i]); } } enum e__VW { XView, YView, WView, HView, Angle, HBorder, VBorder, HSpeed, VSpeed, Object, Visible, XPort, YPort, WPort, HPort, Camera, SurfaceID }
("");
30
    return _array;
31
}