Deltarune (Chapter 4) script viewer

← back to main script listing

gml_GlobalScript_scr_music_event

(view raw script w/o annotations or w/e)
1
function scr_create_music_event_manager(arg0, arg1)
2
{
3
    var __mem = instance_create(0, 0, obj_music_event_manager);
4
    __mem.track1_instance = arg0;
5
    __mem.bpm = arg1;
6
    return __mem;
7
}
8
9
function scr_music_event_add(arg0, arg1, arg2, arg3 = true, arg4 = 4)
10
{
11
    scr_music_event_add_instance(id, arg0, arg1, arg2, arg3, arg4);
12
}
13
14
function scr_music_event_add_instance(arg0, arg1, arg2, arg3, arg4 = true, arg5 = 4)
15
{
16
    if (arg4)
17
        arg1 = scr_round_to_mem_beat(arg1, arg5);
18
    if (!i_ex(obj_music_event_manager))
19
        instance_create(0, 0, obj_music_event_manager);
20
    with (obj_music_event_manager)
21
    {
22
        event_id[event_count] = arg0;
23
        event_time[event_count] = arg1;
24
        event_var[event_count] = arg2;
25
        event_value[event_count] = arg3;
26
        event_count++;
27
    }
28
}
29
30
function scr_music_userevent_add(arg0, arg1, arg2 = true, arg3 = 4)
31
{
32
    scr_music_event_add_instance(id, arg0, "event", arg1);
33
}
34
35
function scr_music_userevent_add_instance(arg0, arg1, arg2, arg3 = true, arg4 = 4)
36
{
37
    scr_music_event_add_instance(arg0, arg1, "event", arg2);
38
}
39
40
function scr_music_beat_event(arg0, arg1, arg2 = true)
41
{
42
    scr_music_beat_event_instance(id, arg0, arg1, arg2);
43
}
44
45
function scr_music_beat_userevent(arg0, arg1 = true)
46
{
47
    scr_music_beat_event_instance(id, "event", arg0, arg1);
48
}
49
50
function scr_music_beat_event_instance(arg0, arg1, arg2, arg3 = true)
51
{
52
    if (!i_ex(obj_music_event_manager))
53
        instance_create(0, 0, obj_music_event_manager);
54
    with (obj_music_event_manager)
55
    {
56
        if (arg3)
57
        {
58
            beat_event = true;
59
            next_beat = round(trackpos / 0.2608695652173913) * 0.2608695652173913;
60
        }
61
        beat_id = arg0;
62
        beat_var = arg1;
63
        beat_value = arg2;
64
    }
65
}
66
67
function scr_music_beat_userevent_instance(arg0, arg1, arg2 = true)
68
{
69
    scr_music_beat_event_instance(arg0, "event", arg1, arg2);
70
}
71
72
function scr_set_music_beat_time(arg0, arg1 = 0)
73
{
74
    if (arg1 == 0)
75
    {
76
        with (obj_music_event_manager)
77
            beat_event = arg0;
78
    }
79
    else
80
    {
81
        scr_music_beat_event_instance(obj_music_event_manager, arg1, "beat_event", arg0);
82
    }
83
}
84
85
function scr_music_event_get_current_music()
86
{
87
    with (obj_music_event_manager)
88
    {
89
        track1_instance = global.currentsong[1];
90
        track2_instance = mus_loop(track2);
91
    }
92
}
93
94
function scr_round_to_mem_beat(arg0, arg1 = 4)
95
{
96
    return scr_round_to_beat(arg0, obj_music_event_manager.bpm, arg1);
97
}
98
99
function scr_music_event_clear()
100
{
101
    event_id = [];
102
    event_time = [];
103
    event_var = [];
104
    event_value = [];
105
    event_count = 0;
106
}