Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_music_worship_Step_0

(view raw script w/o annotations or w/e)
1
var buff = 1;
2
var mastervol = 0.7;
3
var minpitch = 0.4;
4
var maxpitch = 0.6;
5
if (init == 0)
6
{
7
    astream = snd_init(song);
8
    tracklength = audio_sound_length(astream);
9
    track1 = mus_loop(astream);
10
    track2 = mus_loop(astream);
11
    audio_sound_set_track_position(track1, tracklength / 2);
12
    snd_pitch(track1, 0.5);
13
    snd_volume(track1, 0, 0);
14
    snd_volume(track1, mastervol, 30);
15
    snd_pitch(track2, 0.5);
16
    snd_volume(track2, 0, 0);
17
    audio_sound_set_track_position(track2, tracklength / 2);
18
    init = 1;
19
    targtime = 30 * choose(2, 2, 2, 3, 4);
20
}
21
if (con == 0 && pause != 2)
22
{
23
    timer++;
24
    if (timer == (targtime - buff))
25
    {
26
        changecount++;
27
        if ((changecount % 3) == 0)
28
        {
29
            var curpitch = audio_sound_get_pitch(track1);
30
            debug_message(curpitch);
31
            var randadj = random(0.1);
32
            if (curpitch == maxpitch)
33
            {
34
                randadj = -randadj;
35
            }
36
            else if (curpitch == minpitch)
37
            {
38
            }
39
            else
40
            {
41
                randadj = randadj * choose(-1, 1);
42
            }
43
            snd_pitch(track2, clamp(curpitch + randadj, minpitch, maxpitch));
44
        }
45
        audio_sound_set_track_position(track2, random_range(2, tracklength - 6));
46
        snd_volume(track2, mastervol, buff);
47
        snd_volume(track1, 0, buff);
48
    }
49
    if (timer >= targtime)
50
    {
51
        con = 1;
52
        timer = 0;
53
        targtime = 30 * choose(2, 2, 2, 3, 4);
54
    }
55
}
56
if (con == 1 && pause != 2)
57
{
58
    timer++;
59
    if (timer == (targtime - buff))
60
    {
61
        changecount++;
62
        if ((changecount % 3) == 0)
63
        {
64
            var curpitch = audio_sound_get_pitch(track2);
65
            debug_message(curpitch);
66
            var randadj = random(0.1);
67
            if (curpitch == maxpitch)
68
            {
69
                randadj = -randadj;
70
            }
71
            else if (curpitch == minpitch)
72
            {
73
            }
74
            else
75
            {
76
                randadj = randadj * choose(-1, 1);
77
            }
78
            snd_pitch(track1, clamp(curpitch + randadj, minpitch, maxpitch));
79
        }
80
        audio_sound_set_track_position(track1, random_range(2, tracklength - 6));
81
        snd_volume(track1, mastervol, buff);
82
        snd_volume(track2, 0, buff);
83
    }
84
    if (timer >= targtime)
85
    {
86
        con = 0;
87
        timer = 0;
88
        targtime = 30 * choose(2, 2, 2, 3, 4);
89
    }
90
}
91
if (fade == 0)
92
{
93
    var trig = 0;
94
    with (obj_doorparent)
95
    {
96
        if (touched)
97
            trig = 1;
98
    }
99
    if (trig)
100
    {
101
        fade = 1;
102
        con = 99;
103
        snd_volume(track1, 0, 14);
104
        snd_volume(track2, 0, 14);
105
        
scr_doom
scr_doom

function
scr_doom(arg0 = id, arg1)
{ with (instance_create_depth(0, 0, 0, obj_doom)) { alarm[0] target = arg0; persistent = arg0.persistent; } }
(id, 14);
106
    }
107
}
108
if (pause == 1)
109
{
110
    pause = 2;
111
    memval1 = audio_sound_get_gain(track1);
112
    memval2 = audio_sound_get_gain(track2);
113
    debug_print("memval1:" + string(memval1));
114
    debug_print("memval2:" + string(memval2));
115
    snd_volume(track1, 0, 14);
116
    snd_volume(track2, 0, 14);
117
}
118
if (resume)
119
{
120
    if (pause == 2)
121
    {
122
        debug_print("resume");
123
        resume = 0;
124
        pause = 0;
125
        snd_volume(track1, memval1, 14);
126
        snd_volume(track2, memval2, 14);
127
    }
128
}