Deltarune (Chapter 5) script viewer

← back to main script listing

gml_Object_obj_caterpillarchara_Draw_0

(view raw script w/o annotations or w/e)
1
draw_self();
2
var noshadow = false;
3
with (obj_platswap)
4
{
5
    if (mode == 1)
6
        noshadow = true;
7
}
8
if (!noshadow)
9
    
scr_selfshadow
scr_selfshadow

function
scr_selfshadow(arg0 = x, arg1 = y, arg2 = image_xscale)
{ if (i_ex(obj_sunshadows)) { if (obj_sunshadows.evening_mode && !selfshadow_override) { var _sprname = sprite_get_name(sprite_index); var _cache = obj_sunshadows.shadow_assetcache; var _sprite_cached = variable_struct_get(_cache, _sprname); var _finalsprite; if (is_undefined(_sprite_cached) || is_undefined(variable_struct_get(_sprite_cached, "selfshadow"))) { var _spritelookup = asset_get_index(sprite_get_name(sprite_index) + "_shadow"); if (is_undefined(_sprite_cached)) { variable_struct_set(_cache, _sprname, { selfshadow: _spritelookup }); } else { variable_struct_get(_cache, _sprname).selfshadow = _spritelookup; } _finalsprite = _spritelookup; } else { _finalsprite = _sprite_cached.selfshadow; } shader_replace_simple_set_hook(25); with (obj_sunshadows) shader_set_uniform_f(u_shadowblend, shadowblend_r, shadowblend_g, shadowblend_b, alpha_shadowblend); if (_finalsprite != -1) draw_sprite_ext(_finalsprite, image_index, arg0, arg1, image_xscale, image_yscale, image_angle, image_blend, image_alpha); shader_replace_simple_reset_hook(); } else { shader_replace_simple_set_hook(25); with (obj_sunshadows) shader_set_uniform_f(u_shadowblend, shadowblend_r, shadowblend_g, shadowblend_b, alpha_shadowblend); draw_sprite_ext(sprite_index, image_index, arg0, arg1, image_xscale, image_yscale, image_angle, image_blend, image_alpha); shader_replace_simple_reset_hook(); } } } function scr_addtoselfshadows(arg0 = true, arg1 = id, arg2 = false, arg3 = false) { selfshadow_override = false; with (obj_sunshadows) array_push(selfshadow_instances, arg1); if (arg2) { with (obj_sunshadows) array_push(dropshadow_instances, arg1); } if (arg3) { with (obj_sunshadows) array_push(highlight_instances, arg1); } if (arg0) { draw_func = method(id, function() { draw_self();
scr_selfshadow();
}); } }
();