Deltarune (Chapter 3) script viewer

← back to main script listing

gml_GlobalScript_scr_draw_sprite_flip

(view raw script w/o annotations or w/e)
1
function draw_sprite_rotated(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7)
2
{
3
    var _sw = sprite_get_width(arg0);
4
    var _sh = sprite_get_height(arg0);
5
    var _sx = sprite_get_xoffset(arg0);
6
    var _sy = sprite_get_yoffset(arg0);
7
    arg2 += ((_sw / 2) - _sx);
8
    arg3 += ((_sh / 2) - _sy);
9
    var _depth = lengthdir_y(arg7, arg6);
10
    if (abs(_depth) == 1)
11
        _depth = 0.99 * sign(_depth);
12
    var _x1 = arg2 - (lengthdir_x(_sw / 2, arg6) * (1 / (1 - _depth)));
13
    var _y1 = arg3 - ((_sh / 2) * (1 / (1 - _depth)));
14
    var _x2 = arg2 + (lengthdir_x(_sw / 2, arg6) * (1 / (1 + _depth)));
15
    var _y2 = arg3 - ((_sh / 2) * (1 / (1 + _depth)));
16
    var _x3 = arg2 + (lengthdir_x(_sw / 2, arg6) * (1 / (1 + _depth)));
17
    var _y3 = arg3 + ((_sh / 2) * (1 / (1 + _depth)));
18
    var _x4 = arg2 - (lengthdir_x(_sw / 2, arg6) * (1 / (1 - _depth)));
19
    var _y4 = arg3 + ((_sh / 2) * (1 / (1 - _depth)));
20
    draw_sprite_pos_fixed_col(arg0, arg1, _x1, _y1, _x2, _y2, _x3, _y3, _x4, _y4, arg4, arg5);
21
}
22
23
function draw_sprite_rotated_ext(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9)
24
{
25
    var _sw = sprite_get_width(arg0) * arg4;
26
    var _sh = sprite_get_height(arg0) * arg5;
27
    var _sx = sprite_get_xoffset(arg0) * arg4;
28
    var _sy = sprite_get_yoffset(arg0) * arg5;
29
    arg2 += ((_sw / 2) - _sx);
30
    arg3 += ((_sh / 2) - _sy);
31
    var _depth = lengthdir_y(arg9, arg8);
32
    if (abs(_depth) == 1)
33
        _depth = 0.99 * sign(_depth);
34
    var _x1 = arg2 - (lengthdir_x(_sw / 2, arg8) * (1 / (1 - _depth)));
35
    var _y1 = arg3 - ((_sh / 2) * (1 / (1 - _depth)));
36
    var _x2 = arg2 + (lengthdir_x(_sw / 2, arg8) * (1 / (1 + _depth)));
37
    var _y2 = arg3 - ((_sh / 2) * (1 / (1 + _depth)));
38
    var _x3 = arg2 + (lengthdir_x(_sw / 2, arg8) * (1 / (1 + _depth)));
39
    var _y3 = arg3 + ((_sh / 2) * (1 / (1 + _depth)));
40
    var _x4 = arg2 - (lengthdir_x(_sw / 2, arg8) * (1 / (1 - _depth)));
41
    var _y4 = arg3 + ((_sh / 2) * (1 / (1 - _depth)));
42
    draw_sprite_pos_fixed_col(arg0, arg1, _x1, _y1, _x2, _y2, _x3, _y3, _x4, _y4, arg6, arg7);
43
}
44
45
function draw_sprite_rotated_ext_old(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9)
46
{
47
    var _sw = sprite_get_width(arg0) * arg4;
48
    var _sh = sprite_get_height(arg0) * arg5;
49
    var _sx = sprite_get_xoffset(arg0) * arg4;
50
    var _sy = sprite_get_yoffset(arg0) * arg5;
51
    arg2 += ((_sw / 2) - _sx);
52
    arg3 += ((_sh / 2) - _sy);
53
    var _x1 = arg2 - lengthdir_x(_sw / 2, arg8);
54
    var _y1 = arg3 - ((_sh / 2) * (1 + lengthdir_y(arg9, arg8)));
55
    var _x2 = arg2 + lengthdir_x(_sw / 2, arg8);
56
    var _y2 = arg3 - ((_sh / 2) * (1 - lengthdir_y(arg9, arg8)));
57
    var _x3 = arg2 + lengthdir_x(_sw / 2, arg8);
58
    var _y3 = arg3 + ((_sh / 2) * (1 - lengthdir_y(arg9, arg8)));
59
    var _x4 = arg2 - lengthdir_x(_sw / 2, arg8);
60
    var _y4 = arg3 + ((_sh / 2) * (1 + lengthdir_y(arg9, arg8)));
61
    draw_sprite_pos_fixed_col(arg0, arg1, _x1, _y1, _x2, _y2, _x3, _y3, _x4, _y4, arg6, arg7);
62
}
63
64
function draw_sprite_rotated_pivot(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10, arg11)
65
{
66
    var _sw = sprite_get_width(arg0) * arg4;
67
    var _sh = sprite_get_height(arg0) * arg5;
68
    var _sx = sprite_get_xoffset(arg0) * arg4;
69
    var _sy = sprite_get_yoffset(arg0) * arg5;
70
    arg6 *= arg4;
71
    arg7 *= arg5;
72
    arg2 += (arg6 - _sx);
73
    arg3 += (arg7 - _sy);
74
    var _depth = lengthdir_y(arg11, arg10);
75
    var _pivxl = arg6 / _sw;
76
    var _pivxr = 1 - (arg6 / _sw);
77
    if (abs(_depth) == 1)
78
        _depth = 0.99 * sign(_depth);
79
    var _x1 = arg2 - (lengthdir_x(arg6, arg10) * (1 / (_pivxl * (1 - _depth))));
80
    var _y1 = arg3 - (arg7 * (1 / (_pivxl * (1 - _depth))));
81
    var _x2 = arg2 + (lengthdir_x(_sw - arg6, arg10) * (1 / (_pivxr * (1 + _depth))));
82
    var _y2 = arg3 - (arg7 * (1 / (_pivxr * (1 + _depth))));
83
    var _x3 = arg2 + (lengthdir_x(_sw - arg6, arg10) * (1 / (_pivxr * (1 + _depth))));
84
    var _y3 = arg3 + ((_sh - arg7) * (1 / (_pivxr * (1 + _depth))));
85
    var _x4 = arg2 - (lengthdir_x(arg6, arg10) * (1 / (_pivxl * (1 - _depth))));
86
    var _y4 = arg3 + ((_sh - arg7) * (1 / (_pivxl * (1 - _depth))));
87
    draw_sprite_pos_fixed_col(arg0, arg1, _x1, _y1, _x2, _y2, _x3, _y3, _x4, _y4, arg8, arg9);
88
}