Deltarune (Chapter 5) script viewer

← back to main script listing

gml_GlobalScript_scr_inverse_perspective

(view raw script w/o annotations or w/e)
1
function 
scr_inverse_perspective
scr_inverse_perspective

function
scr_inverse_perspective(arg0, arg1, arg2, arg3 = 100)
{ return scr_inverse_perspective_ext(arg0, arg1, arg2, camerax() + (surface_get_width(application_surface) / 2), cameray() + (surface_get_height(application_surface) / 2), arg3); } function scr_inverse_perspective_ext(arg0, arg1, arg2, arg3, arg4, arg5 = 100) { var _vec3 = new Vector3(arg0, arg1, arg2); if ((arg5 + arg2) == 0 || arg5 == arg2) { if ((arg5 + arg2) == 0) _vec3.z = 0; else _vec3.z = arg5 / arg2; return _vec3; } else if (arg2 == 0) { arg2 = 0.000001; } _vec3.x = ((arg0 - arg3) / (arg5 / arg2)) + arg3; _vec3.y = ((arg1 - arg4) / (arg5 / arg2)) + arg4; _vec3.z = arg5 / arg2; return _vec3; }
(arg0, arg1, arg2, arg3 = 100)
2
{
3
    return scr_inverse_perspective_ext(arg0, arg1, arg2, camerax() + (surface_get_width(application_surface) / 2), cameray() + (surface_get_height(application_surface) / 2), arg3);
4
}
5
6
function scr_inverse_perspective_ext(arg0, arg1, arg2, arg3, arg4, arg5 = 100)
7
{
8
    var _vec3 = new Vector3(arg0, arg1, arg2);
9
    if ((arg5 + arg2) == 0 || arg5 == arg2)
10
    {
11
        if ((arg5 + arg2) == 0)
12
            _vec3.z = 0;
13
        else
14
            _vec3.z = arg5 / arg2;
15
        return _vec3;
16
    }
17
    else if (arg2 == 0)
18
    {
19
        arg2 = 0.000001;
20
    }
21
    _vec3.x = ((arg0 - arg3) / (arg5 / arg2)) + arg3;
22
    _vec3.y = ((arg1 - arg4) / (arg5 / arg2)) + arg4;
23
    _vec3.z = arg5 / arg2;
24
    return _vec3;
25
}