Deltarune (Chapter 5) script viewer

← back to main script listing

gml_Object_obj_cutscene_master_Step_0

(view raw script w/o annotations or w/e)
1
if (initialized == 0)
2
    initialized = 1;
3
if (waiting == 0)
4
{
5
    for (i = current_command; i < maximum_command; i += 1)
6
    {
7
        command_actor[i] = actor_selected_id;
8
        _c = command[i];
9
        
scr_cutscene_commands
scr_cutscene_commands

function
scr_cutscene_commands()
{ if (_c == "delaycmd") { delaycmd = instance_create(0, 0, obj_cutscene_delaycmd); delaycmd.master_object = master_object; delaycmd.command_actor[0] = command_actor[i]; delaycmd.alarm[0] = command_arg1[i]; delaycmd._c = command_arg2[i]; delaycmd.command_arg1[0] = command_arg3[i]; delaycmd.command_arg2[0] = command_arg4[i]; delaycmd.command_arg3[0] = command_arg5[i]; delaycmd.command_arg4[0] = command_arg6[i]; if (instant) { delaycmd.alarm[0] = 0; delaycmd.instant = 1; with (delaycmd) event_user(0); } } if (_c == "msgcmd") { if (!v_ex("msgcmd") || !i_ex(msgcmd)) msgcmd = instance_create(0, 0, obj_cutscene_messagecmd); var _count = msgcmd.count; msgcmd.master_object = master_object; msgcmd.command_actor[_count] = command_actor[i]; msgcmd.command_num[_count] = global.msgno; msgcmd.command[_count] = command_arg1[i]; msgcmd.command_arg1[_count] = command_arg2[i]; msgcmd.command_arg2[_count] = command_arg3[i]; msgcmd.command_arg3[_count] = command_arg4[i]; msgcmd.command_arg4[_count] = command_arg5[i]; msgcmd.count++; } if (_c == "walk") { if (!instant) { actor_move = instance_create(0, 0, obj_move_actor); actor_move.target = command_actor[i]; actor_move.direction_word = command_arg1[i]; actor_move.speed = command_arg2[i]; actor_move.time = command_arg3[i]; with (actor_move) event_user(8); } else { command_actor[i].x += lengthdir_x(command_arg2[i] * command_arg3[i], (
scr_facing_letter_to_number(command_arg1[i]) * 90) - 90);
command_actor[i].y += lengthdir_y(command_arg2[i] * command_arg3[i], (
scr_facing_letter_to_number(command_arg1[i]) * 90) - 90);
} } if (_c == "walkto") { var _object = command_arg1[i]; var _tx = _object.x + command_arg2[i]; var _ty = _object.y + command_arg3[i]; if (command_arg5[i] == true && command_arg6[i] == true) { var _yyoff1 = command_actor[i].sprite_height - command_actor[i].sprite_yoffset; var _yyoff2 = _object.sprite_height - _object.sprite_yoffset; var _xxoff1 = (command_actor[i].sprite_width / 2) - command_actor[i].sprite_xoffset; var _xxoff2 = (_object.sprite_width / 2) - _object.sprite_xoffset; _ty += (_yyoff2 - _yyoff1); _tx += (_xxoff1 - _xxoff2); } else if (command_arg5[i] == true && command_arg6[i] == false) { _tx -= ((command_actor[i].sprite_width / 2) - command_actor[i].sprite_xoffset); _ty -= (command_actor[i].sprite_height - command_actor[i].sprite_yoffset); } command_arg1[i] = _tx; command_arg2[i] = _ty; command_arg3[i] = command_arg4[i]; _c = "walkdirect"; } if (_c == "walkdirect") { if (!instant) { actor_move = instance_create(0, 0, obj_move_to_point); actor_move.target = command_actor[i]; actor_move.movex = command_arg1[i]; actor_move.movey = command_arg2[i]; if (command_arg1[i] == 0) actor_move.movex = command_actor[i].x; if (command_arg2[i] == 0) actor_move.movey = command_actor[i].y; if (command_arg3[i] >= 0) { actor_move.movemax = command_arg3[i]; } else { var __walktime = round(point_distance(command_actor[i].x, command_actor[i].y, command_arg1[i], command_arg2[i]) / -command_arg3[i]); if (__walktime < 1) __walktime = 1; actor_move.movemax = __walktime; if (command_arg4[i] == 1) ...
();
10
        if (breakme == 1)
11
        {
12
            breakme = 0;
13
            break;
14
        }
15
    }
16
}
17
current_command = i + 1;
18
if (waiting == 1)
19
{
20
    if (cs_wait_amount > 0)
21
    {
22
        cs_wait_timer++;
23
        if (cs_wait_timer >= cs_wait_amount)
24
        {
25
            cs_wait_amount = 0;
26
            cs_wait_timer = 0;
27
            waiting = 0;
28
        }
29
    }
30
    if (cs_wait_box >= 0)
31
    {
32
        if (!i_ex(mydialoguer))
33
        {
34
            cs_wait_box = -1;
35
            waiting = 0;
36
            cs_wait_box_end = false;
37
        }
38
        else if (mydialoguer.active == 1)
39
        {
40
            if (i_ex(mydialoguer.writer))
41
            {
42
                if ((mydialoguer.writer.msgno == cs_wait_box && (!cs_wait_box_end || mydialoguer.writer.halt > 0)) || mydialoguer.writer.msgno > cs_wait_box)
43
                {
44
                    cs_wait_box = -1;
45
                    waiting = 0;
46
                    cs_wait_box_end = false;
47
                }
48
            }
49
        }
50
    }
51
    if (cs_wait_dialogue == 1)
52
    {
53
        if (!i_ex(mydialoguer))
54
        {
55
            cs_wait_dialogue = 0;
56
            waiting = 0;
57
        }
58
    }
59
    if (cs_wait_plat_dialogue == 1)
60
    {
61
        if (i_ex(obj_plat_dialogue_sequencer) && array_length(obj_plat_dialogue_sequencer.messages) == 0)
62
        {
63
            cs_wait_plat_dialogue = 0;
64
            waiting = 0;
65
            
scr_debug_print
scr_debug_print

function
scr_debug_print()
{ if (!
scr_debug())
exit; } function scr_debug_clear_all() { }
("dialogue gone");
66
        }
67
    }
68
    if (cs_wait_if == 1)
69
    {
70
        var passed = 0;
71
        var myvar;
72
        if (!variable_instance_exists(cs_wait_if_objectid, cs_wait_if_varname))
73
            passed = 1;
74
        else
75
            myvar = variable_instance_get(cs_wait_if_objectid, cs_wait_if_varname);
76
        if (passed == 0)
77
        {
78
            if (cs_wait_if_operator == "=")
79
            {
80
                if (myvar == cs_wait_if_varvalue)
81
                    passed = 1;
82
            }
83
            else if (cs_wait_if_operator == "!=")
84
            {
85
                if (myvar != cs_wait_if_varvalue)
86
                    passed = 1;
87
            }
88
            else if (cs_wait_if_operator == ">=")
89
            {
90
                if (myvar >= cs_wait_if_varvalue)
91
                    passed = 1;
92
            }
93
            else if (cs_wait_if_operator == "<=")
94
            {
95
                if (myvar <= cs_wait_if_varvalue)
96
                    passed = 1;
97
            }
98
            else if (cs_wait_if_operator == ">")
99
            {
100
                if (myvar > cs_wait_if_varvalue)
101
                    passed = 1;
102
            }
103
            else if (cs_wait_if_operator == "<")
104
            {
105
                if (myvar < cs_wait_if_varvalue)
106
                    passed = 1;
107
            }
108
            else
109
            {
110
                passed = 1;
111
            }
112
        }
113
        if (passed)
114
        {
115
            cs_wait_if = 0;
116
            waiting = 0;
117
        }
118
    }
119
}
120
if (terminate_this_frame == 1)
121
{
122
    if (kill_actors == 1)
123
    {
124
        for (jj = 0; jj < 20; jj++)
125
        {
126
            with (actor_id[jj])
127
                instance_destroy();
128
        }
129
    }
130
    instance_destroy();
131
}