Deltarune (Chapter 3) script viewer

← back to main script listing

gml_Object_obj_dw_teevie_tv_screens_treasure_Draw_0

(view raw script w/o annotations or w/e)
1
if (init == 0)
2
    exit;
3
timer++;
4
var xx = x;
5
var yy = y;
6
draw_set_color(c_black);
7
ossafe_fill_rectangle(x, y, x + (width * tvwidth), y + (height * tvheight), false);
8
draw_set_color(c_white);
9
draw_set_blend_mode(bm_add);
10
for (var i = 0; i < array_length(_screen_list); i++)
11
{
12
    var screen = _screen_list[i];
13
    var screen_tile_pos = screen.get_tile_pos();
14
    var screen_tile_x = screen_tile_pos.x;
15
    var screen_tile_y = screen_tile_pos.y;
16
    if (screen.is_animated())
17
    {
18
        var screen_sprite = screen.get_screen_sprite();
19
        var screen_image_index = screen.get_screen_image_index();
20
        var screen_offset = screen.get_screen_offset();
21
        draw_sprite_ext(screen_sprite, screen_image_index + screen_offset, x + (screen_tile_x * tvwidth), y + (screen_tile_y * tvheight), image_xscale, image_yscale, image_angle, image_blend, image_alpha);
22
    }
23
    else
24
    {
25
        var _index = (frozen_mode == 1) ? 0 : 1;
26
        draw_sprite_ext(spr_dw_teevie_tv_shows_frozen, _index, x + (screen_tile_x * tvwidth), y + (screen_tile_y * tvheight), image_xscale, image_yscale, image_angle, image_blend, image_alpha);
27
    }
28
}
29
draw_set_blend_mode(bm_normal);
30
for (var i = 0; i < array_length(_screen_list); i++)
31
{
32
    var screen = _screen_list[i];
33
    var screen_tile_pos = screen.get_tile_pos();
34
    var screen_tile_x = screen_tile_pos.x;
35
    var screen_tile_y = screen_tile_pos.y;
36
    draw_sprite_ext(tvbasesprite, 4, x + (screen_tile_x * tvwidth), y + (screen_tile_y * tvheight), image_xscale, image_yscale, image_angle, c_white, image_alpha);
37
    draw_sprite_ext(tvbasesprite, 1, x + (screen_tile_x * tvwidth), y + (screen_tile_y * tvheight), image_xscale, image_yscale, image_angle, merge_color(tvbasecolor, screen.get_screen_color(), 0.6 + (sin((timer / 4) + screen_tile_x + screen_tile_y) * 0.1)), image_alpha);
38
    draw_sprite_ext(tvbasesprite, 2, x + (screen_tile_x * tvwidth), y + (screen_tile_y * tvheight), image_xscale, image_yscale, image_angle, merge_color(tvbasecolor, c_black, 0.5), image_alpha);
39
    draw_sprite_ext(tvbasesprite, 3, x + (screen_tile_x * tvwidth), y + (screen_tile_y * tvheight), image_xscale, image_yscale, image_angle, tvbasecolor, image_alpha);
40
    draw_sprite_ext(tvbasesprite, 5, x + (screen_tile_x * tvwidth), y + (screen_tile_y * tvheight), image_xscale, image_yscale, image_angle, c_white, image_alpha);
41
}
42
if (door_active)
43
{
44
    draw_set_color(c_black);
45
    ossafe_fill_rectangle(x + (3 * tvwidth), y + (1 * tvheight), x + (3 * tvwidth) + tvwidth, y + (1 * tvheight) + (2 * tvheight), false);
46
    draw_set_color(c_white);
47
}