Deltarune script viewer

← back to main script listing

gml_GlobalScript_scr_84_draw_menu_ch1

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

function scr_84_draw_menu_ch1(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { var array = arg0; var xx = arg1; var yy = arg2; var vspacing = arg3; var selection_indices = arg4; var func_depth = arg5; var menu_depth = arg6; var length = ds_list_size(array); for (var i = 0; i < length; i += 3) { var ndx = i / 3; var type = ds_list_find_value(array, i); var item = ds_list_find_value(array, i + 1); var name = ds_list_find_value(array, i + 2); var selected = false; var prefix = " "; if (ndx == selection_indices[func_depth]) selected = true; if (selected) { prefix = "> "; if (func_depth > global.chemg_max_depth) { global.chemg_max_depth = func_depth; global.chemg_cursor_y = yy; } } if (type == "[group]") name = "[ " + name + "... ]"; scr_84_draw_text_outline_ch1(xx, yy, prefix + name); yy += vspacing; if (func_depth < menu_depth && ndx == selection_indices[func_depth]) yy = scr_84_draw_menu_ch1(item, xx + 20, yy, vspacing, selection_indices, func_depth + 1, menu_depth); } return yy; }
(arg0, arg1, arg2, arg3, arg4, arg5, arg6)
2
{
3
    var array = arg0;
4
    var xx = arg1;
5
    var yy = arg2;
6
    var vspacing = arg3;
7
    var selection_indices = arg4;
8
    var func_depth = arg5;
9
    var menu_depth = arg6;
10
    var length = ds_list_size(array);
11
    for (var i = 0; i < length; i += 3)
12
    {
13
        var ndx = i / 3;
14
        var type = ds_list_find_value(array, i);
15
        var item = ds_list_find_value(array, i + 1);
16
        var name = ds_list_find_value(array, i + 2);
17
        var selected = false;
18
        var prefix = "  ";
19
        if (ndx == selection_indices[func_depth])
20
            selected = true;
21
        if (selected)
22
        {
23
            prefix = "> ";
24
            if (func_depth > global.chemg_max_depth)
25
            {
26
                global.chemg_max_depth = func_depth;
27
                global.chemg_cursor_y = yy;
28
            }
29
        }
30
        if (type == "[group]")
31
            name = "[ " + name + "... ]";
32
        scr_84_draw_text_outline_ch1
scr_84_draw_text_outline_ch1

function scr_84_draw_text_outline_ch1(arg0, arg1, arg2) { var xx = arg0; var yy = arg1; var str = arg2; var __txtcolor__ = draw_get_color(); draw_set_colour(c_black); draw_text(xx - 1, yy - 1, str); draw_text(xx + 1, yy - 1, str); draw_text(xx - 1, yy + 1, str); draw_text(xx + 1, yy + 1, str); draw_set_colour(__txtcolor__); draw_text(xx, yy, str); }
(xx, yy, prefix + name);
33
        yy += vspacing;
34
        if (func_depth < menu_depth && ndx == selection_indices[func_depth])
35
            yy = scr_84_draw_menu_ch1
scr_84_draw_menu_ch1

function scr_84_draw_menu_ch1(arg0, arg1, arg2, arg3, arg4, arg5, arg6) { var array = arg0; var xx = arg1; var yy = arg2; var vspacing = arg3; var selection_indices = arg4; var func_depth = arg5; var menu_depth = arg6; var length = ds_list_size(array); for (var i = 0; i < length; i += 3) { var ndx = i / 3; var type = ds_list_find_value(array, i); var item = ds_list_find_value(array, i + 1); var name = ds_list_find_value(array, i + 2); var selected = false; var prefix = " "; if (ndx == selection_indices[func_depth]) selected = true; if (selected) { prefix = "> "; if (func_depth > global.chemg_max_depth) { global.chemg_max_depth = func_depth; global.chemg_cursor_y = yy; } } if (type == "[group]") name = "[ " + name + "... ]"; scr_84_draw_text_outline_ch1(xx, yy, prefix + name); yy += vspacing; if (func_depth < menu_depth && ndx == selection_indices[func_depth]) yy = scr_84_draw_menu_ch1(item, xx + 20, yy, vspacing, selection_indices, func_depth + 1, menu_depth); } return yy; }
(item, xx + 20, yy, vspacing, selection_indices, func_depth + 1, menu_depth);
36
    }
37
    return yy;
38
}