|
1
|
function sw_laser(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10)
|
|
2
|
{
|
|
3
|
var _x1 = arg0;
|
|
4
|
var _y1 = arg1;
|
|
5
|
var _x2 = arg2;
|
|
6
|
var _y2 = arg3;
|
|
7
|
var _w1 = arg4;
|
|
8
|
var _w2 = arg5;
|
|
9
|
var _c1 = arg6;
|
|
10
|
var _c3 = arg7;
|
|
11
|
var _c2 = merge_color(_c1, _c3, 0.1);
|
|
12
|
var _a1 = arg8;
|
|
13
|
var _a2 = arg9;
|
|
14
|
var _a3 = arg10;
|
|
15
|
_dir = point_direction(_x1, _y1, _x2, _y2);
|
|
16
|
var _s = max(1, ceil((_w1 + (_w2 * 2)) / 16));
|
|
17
|
var _amt = 90 / _s;
|
|
18
|
draw_primitive_begin(pr_trianglestrip);
|
|
19
|
for (var i = 0; i <= _s; i++)
|
|
20
|
{
|
|
21
|
draw_vertex_color(_x1 + lengthdir_x(_w1 / 2, _dir + 180 + (i * _amt)), _y1 + lengthdir_y(_w1 / 2, _dir + 180 + (i * _amt)), _c2, _a2);
|
|
22
|
draw_vertex_color(_x1, _y1, _c1, _a1);
|
|
23
|
}
|
|
24
|
for (var i = 0; i <= _s; i++)
|
|
25
|
{
|
|
26
|
draw_vertex_color(_x2 + lengthdir_x(_w1 / 2, (_dir - 90) + (i * _amt)), _y2 + lengthdir_y(_w1 / 2, (_dir - 90) + (i * _amt)), _c2, _a2);
|
|
27
|
draw_vertex_color(_x2, _y2, _c1, _a1);
|
|
28
|
}
|
|
29
|
for (var i = 0; i <= _s; i++)
|
|
30
|
{
|
|
31
|
draw_vertex_color(_x2 + lengthdir_x(_w1 / 2, _dir + (i * _amt)), _y2 + lengthdir_y(_w1 / 2, _dir + (i * _amt)), _c2, _a2);
|
|
32
|
draw_vertex_color(_x2, _y2, _c1, _a1);
|
|
33
|
}
|
|
34
|
for (var i = 0; i <= _s; i++)
|
|
35
|
{
|
|
36
|
draw_vertex_color(_x1 + lengthdir_x(_w1 / 2, ((_dir + 180) - 90) + (i * _amt)), _y1 + lengthdir_y(_w1 / 2, ((_dir + 180) - 90) + (i * _amt)), _c2, _a2);
|
|
37
|
draw_vertex_color(_x1, _y1, _c1, _a1);
|
|
38
|
}
|
|
39
|
draw_primitive_end();
|
|
40
|
draw_primitive_begin(pr_trianglestrip);
|
|
41
|
for (var i = 0; i <= _s; i++)
|
|
42
|
{
|
|
43
|
draw_vertex_color(_x1 + lengthdir_x((_w1 / 2) + _w2, _dir + 180 + (i * _amt)), _y1 + lengthdir_y((_w1 / 2) + _w2, _dir + 180 + (i * _amt)), _c3, _a3);
|
|
44
|
draw_vertex_color(_x1 + lengthdir_x(_w1 / 2, _dir + 180 + (i * _amt)), _y1 + lengthdir_y(_w1 / 2, _dir + 180 + (i * _amt)), _c2, _a2);
|
|
45
|
}
|
|
46
|
for (var i = 0; i <= _s; i++)
|
|
47
|
{
|
|
48
|
draw_vertex_color(_x2 + lengthdir_x((_w1 / 2) + _w2, (_dir - 90) + (i * _amt)), _y2 + lengthdir_y((_w1 / 2) + _w2, (_dir - 90) + (i * _amt)), _c3, _a3);
|
|
49
|
draw_vertex_color(_x2 + lengthdir_x(_w1 / 2, (_dir - 90) + (i * _amt)), _y2 + lengthdir_y(_w1 / 2, (_dir - 90) + (i * _amt)), _c2, _a2);
|
|
50
|
}
|
|
51
|
for (var i = 0; i <= _s; i++)
|
|
52
|
{
|
|
53
|
draw_vertex_color(_x2 + lengthdir_x((_w1 / 2) + _w2, _dir + (i * _amt)), _y2 + lengthdir_y((_w1 / 2) + _w2, _dir + (i * _amt)), _c3, _a3);
|
|
54
|
draw_vertex_color(_x2 + lengthdir_x(_w1 / 2, _dir + (i * _amt)), _y2 + lengthdir_y(_w1 / 2, _dir + (i * _amt)), _c2, _a2);
|
|
55
|
}
|
|
56
|
for (var i = 0; i <= _s; i++)
|
|
57
|
{
|
|
58
|
draw_vertex_color(_x1 + lengthdir_x((_w1 / 2) + _w2, ((_dir + 180) - 90) + (i * _amt)), _y1 + lengthdir_y((_w1 / 2) + _w2, ((_dir + 180) - 90) + (i * _amt)), _c3, _a3);
|
|
59
|
draw_vertex_color(_x1 + lengthdir_x(_w1 / 2, ((_dir + 180) - 90) + (i * _amt)), _y1 + lengthdir_y(_w1 / 2, ((_dir + 180) - 90) + (i * _amt)), _c2, _a2);
|
|
60
|
}
|
|
61
|
draw_primitive_end();
|
|
62
|
}
|