Deltarune 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
    return;
3
if (init == 0)
4
{
5
    if instance_exists(obj_caterpillarchara)
6
    {
7
        second_char = obj_caterpillarchara
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
    sprite_index = usprite
19
else if (target_char.sprite_index == target_char.dsprite)
20
    sprite_index = dsprite
21
else if (target_char.sprite_index == target_char.lsprite)
22
    sprite_index = lsprite
23
else if (target_char.sprite_index == target_char.rsprite)
24
    sprite_index = rsprite
25
else
26
    sprite_index = target_char.sprite_index
27
if i_ex(second_char)
28
{
29
    if (second_char.sprite_index == second_char.usprite)
30
        second_sprite = spr_noelle_walk_up_lw
31
    else if (second_char.sprite_index == second_char.dsprite)
32
        second_sprite = spr_noelle_walk_down_lw
33
    else if (second_char.sprite_index == second_char.lsprite)
34
        second_sprite = spr_noelle_walk_left_lw
35
    else if (second_char.sprite_index == second_char.rsprite)
36
        second_sprite = spr_noelle_walk_right_lw
37
    else
38
        second_sprite = second_char.sprite_index
39
}
40
draw_set_color(0xF0882E)
41
draw_rectangle((298 - camerax() / 4), 40, (402 - camerax() / 4), 480, 0)
42
draw_rectangle((598 - camerax() / 4), 80, (702 - camerax() / 4), 480, 0)
43
draw_set_color(c_black)
44
draw_rectangle((300 - camerax() / 4), 42, (400 - camerax() / 4), 480, 0)
45
draw_rectangle((600 - camerax() / 4), 82, (700 - camerax() / 4), 480, 0)
46
draw_set_color(c_white)
47
gpu_set_blendenable(false)
48
gpu_set_colorwriteenable(false, false, false, true)
49
draw_set_alpha(0)
50
draw_rectangle(0, 0, room_width, room_height, false)
51
draw_set_alpha(1)
52
draw_rectangle((300 - camerax() / 4), 0, (400 - camerax() / 4), 480, 0)
53
draw_rectangle((600 - camerax() / 4), 0, (700 - camerax() / 4), 480, 0)
54
gpu_set_blendenable(true)
55
gpu_set_colorwriteenable(true, true, true, true)
56
gpu_set_blendmode_ext(bm_dest_alpha, bm_inv_dest_alpha)
57
gpu_set_alphatestenable(true)
58
if ((!i_ex(second_char)) || (target_char.y - 18) < second_char.y)
59
{
60
    d3d_set_fog(true, color, 0, 1)
61
    if outline
62
    {
63
        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)
64
        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)
65
        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)
66
        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)
67
        d3d_set_fog(true, c_black, 0, 1)
68
    }
69
    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)
70
}
71
d3d_set_fog(true, c_yellow, 0, 1)
72
if i_ex(second_char)
73
{
74
    if outline
75
    {
76
        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)
77
        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)
78
        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)
79
        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)
80
        d3d_set_fog(true, c_black, 0, 1)
81
    }
82
    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)
83
    if ((target_char.y - 18) >= second_char.y)
84
    {
85
        d3d_set_fog(true, color, 0, 1)
86
        if outline
87
        {
88
            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)
89
            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)
90
            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)
91
            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)
92
            d3d_set_fog(true, c_black, 0, 1)
93
        }
94
        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)
95
        gpu_set_alphatestenable(false)
96
    }
97
}
98
d3d_set_fog(false, c_black, 0, 0)
99
gpu_set_alphatestenable(false)
100
gpu_set_blendmode(bm_normal)