Deltarune (Chapter 2) script viewer

← back to main script listing

gml_Object_obj_matching_silhouette_Draw_73

(view raw script w/o annotations or w/e)
1
if (target_char == noone)
2
    exit;
3
if (init == 0)
4
{
5
    if (instance_exists(obj_caterpillarchara))
6
    {
7
        second_char = 279;
8
        second_sprite = obj_caterpillarchara.sprite_index;
9
    }
10
    depth = 0;
11
}
12
if (copy_sprite)
13
{
14
    sprite_index = target_char.sprite_index;
15
    image_index = target_char.image_index;
16
}
17
else if (target_char.sprite_index == target_char.usprite)
18
{
19
    sprite_index = usprite;
20
}
21
else if (target_char.sprite_index == target_char.dsprite)
22
{
23
    sprite_index = dsprite;
24
}
25
else if (target_char.sprite_index == target_char.lsprite)
26
{
27
    sprite_index = lsprite;
28
}
29
else if (target_char.sprite_index == target_char.rsprite)
30
{
31
    sprite_index = rsprite;
32
}
33
else
34
{
35
    sprite_index = target_char.sprite_index;
36
}
37
if (i_ex(second_char))
38
{
39
    if (second_char.sprite_index == second_char.usprite)
40
        second_sprite = spr_noelle_walk_up_lw;
41
    else if (second_char.sprite_index == second_char.dsprite)
42
        second_sprite = spr_noelle_walk_down_lw;
43
    else if (second_char.sprite_index == second_char.lsprite)
44
        second_sprite = spr_noelle_walk_left_lw;
45
    else if (second_char.sprite_index == second_char.rsprite)
46
        second_sprite = spr_noelle_walk_right_lw;
47
    else
48
        second_sprite = second_char.sprite_index;
49
}
50
draw_set_color(#2E88F0);
51
draw_rectangle(298 - (camerax() / 4), 40, 402 - (camerax() / 4), 480, 0);
52
draw_rectangle(598 - (camerax() / 4), 80, 702 - (camerax() / 4), 480, 0);
53
draw_set_color(c_black);
54
draw_rectangle(300 - (camerax() / 4), 42, 400 - (camerax() / 4), 480, 0);
55
draw_rectangle(600 - (camerax() / 4), 82, 700 - (camerax() / 4), 480, 0);
56
draw_set_color(c_white);
57
gpu_set_blendenable(false);
58
gpu_set_colorwriteenable(false, false, false, true);
59
draw_set_alpha(0);
60
draw_rectangle(0, 0, room_width, room_height, false);
61
draw_set_alpha(1);
62
draw_rectangle(300 - (camerax() / 4), 0, 400 - (camerax() / 4), 480, 0);
63
draw_rectangle(600 - (camerax() / 4), 0, 700 - (camerax() / 4), 480, 0);
64
gpu_set_blendenable(true);
65
gpu_set_colorwriteenable(true, true, true, true);
66
gpu_set_blendmode_ext(bm_dest_alpha, bm_inv_dest_alpha);
67
gpu_set_alphatestenable(true);
68
if (!i_ex(second_char) || (target_char.y - 18) < second_char.y)
69
{
70
    d3d_set_fog(true, color, 0, 1);
71
    if (outline)
72
    {
73
        draw_sprite_ext(sprite_index, target_char.image_index, target_char.x - 2, target_char.y, target_char.image_xscale, target_char.image_yscale, 0, image_blend, 1);
74
        draw_sprite_ext(sprite_index, target_char.image_index, target_char.x + 2, target_char.y, target_char.image_xscale, target_char.image_yscale, 0, image_blend, 1);
75
        draw_sprite_ext(sprite_index, target_char.image_index, target_char.x, target_char.y - 2, target_char.image_xscale, target_char.image_yscale, 0, image_blend, 1);
76
        draw_sprite_ext(sprite_index, target_char.image_index, target_char.x, target_char.y + 2, target_char.image_xscale, target_char.image_yscale, 0, image_blend, 1);
77
        d3d_set_fog(true, c_black, 0, 1);
78
    }
79
    draw_sprite_ext(sprite_index, target_char.image_index, target_char.x, target_char.y, target_char.image_xscale, target_char.image_yscale, 0, image_blend, 1);
80
}
81
d3d_set_fog(true, c_yellow, 0, 1);
82
if (i_ex(second_char))
83
{
84
    if (outline)
85
    {
86
        draw_sprite_ext(second_sprite, second_char.image_index, second_char.x - 2, second_char.y, second_char.image_xscale, second_char.image_yscale, 0, image_blend, 1);
87
        draw_sprite_ext(second_sprite, second_char.image_index, second_char.x + 2, second_char.y, second_char.image_xscale, second_char.image_yscale, 0, image_blend, 1);
88
        draw_sprite_ext(second_sprite, second_char.image_index, second_char.x, second_char.y - 2, second_char.image_xscale, second_char.image_yscale, 0, image_blend, 1);
89
        draw_sprite_ext(second_sprite, second_char.image_index, second_char.x, second_char.y + 2, second_char.image_xscale, second_char.image_yscale, 0, image_blend, 1);
90
        d3d_set_fog(true, c_black, 0, 1);
91
    }
92
    draw_sprite_ext(second_sprite, second_char.image_index, second_char.x, second_char.y, second_char.image_xscale, second_char.image_yscale, 0, image_blend, 1);
93
    if ((target_char.y - 18) >= second_char.y)
94
    {
95
        d3d_set_fog(true, color, 0, 1);
96
        if (outline)
97
        {
98
            draw_sprite_ext(sprite_index, target_char.image_index, target_char.x - 2, target_char.y, target_char.image_xscale, target_char.image_yscale, 0, image_blend, 1);
99
            draw_sprite_ext(sprite_index, target_char.image_index, target_char.x + 2, target_char.y, target_char.image_xscale, target_char.image_yscale, 0, image_blend, 1);
100
            draw_sprite_ext(sprite_index, target_char.image_index, target_char.x, target_char.y - 2, target_char.image_xscale, target_char.image_yscale, 0, image_blend, 1);
101
            draw_sprite_ext(sprite_index, target_char.image_index, target_char.x, target_char.y + 2, target_char.image_xscale, target_char.image_yscale, 0, image_blend, 1);
102
            d3d_set_fog(true, c_black, 0, 1);
103
        }
104
        draw_sprite_ext(sprite_index, target_char.image_index, target_char.x, target_char.y, target_char.image_xscale, target_char.image_yscale, 0, image_blend, 1);
105
        gpu_set_alphatestenable(false);
106
    }
107
}
108
d3d_set_fog(false, c_black, 0, 0);
109
gpu_set_alphatestenable(false);
110
gpu_set_blendmode(bm_normal);