draw_sprite_custom
draw sprite with primitives (gms 2.3)
Source code
function draw_sprite_custom(sprite, subimg, x, y, xscale, yscale, rot, col, alpha)
{
var mat = matrix_get(matrix_world);
matrix_set(matrix_world, matrix_build(x, y, 0, 0, 0, rot, xscale, yscale, 1));
var uvs = sprite_get_uvs(sprite, subimg);
var xoff = sprite_get_xoffset(sprite);
var yoff = sprite_get_yoffset(sprite);
var w = sprite_get_width(sprite);
var h = sprite_get_height(sprite);
var px1 = - xoff + uvs[4];
var py1 = - yoff + uvs[5];
var px2 = px1 + w * uvs[6];
var py2 = py1 + h * uvs[7];
var tex = sprite_get_texture(sprite, subimg);
draw_primitive_begin_texture(pr_trianglelist, tex);
draw_vertex_texture_color(px1, py1, 0, 0, col, alpha);
draw_vertex_texture_color(px2, py1, 1, 0, col, alpha);
draw_vertex_texture_color(px2, py2, 1, 1, col, alpha);
draw_vertex_texture_color(px2, py2, 1, 1, col, alpha);
draw_vertex_texture_color(px1, py2, 0, 1, col, alpha);
draw_vertex_texture_color(px1, py1, 0, 0, col, alpha);
draw_primitive_end();
matrix_set(matrix_world, mat);
}