Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_lightbeamfx_Draw_0

(view raw script w/o annotations or w/e)
1
if (!surface_exists(surfmask))
2
    surfmask = surface_create(640, 480);
3
surface_set_target(surfmask);
4
draw_clear_alpha(c_white, 1);
5
gpu_set_blendmode(bm_subtract);
6
with (obj_light_area_mask)
7
{
8
    if (dustparticles_on)
9
    {
10
        var _xx = screenx();
11
        var _yy = screeny();
12
        draw_sprite_ext(sprite_index, image_index, _xx, _yy, image_xscale, image_yscale, image_angle, c_white, 1);
13
    }
14
}
15
gpu_set_blendmode(bm_normal);
16
surface_reset_target();
17
if (!surface_exists(surfdust))
18
    surfdust = surface_create(640, 480);
19
if (!surface_exists(surfdust_tiled))
20
    surfdust_tiled = surface_create(640, 480);
21
surface_set_target(surfdust);
22
draw_clear_alpha(c_black, 0);
23
part_system_drawit(ps);
24
surface_reset_target();
25
surface_set_target(surfdust_tiled);
26
draw_clear_alpha(c_black, 0);
27
draw_surface_tiled(surfdust, -camera_get_view_x(view_camera[0]), -camera_get_view_y(view_camera[0]));
28
gpu_set_blendmode(bm_subtract);
29
draw_surface(surfmask, 0, 0);
30
gpu_set_blendmode(bm_normal);
31
surface_reset_target();
32
draw_set_alpha(image_alpha);
33
draw_surface(surfdust_tiled, camera_get_view_x(view_camera[0]), camera_get_view_y(view_camera[0]));
34
draw_set_alpha(1);