Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_dw_blue_starry_wall_Draw_0

(view raw script w/o annotations or w/e)
1
star_anim += star_anim_speed;
2
bg_speed -= bg_speed_max;
3
bg_speed_y += bg_speed_y_max;
4
if (bg_speed < -640)
5
    bg_speed += 640;
6
if (bg_speed_y > -480)
7
    bg_speed_y -= 480;
8
draw_set_alpha(1);
9
scr_draw_set_mask(true, true);
10
ossafe_fill_rectangle(x, y, (x + (image_xscale * 20)) - 1, (y + (image_yscale * 20)) - 1);
11
scr_draw_in_mask_begin();
12
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; }
(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);
13
scr_draw_in_mask_end();