Deltarune (Chapter 3) script viewer

← back to main script listing

gml_GlobalScript_scr_board_b3s_interpolatecaterpillarchara

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

function
scr_board_b3s_interpolatecaterpillarchara()
{ if (i_ex(obj_mainchara_board)) { var xpos = obj_mainchara_board.x; var ypos = obj_mainchara_board.y; for (var i = 0; i < 75; i += 1) { remx[i] = x; remy[i] = y; facing[i] = 0; } var _newfacing; if (x != xpos && y != ypos) _newfacing =
scr_facing_letter_to_number(
scr_get_cardinal_direction(point_direction(x, y, obj_mainchara_board.x, obj_mainchara_board.y)));
else _newfacing = obj_mainchara_board.facing; remx[0] = xpos; remy[0] = ypos; facing[0] = _newfacing; for (var _iaia = target; _iaia > 0; _iaia -= 1) { remx[_iaia] = lerp(xpos, x, _iaia / target); remy[_iaia] = lerp(ypos, y, _iaia / target); facing[_iaia] = _newfacing; } } else { return 0; } }
()
2
{
3
    if (i_ex(obj_mainchara_board))
4
    {
5
        var xpos = obj_mainchara_board.x;
6
        var ypos = obj_mainchara_board.y;
7
        for (var i = 0; i < 75; i += 1)
8
        {
9
            remx[i] = x;
10
            remy[i] = y;
11
            facing[i] = 0;
12
        }
13
        var _newfacing;
14
        if (x != xpos && y != ypos)
15
            _newfacing = 
scr_facing_letter_to_number
scr_facing_letter_to_number

function
scr_facing_letter_to_number(arg0)
{ if (arg0 == "d") return 0; if (arg0 == "r") return 1; if (arg0 == "l") return 3; if (arg0 == "u") return 2; }
(
scr_get_cardinal_direction
scr_get_cardinal_direction

function
scr_get_cardinal_direction(arg0)
{ _mycardinal = "n"; _mydegree = arg0; while (_mydegree > 360 || _mydegree < 0) { if (_mydegree > 360) _mydegree -= 360; if (_mydegree < 0) _mydegree += 360; } if (_mydegree >= 315 || _mydegree <= 45) _mycardinal = "r"; if (_mydegree >= 45 && _mydegree <= 135) _mycardinal = "u"; if (_mydegree >= 135 && _mydegree <= 225) _mycardinal = "l"; if (_mydegree >= 225 && _mydegree <= 315) _mycardinal = "d"; return _mycardinal; }
(point_direction(x, y, obj_mainchara_board.x, obj_mainchara_board.y)));
16
        else
17
            _newfacing = obj_mainchara_board.facing;
18
        remx[0] = xpos;
19
        remy[0] = ypos;
20
        facing[0] = _newfacing;
21
        for (var _iaia = target; _iaia > 0; _iaia -= 1)
22
        {
23
            remx[_iaia] = lerp(xpos, x, _iaia / target);
24
            remy[_iaia] = lerp(ypos, y, _iaia / target);
25
            facing[_iaia] = _newfacing;
26
        }
27
    }
28
    else
29
    {
30
        return 0;
31
    }
32
}