Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_krisyard_night_overlay_Draw_0

(view raw script w/o annotations or w/e)
1
if (!is_init)
2
{
3
    if (i_ex(obj_mainchara))
4
        kr_target = 1049;
5
    if (i_ex(obj_caterpillarchara))
6
        su_target = 1235;
7
    if (kr_target != -4 && su_target != -4)
8
        is_init = true;
9
}
10
if (!is_init)
11
    exit;
12
if (!sprite_exists(overlay_sprite))
13
{
14
    if (!surface_exists(overlay_surface))
15
        overlay_surface = surface_create(room_width, room_height);
16
    surface_set_target(overlay_surface);
17
    draw_clear_alpha(merge_color(c_black, c_navy, 0.5), 0.6);
18
    draw_set_color(merge_color(c_black, c_navy, 0.5));
19
    draw_set_alpha(0.6);
20
    ossafe_fill_rectangle(-10, -10, room_width + 10, room_height + 10, false);
21
    draw_set_alpha(1);
22
    draw_set_color(c_white);
23
    surface_reset_target();
24
    overlay_sprite = sprite_create_from_surface(overlay_surface, 0, 0, room_width, room_height, false, true, 0, 0);
25
}
26
else
27
{
28
    gpu_set_alphatestenable(true);
29
    gpu_set_blendenable(true);
30
    gpu_set_colorwriteenable(false, false, false, true);
31
    draw_set_alpha(0.2);
32
    ossafe_fill_rectangle(0, 0, room_width + 20, room_height + 20, false);
33
    ossafe_fill_rectangle(0, 0, room_width + 20, room_height + 20, false);
34
    ossafe_fill_rectangle(0, 0, room_width + 20, room_height + 20, false);
35
    ossafe_fill_rectangle(0, 0, room_width + 20, room_height + 20, false);
36
    ossafe_fill_rectangle(0, 0, room_width + 20, room_height + 20, false);
37
    ossafe_fill_rectangle(0, 0, room_width + 20, room_height + 20, false);
38
    draw_set_alpha(1);
39
    draw_sprite_ext(bg_building_krishouse_window_night, 0, 125, 236 + y_offset, 1, 1, 0, c_white, 1);
40
    draw_sprite_ext(bg_building_krishouse_window_night, 0, 199, 236 + y_offset, 1, 1, 0, c_white, 1);
41
    gpu_set_blendenable(true);
42
    gpu_set_colorwriteenable(true, true, true, true);
43
    gpu_set_blendmode_ext(bm_inv_src_alpha, bm_dest_alpha);
44
    draw_sprite_ext(overlay_sprite, 0, 0, 0, 1, 1, 0, c_white, 1);
45
    gpu_set_alphatestenable(false);
46
    gpu_set_blendmode(bm_normal);
47
    if (room == room_town_krisyard)
48
    {
49
        draw_set_alpha(1);
50
        scr_draw_set_mask(true, true);
51
        draw_sprite_ext(bg_building_krishouse_window_night, 0, 125, 236 + y_offset, 1, 1, 0, c_white, 0.6);
52
        draw_sprite_ext(bg_building_krishouse_window_night, 0, 199, 236 + y_offset, 1, 1, 0, c_white, 0.6);
53
        scr_draw_in_mask_begin();
54
        var su_x = su_target.x;
55
        var su_y = su_target.y;
56
        var kr_x = kr_target.x;
57
        var kr_y = kr_target.y;
58
        draw_sprite_ext(su_target.sprite_index, su_target.image_index, su_x, su_y, 1, 1, 0, c_black, 1);
59
        draw_sprite_ext(kr_target.sprite_index, kr_target.image_index, kr_x, kr_y, 1, 1, 0, c_black, 1);
60
        scr_draw_in_mask_end();
61
        draw_set_alpha(1);
62
    }
63
}