Undertale Yellow script viewer

← back to main script listing

gml_Object_obj_reflection_shader_complex_hall_Draw_0

(view raw script w/o annotations or w/e)
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
}