Deltarune (Chapter 3) script viewer

← back to main script listing

gml_Object_obj_dw_chef_screen_Draw_0

(view raw script w/o annotations or w/e)
1
if (con < 0)
2
    exit;
3
if (tutorial_active)
4
{
5
    gpu_set_blendenable(false);
6
    gpu_set_colorwriteenable(false, false, false, true);
7
    if (screen_scale != target_scale)
8
        screen_scale = 
scr_movetowards
scr_movetowards

function
scr_movetowards(arg0, arg1, arg2)
{ if (arg0 == arg1) return arg0; else if (arg0 > arg1) return max(arg0 - arg2, arg1); else return min(arg0 + arg2, arg1); } function scr_obj_movetowards_obj(arg0, arg1, arg2 = 0, arg3 = 0) { scr_obj_movetowards_point(arg0.x + arg2, arg0.y + arg3, arg1); } function scr_obj_movetowards_point(arg0, arg1, arg2) { var _distance = point_distance(x, y, arg0, arg1); if (arg2 >= _distance) { x = arg0; y = arg1; } else { var _direction = point_direction(x, y, arg0, arg1); x += lengthdir_x(arg2, _direction); y += lengthdir_y(arg2, _direction); } }
(screen_scale, target_scale, 0.4);
9
    draw_sprite_ext(spr_dw_chef_tv_frame_mask, 0, 314, 108, screen_scale, screen_scale, 0, c_white, 1);
10
    gpu_set_blendenable(true);
11
    gpu_set_colorwriteenable(true, true, true, true);
12
    gpu_set_blendmode_ext(bm_dest_alpha, bm_inv_dest_alpha);
13
    gpu_set_alphatestenable(true);
14
}
15
else
16
{
17
    draw_sprite_ext(spr_dw_kitchen, 0, 0, 0, 2, 2, 0, c_white, 1);
18
}
19
crttimer = (crttimer + 0.5) % 3;
20
var _vig = crt_glitch ? (0.2 + random(clamp(crt_glitch / 200, 0, 0.1))) : 0;
21
var _vigint = power(1.5, 1.5 - _vig) * 18;
22
var _chrom_scale = crt_glitch ? (irandom_range(-4, 4) * clamp(crt_glitch / 5, 1, 5)) : chromStrength;
23
if (_chrom_scale == 0)
24
    _chrom_scale = 1;
25
var _filteramount = 0.1 + min(crt_glitch / 100, 0.1);
26
shader_set(shd_crt);
27
shader_set_uniform_f(shader_get_uniform(shd_crt, "texel"), 1 / screenwidth, 1 / screenheight);
28
shader_set_uniform_f(shader_get_uniform(shd_crt, "vignette_scale"), _vig);
29
shader_set_uniform_f(shader_get_uniform(shd_crt, "vignette_intensity"), _vigint);
30
shader_set_uniform_f(shader_get_uniform(shd_crt, "chromatic_scale"), _chrom_scale);
31
shader_set_uniform_f(shader_get_uniform(shd_crt, "filter_amount"), _filteramount);
32
shader_set_uniform_f(shader_get_uniform(shd_crt, "time"), crttimer);
33
star_anim += star_anim_speed;
34
bg_speed -= bg_speed_max;
35
bg_speed_y += bg_speed_y_max;
36
if (bg_speed < -640)
37
    bg_speed += 640;
38
if (bg_speed_y > -480)
39
    bg_speed_y -= 480;
40
scr_draw_sprite_tiled_area
scr_draw_sprite_tiled_area

