|
1
|
function draw_sprite_skew_ext(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10)
|
|
2
|
{
|
|
3
|
var sprite = arg0;
|
|
4
|
var index = arg1;
|
|
5
|
var xx = arg2;
|
|
6
|
var yy = arg3;
|
|
7
|
var xscale = arg4;
|
|
8
|
var yscale = arg5;
|
|
9
|
var cosAngle = cos(degtorad(arg6));
|
|
10
|
var sinAngle = sin(degtorad(arg6));
|
|
11
|
var tint = arg7;
|
|
12
|
var alpha = arg8;
|
|
13
|
var hskew = arg9;
|
|
14
|
var vskew = arg10;
|
|
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(pr_trianglestrip, 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
|
}
|