i made collision_hexagonal_ver faster
/*
** Usage:
** collision_hexagonal_ver(x,y,point_x,point_y,wsize,hsize,vecsize)
**
0 x
1 y
2 point_x
3 point_y
4 w
5 h
6 v
** Arguments:
** x,y standard position, would be checked to collision(i.e. mouse chcek)
** point_x,point_y collision position, attention, started to centerpoint
** wsize collision width
** hsize collision height
** vecsize collision edge
**
** Preview:
**
** vecsize
** /\
** / \
** +---+
** | |
** | . |hsize
** | |
** +---+---vsize
** \ /
** \/
**
** . - point_x,point_y
**
** Created by ipq.
*/
var a;
if argument1<argument3-argument5-argument6 return 0
if argument1>argument3+argument5+argument6 return 0
if argument1<argument3-argument5
{
a=argument4+(((argument1-argument3)+argument5)/argument6*argument4)
}
else
{
if argument1>argument3+argument5
{
a=argument4-(((argument1-argument3)-argument5)/argument6*argument4)
}
else
{
a=argument4
}
}
if argument0<argument2-a return 0
if argument0>argument2+a return 0
return 1i improved everything a little
ax=room_width*.25
ay=room_height/2
aw=24
ah=16
av=32
bx=room_width*.75
by=room_height/2
bw=32
bh=32
bv=32
draw_set_color(merge_color(c_red,c_lime,collision_hexagonal_ver(mouse_x,mouse_y,ax,ay,aw,ah,av)))
hexagon_draw_ver(ax,ay,aw,ah,av)
draw_set_color(merge_color(c_red,c_lime,collision_hexagonal_hor(mouse_x,mouse_y,bx,by,bw,bh,bv)))
hexagon_draw_hor(bx,by,bw,bh,bv)
/*
hexagon_draw_ver(x,y,w,h,vsize)
0 x
1 y
2 w
3 h
4 vsize
*/
draw_line(argument0,argument1-argument3-argument4,argument0-argument2,argument1-argument3)
draw_line(argument0-argument2,argument1-argument3,argument0-argument2,argument1+argument3)
draw_line(argument0-argument2,argument1+argument3,argument0,argument1+argument3+argument4)
draw_line(argument0,argument1+argument3+argument4,argument0+argument2,argument1+argument3)
draw_line(argument0+argument2,argument1+argument3,argument0+argument2,argument1-argument3)
draw_line(argument0+argument2,argument1-argument3,argument0,argument1-argument3-argument4)/*
hexagon_draw_ver(x,y,w,h,vsize)
0 x
1 y
2 w
3 h
4 vsize
*/
draw_line(argument0-argument2-argument4,argument1,argument0-argument2,argument1-argument3)
draw_line(argument0-argument2,argument1-argument3,argument0+argument2,argument1-argument3)
draw_line(argument0+argument2,argument1-argument3,argument0+argument2+argument4,argument1)
draw_line(argument0+argument2+argument4,argument1,argument0+argument2,argument1+argument3)
draw_line(argument0+argument2,argument1+argument3,argument0-argument2,argument1+argument3)
draw_line(argument0-argument2,argument1+argument3,argument0-argument2-argument4,argument1)