function
scr_draw_sprite_tiled_area()
{ var sprite = argument[0]; var subimg = argument[1]; var xx = argument[2]; var yy = argument[3]; var x1 = argument[4]; var y1 = argument[5]; var x2 = argument[6]; var y2 = argument[7]; var xscale = argument[8]; var yscale = argument[9]; var col = (argument_count > 10) ? argument[10] : 16777215; var alpha = (argument_count > 11) ? argument[11] : 1; var sw = sprite_get_width(sprite) * xscale; var sh = sprite_get_height(sprite) * yscale; var i = x1 - ((x1 % sw) - (xx % sw)) - (sw * ((x1 % sw) < (xx % sw))); var j = y1 - ((y1 % sh) - (yy % sh)) - (sh * ((y1 % sh) < (yy % sh))); var jj = j; while (i <= x2) { while (j <= y2) { var left; if (i <= x1) left = x1 - i; else left = 0; var X = i + left; var top; if (j <= y1) top = y1 - j; else top = 0; var Y = j + top; var width; if (x2 <= (i + sw)) width = ((sw - ((i + sw) - x2)) + 1) - left; else width = sw - left; var height; if (y2 <= (j + sh)) height = ((sh - ((j + sh) - y2)) + 1) - top; else height = sh - top; draw_sprite_part_ext(sprite, subimg, left, top, width, height, X, Y, xscale, yscale, col, alpha); j += sh; } j = jj; i += sw; } return 0; } function draw_sprite_tiled_area() { var sprite = argument0; var subimg = argument1; var xx = argument2; var yy = argument3; var x1 = argument4; var y1 = argument5; var x2 = argument6; var y2 = argument7; var xscale = argument8; var yscale = argument9; var blend = argument10; var alpha = argument11; var sw = sprite_get_width(sprite) * xscale; var sh = sprite_get_height(sprite) * yscale; var i = x1 - ((x1 % sw) - (xx % sw)) - (sw * ((x1 % sw) < (xx % sw))); var j = y1 - ((y1 % sh) - (yy % sh)) - (sh * ((y1 % sh) < (yy % sh))); var jj = j; while (i <= x2) { while (j <= y2) { var left; if (i <= x1) left = x1 - i; else left = 0; var X = i + left; var top; if (j <= y1) top = y1 - j; else top = 0; var Y = j + top; var width; if (x2 <= (i + sw)) width = ((sw - ((i + sw) - x2)) + 1) - left; else width = sw - left; var height; if (y2 <= (j + sh)) height = ((sh - ((j + sh) - y2)) + 1) - top; else height = sh - top; draw_sprite_part_ext(sprite, subimg, left, top, width, height, X, Y, xscale, yscale, blend, alpha); j += sh; ...
(spr_dw_tv_starbgtile, star_anim, camerax() + bg_speed, cameray() + bg_speed_y, camerax() + bg_speed, cameray() + bg_speed_y, camerax() + view_wport[0], cameray() + room_height, 2, 2, c_white, 1);
41
if (tutorial_active)
42
{
43
    gpu_set_alphatestenable(false);
44
    gpu_set_blendmode(bm_normal);
45
    tut_anim += tut_anim_speed;
46
    draw_sprite_ext(tut_sprite, tut_anim, tut_pos_x, tut_pos_y + tut_pos_y_offset, tut_xscale, tut_yscale, 0, c_white, 1);
47
    if (tut_xscale != tut_target_xscale && !tut_scaling_x)
48
    {
49
        
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar; } function scr_lerpvar_respect() { if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
___lerpvar.respectglobalinteract = true; return ___lerpvar; }
("tut_xscale", tut_xscale, tut_target_xscale, 6, 1, tut_easetype);
50
        tut_scaling_x = true;
51
    }
52
    if (tut_xscale == tut_target_xscale && tut_scaling_x)
53
        tut_scaling_x = false;
54
    if (tut_yscale != tut_target_yscale && !tut_scaling_y)
55
    {
56
        
scr_lerpvar
scr_lerpvar

function
scr_lerpvar()
{ if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
return ___lerpvar; } function scr_lerpvar_respect() { if (argument_count < 6) ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3]);
else ___lerpvar =
scr_lerpvar_instance(id, argument[0], argument[1], argument[2], argument[3], argument[4], argument[5]);
___lerpvar.respectglobalinteract = true; return ___lerpvar; }
("tut_yscale", tut_yscale, tut_target_yscale, 6, 1, tut_easetype);
57
        tut_scaling_y = true;
58
    }
59
    if (tut_yscale == tut_target_yscale && tut_scaling_y)
60
        tut_scaling_y = false;
61
}
62
if (logo_pos_y != target_logo_pos_y)
63
    logo_pos_y = 
