Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_rhythmgame_Create_0

(view raw script w/o annotations or w/e)
1
y = 960;
2
depth = 110000;
3
tenna_boss = global.chapter == 3 && i_ex(obj_tenna_enemy);
4
if (tenna_boss)
5
    depth = 1000;
6
for (i = 0; i < 5; i++)
7
    remtrackpos[i] = 0;
8
song_initialized = 0;
9
loadsong = 0;
10
missnotetimer = 0;
11
missnotecon = 0;
12
hide_heroes = false;
13
minnote = 0;
14
trackpos = 0;
15
notespeed = 150;
16
speed_modifier = 1;
17
maxnote = 0;
18
buffer[0] = 0;
19
buffer[1] = 0;
20
pressedtimer[0] = 10;
21
pressedtimer[1] = 10;
22
bpm = 230;
23
notespacing = 60 / bpm;
24
basespacing = 60 / bpm;
25
meter = notespacing * 4;
26
startoffset = 0;
27
lineA = 0;
28
lineB = 0;
29
oneAtATime = true;
30
hold_start[0] = 0;
31
hold_end[0] = 0;
32
hold_start[1] = 0;
33
hold_end[1] = 0;
34
hold_score = 0;
35
heldnote[0] = 0;
36
heldnote[1] = 0;
37
heldnote[2] = 0;
38
points = 0;
39
total_score = 0;
40
score_scale = 2;
41
great = 0;
42
good = 0;
43
okay = 0;
44
miss = 0;
45
hurt_counter = 0;
46
rewind = false;
47
rewind_timer = 0;
48
rewind_start = 0;
49
safety_timer = 0;
50
safety_mode = false;
51
muted = false;
52
muted_time = 0;
53
averagetimeunit = 0;
54
safety_pos = 0;
55
smooth_timer = 0;
56
deltapos = 0;
57
score_var = 0;
58
fame_mul = 1;
59
fame = 6000;
60
total_fame = 6000;
61
max_fame = 12000;
62
max_score = 25000;
63
auto_play = false;
64
combo = 0;
65
max_combo = 0;
66
bg_timer = 0;
67
trackstart = 0;
68
goodScore = 0;
69
maxScore = 0;
70
track1 = -1;
71
track2 = -1;
72
track1_instance = -1;
73
track2_instance = -1;
74
note_hit_timer[0] = 0;
75
note_hit_timer[1] = 0;
76
note_hit_timer[2] = 0;
77
note_hit_score[0] = 0;
78
note_hit_score[1] = 0;
79
demo_mode = false;
80
draw_lyrics = true;
81
intro_con = -1;
82
camera_lerp = 0;
83
fame_tier = 0;
84
fixed_penalty = 0;
85
hardmode = 0;
86
leniency = 1.6;
87
bonus = 0;
88
song_id = -1;
89
track_length = 0;
90
scr_rhythmgame_init
scr_rhythmgame_init

