Undertale Yellow script viewer

← back to main script listing

gml_GlobalScript_d3d_draw_cone

(view raw script w/o annotations or w/e)
1
function d3d_draw_cone(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10)
2
{
3
    var __x1 = arg0;
4
    var __y1 = arg1;
5
    var __z1 = arg2;
6
    var __x2 = arg3;
7
    var __y2 = arg4;
8
    var __z2 = arg5;
9
    var __tex = arg6;
10
    var __hrepeat = arg7;
11
    var __vrepeat = arg8;
12
    var __closed = arg9;
13
    var __steps = arg10;
14
    if (__steps < 3)
15
        __steps = 3;
16
    if (__steps > 128)
17
        __steps = 128;
18
    var __cc;
19
    __cc[__steps] = 0;
20
    var __ss;
21
    __ss[__steps] = 0;
22
    for (var __i = 0; __i <= __steps; __i++)
23
    {
24
        var __rad = (__i * 2 * pi) / __steps;
25
        __cc[__i] = cos(__rad);
26
        __ss[__i] = sin(__rad);
27
    }
28
    var __mx = (__x2 + __x1) / 2;
29
    var __my = (__y2 + __y1) / 2;
30
    var __rx = (__x2 - __x1) / 2;
31
    var __ry = (__y2 - __y1) / 2;
32
    var __oldrep = gpu_get_texrepeat();
33
    gpu_set_texrepeat(true);
34
    d3d_primitive_begin_texture(5, __tex);
35
    for (var __i = 0; __i <= __steps; __i++)
36
    {
37
        d3d_vertex_normal_texture(__mx, __my, __z2, 0, 0, 1, (__hrepeat * __i) / __steps, __vrepeat);
38
        d3d_vertex_normal_texture(__mx + (__cc[__i] * __rx), __my + (__ss[__i] * __ry), __z1, __cc[__i], __ss[__i], 0, (__hrepeat * __i) / __steps, 0);
39
    }
40
    d3d_primitive_end();
41
    if (__closed == true)
42
    {
43
        d3d_primitive_begin_texture(6, __tex);
44
        d3d_vertex_normal_texture(__mx, __my, __z1, 0, 0, -1, 0, 0);
45
        for (var __i = __steps; __i >= 0; __i--)
46
            d3d_vertex_normal_texture(__mx + (__cc[__i] * __rx), __my + (__ss[__i] * __ry), __z1, 0, 0, -1, 0, 0);
47
        d3d_primitive_end();
48
    }
49
    gpu_set_texrepeat(__oldrep);
50
}