Deltarune (Chapter 3) script viewer

← back to main script listing

gml_Object_obj_dw_snow_zone_battle_bg_Draw_0

(view raw script w/o annotations or w/e)
1
if (!is_active)
2
    exit;
3
if (split_screen)
4
{
5
    if (bg_sprite_left == -4 || bg_sprite_right == -4)
6
    {
7
        if (bg_surface == -4)
8
            bg_surface = surface_create(camera_get_view_width(0), camera_get_view_height(0));
9
        surface_set_target(bg_surface);
10
        draw_set_color(c_black);
11
        ossafe_fill_rectangle(camerax(), cameray(), view_wport[0], view_hport[0], false);
12
        draw_set_color(c_white);
13
        var x_offset = camerax();
14
        var _xx_offset = 0;
15
        draw_sprite_ext(spr_dw_snow_zone_bg_parallax_layer_1, 0, x_offset, y_offset + 20, 2, 2, 0, c_white, 1);
16
        if (i_ex(obj_dw_snow_zone_parallax))
17
            fountain_speed = obj_dw_snow_zone_parallax.fountain_speed;
18
        else
19
            fountain_speed += 0.1;
20
        draw_sprite_ext(spr_dw_fountain_tall, fountain_speed, x_offset + 246, -120, 2, 2, 0, c_white, 1);
21
        draw_sprite_ext(spr_dw_snow_zone_bg_parallax_layer_2_test, 0, x_offset - 189, y_offset + 20, 2, 2, 0, c_white, 1);
22
        draw_sprite_ext(spr_dw_snow_zone_bg_parallax_layer_3_test, 0, x_offset + 250, y_offset, 2, 2, 0, c_white, 1);
23
        draw_sprite_ext(spr_dw_snow_zone_bg_parallax_layer_4_test, 0, x_offset + 231, y_offset, 2, 2, 0, c_white, 1);
24
        draw_sprite_ext(spr_dw_snow_zone_bg_fountain_hills, 0, x_offset - 289, y_offset - 110, 2, 2, 0, c_white, 1);
25
        draw_sprite_ext(spr_dw_snow_zone_bg_parallax_layer_5_test, 0, x_offset - 449, y_offset - 180, 2, 2, 0, c_white, 1);
26
        draw_sprite_ext(spr_dw_snow_zone_bg_parallax_layer_5_test, 0, x_offset + 191, y_offset - 180, 2, 2, 0, c_white, 1);
27
        draw_set_color(c_black);
28
        ossafe_fill_rectangle(camerax(), (cameray() + view_hport[0]) - 40, camerax() + room_width, cameray() + view_hport[0], 0);
29
        draw_set_color(c_white);
30
        draw_sprite_ext(spr_cc_fountainbg, fountain_speed, 2370 + _xx_offset, 0, 2, 2, 0, c_white, 1);
31
        surface_reset_target();
32
        bg_sprite_left = sprite_create_from_surface(bg_surface, 0, 0, view_wport[0] / 2, view_hport[0], false, true, 0, 0);
33
        bg_sprite_right = sprite_create_from_surface(bg_surface, view_wport[0] / 2, 0, view_wport[0] / 2, view_hport[0], false, true, 0, 0);
34
        surface_free(bg_surface);
35
    }
36
    if (bg_pos_offset != (view_wport[0] / 2))
37
        bg_pos_offset = 
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); } }
(bg_pos_offset, view_wport[0] / 2, 15);
38
    draw_sprite_ext(bg_sprite_left, 0, camerax() - bg_pos_offset, cameray(), 1, 1, 0, c_white, 1);
39
    draw_sprite_ext(bg_sprite_right, 0, camerax() + (view_wport[0] / 2) + bg_pos_offset, cameray(), 1, 1, 0, c_white, 1);
40
}
41
else
42
{
43
    var x_offset = camerax();
44
    var _xx_offset = 0;
45
    draw_set_color(c_black);
46
    ossafe_fill_rectangle(camerax(), cameray(), view_wport[0], view_hport[0], false);
47
    draw_set_color(c_white);
48
    draw_sprite_ext(spr_dw_snow_zone_bg_parallax_layer_1, 0, x_offset, y_offset + 20, 2, 2, 0, c_white, 1);
49
    if (i_ex(obj_dw_snow_zone_parallax))
50
        fountain_speed = obj_dw_snow_zone_parallax.fountain_speed;
51
    else
52
        fountain_speed += 0.1;
53
    draw_sprite_ext(spr_dw_fountain_tall, fountain_speed, x_offset + 245, -120, 2, 2, 0, c_white, 1);
54
    draw_sprite_ext(spr_dw_snow_zone_bg_parallax_layer_2_test, 0, x_offset - 189, y_offset + 20, 2, 2, 0, c_white, 1);
55
    draw_sprite_ext(spr_dw_snow_zone_bg_parallax_layer_3_test, 0, x_offset + 249, y_offset, 2, 2, 0, c_white, 1);
56
    draw_sprite_ext(spr_dw_snow_zone_bg_parallax_layer_4_test, 0, x_offset + 228, y_offset, 2, 2, 0, c_white, 1);
57
    draw_sprite_ext(spr_dw_snow_zone_bg_fountain_hills, 0, x_offset - 292, y_offset - 110, 2, 2, 0, c_white, 1);
58
    draw_sprite_ext(spr_dw_snow_zone_bg_parallax_layer_5_test, 0, x_offset - 452, y_offset - 180, 2, 2, 0, c_white, 1);
59
    draw_sprite_ext(spr_dw_snow_zone_bg_parallax_layer_5_test, 0, x_offset + 188, y_offset - 180, 2, 2, 0, c_white, 1);
60
    draw_set_color(c_black);
61
    ossafe_fill_rectangle(camerax(), (cameray() + view_hport[0]) - 40, camerax() + room_width, cameray() + view_hport[0], 0);
62
    draw_set_color(c_white);
63
    draw_sprite_ext(spr_cc_fountainbg, fountain_speed, 2370 + _xx_offset, 0, 2, 2, 0, c_white, 1);
64
}