Deltarune (Chapter 3) script viewer

← back to main script listing

gml_GlobalScript_scr_simple_menu

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

function
scr_simple_menu(arg0, arg1, arg2, arg3, arg4, arg5 = 65535, arg6 = true, arg7 = 0, arg8 = true)
{ var __options = array_length(arg4); var __index_change = 0; if (up_p()) __index_change -= 1; if (down_p()) __index_change += 1; if (__index_change != 0) { var __new_index = clamp(arg0 + __index_change, 0, __options - 1); if (arg0 != __new_index && arg8) snd_play(snd_menumove); arg0 = __new_index; } scr_draw_simple_menu(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); return arg0; } function scr_draw_simple_menu(arg0, arg1, arg2, arg3, arg4, arg5 = 65535, arg6 = true, arg7 = 0) { var __options = array_length(arg4); var __col = draw_get_color(); for (var __i = 0; __i < __options; __i++) { if (__i == arg0) draw_set_color(arg5); if (arg6) draw_text_outline(arg1, arg2 + (arg3 * __i), arg4[__i], arg7); else draw_text(arg1, arg2 + (arg3 * __i), arg4[__i]); if (__i == arg0) draw_set_color(__col); } }
(arg0, arg1, arg2, arg3, arg4, arg5 = 65535, arg6 = true, arg7 = 0, arg8 = true)
2
{
3
    var __options = array_length(arg4);
4
    var __index_change = 0;
5
    if (up_p())
6
        __index_change -= 1;
7
    if (down_p())
8
        __index_change += 1;
9
    if (__index_change != 0)
10
    {
11
        var __new_index = clamp(arg0 + __index_change, 0, __options - 1);
12
        if (arg0 != __new_index && arg8)
13
            snd_play(snd_menumove);
14
        arg0 = __new_index;
15
    }
16
    scr_draw_simple_menu(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7);
17
    return arg0;
18
}
19
20
function scr_draw_simple_menu(arg0, arg1, arg2, arg3, arg4, arg5 = 65535, arg6 = true, arg7 = 0)
21
{
22
    var __options = array_length(arg4);
23
    var __col = draw_get_color();
24
    for (var __i = 0; __i < __options; __i++)
25
    {
26
        if (__i == arg0)
27
            draw_set_color(arg5);
28
        if (arg6)
29
            draw_text_outline(arg1, arg2 + (arg3 * __i), arg4[__i], arg7);
30
        else
31
            draw_text(arg1, arg2 + (arg3 * __i), arg4[__i]);
32
        if (__i == arg0)
33
            draw_set_color(__col);
34
    }
35
}