1 |
with (other) |
2 |
{ |
3 |
surface_set_target(reflection_surf); |
4 |
draw_clear_alpha(c_black, 0); |
5 |
shader_set(sh_reflection); |
6 |
var sprite_uvs = sprite_get_uvs(obj_pl.sprite_index, obj_pl.image_index); |
7 |
shader_uvs = shader_get_uniform(sh_reflection, "spriteUVs"); |
8 |
shader_set_uniform_f(shader_uvs, sprite_uvs[0], sprite_uvs[1], sprite_uvs[2], sprite_uvs[3]); |
9 |
var alpha_uniform = shader_get_uniform(sh_reflection, "Alpha"); |
10 |
shader_set_uniform_f(alpha_uniform, 0.08); |
11 |
with (obj_pl) |
12 |
{ |
13 |
draw_set_blend_mode_ext(bm_max, bm_inv_src_alpha); |
14 |
draw_sprite_ext(sprite_index, -1, x - __view_get(e__VW.XView, 0), (y + (sprite_height * 2)) - (sprite_yoffset * 2) - __view_get(e__VW.YView, 0), 1, -1, 0, c_white, 1); |
15 |
draw_set_blend_mode(bm_normal); |
16 |
} |
17 |
shader_reset(); |
18 |
draw_set_blend_mode(bm_subtract); |
19 |
draw_sprite_ext(spr_snowdin_04_reflection_mask, 0, -__view_get(e__VW.XView, 0), -__view_get(e__VW.YView, 0), 4, 4, 0, c_white, 1); |
20 |
draw_set_blend_mode(bm_normal); |
21 |
surface_reset_target(); |
22 |
draw_surface(reflection_surf, __view_get(e__VW.XView, 0), __view_get(e__VW.YView, 0)); |
23 |
} |
24 |
|
25 |
enum e__VW |
26 |
{ |
27 |
XView, |
28 |
YView, |
29 |
WView, |
30 |
HView, |
31 |
Angle, |
32 |
HBorder, |
33 |
VBorder, |
34 |
HSpeed, |
35 |
VSpeed, |
36 |
Object, |
37 |
Visible, |
38 |
XPort, |
39 |
YPort, |
40 |
WPort, |
41 |
HPort, |
42 |
Camera, |
43 |
SurfaceID |
44 |
} |