function
scr_rhythmgame_init(arg0, arg1, arg2 = false, arg3 = true)
{ instrument = arg0; note_color[0] = #01EA9E; note_color[1] = #17EEFF; note_color[2] = c_orange; if (instrument == 0) { scr_rhythmgame_notechart_lead(arg1); if (!arg2) exit; performer = instance_create(280, 316, obj_rhythmgame_performer); performer.sprite_index = spr_kris_rock_2; performer.image_speed = 0.5; performer.name = "kris"; performer.loop = false; } else if (instrument == 1) { note_color[0] = #D1176A; note_color[1] = #EA79C8; scr_rhythmgame_notechart_drums(arg1); if (!arg2) exit; performer = instance_create(56, 281, obj_rhythmgame_performer); performer.sprite_index = spr_susie_drum; performer.image_speed = 0.5; performer.loop = false; performer.name = "susie"; performer.animspeed = 3; } else if (instrument == 2) { note_color[0] = c_green; note_color[1] = #B5E61D; note_color[2] = c_lime; if (arg3) scr_rhythmgame_notechart_vocals(arg1); if (!arg2) exit; performer = instance_create(486, 304, obj_rhythmgame_performer); performer.sprite_index = spr_ralsei_rock_1; performer.image_speed = 0; performer.loop = true; performer.name = "ralsei"; performer.animspeed = 0.5; performer.mid = spr_ralsei_sing_polite; performer.idle = spr_ralsei_sing_polite_closed; } performer.image_xscale = 2; performer.image_yscale = 2; performer.depth = depth - 10; performer.rhythmer = id; }
(0, song_id, true);
91
drums = instance_create(170, y, obj_rhythmgame_chart);
92
with (drums)
93
{
94
    var _performer = global.char[1] == 2 || global.char[2] == 2;
95
    depth = other.depth - 10;
96
    
scr_rhythmgame_init
scr_rhythmgame_init

function
scr_rhythmgame_init(arg0, arg1, arg2 = false, arg3 = true)
{ instrument = arg0; note_color[0] = #01EA9E; note_color[1] = #17EEFF; note_color[2] = c_orange; if (instrument == 0) { scr_rhythmgame_notechart_lead(arg1); if (!arg2) exit; performer = instance_create(280, 316, obj_rhythmgame_performer); performer.sprite_index = spr_kris_rock_2; performer.image_speed = 0.5; performer.name = "kris"; performer.loop = false; } else if (instrument == 1) { note_color[0] = #D1176A; note_color[1] = #EA79C8; scr_rhythmgame_notechart_drums(arg1); if (!arg2) exit; performer = instance_create(56, 281, obj_rhythmgame_performer); performer.sprite_index = spr_susie_drum; performer.image_speed = 0.5; performer.loop = false; performer.name = "susie"; performer.animspeed = 3; } else if (instrument == 2) { note_color[0] = c_green; note_color[1] = #B5E61D; note_color[2] = c_lime; if (arg3) scr_rhythmgame_notechart_vocals(arg1); if (!arg2) exit; performer = instance_create(486, 304, obj_rhythmgame_performer); performer.sprite_index = spr_ralsei_rock_1; performer.image_speed = 0; performer.loop = true; performer.name = "ralsei"; performer.animspeed = 0.5; performer.mid = spr_ralsei_sing_polite; performer.idle = spr_ralsei_sing_polite_closed; } performer.image_xscale = 2; performer.image_yscale = 2; performer.depth = depth - 10; performer.rhythmer = id; }
(1, other.song_id, true);
97
    mashcon = 1;
98
    rhythmgame = other.id;
99
    if (!_performer)
100
    {
101
        performer.visible = false;
102
        demo_mode = true;
103
        mashcon = 0;
104
    }
105
}
106
vocals = instance_create(470, y, obj_rhythmgame_chart);
107
with (vocals)
108
{
109
    var _performer = global.char[1] == 3 || global.char[2] == 3;
110
    depth = other.depth - 10;
111
    
scr_rhythmgame_init
scr_rhythmgame_init

function
scr_rhythmgame_init(arg0, arg1, arg2 = false, arg3 = true)
{ instrument = arg0; note_color[0] = #01EA9E; note_color[1] = #17EEFF; note_color[2] = c_orange; if (instrument == 0) { scr_rhythmgame_notechart_lead(arg1); if (!arg2) exit; performer = instance_create(280, 316, obj_rhythmgame_performer); performer.sprite_index = spr_kris_rock_2; performer.image_speed = 0.5; performer.name = "kris"; performer.loop = false; } else if (instrument == 1) { note_color[0] = #D1176A; note_color[1] = #EA79C8; scr_rhythmgame_notechart_drums(arg1); if (!arg2) exit; performer = instance_create(56, 281, obj_rhythmgame_performer); performer.sprite_index = spr_susie_drum; performer.image_speed = 0.5; performer.loop = false; performer.name = "susie"; performer.animspeed = 3; } else if (instrument == 2) { note_color[0] = c_green; note_color[1] = #B5E61D; note_color[2] = c_lime; if (arg3) scr_rhythmgame_notechart_vocals(arg1); if (!arg2) exit; performer = instance_create(486, 304, obj_rhythmgame_performer); performer.sprite_index = spr_ralsei_rock_1; performer.image_speed = 0; performer.loop = true; performer.name = "ralsei"; performer.animspeed = 0.5; performer.mid = spr_ralsei_sing_polite; performer.idle = spr_ralsei_sing_polite_closed; } performer.image_xscale = 2; performer.image_yscale = 2; performer.depth = depth - 10; performer.rhythmer = id; }
(2, other.song_id, true);
112
    auto_play = true;
113
    rhythmgame = other.id;
114
    if (!_performer)
115
    {
116
        performer.visible = false;
117
        demo_mode = true;
118
        other.draw_lyrics = false;
119
    }
120
}
121
spooked = false;
122
paused = false;
123
note_streak = 0;
124
score_x = 550;
125
solo_difficulty = -1;
126
solo_con = 0;
127
timestamp[0] = scr_round_to_beat(37.56, bpm, 1) - notespacing;
128
timestamp[1] = scr_round_to_beat(58.43, bpm, 1) - notespacing;
129
timestamp[2] = scr_round_to_beat(79.3, bpm, 1) - notespacing;
130
timestamp[3] = scr_round_to_beat(100.17, bpm, 1) - notespacing;
131
track1_id = "ch3_karaoke_no_guitar.ogg";
132
track2_id = "ch3_karaoke_full.ogg";
133
dynamic_solo = false;
134
skip_invuln = false;
135
songset = false;
136
if (!i_ex(obj_music_event_manager))
137
    musicm = instance_create(x, y, obj_music_event_manager);
138
else
139
    musicm = obj_music_event_manager;
140
musicm.bpm = bpm;
141
musicm.loop = false;
142
musicm.beat_offset += bpm / 2;
143
show_debug = false;
144
button_swap = 
scr_buttons_swapped
scr_buttons_swapped

function
scr_buttons_swapped()
{ if (global.is_console || obj_gamecontroller.gamepad_active) { if (global.button0 == gp_face1 && global.button1 == gp_face2) return false; else if (global.button0 == gp_face2 && global.button1 == gp_face1) return true; else return
scr_buttons_swapped_ext();
} else if (global.input_k[4] != ord("Z") || global.input_k[5] != ord("X")) { return
scr_buttons_swapped_ext();
} else { return false; } }
();
145
effects = instance_create(x, y, obj_rhythmgame_effects);
146
effects.depth = depth - 40;
147
image_speed = 0;
148
fade = 1;
149
timer = 0;
150
debugsong = false;
151
replayquit = false;
152
text_timer = -1;
153
last_note_score = 0;
154
note_text = "GREAT";
155
score_color = c_yellow;
156
camy = cameray();
157
camx = camerax();
158
if (
scr_debug
scr_debug

function
scr_debug()
{ if (global.debug == 1) return 1; }
())
159
{
160
    if (keyboard_check(ord("1")))
161
    {
162
        song_id = 1;
163
        
scr_debug_print
scr_debug_print

function
scr_debug_print(arg0)
{ } function print_message(arg0) { } function debug_print(arg0) { } function scr_debug_clear_all() { scr_debug_clear_persistent(); }
("song set to practice song");
164
        debugsong = true;
165
    }
166
    else if (keyboard_check(ord("2")))
167
    {
168
        song_id = 2;
169
        
scr_debug_print
scr_debug_print

function
scr_debug_print(arg0)
{ } function print_message(arg0) { } function debug_print(arg0) { } function scr_debug_clear_all() { scr_debug_clear_persistent(); }
("song set to tenna_battle");
170
        debugsong = true;
171
    }
172
    else if (keyboard_check(ord("3")))
173
    {
174
        song_id = 3;
175
        
scr_debug_print
scr_debug_print

function
scr_debug_print(arg0)
{ } function print_message(arg0) { } function debug_print(arg0) { } function scr_debug_clear_all() { scr_debug_clear_persistent(); }
("song set to tutorial song");
176
        debugsong = true;
177
    }
178
    else if (keyboard_check(ord("4")))
179
    {
180
        song_id = 4;
181
        
scr_debug_print
scr_debug_print

function
scr_debug_print(arg0)
{ } function print_message(arg0) { } function debug_print(arg0) { } function scr_debug_clear_all() { scr_debug_clear_persistent(); }
("song set to brand new board 4 track");
182
        debugsong = true;
183
    }
184
    else if (keyboard_check(ord("5")))
185
    {
186
        song_id = 5;
187
        
scr_debug_print
scr_debug_print

function
scr_debug_print(arg0)
{ } function print_message(arg0) { } function debug_print(arg0) { } function scr_debug_clear_all() { scr_debug_clear_persistent(); }
("song set to rudebuster_boss");
188
        debugsong = true;
189
    }
190
    else if (keyboard_check(ord("6")))
191
    {
192
        song_id = 6;
193
        
scr_debug_print
scr_debug_print

function
scr_debug_print(arg0)
{ } function print_message(arg0) { } function debug_print(arg0) { } function scr_debug_clear_all() { scr_debug_clear_persistent(); }
("song set to battle_vapor");
194
        debugsong = true;
195
    }
196
    else if (global.chapter == 3)
197
    {
198
        song_id = 0;
199
        
scr_debug_print
scr_debug_print

function
scr_debug_print(arg0)
{ } function print_message(arg0) { } function debug_print(arg0) { } function scr_debug_clear_all() { scr_debug_clear_persistent(); }
("song set to default, song,");
200
        if (keyboard_check(ord("0")))
201
        {
202
            
scr_debug_print
scr_debug_print

function
scr_debug_print(arg0)
{ } function print_message(arg0) { } function debug_print(arg0) { } function scr_debug_clear_all() { scr_debug_clear_persistent(); }
("(but also skipping its intro)");
203
            debugsong = true;
204
        }
205
    }
206
    else if (variable_global_exists("band_song"))
207
    {
208
        song_id = global.band_song;
209
    }
210
    else
211
    {
212
        song_id = 0;
213
    }
214
}
215
song_loaded = false;
216
lyric_time[0] = 0;
217
lyric_count = 0;
218
lyrics[0] = "";
219
censored_lyrics[0] = "";
220
lyrics_index = 0;
221
word_index = 0;
222
lyric_start_index = 0;
223
lyric_start[0] = 0;
224
lyric_end[0] = 0;
225
line_switch = -1;
226
current_lyric = "";
227
censored_lyric = "";
228
update_lyrics = false;
229
bg_con = 0;
230
floor_color = #274573;
231
special_song = 0;
232
chart_start = 0;
233
chart_end = 0;
234
main_vol = 1;
235
tracklist = scr_rhythmgame_songlist();
236
buttonswap = false;
237
if (tenna_boss)
238
{
239
    debug_print("loadin' tenna boss logic");
240
    song_id = 2;
241
    speed_modifier = 2;
242
    if (obj_tenna_enemy.completedrhythmwithouttakingdamage == 1)
243
        speed_modifier = 2.5;
244
    if (obj_tenna_enemy.completedrhythmwithouttakingdamage2 == 1)
245
        speed_modifier = 3;
246
}
247
init = 0;
248
song_done = false;
249
game_won = false;
250
lose_con = 0;
251
loop = false;
252
loop_start = 0;
253
last_score[0] = 0;
254
last_score[1] = 0;
255
last_score[2] = 0;
256
last_score[3] = 0;
257
last_score[4] = 0;
258
maxpos = 0;
259
fastforward = false;
260
bg_brightness = 1;
261
stage_tint = 0;
262
show_chart = 0;
263
focus = 0;
264
chart_lerp = 0;
265
chart_ease = 0;
266
kchart_lerp = 0;
267
kchart_ease = 0;
268
siner = 0;
269
miss_timer = 0;
270
tutorial = 0;
271
timer = 0;
272
freeplay = 0;
273
spotlight_color[0] = #2D2D2D;
274
spotlight_color[1] = #BD0F17;
275
spotlight_color[2] = #4A7CE8;
276
spotlight_color[3] = #79D7FF;
277
red_glow = 0;
278
hue = 0;
279
rainbow_con = 0;
280
smooth = 0;
281
stage_con = 0;
282
beat = false;
283
boss_delay = 45;
284
if (tenna_boss && i_ex(obj_tenna_zoom) && obj_tenna_zoom.minigameinsanity == true)
285
    boss_delay = 17;
286
turn_length = 270;
287
invc = 0;
288
hurt_flash = 0;
289
difficulty = 5;
290
silhouette_surf = -4;
291
combo_surf = -4;
292
palette_active = true;
293
palette_pos = 1;
294
button_alpha = 0;
295
tutorial_ready = true;
296
brightness = 1;
297
target_brightness = 1;
298
replayversion = false;
299
if (global.chapter > 3 || (global.plot >= 150 && room != room_dw_rhythm_empty && !tenna_boss))
300
    replayversion = true;
301
if (replayversion && freeplay == 0)
302
    freeplay = 1;
303
if (keyboard_check(vk_subtract))
304
{
305
    freeplay = -1;
306
    debug_print("freeplay active");
307
}
308
else if (global.chapter > 3)
309
{
310
    if (!variable_global_exists("band_difficulty"))
311
        global.band_difficulty = 0;
312
    if (!variable_global_exists("band_song"))
313
        global.band_song = 8;
314
    song_id = global.band_song;
315
    hardmode = global.band_difficulty == 1;
316
    replayversion = true;
317
    freeplay = 2;
318
}
319
savemiss = 0;
320
savegreat = 0;
321
saveokay = 0;
322
savegood = 0;
323
pitch = 1;
324
reloading = false;
325
backup_trackpos = 0;
326
looptimer = 0;
327
lyric_surface = -4;
328
lyric_sprite[0] = -4;
329
lyric_sprite[1] = -4;
330
failsafe = 0;
331
guitar_sound[0] = snd_guitarpickup3;
332
guitar_sound[1] = snd_guitarpickup4;
333
guitar_sound[2] = snd_guitarpickup1;
334
guitar_sound[3] = snd_guitarpickup2;
335
miss_sound[0] = snd_guitarerror;
336
miss_sound[1] = snd_guitarerror2;
337
338
emergency_reload = function()
339
{
340
    if (!i_ex(track1))
341
    {
342
        debug_print("Emergency reload called. Resuming from " + string(trackpos));
343
        remtrackpos[0] = trackpos;
344
        track1 = snd_init(track1_id);
345
        track2 = snd_init(track2_id);
346
        if (loop)
347
        {
348
            track1_instance = mus_loop(track1);
349
            track2_instance = mus_loop(track2);
350
        }
351
        else
352
        {
353
            track1_instance = mus_play(track1);
354
            track2_instance = mus_play(track2);
355
        }
356
        if (solo_con == 2)
357
        {
358
            track1_main = track1_solo_instance;
359
            track2_main = track2_solo_instance;
360
        }
361
        else
362
        {
363
            track1_main = track1_instance;
364
            track2_main = track2_instance;
365
        }
366
        snd_pitch(track1_instance, 0);
367
        snd_pitch(track2_instance, 0);
368
        if (song_id == 0)
369
        {
370
            track1_solo = snd_init(track1_id);
371
            track2_solo = snd_init(track2_id);
372
            track1_solo_instance = mus_play(track1_solo);
373
            track2_solo_instance = mus_play(track2_solo);
374
            snd_pitch(track1_solo_instance, 0);
375
            snd_pitch(track2_solo_instance, 0);
376
        }
377
        pitch = 0;
378
        reloading = true;
379
        if (solo_con == 2)
380
        {
381
            mus_volume(track1_instance, 0, 0);
382
            mus_volume(track2_instance, 0, 0);
383
            mus_volume(track1_solo_instance, 0, 0);
384
            mus_volume(track2_solo_instance, 1, 0);
385
        }
386
        else
387
        {
388
            if (oneAtATime)
389
                mus_volume(track1_instance, 0, 0);
390
            else
391
                mus_volume(track1_instance, 1, 0);
392
            mus_volume(track2_instance, 1, 0);
393
            if (song_id == 0)
394
            {
395
                mus_volume(track1_solo_instance, 0, 0);
396
                mus_volume(track2_solo_instance, 0, 0);
397
            }
398
        }
399
        if (tenna_boss)
400
        {
401
            global.batmusic[0] = track1;
402
            global.batmusic[1] = track1_instance;
403
            global.batmusic[2] = track2;
404
            global.batmusic[3] = track2_instance;
405
        }
406
    }
407
};
408
409
spotlight_col = function(arg0)
410
{
411
    var _combreq = tenna_boss ? min(15, maxnote) : 15;
412
    if (fame >= 12000 && combo >= _combreq)
413
    {
414
        if (stage_con == 0)
415
        {
416
            stage_con = 2;
417
            snd_play_volume(snd_crowd_cheer_single, 0.7);
418
        }
419
        if (smooth)
420
        {
421
            if (arg0 == 0)
422
                hue = (hue + 4) % 255;
423
        }
424
        else if (beat)
425
        {
426
            hue += 106.25;
427
            hue %= 255;
428
            beat = false;
429
        }
430
        var _rainbow = (hue + (arg0 * 85)) % 255;
431
        return make_color_hsv(_rainbow, 43, 223);
432
    }
433
    if (stage_con >= 1)
434
        stage_con = 0;
435
    var _score = fame + hold_score;
436
    var _col = merge_color(spotlight_color[1], spotlight_color[2], clamp01(inverselerp(3000, 4000, fame)));
437
    var _sscore = (_score - 4000) + (arg0 * 2000);
438
    if ((fame + hold_score) < 6000)
439
        _col = merge_color(spotlight_color[0], _col, clamp01(inverselerp(0, 2000, _sscore)));
440
    else
441
        _col = merge_color(_col, spotlight_color[3], clamp01(inverselerp(6000, 8000, _sscore)));
442
    return _col;
443
};
444
445
buttonb_p = function()
446
{
447
    if (button_swap)
448
        return button2_p();
449
    else
450
        return button1_p();
451
};
452
453
buttonb_h = function()
454
{
455
    if (button_swap)
456
        return button2_h();
457
    else
458
        return button1_h();
459
};
460
461
buttonr_p = function()
462
{
463
    if (button_swap)
464
        return button1_p();
465
    else
466
        return button2_p();
467
};
468
469
buttonr_h = function()
470
{
471
    if (button_swap)
472
        return button1_h();
473
    else
474
        return button2_h();
475
};
476
477
draw_rhythm_buttons = function(arg0, arg1, arg2)
478
{
479
    var _played = 0;
480
    var _swap = button_swap;
481
    var _ll = _swap ? 5 : 4;
482
    var _rr = _swap ? 4 : 5;
483
    if (global.is_console || obj_gamecontroller.gamepad_active)
484
    {
485
        _played = note_hit_timer[0] > 0;
486
        draw_sprite_ext(
scr_getbuttonsprite
scr_getbuttonsprite

function
scr_getbuttonsprite(arg0, arg1)
{ var control = arg0; var isString = arg1; var button = noone; var is_dualshock = os_type == os_ps4 || global.gamepad_type == "Sony DualShock 4"; var is_dualsense = os_type == os_ps5 || global.gamepad_type == "DualSense Wireless Controller"; var button_sprite = button_questionmark; var invert = is_dualshock && (global.typer == 50 || global.typer == 70 || global.typer == 71); if (isString) { if (control == "A") { button_sprite = button_xbox_left; if (scr_is_switch_os()) { button_sprite = button_switch_left_0; } else if (is_dualshock || is_dualsense) { button_sprite = invert ? button_ps4_dpad_left_dark : button_ps4_dpad_left; if (is_dualsense) button_sprite = invert ? button_ps4_dpad_left_dark : button_ps5_dpad_left; } return button_sprite; } if (control == "D") { button_sprite = button_xbox_right; if (scr_is_switch_os()) { button_sprite = button_switch_right_0; } else if (is_dualshock || is_dualsense) { button_sprite = invert ? button_ps4_dpad_right_dark : button_ps4_dpad_right; if (is_dualsense) button_sprite = invert ? button_ps4_dpad_right_dark : button_ps5_dpad_right; } return button_sprite; } if (control == "W") { button_sprite = button_xbox_up; if (scr_is_switch_os()) { button_sprite = button_switch_up_0; } else if (is_dualshock || is_dualsense) { button_sprite = invert ? button_ps4_dpad_up_dark : button_ps4_dpad_up; if (is_dualsense) button_sprite = invert ? button_ps4_dpad_up_dark : button_ps5_dpad_up; } return button_sprite; } if (control == "S") { button_sprite = button_xbox_down; if (scr_is_switch_os()) { button_sprite = button_switch_down_0; } else if (is_dualshock || is_dualsense) { button_sprite = invert ? button_ps4_dpad_down_dark : button_ps4_dpad_down; if (is_dualsense) button_sprite = invert ? button_ps4_dpad_down_dark : button_ps5_dpad_down; } return button_sprite; } if (control == "l") { button_sprite = button_xbox_left_bumper; if (is_dualshock || is_dualsense) { button_sprite = button_ps4_l1; if (is_dualsense) button_sprite = button_ps5_l1; } if (scr_is_switch_os()) button_sprite = button_switch_l_0; return button_sprite; } if (control == "L") { button_sprite = button_xbox_left_trigger; if (is_dualshock || is_dualsense) { button_sprite = button_ps4_l2; if (is_dualsense) button_sprite = button_ps5_l2; } if (scr_is_switch_os()) button_sprite = button_switch_zl_0; return button_sprite; } if (control == "r") { button_sprite = button_xbox_right_bumper; if (is_dualshock || is_dualsense) ...
(global.input_g[_ll], false), 0, (arg0 - 104) + (chart_ease * 34), (bottomy - 8) + (_played * 2), 2, 2, 0, arg1, arg2);
487
        _played = note_hit_timer[1] > 0;
488
        draw_sprite_ext(
scr_getbuttonsprite
scr_getbuttonsprite

function
scr_getbuttonsprite(arg0, arg1)
{ var control = arg0; var isString = arg1; var button = noone; var is_dualshock = os_type == os_ps4 || global.gamepad_type == "Sony DualShock 4"; var is_dualsense = os_type == os_ps5 || global.gamepad_type == "DualSense Wireless Controller"; var button_sprite = button_questionmark; var invert = is_dualshock && (global.typer == 50 || global.typer == 70 || global.typer == 71); if (isString) { if (control == "A") { button_sprite = button_xbox_left; if (scr_is_switch_os()) { button_sprite = button_switch_left_0; } else if (is_dualshock || is_dualsense) { button_sprite = invert ? button_ps4_dpad_left_dark : button_ps4_dpad_left; if (is_dualsense) button_sprite = invert ? button_ps4_dpad_left_dark : button_ps5_dpad_left; } return button_sprite; } if (control == "D") { button_sprite = button_xbox_right; if (scr_is_switch_os()) { button_sprite = button_switch_right_0; } else if (is_dualshock || is_dualsense) { button_sprite = invert ? button_ps4_dpad_right_dark : button_ps4_dpad_right; if (is_dualsense) button_sprite = invert ? button_ps4_dpad_right_dark : button_ps5_dpad_right; } return button_sprite; } if (control == "W") { button_sprite = button_xbox_up; if (scr_is_switch_os()) { button_sprite = button_switch_up_0; } else if (is_dualshock || is_dualsense) { button_sprite = invert ? button_ps4_dpad_up_dark : button_ps4_dpad_up; if (is_dualsense) button_sprite = invert ? button_ps4_dpad_up_dark : button_ps5_dpad_up; } return button_sprite; } if (control == "S") { button_sprite = button_xbox_down; if (scr_is_switch_os()) { button_sprite = button_switch_down_0; } else if (is_dualshock || is_dualsense) { button_sprite = invert ? button_ps4_dpad_down_dark : button_ps4_dpad_down; if (is_dualsense) button_sprite = invert ? button_ps4_dpad_down_dark : button_ps5_dpad_down; } return button_sprite; } if (control == "l") { button_sprite = button_xbox_left_bumper; if (is_dualshock || is_dualsense) { button_sprite = button_ps4_l1; if (is_dualsense) button_sprite = button_ps5_l1; } if (scr_is_switch_os()) button_sprite = button_switch_l_0; return button_sprite; } if (control == "L") { button_sprite = button_xbox_left_trigger; if (is_dualshock || is_dualsense) { button_sprite = button_ps4_l2; if (is_dualsense) button_sprite = button_ps5_l2; } if (scr_is_switch_os()) button_sprite = button_switch_zl_0; return button_sprite; } if (control == "r") { button_sprite = button_xbox_right_bumper; if (is_dualshock || is_dualsense) ...
(global.input_g[_rr], false), 0, (arg0 + 81) - (chart_ease * 34), (bottomy - 8) + (_played * 2), 2, 2, 0, arg1, arg2);
489
    }
490
    else
491
    {
492
        draw_set_alpha(arg2);
493
        var _input_name = 
scr_get_input_name
scr_get_input_name

function
scr_get_input_name(arg0)
{ var _control = "[?]"; if (global.is_console || obj_gamecontroller.gamepad_active) { _control = global.input_g[arg0]; if (_control == gp_padr) return "\\*D "; if (_control == gp_padl) return "\\*A "; if (_control == gp_padu) return "\\*W "; if (_control == gp_padd) return "\\*S "; if (_control == global.button0) return "\\*Z "; if (_control == global.button1) return "\\*X "; if (_control == global.button2) return "\\*C "; } var left_bracket = (global.lang == "en") ? "[" : "["; var right_bracket = (global.lang == "en") ? "]" : "]"; _control = left_bracket + global.asc_def[global.input_k[arg0]] + right_bracket; if (!is_string(_control)) _control = "[?]"; else return _control; }
(_ll);
494
        _played = note_hit_timer[0] > 0;
495
        var _buttonx = (arg0 - 80) + (chart_ease * 34);
496
        var _buttony = (bottomy - 16) + (_played * 2);
497
        var _scale = 2;
498
        draw_set_colour(_played ? c_yellow : c_white);
499
        draw_set_halign(fa_right);
500
        draw_text_transformed_outline(_buttonx, _buttony, _input_name, _scale, _scale, 0);
501
        _played = note_hit_timer[1] > 0;
502
        _input_name = string(
scr_get_input_name
scr_get_input_name

function
scr_get_input_name(arg0)
{ var _control = "[?]"; if (global.is_console || obj_gamecontroller.gamepad_active) { _control = global.input_g[arg0]; if (_control == gp_padr) return "\\*D "; if (_control == gp_padl) return "\\*A "; if (_control == gp_padu) return "\\*W "; if (_control == gp_padd) return "\\*S "; if (_control == global.button0) return "\\*Z "; if (_control == global.button1) return "\\*X "; if (_control == global.button2) return "\\*C "; } var left_bracket = (global.lang == "en") ? "[" : "["; var right_bracket = (global.lang == "en") ? "]" : "]"; _control = left_bracket + global.asc_def[global.input_k[arg0]] + right_bracket; if (!is_string(_control)) _control = "[?]"; else return _control; }
(_rr));
503
        _buttonx = (arg0 + 82) - (chart_ease * 34);
504
        _buttony = (bottomy - 16) + (_played * 2);
505
        draw_set_halign(fa_left);
506
        draw_set_colour(_played ? c_yellow : c_white);
507
        draw_text_transformed_outline(_buttonx, _buttony, _input_name, _scale, _scale, 0);
508
        draw_set_valign(fa_top);
509
        draw_set_alpha(1);
510
    }
511
};
512
513
track_jump = function(arg0)
514
{
515
    smooth_timer = 6;
516
    safety_mode = true;
517
    safety_pos = trackpos;
518
    remtrackpos[4] += arg0;
519
    remtrackpos[3] += arg0;
520
    remtrackpos[2] += arg0;
521
    remtrackpos[1] += arg0;
522
    remtrackpos[0] += arg0;
523
};