Deltarune (Chapter 5) script viewer

← back to main script listing

gml_GlobalScript_draw_circular_bar

(view raw script w/o annotations or w/e)
1
function draw_circular_bar(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8)
2
{
3
    if (argument2 > 0)
4
    {
5
        var numberofsections = 60;
6
        var sizeofsection = 360 / numberofsections;
7
        var val = (argument2 / argument3) * numberofsections;
8
        if (val > 1)
9
        {
10
            piesurface = surface_create(argument5 * 2, argument5 * 2);
11
            draw_set_colour(argument4);
12
            draw_set_alpha(argument6);
13
            surface_set_target(piesurface);
14
            draw_clear_alpha(c_blue, 0.7);
15
            draw_clear_alpha(c_black, 0);
16
            draw_primitive_begin(pr_trianglefan);
17
            draw_vertex(argument5, argument5);
18
            for (var i = 0; i <= val; i++)
19
            {
20
                var len = (i * sizeofsection) + 90;
21
                var tx = lengthdir_x(argument5, len);
22
                var ty = lengthdir_y(argument5, len);
23
                draw_vertex(argument5 + tx, argument5 + ty);
24
            }
25
            draw_primitive_end();
26
            draw_set_alpha(1);
27
            draw_set_blend_mode(bm_subtract);
28
            draw_set_colour(c_black);
29
            d_circle(argument5 - 1, argument5 - 1, argument5 - argument7, false);
30
            draw_set_blend_mode(bm_normal);
31
            surface_reset_target();
32
            if (arg8)
33
                draw_set_blend_mode(bm_add);
34
            draw_surface(piesurface, argument0 - argument5, argument1 - argument5);
35
            draw_set_blend_mode(bm_normal);
36
            surface_free(piesurface);
37
        }
38
    }
39
}