| 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_one, 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_one, 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_one, 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_one, 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 |
} |