Deltarune (Chapter 3) script viewer

← back to main script listing

gml_Object_obj_fx_zoom_Draw_73

(view raw script w/o annotations or w/e)
1
if (zoom_lerp != 0)
2
{
3
    surface_set_target(zoom_surf);
4
    draw_clear(c_black);
5
    surface_reset_target();
6
    surface_copy(zoom_surf, 0, 0, application_surface);
7
    var _zoom_x = zoom_x;
8
    var _zoom_y = zoom_y;
9
    if (focus && focus_target != -4)
10
    {
11
        _zoom_x += focus_target.x;
12
        _zoom_y += focus_target.y;
13
    }
14
    var _zoom_lerp = zoom_lerp;
15
    if (ease_in && ease_out)
16
        _zoom_lerp = 
scr_ease_inout
scr_ease_inout

function
scr_ease_inout(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; if (arg1 == -3) return ease_inout_bounce(arg0, 0, 1, 1); else if (arg1 == -2) return ease_inout_elastic(arg0, 0, 1, 1); else if (arg1 == -1) return ease_inout_back(arg0, 0, 1, 1); else if (arg1 == 1) return -0.5 * cos((pi * arg0) - 1); else if (arg1 == 0) return arg0; arg0 *= 2; if (arg0 < 1) { return 0.5 *
scr_ease_in(arg0, arg1);
} else { arg0--; return 0.5 * (
scr_ease_out(arg0, arg1) + 1);
} }
(_zoom_lerp, pow);
17
    else if (ease_in)
18
        _zoom_lerp = 
scr_ease_in
scr_ease_in

function
scr_ease_in(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_in_bounce(arg0, 0, 1, 1); case -2: return ease_in_elastic(arg0, 0, 1, 1); case -1: var _s = 1.70158; return arg0 * arg0 * (((_s + 1) * arg0) - _s); case 0: return arg0; case 1: return -cos(arg0 * 1.5707963267948966) + 1; case 6: return power(2, 10 * (arg0 - 1)); case 7: return -(sqrt(1 - sqr(arg0)) - 1); default: return power(arg0, arg1); } }
(_zoom_lerp, pow);
19
    else if (ease_out)
20
        _zoom_lerp = 
scr_ease_out
scr_ease_out

function
scr_ease_out(arg0, arg1)
{ if (arg1 < -3 || arg1 > 7) return arg0; switch (arg1) { case -3: return ease_out_bounce(arg0, 0, 1, 1); case -2: return ease_out_elastic(arg0, 0, 1, 1); case -1: return ease_out_back(arg0, 0, 1, 1); case 0: return arg0; case 1: return sin(arg0 * 1.5707963267948966); case 2: return -arg0 * (arg0 - 2); case 6: return -power(2, -10 * arg0) + 1; case 7: arg0--; return sqrt(1 - (arg0 * arg0)); default: arg0--; if (arg1 == 4) { return -1 * (power(arg0, arg1) - 1); break; } return power(arg0, arg1) + 1; } }
(_zoom_lerp, pow);
21
    
scr_draw_surface_zoom
scr_draw_surface_zoom

function
scr_draw_surface_zoom(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9 = true)
{ arg1 -= camerax(); arg2 -= cameray(); if (arg9) { arg1 = clamp(arg1, 320 / arg3, 640 - (320 / arg4)); arg2 = clamp(arg2, 240 / arg3, 480 - (240 / arg4)); } arg1 = lerp(0, arg1 - (320 / arg3), arg5); arg2 = lerp(0, arg2 - (240 / arg4), arg5); var __finalxscale = lerp(640, 640 / arg3, arg5); var __finalyscale = lerp(480, 480 / arg3, arg5); draw_surface_general(arg0, arg1, arg2, __finalxscale, __finalyscale, camerax(), cameray(), 640 / __finalxscale, 480 / __finalyscale, arg6, arg7, arg7, arg7, arg7, arg8); }
(zoom_surf, _zoom_x, _zoom_y, zoom, zoom, _zoom_lerp, 0, 16777215, 1, true);
22
}