Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_texturescroller_prophecy_Draw_0

(view raw script w/o annotations or w/e)
1
var _cx = camerax();
2
var _cy = cameray();
3
if (!surface_exists(surf_textured))
4
    surf_textured = surface_create(640, 480);
5
surface_set_target(surf_textured);
6
draw_clear_alpha(c_white, 0);
7
gpu_set_colorwriteenable(true, true, true, false);
8
tick += ((1/15) * scroll_speed);
9
draw_sprite_tiled_ext(IMAGE_DEPTH_EXTEND_MONO_SEAMLESS_BRIGHTER, 0, -((_cx * 2) + (tick * 15)) * 0.5, -((_cy * 2) + (tick * 15)) * 0.5, 2, 2, #42D0FF, 1);
10
draw_set_blend_mode(bm_add);
11
draw_sprite_tiled_ext(spr_perlin_noise_looping, 0, -((_cx * 2) + (tick * 15)) * 0.5, -((_cy * 2) + (tick * 15)) * 0.5, 2, 2, #42D0FF, 
scr_wave
scr_wave

function
scr_wave(arg0, arg1, arg2, arg3)
{ var a4 = (arg1 - arg0) * 0.5; return arg0 + a4 + (sin((((current_time * 0.001) + (arg2 * arg3)) / arg2) * (2 * pi)) * a4); }
(0, 0.4, 4, 0));
12
draw_set_blend_mode(bm_normal);
13
gpu_set_colorwriteenable(true, true, true, true);
14
gpu_set_colorwriteenable(false, false, false, true);
15
with (tile_object)
16
{
17
    if (other.intro_mode)
18
    {
19
        var _amt = sin((other.tick / 15) * (2 * pi)) * other.scroll_speed * 6;
20
        draw_sprite_ext(sprite_index, image_index, x - _cx - _amt, y - _cy - _amt, image_xscale, image_yscale, image_angle, image_blend, image_alpha * 0.4);
21
        draw_sprite_ext(sprite_index, image_index, (x - _cx) + _amt, (y - _cy) + _amt, image_xscale, image_yscale, image_angle, image_blend, image_alpha * 0.4);
22
    }
23
    draw_sprite_ext(sprite_index, image_index, x - _cx, y - _cy, image_xscale, image_yscale, image_angle, image_blend, image_alpha);
24
}
25
gpu_set_colorwriteenable(true, true, true, true);
26
surface_reset_target();
27
draw_set_alpha(image_alpha);
28
draw_surface(surf_textured, _cx, _cy);
29
draw_set_alpha(1);