Deltarune script viewer

← back to main script listing

gml_GlobalScript_draw_sprite_skew_ext

(view raw script w/o annotations or w/e)
1
function draw_sprite_skew_ext(argument0, argument1, argument2, argument3, argument4, argument5, argument6, argument7, argument8, argument9, argument10) //gml_Script_draw_sprite_skew_ext
2
{
3
    var sprite = argument0
4
    var index = argument1
5
    var xx = argument2
6
    var yy = argument3
7
    var xscale = argument4
8
    var yscale = argument5
9
    var cosAngle = cos(degtorad(argument6))
10
    var sinAngle = sin(degtorad(argument6))
11
    var tint = argument7
12
    var alpha = argument8
13
    var hskew = argument9
14
    var vskew = argument10
15
    var sprTex = sprite_get_texture(sprite, index)
16
    var sprWidth = sprite_get_width(sprite)
17
    var sprHeight = sprite_get_height(sprite)
18
    var sprXOrig = sprite_get_xoffset(sprite)
19
    var sprYOrig = sprite_get_yoffset(sprite)
20
    draw_primitive_begin_texture(5, sprTex)
21
    var tempX = ((-sprXOrig) + sprYOrig / sprHeight * hskew) * xscale
22
    var tempY = ((-sprYOrig) + sprXOrig / sprWidth * (-vskew)) * yscale
23
    draw_vertex_texture_color((xx + tempX * cosAngle - tempY * sinAngle), (yy + tempX * sinAngle + tempY * cosAngle), 0, 0, tint, alpha)
24
    tempX = (sprWidth + sprYOrig / sprHeight * hskew - sprXOrig) * xscale
25
    tempY = ((-sprYOrig) + (1 - sprXOrig / sprWidth) * vskew) * yscale
26
    draw_vertex_texture_color((xx + tempX * cosAngle - tempY * sinAngle), (yy + tempX * sinAngle + tempY * cosAngle), 1, 0, tint, alpha)
27
    tempX = ((-sprXOrig) + (1 - sprYOrig / sprHeight) * (-hskew)) * xscale
28
    tempY = (sprHeight - sprYOrig + sprXOrig / sprWidth * (-vskew)) * yscale
29
    draw_vertex_texture_color((xx + tempX * cosAngle - tempY * sinAngle), (yy + tempX * sinAngle + tempY * cosAngle), 0, 1, tint, alpha)
30
    tempX = (sprWidth - sprXOrig + (1 - sprYOrig / sprHeight) * (-hskew)) * xscale
31
    tempY = (sprHeight - sprYOrig + (1 - sprXOrig / sprWidth) * vskew) * yscale
32
    draw_vertex_texture_color((xx + tempX * cosAngle - tempY * sinAngle), (yy + tempX * sinAngle + tempY * cosAngle), 1, 1, tint, alpha)
33
    draw_primitive_end()
34
}