Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_floorshadow_Draw_0

(view raw script w/o annotations or w/e)
1
if (!i_ex(target) || !target.visible)
2
    exit;
3
image_blend = merge_color(c_black, c_white, image_alpha);
4
sprite_index = target.sprite_index;
5
image_index = target.image_index;
6
image_xscale = target.image_xscale;
7
image_yscale = target.image_yscale;
8
if (sprite_index == -4)
9
    exit;
10
var _xoff = xoff;
11
var _yoff = yoff;
12
if (!ignorepreset)
13
{
14
    if (name == "kris")
15
        _yoff = -6 - (2 * (stretch - 1));
16
    if (name == "ralsei")
17
        _yoff = -4 - (4 * (stretch - 1));
18
    if (name == "susie")
19
        _yoff = -2;
20
}
21
if (target.image_angle != 0 && stretch == 1)
22
{
23
    var _angle = target.image_angle % 360;
24
    var _ydist;
25
    if (_angle > 90 && _angle < 270)
26
        _ydist = lengthdir_y(sprite_yoffset, _angle + 90);
27
    else
28
        _ydist = lengthdir_y(sprite_height - sprite_yoffset, _angle - 90);
29
    var _xdist;
30
    if (_angle >= 0 && _angle <= 180)
31
        _xdist = lengthdir_y(sprite_xoffset, _angle + 180);
32
    else
33
        _xdist = lengthdir_y(sprite_width - sprite_xoffset, _angle);
34
    draw_sprite_ext(sprite_index, image_index, target.x + _xoff, target.y + _yoff + ((_ydist + _xdist) * 2), image_xscale, -image_yscale, -target.image_angle, c_black, image_alpha);
35
}
36
else
37
{
38
    draw_sprite_ext(sprite_index, image_index, target.x + _xoff, target.y + abs((sprite_height * (stretch + 1)) - (sprite_yoffset * (stretch + 1))) + _yoff, image_xscale, -image_yscale * stretch, -target.image_angle, c_black, image_alpha);
39
}