1 |
if (live_call()) |
2 |
return global.live_result; |
3 |
with (other) |
4 |
{ |
5 |
surface_set_target(reflection_surf); |
6 |
draw_clear_alpha(c_black, 0); |
7 |
shader_set(sh_reflection_hotel); |
8 |
var alpha_uniform = shader_get_uniform(sh_reflection_hotel, "Alpha"); |
9 |
shader_set_uniform_f(alpha_uniform, 0.75); |
10 |
var y_offset; |
11 |
with (obj_npc_base) |
12 |
{ |
13 |
if (object_index != obj_npc_handlord) |
14 |
{ |
15 |
var sprite_uvs = sprite_get_uvs(sprite_index, image_index); |
16 |
shader_uvs = shader_get_uniform(sh_reflection_hotel, "spriteUVs"); |
17 |
shader_set_uniform_f(shader_uvs, sprite_uvs[0], sprite_uvs[1], sprite_uvs[2], sprite_uvs[3]); |
18 |
y_offset = 0; |
19 |
if (object_index == obj_npc_complex_lobby_lad) |
20 |
y_offset = 2; |
21 |
draw_set_blend_mode_ext(bm_max, bm_inv_src_alpha); |
22 |
draw_sprite_ext(sprite_index, -1, x - __view_get(e__VW.XView, 0), (y + (sprite_height * 2)) - (sprite_yoffset * 2) - y_offset - __view_get(e__VW.YView, 0), 1, -1, 0, c_white, 1); |
23 |
draw_set_blend_mode(bm_normal); |
24 |
} |
25 |
} |
26 |
with (obj_complex_plant) |
27 |
{ |
28 |
var sprite_uvs = sprite_get_uvs(sprite_index, image_index); |
29 |
shader_uvs = shader_get_uniform(sh_reflection_hotel, "spriteUVs"); |
30 |
shader_set_uniform_f(shader_uvs, sprite_uvs[0], sprite_uvs[1], sprite_uvs[2], sprite_uvs[3]); |
31 |
y_offset = 5; |
32 |
if (object_index == obj_npc_complex_lobby_lad) |
33 |
y_offset = 2; |
34 |
draw_set_blend_mode_ext(bm_max, bm_inv_src_alpha); |
35 |
draw_sprite_ext(sprite_index, -1, x - __view_get(e__VW.XView, 0), (y + (sprite_height * 2)) - (sprite_yoffset * 2) - y_offset - __view_get(e__VW.YView, 0), 1, -1, 0, c_white, 1); |
36 |
draw_set_blend_mode(bm_normal); |
37 |
} |
38 |
shader_reset(); |
39 |
draw_set_blend_mode(bm_subtract); |
40 |
with (obj_pl) |
41 |
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_black, 1); |
42 |
if (global.party_member != -4) |
43 |
{ |
44 |
with (global.party_member) |
45 |
draw_sprite_ext(sprite_index, -1, x - __view_get(e__VW.XView, 0), (y + (sprite_height * 2)) - (sprite_yoffset * 2) - y_offset - __view_get(e__VW.YView, 0), 1, -1, 0, c_white, 1); |
46 |
} |
47 |
draw_set_blend_mode(bm_normal); |
48 |
shader_set(sh_reflection_hotel); |
49 |
with (obj_pl) |
50 |
{ |
51 |
var sprite_uvs = sprite_get_uvs(sprite_index, image_index); |
52 |
shader_uvs = shader_get_uniform(sh_reflection_hotel, "spriteUVs"); |
53 |
shader_set_uniform_f(shader_uvs, sprite_uvs[0], sprite_uvs[1], sprite_uvs[2], sprite_uvs[3]); |
54 |
draw_set_blend_mode_ext(bm_max, bm_inv_src_alpha); |
55 |
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, 2); |
56 |
draw_set_blend_mode(bm_normal); |
57 |
} |
58 |
if (global.party_member != -4) |
59 |
{ |
60 |
with (global.party_member) |
61 |
{ |
62 |
var sprite_uvs = sprite_get_uvs(sprite_index, image_index); |
63 |
shader_uvs = shader_get_uniform(sh_reflection_hotel, "spriteUVs"); |
64 |
shader_set_uniform_f(shader_uvs, sprite_uvs[0], sprite_uvs[1], sprite_uvs[2], sprite_uvs[3]); |
65 |
draw_set_blend_mode_ext(bm_max, bm_inv_src_alpha); |
66 |
draw_sprite_ext(sprite_index, -1, x - __view_get(e__VW.XView, 0), (y + (sprite_height * 2)) - (sprite_yoffset * 2) - y_offset - __view_get(e__VW.YView, 0), 1, -1, 0, c_white, 1); |
67 |
draw_set_blend_mode(bm_normal); |
68 |
} |
69 |
} |
70 |
shader_reset(); |
71 |
draw_set_blend_mode(bm_subtract); |
72 |
draw_sprite_ext(spr_complex_reflection_mask_2, 0, -__view_get(e__VW.XView, 0), -__view_get(e__VW.YView, 0), 4, 4, 0, c_white, 1); |
73 |
draw_set_blend_mode(bm_normal); |
74 |
surface_reset_target(); |
75 |
draw_surface(reflection_surf, __view_get(e__VW.XView, 0), __view_get(e__VW.YView, 0)); |
76 |
} |
77 |
|
78 |
enum e__VW |
79 |
{ |
80 |
XView, |
81 |
YView, |
82 |
WView, |
83 |
HView, |
84 |
Angle, |
85 |
HBorder, |
86 |
VBorder, |
87 |
HSpeed, |
88 |
VSpeed, |
89 |
Object, |
90 |
Visible, |
91 |
XPort, |
92 |
YPort, |
93 |
WPort, |
94 |
HPort, |
95 |
Camera, |
96 |
SurfaceID |
97 |
} |