Deltarune (Chapter 4) script viewer

← back to main script listing

gml_GlobalScript_scr_draw_in_mask

(view raw script w/o annotations or w/e)
1
function scr_draw_set_mask(arg0, arg1 = false)
2
{
3
    gpu_set_blendenable(false);
4
    gpu_set_colorwriteenable(false, false, false, true);
5
    if (arg1)
6
    {
7
        draw_set_alpha(1);
8
        ossafe_fill_rectangle(camerax(), cameray(), camerax() + 640, cameray() + 480, false);
9
    }
10
    draw_set_alpha(0);
11
    if (arg0)
12
    {
13
        ossafe_fill_rectangle(camerax(), cameray(), camerax() + 640, cameray() + 480, false);
14
        draw_set_alpha(1);
15
    }
16
}
17
18
function scr_draw_in_mask_begin()
19
{
20
    draw_set_alpha(1);
21
    gpu_set_blendenable(true);
22
    gpu_set_colorwriteenable(true, true, true, true);
23
    gpu_set_blendmode_ext(bm_dest_alpha, bm_inv_dest_alpha);
24
    gpu_set_alphatestenable(true);
25
    gpu_set_alphatestref(1);
26
}
27
28
function scr_draw_in_mask_end(arg0 = true)
29
{
30
    gpu_set_alphatestref(0);
31
    gpu_set_alphatestenable(false);
32
    gpu_set_blendmode(bm_normal);
33
    if (arg0)
34
        scr_draw_mask_reset();
35
}
36
37
function scr_draw_mask_reset()
38
{
39
    gpu_set_blendenable(false);
40
    gpu_set_colorwriteenable(false, false, false, true);
41
    ossafe_fill_rectangle(camerax(), cameray(), camerax() + 640, cameray() + 480, false);
42
    gpu_set_blendenable(true);
43
    gpu_set_colorwriteenable(true, true, true, true);
44
}