Deltarune (Chapter 4) script viewer

← back to main script listing

gml_Object_obj_lightsource_lamp_Other_25

(view raw script w/o annotations or w/e)
1
var store_surf = surface_get_target();
2
if (!surface_exists(surf))
3
    surf = surface_create(640, 480);
4
surface_reset_target();
5
surface_set_target(surf);
6
draw_clear_alpha(c_black, 0);
7
var ex = offset > 15;
8
var skew = image_angle - 270;
9
draw_set_color(c_white);
10
draw_set_alpha(1);
11
draw_set_blend_mode(bm_normal);
12
x1 = screenx() + lengthdir_x(15, image_angle + 15) + lengthdir_x(3 + ex, image_angle + 90);
13
y1 = screeny() + lengthdir_y(15, image_angle + 15) + lengthdir_y(3 + ex, image_angle + 90);
14
x2 = screenx() + lengthdir_x(15, image_angle - 15) + lengthdir_x(4 + ex, image_angle - 90);
15
y2 = screeny() + lengthdir_y(15, image_angle - 15) + lengthdir_y(4 + ex, image_angle - 90);
16
x3 = screenx() + lengthdir_x(400, image_angle - offset);
17
y3 = screeny() + lengthdir_y(400, image_angle - offset);
18
x4 = screenx() + lengthdir_x(400, image_angle + offset);
19
y4 = screeny() + lengthdir_y(400, image_angle + offset);
20
d_triangle(x1, y1, x3, y3, x4, y4, false);
21
d_triangle(x2, y2, x1, y1, x3, y3, false);
22
draw_set_blend_mode(bm_subtract);
23
ossafe_fill_rectangle(screenx() + 12 + ex, screeny() + 41 + ex, screenx() + 240, screeny() + 152, false);
24
ossafe_fill_rectangle(screenx() + 25 + ex, screeny() + 141 + ex, screenx() + 240, screeny() + 240, false);
25
ossafe_fill_rectangle(screenx() - 22 - ex, screeny() + 141 + ex, screenx() - 100, screeny() + 240, false);
26
ossafe_fill_rectangle(screenx() - 10 - ex, screeny() + 41 + ex, screenx() - 240, screeny() + 152, false);
27
d_triangle(screenx() + 10 + ex, screeny() + 153 + ex, screenx() + 24 + (3 * ex) + skew, screeny() + 270, screenx() + 28 + ex, screeny() + 152 + ex, false);
28
d_triangle(screenx() - 10 - ex, screeny() + 153 + ex, (screenx() - 22 - (3 * ex)) + skew, screeny() + 270, screenx() - 28 - ex, screeny() + 152 + ex, false);
29
draw_set_alpha(1);
30
draw_set_color(c_white);
31
surface_reset_target();
32
surface_set_target(store_surf);
33
draw_surface(surf, 0, 0);