scr_movetowards
scr_movetowards

function
scr_movetowards(arg0, arg1, arg2)
{ if (arg0 == arg1) return arg0; else if (arg0 > arg1) return max(arg0 - arg2, arg1); else return min(arg0 + arg2, arg1); } function scr_obj_movetowards_obj(arg0, arg1, arg2 = 0, arg3 = 0) { scr_obj_movetowards_point(arg0.x + arg2, arg0.y + arg3, arg1); } function scr_obj_movetowards_point(arg0, arg1, arg2) { var _distance = point_distance(x, y, arg0, arg1); if (arg2 >= _distance) { x = arg0; y = arg1; } else { var _direction = point_direction(x, y, arg0, arg1); x += lengthdir_x(arg2, _direction); y += lengthdir_y(arg2, _direction); } }
(logo_pos_y, target_logo_pos_y, 8);
64
food_anim += 0.1;
65
draw_sprite_ext(spr_gameshow_screen_chef_logo, food_anim, camerax() + 160 + 28, logo_pos_y + 12, 2, 2, 0, c_white, 0.5);
66
if (food_screen)
67
{
68
    draw_sprite_ext(spr_gameshow_screen_chef_bg, 0, camerax() + 108, cameray(), 2, 2, 0, c_white, 1);
69
    draw_sprite_ext(spr_gameshow_screen_chef_bg, 0, camerax() + 489, cameray(), 2, 2, 0, c_white, 1);
70
    draw_sprite_ext(spr_gameshow_screen_chef_fork, 0, camerax() + 450, cameray() + 120, 2, 2, 6 * sin(food_anim * 2), c_white, 1);
71
    draw_sprite_ext(spr_gameshow_screen_chef_spoon, 0, camerax() + 450, cameray() + 120, 2, 2, 6 * -sin(food_anim * 2), c_white, 1);
72
    draw_sprite_ext(spr_gameshow_screen_chef_fork, 0, camerax() + 320, cameray() + 120, 2, 2, 6 * sin(food_anim * 2), c_white, 1);
73
    draw_sprite_ext(spr_gameshow_screen_chef_spoon, 0, camerax() + 320, cameray() + 120, 2, 2, 6 * -sin(food_anim * 2), c_white, 1);
74
    draw_sprite_ext(spr_gameshow_screen_chef_fork, 0, camerax() + 190, cameray() + 120, 2, 2, 6 * sin(food_anim * 2), c_white, 1);
75
    draw_sprite_ext(spr_gameshow_screen_chef_spoon, 0, camerax() + 190, cameray() + 120, 2, 2, 6 * -sin(food_anim * 2), c_white, 1);
76
    draw_sprite_ext(spr_gameshow_screen_chef_runner, 0, camerax() + 120, cameray() + 140, 3, 2, 0, c_white, 1);
77
    food_timer++;
78
    for (var i = 0; i < 2; i++)
79
    {
80
        food_x_pos[i] -= 3;
81
        if (food_x_pos[i] <= (camerax() - 1420))
82
            food_x_pos[i] = view_wport[0] + 776;
83
        draw_sprite_ext(spr_gameshow_screen_chef_food, 0, food_x_pos[i], cameray() + 176, 2, 2, 0, c_white, 1);
84
    }
85
}
86
shader_reset();
87
if (!tutorial_active)
88
{
89
    draw_sprite_ext(spr_dw_kitchen_wall, 0, 0, 0, 2, 2, 0, c_white, 1);
90
    var i = 0;
91
    repeat (14)
92
    {
93
        draw_sprite_ext(spr_chefs_hudscreen4, 0, 98 + (i * 33), 30, 2, 2, 0, c_yellow, image_alpha);
94
        i++;
95
    }
96
}