Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_lighting_stark_Draw_0

(view raw script w/o annotations or w/e)
1
var _cw = 640;
2
var _ch = 480;
3
var _cx = camerax();
4
var _cy = cameray();
5
if (!surface_exists(surf))
6
{
7
    _cw = camera_get_view_width(view_camera[0]);
8
    _ch = camera_get_view_height(view_camera[0]);
9
    surf = surface_create(_cw, _ch);
10
    surface_set_target(surf);
11
    draw_set_colour(c_black);
12
    draw_set_alpha(0);
13
    ossafe_fill_rectangle(0, 0, _cw, _cw, false);
14
    surface_reset_target();
15
}
16
else if (surface_exists(surf))
17
{
18
    surface_set_target(surf);
19
    draw_set_color(c_black);
20
    draw_set_alpha(1);
21
    ossafe_fill_rectangle(0, 0, _cw, _ch, 0);
22
    gpu_set_blendmode(bm_subtract);
23
    var lay_id = layer_get_id("TILES_FLOOR_0");
24
    var map_id = layer_tilemap_get_id(lay_id);
25
    draw_tilemap(map_id, 0 - _cx, 0 - _cy);
26
    with (obj_caterpillarchara)
27
    {
28
        image_alpha = 0;
29
        if (name == "susie")
30
        {
31
            gpu_set_blendmode(bm_normal);
32
            draw_sprite_ext(sprite_index, image_index, x - _cx, (y - _cy) + (sprite_height * 2) + 10, image_xscale, -image_yscale, 0, c_black, 0.65);
33
            gpu_set_blendmode(bm_normal);
34
            d3d_set_fog(true, c_purple, 0, 0);
35
            draw_sprite_ext(sprite_index, image_index, x - _cx, y - _cy, image_xscale, image_yscale, 0, c_white, 1);
36
            gpu_set_blendmode(bm_normal);
37
            d3d_set_fog(true, c_black, 0, 0);
38
            draw_sprite_ext(sprite_index, image_index, x - _cx, (y - _cy) + 4, image_xscale, image_yscale, 0, c_white, 1);
39
            d3d_set_fog(false, c_black, 0, 0);
40
        }
41
        if (name == "ralsei")
42
        {
43
            gpu_set_blendmode(bm_normal);
44
            draw_sprite_ext(sprite_index, image_index, x - _cx, (y - _cy) + (sprite_height * 2) + 10, image_xscale, -image_yscale, 0, c_black, 0.65);
45
            gpu_set_blendmode(bm_normal);
46
            d3d_set_fog(true, c_green, 0, 0);
47
            draw_sprite_ext(sprite_index, image_index, x - _cx, y - _cy, image_xscale, image_yscale, 0, c_white, 1);
48
            gpu_set_blendmode(bm_normal);
49
            d3d_set_fog(true, c_black, 0, 0);
50
            draw_sprite_ext(sprite_index, image_index, x - _cx, (y - _cy) + 4, image_xscale, image_yscale, 0, c_white, 1);
51
            d3d_set_fog(false, c_black, 0, 0);
52
        }
53
    }
54
    with (obj_mainchara)
55
    {
56
        gpu_set_blendmode(bm_normal);
57
        draw_sprite_ext(sprite_index, image_index, x - _cx, ((y - _cy) + (sprite_height * 2)) - 4, image_xscale, -image_yscale, 0, c_black, 0.65);
58
        gpu_set_blendmode(bm_normal);
59
        d3d_set_fog(true, c_blue, 0, 0);
60
        draw_sprite_ext(sprite_index, image_index, x - _cx, y - _cy, image_xscale, image_yscale, 0, c_white, 1);
61
        gpu_set_blendmode(bm_normal);
62
        d3d_set_fog(true, c_black, 0, 0);
63
        draw_sprite_ext(sprite_index, image_index, x - _cx, (y - _cy) + 4, image_xscale, image_yscale, 0, c_white, 1);
64
        d3d_set_fog(false, c_black, 0, 0);
65
    }
66
    gpu_set_blendmode(bm_normal);
67
    draw_set_alpha(1);
68
    surface_reset_target();
69
    draw_surface(surf, _cx, _cy);
70
}