1407 lines
46 KiB
C++
1407 lines
46 KiB
C++
// common definition for all vectors projected into HUD space
|
|
|
|
#define XtoYscale (SizeX10deg / SizeY10deg)
|
|
|
|
#define XY_Scaled(xx,yy) __EVAL(xx),__EVAL((yy) / (XtoYscale))
|
|
|
|
|
|
|
|
#define CIRCLE(bone,scale) \
|
|
{bone, {0, __EVAL(-scale / XtoYscale)}, 1}, \
|
|
{bone, {__EVAL(+0.7 * scale), __EVAL(-0.7 * scale / XtoYscale)}, 1}, \
|
|
{bone, {+scale, 0}, 1}, \
|
|
{bone, {__EVAL(+0.7 * scale), __EVAL(+0.7 * scale / XtoYscale)}, 1}, \
|
|
{bone, {0, __EVAL(+scale / XtoYscale)}, 1}, \
|
|
{bone, {__EVAL(-0.7 * scale), __EVAL(+0.7 * scale / XtoYscale)}, 1}, \
|
|
{bone, {-scale, 0}, 1}, \
|
|
{bone, {__EVAL(-0.7 * scale), __EVAL(-0.7 * scale / XtoYscale)}, 1}, \
|
|
{bone, {0, __EVAL(-scale / XtoYscale)}, 1}
|
|
|
|
#define CIRCLE_LIMIT(limit,bone,scale) \
|
|
{bone, 1, limit, 1, {0, __EVAL(-scale / XtoYscale)}, 1}, \
|
|
{bone, 1, limit, 1, {__EVAL(+0.7 * scale), __EVAL(-0.7 * scale / XtoYscale)}, 1}, \
|
|
{bone, 1, limit, 1, {+scale, 0}, 1}, \
|
|
{bone, 1, limit, 1, {__EVAL(+0.7 * scale), __EVAL(+0.7 * scale / XtoYscale)}, 1}, \
|
|
{bone, 1, limit, 1, {0, __EVAL(+scale / XtoYscale)}, 1}, \
|
|
{bone, 1, limit, 1, {__EVAL(-0.7 * scale), __EVAL(+0.7 * scale / XtoYscale)}, 1}, \
|
|
{bone, 1, limit, 1, {-scale, 0}, 1}, \
|
|
{bone, 1, limit, 1, {__EVAL(-0.7 * scale), __EVAL(-0.7 * scale / XtoYscale)}, 1}, \
|
|
{bone, 1, limit, 1, {0, __EVAL(-scale / XtoYscale)}, 1}
|
|
|
|
#define CIRCLE_LIMIT_SPACE(limit,bone,scale) \
|
|
{bone, 1, limit, 1, {__EVAL((sin(22.5 * 1 + 11.25) + cos(22.5 * 1 + 11.25)) * scale), __EVAL((cos(22.5 * 1 + 11.25) - sin(22.5 * 1 + 11.25)) * scale / XtoYscale)}, 1}, \
|
|
{bone, 1, limit, 1, {__EVAL((sin(22.5 * 2 + 11.25) + cos(22.5 * 2 + 11.25)) * scale), __EVAL((cos(22.5 * 2 + 11.25) - sin(22.5 * 2 + 11.25)) * scale / XtoYscale)}, 1}, \
|
|
{},\
|
|
{bone, 1, limit, 1, {__EVAL((sin(22.5 * 3 + 11.25) + cos(22.5 * 3 + 11.25)) * scale), __EVAL((cos(22.5 * 3 + 11.25) - sin(22.5 * 3 + 11.25)) * scale / XtoYscale)}, 1}, \
|
|
{bone, 1, limit, 1, {__EVAL((sin(22.5 * 4 + 11.25) + cos(22.5 * 4 + 11.25)) * scale), __EVAL((cos(22.5 * 4 + 11.25) - sin(22.5 * 4 + 11.25)) * scale / XtoYscale)}, 1}, \
|
|
{},\
|
|
{bone, 1, limit, 1, {__EVAL((sin(22.5 * 5 + 11.25) + cos(22.5 * 5 + 11.25)) * scale), __EVAL((cos(22.5 * 5 + 11.25) - sin(22.5 * 5 + 11.25)) * scale / XtoYscale)}, 1}, \
|
|
{bone, 1, limit, 1, {__EVAL((sin(22.5 * 6 + 11.25) + cos(22.5 * 6 + 11.25)) * scale), __EVAL((cos(22.5 * 6 + 11.25) - sin(22.5 * 6 + 11.25)) * scale / XtoYscale)}, 1}, \
|
|
{},\
|
|
{bone, 1, limit, 1, {__EVAL((sin(22.5 * 7 + 11.25) + cos(22.5 * 7 + 11.25)) * scale), __EVAL((cos(22.5 * 7 + 11.25) - sin(22.5 * 7 + 11.25)) * scale / XtoYscale)}, 1}, \
|
|
{bone, 1, limit, 1, {__EVAL((sin(22.5 * 8 + 11.25) + cos(22.5 * 8 + 11.25)) * scale), __EVAL((cos(22.5 * 8 + 11.25) - sin(22.5 * 8 + 11.25)) * scale / XtoYscale)}, 1}, \
|
|
{},\
|
|
{bone, 1, limit, 1, {__EVAL((sin(22.5 * 9 + 11.25) + cos(22.5 * 9 + 11.25)) * scale), __EVAL((cos(22.5 * 9 + 11.25) - sin(22.5 * 9 + 11.25)) * scale / XtoYscale)}, 1}, \
|
|
{bone, 1, limit, 1, {__EVAL((sin(22.5 * 10 + 11.25) + cos(22.5 * 10 + 11.25)) * scale), __EVAL((cos(22.5 * 10 + 11.25) - sin(22.5 * 10 + 11.25)) * scale / XtoYscale)}, 1}, \
|
|
{},\
|
|
{bone, 1, limit, 1, {__EVAL((sin(22.5 * 11 + 11.25) + cos(22.5 * 11 + 11.25)) * scale), __EVAL((cos(22.5 * 11 + 11.25) - sin(22.5 * 11 + 11.25)) * scale / XtoYscale)}, 1}, \
|
|
{bone, 1, limit, 1, {__EVAL((sin(22.5 * 12 + 11.25) + cos(22.5 * 12 + 11.25)) * scale), __EVAL((cos(22.5 * 12 + 11.25) - sin(22.5 * 12 + 11.25)) * scale / XtoYscale)}, 1}, \
|
|
{},\
|
|
{bone, 1, limit, 1, {__EVAL((sin(22.5 * 13 + 11.25) + cos(22.5 * 13 + 11.25)) * scale), __EVAL((cos(22.5 * 13 + 11.25) - sin(22.5 * 13 + 11.25)) * scale / XtoYscale)}, 1}, \
|
|
{bone, 1, limit, 1, {__EVAL((sin(22.5 * 14 + 11.25) + cos(22.5 * 14 + 11.25)) * scale), __EVAL((cos(22.5 * 14 + 11.25) - sin(22.5 * 14 + 11.25)) * scale / XtoYscale)}, 1}, \
|
|
{},\
|
|
{bone, 1, limit, 1, {__EVAL((sin(22.5 * 15 + 11.25) + cos(22.5 * 15 + 11.25)) * scale), __EVAL((cos(22.5 * 15 + 11.25) - sin(22.5 * 15 + 11.25)) * scale / XtoYscale)}, 1}, \
|
|
{bone, 1, limit, 1, {__EVAL((sin(22.5 * 16 + 11.25) + cos(22.5 * 16 + 11.25)) * scale), __EVAL((cos(22.5 * 16 + 11.25) - sin(22.5 * 16 + 11.25)) * scale / XtoYscale)}, 1}, \
|
|
{},\
|
|
{bone, 1, limit, 1, {__EVAL((sin(22.5 * 17 + 11.25) + cos(22.5 * 17 + 11.25)) * scale), __EVAL((cos(22.5 * 17 + 11.25) - sin(22.5 * 17 + 11.25)) * scale / XtoYscale)}, 1}, \
|
|
{bone, 1, limit, 1, {__EVAL((sin(22.5 * 18 + 11.25) + cos(22.5 * 18 + 11.25)) * scale), __EVAL((cos(22.5 * 18 + 11.25) - sin(22.5 * 18 + 11.25)) * scale / XtoYscale)}, 1}, \
|
|
{},\
|
|
{bone, 1, limit, 1, {__EVAL((sin(22.5 * 19 + 11.25) + cos(22.5 * 19 + 11.25)) * scale), __EVAL((cos(22.5 * 19 + 11.25) - sin(22.5 * 19 + 11.25)) * scale / XtoYscale)}, 1}, \
|
|
{bone, 1, limit, 1, {__EVAL((sin(22.5 * 20 + 11.25) + cos(22.5 * 20 + 11.25)) * scale), __EVAL((cos(22.5 * 20 + 11.25) - sin(22.5 * 20 + 11.25)) * scale / XtoYscale)}, 1}, \
|
|
{},\
|
|
{bone, 1, limit, 1, {__EVAL((sin(22.5 * 21 + 11.25) + cos(22.5 * 21 + 11.25)) * scale), __EVAL((cos(22.5 * 21 + 11.25) - sin(22.5 * 21 + 11.25)) * scale / XtoYscale)}, 1}, \
|
|
{bone, 1, limit, 1, {__EVAL((sin(22.5 * 22 + 11.25) + cos(22.5 * 22 + 11.25)) * scale), __EVAL((cos(22.5 * 22 + 11.25) - sin(22.5 * 22 + 11.25)) * scale / XtoYscale)}, 1}, \
|
|
{},\
|
|
{bone, 1, limit, 1, {__EVAL((sin(22.5 * 23 + 11.25) + cos(22.5 * 23 + 11.25)) * scale), __EVAL((cos(22.5 * 23 + 11.25) - sin(22.5 * 23 + 11.25)) * scale / XtoYscale)}, 1}, \
|
|
{bone, 1, limit, 1, {__EVAL((sin(22.5 * 24 + 11.25) + cos(22.5 * 24 + 11.25)) * scale), __EVAL((cos(22.5 * 24 + 11.25) - sin(22.5 * 24 + 11.25)) * scale / XtoYscale)}, 1}, \
|
|
{}
|
|
|
|
|
|
|
|
#define CIRCLE_LOCK_TIME(boneCenter,bone,scale) \
|
|
{boneCenter,{0, __EVAL(-0.8000 * scale / XtoYscale)}, 1}, \
|
|
{boneCenter,{0, __EVAL(-1.0000 * scale / XtoYscale)}, 1}, \
|
|
{bone##1,{0, __EVAL(1.0000 * scale )}, 1, boneCenter, 1}, \
|
|
{bone##2,{0, __EVAL(1.0000 * scale )}, 1, boneCenter, 1}, \
|
|
{bone##3,{0, __EVAL(1.0000 * scale )}, 1, boneCenter, 1}, \
|
|
{bone##4,{0, __EVAL(1.0000 * scale )}, 1, boneCenter, 1}, \
|
|
{bone##5,{0, __EVAL(1.0000 * scale )}, 1, boneCenter, 1}, \
|
|
{bone##6,{0, __EVAL(1.0000 * scale )}, 1, boneCenter, 1}, \
|
|
{bone##7,{0, __EVAL(1.0000 * scale )}, 1, boneCenter, 1}, \
|
|
{bone##8,{0, __EVAL(1.0000 * scale )}, 1, boneCenter, 1}, \
|
|
{bone##9,{0, __EVAL(1.0000 * scale )}, 1, boneCenter, 1}, \
|
|
{bone##10,{0, __EVAL(1.0000 * scale )}, 1, boneCenter, 1}, \
|
|
{bone##11,{0, __EVAL(1.0000 * scale )}, 1, boneCenter, 1}, \
|
|
{bone##12,{0, __EVAL(1.0000 * scale )}, 1, boneCenter, 1}, \
|
|
{bone##13,{0, __EVAL(1.0000 * scale )}, 1, boneCenter, 1}, \
|
|
{bone##14,{0, __EVAL(1.0000 * scale )}, 1, boneCenter, 1}, \
|
|
{bone##15,{0, __EVAL(1.0000 * scale )}, 1, boneCenter, 1}, \
|
|
{bone##16,{0, __EVAL(1.0000 * scale )}, 1, boneCenter, 1}, \
|
|
{bone##17,{0, __EVAL(1.0000 * scale )}, 1, boneCenter, 1}, \
|
|
{bone##17,{0, __EVAL(0.8000 * scale )}, 1, boneCenter, 1}
|
|
|
|
|
|
#define CIRCLE_BIG(bone,scale) \
|
|
{bone, {0, __EVAL(-1.0000 * scale / XtoYscale)}, 1}, \
|
|
{bone, {__EVAL(+0.1736 * scale), __EVAL(-0.9848 * scale / XtoYscale)}, 1}, \
|
|
{bone, {__EVAL(+0.3420 * scale), __EVAL(-0.9397 * scale / XtoYscale)}, 1}, \
|
|
{bone, {__EVAL(+0.5000 * scale), __EVAL(-0.8660 * scale / XtoYscale)}, 1}, \
|
|
{bone, {__EVAL(+0.6428 * scale), __EVAL(-0.7660 * scale / XtoYscale)}, 1}, \
|
|
{bone, {__EVAL(+0.7660 * scale), __EVAL(-0.6428 * scale / XtoYscale)}, 1}, \
|
|
{bone, {__EVAL(+0.8660 * scale), __EVAL(-0.5000 * scale / XtoYscale)}, 1}, \
|
|
{bone, {__EVAL(+0.9397 * scale), __EVAL(-0.3420 * scale / XtoYscale)}, 1}, \
|
|
{bone, {__EVAL(+0.9848 * scale), __EVAL(-0.1736 * scale / XtoYscale)}, 1}, \
|
|
{bone, {__EVAL(+1.0000 * scale), 0}, 1}, \
|
|
{bone, {__EVAL(+0.9848 * scale), __EVAL(+0.1736 * scale / XtoYscale)}, 1}, \
|
|
{bone, {__EVAL(+0.9397 * scale), __EVAL(+0.3420 * scale / XtoYscale)}, 1}, \
|
|
{bone, {__EVAL(+0.8660 * scale), __EVAL(+0.5000 * scale / XtoYscale)}, 1}, \
|
|
{bone, {__EVAL(+0.7660 * scale), __EVAL(+0.6428 * scale / XtoYscale)}, 1}, \
|
|
{bone, {__EVAL(+0.6428 * scale), __EVAL(+0.7660 * scale / XtoYscale)}, 1}, \
|
|
{bone, {__EVAL(+0.5000 * scale), __EVAL(+0.8660 * scale / XtoYscale)}, 1}, \
|
|
{bone, {__EVAL(+0.3420 * scale), __EVAL(+0.9397 * scale / XtoYscale)}, 1}, \
|
|
{bone, {__EVAL(+0.1736 * scale), __EVAL(+0.9848 * scale / XtoYscale)}, 1}, \
|
|
{bone, {0, __EVAL(+1.0000 * scale / XtoYscale)}, 1}, \
|
|
{bone, {__EVAL(-0.1736 * scale), __EVAL(+0.9848 * scale / XtoYscale)}, 1}, \
|
|
{bone, {__EVAL(-0.3420 * scale), __EVAL(+0.9397 * scale / XtoYscale)}, 1}, \
|
|
{bone, {__EVAL(-0.5000 * scale), __EVAL(+0.8660 * scale / XtoYscale)}, 1}, \
|
|
{bone, {__EVAL(-0.6428 * scale), __EVAL(+0.7660 * scale / XtoYscale)}, 1}, \
|
|
{bone, {__EVAL(-0.7660 * scale), __EVAL(+0.6428 * scale / XtoYscale)}, 1}, \
|
|
{bone, {__EVAL(-0.8660 * scale), __EVAL(+0.5000 * scale / XtoYscale)}, 1}, \
|
|
{bone, {__EVAL(-0.9397 * scale), __EVAL(+0.3420 * scale / XtoYscale)}, 1}, \
|
|
{bone, {__EVAL(-0.9848 * scale), __EVAL(+0.1736 * scale / XtoYscale)}, 1}, \
|
|
{bone, {__EVAL(-1.0000 * scale), 0}, 1}, \
|
|
{bone, {__EVAL(-0.9848 * scale), __EVAL(-0.1736 * scale / XtoYscale)}, 1}, \
|
|
{bone, {__EVAL(-0.9397 * scale), __EVAL(-0.3420 * scale / XtoYscale)}, 1}, \
|
|
{bone, {__EVAL(-0.8660 * scale), __EVAL(-0.5000 * scale / XtoYscale)}, 1}, \
|
|
{bone, {__EVAL(-0.7660 * scale), __EVAL(-0.6428 * scale / XtoYscale)}, 1}, \
|
|
{bone, {__EVAL(-0.6428 * scale), __EVAL(-0.7660 * scale / XtoYscale)}, 1}, \
|
|
{bone, {__EVAL(-0.5000 * scale), __EVAL(-0.8660 * scale / XtoYscale)}, 1}, \
|
|
{bone, {__EVAL(-0.3420 * scale), __EVAL(-0.9397 * scale / XtoYscale)}, 1}, \
|
|
{bone, {__EVAL(-0.1736 * scale), __EVAL(-0.9848 * scale / XtoYscale)}, 1}, \
|
|
{bone, {0, __EVAL(-1.0000 * scale / XtoYscale)}, 1}
|
|
|
|
|
|
|
|
#define POINT_ON_CIRCLE(bone,scale,angle) \
|
|
{bone, {__EVAL(sin(angle) * scale), __EVAL(cos(angle) * scale / XtoYscale)}, 1}
|
|
|
|
#define CIRCLE_BIG2(bone,scale) \
|
|
POINT_ON_CIRCLE(bone,scale,0), \
|
|
POINT_ON_CIRCLE(bone,scale,15), \
|
|
POINT_ON_CIRCLE(bone,scale,30), \
|
|
POINT_ON_CIRCLE(bone,scale,45), \
|
|
POINT_ON_CIRCLE(bone,scale,60), \
|
|
POINT_ON_CIRCLE(bone,scale,75), \
|
|
POINT_ON_CIRCLE(bone,scale,90), \
|
|
POINT_ON_CIRCLE(bone,scale,105), \
|
|
POINT_ON_CIRCLE(bone,scale,120), \
|
|
POINT_ON_CIRCLE(bone,scale,135), \
|
|
POINT_ON_CIRCLE(bone,scale,150), \
|
|
POINT_ON_CIRCLE(bone,scale,165), \
|
|
POINT_ON_CIRCLE(bone,scale,180), \
|
|
POINT_ON_CIRCLE(bone,scale,195), \
|
|
POINT_ON_CIRCLE(bone,scale,210), \
|
|
POINT_ON_CIRCLE(bone,scale,225), \
|
|
POINT_ON_CIRCLE(bone,scale,240), \
|
|
POINT_ON_CIRCLE(bone,scale,255), \
|
|
POINT_ON_CIRCLE(bone,scale,270), \
|
|
POINT_ON_CIRCLE(bone,scale,285), \
|
|
POINT_ON_CIRCLE(bone,scale,300), \
|
|
POINT_ON_CIRCLE(bone,scale,315), \
|
|
POINT_ON_CIRCLE(bone,scale,330), \
|
|
POINT_ON_CIRCLE(bone,scale,345), \
|
|
POINT_ON_CIRCLE(bone,scale,360)
|
|
|
|
|
|
|
|
#define CIRCLE_MARK(bone,scaleIn,scaleOut,angle) \
|
|
{bone, {__EVAL((scaleIn) * sin(angle)), __EVAL(-(scaleIn) * cos(angle) / XtoYscale)}, 1}, \
|
|
{bone, {__EVAL((scaleOut) * sin(angle)), __EVAL(-(scaleOut) * cos(angle) / XtoYscale)}, 1}
|
|
|
|
|
|
|
|
#define CIRCLE_MARK_CENTER(XX,YY,scaleIn,scaleOut,angle) \
|
|
{{__EVAL(XX + (scaleIn) * sin(angle)), __EVAL(YY - (scaleIn) * cos(angle) / XtoYscale)}, 1}, \
|
|
{{__EVAL(XX + (scaleOut) * sin(angle)), __EVAL(YY - (scaleOut) * cos(angle) / XtoYscale)}, 1}
|
|
|
|
|
|
|
|
#define POINT(bone,xx,yy) \
|
|
{bone, {__EVAL(xx), __EVAL((yy) / (XtoYscale))}, 1}
|
|
|
|
|
|
|
|
#define POINT2(xx,yy) \
|
|
{{__EVAL(xx), __EVAL((yy) / (XtoYscale))}, 1}
|
|
|
|
|
|
|
|
#define DOT(xx,yy) \
|
|
POINT2((xx) - 0.0075,yy), \
|
|
POINT2((xx) + 0.0075,yy), \
|
|
{}, \
|
|
POINT2(xx,(yy) - 0.0075), \
|
|
POINT2(xx,(yy) + 0.0075), \
|
|
{}
|
|
|
|
|
|
|
|
#define INSTRUMENT(xx,yy,scale) \
|
|
DOT(xx,(yy) + (scale)), \
|
|
DOT((xx) + ((scale) * sin 36),(yy) + ((scale) * cos 36)), \
|
|
DOT((xx) + ((scale) * sin (36 * 2)),(yy) + ((scale) * cos (36 * 2))), \
|
|
DOT((xx) + ((scale) * sin (36 * 3)),(yy) + ((scale) * cos (36 * 3))), \
|
|
DOT((xx) + ((scale) * sin (36 * 4)),(yy) + ((scale) * cos (36 * 4))), \
|
|
DOT((xx) + ((scale) * sin (36 * 5)),(yy) + ((scale) * cos (36 * 5))), \
|
|
DOT((xx) + ((scale) * sin (36 * 6)),(yy) + ((scale) * cos (36 * 6))), \
|
|
DOT((xx) + ((scale) * sin (36 * 7)),(yy) + ((scale) * cos (36 * 7))), \
|
|
DOT((xx) + ((scale) * sin (36 * 8)),(yy) + ((scale) * cos (36 * 8))), \
|
|
DOT((xx) + ((scale) * sin (36 * 9)),(yy) + ((scale) * cos (36 * 9)))
|
|
|
|
|
|
|
|
#define DEF_HORIZONTPlus(XX) \
|
|
class LevelP##XX: Level0 \
|
|
{ \
|
|
type = line; \
|
|
points[] = \
|
|
{ \
|
|
{LevelP##XX,{-0.20,+0.03},1}, \
|
|
{LevelP##XX,{-0.20,0},1}, \
|
|
{LevelP##XX,{-0.05,0},1}, \
|
|
{}, \
|
|
{LevelP##XX,{ 0.05,0},1}, \
|
|
{LevelP##XX,{+0.20,0},1}, \
|
|
{LevelP##XX,{+0.20,+0.03},1} \
|
|
}; \
|
|
}; \
|
|
class VALP_1_##XX \
|
|
{ \
|
|
type = text; \
|
|
source = static; \
|
|
text = #XX; \
|
|
align = right; \
|
|
scale = 1; \
|
|
sourceScale = 1; \
|
|
pos[] = {LevelP##XX,{__EVAL(-0.23 + 0.05),0.032},1}; \
|
|
right[] = {LevelP##XX,{__EVAL(-0.15 + 0.05),0.032},1}; \
|
|
down[] = {LevelP##XX,{__EVAL(-0.23 + 0.05),0.082},1}; \
|
|
}
|
|
|
|
|
|
|
|
#define DEF_HORIZONTMinus(XX) \
|
|
class LevelM##XX: Level0 \
|
|
{ \
|
|
type = line; \
|
|
points[] = \
|
|
{ \
|
|
{LevelM##XX,{-0.20,__EVAL(XX * 0.001 * (20 - 5) / (20 - 5))},1}, \
|
|
{LevelM##XX,{-0.17,__EVAL(XX * 0.001 * (17 - 5) / (20 - 5))},1}, \
|
|
{}, \
|
|
{LevelM##XX,{-0.14,__EVAL(XX * 0.001 * (14 - 5) / (20 - 5))},1}, \
|
|
{LevelM##XX,{-0.11,__EVAL(XX * 0.001 * (11 - 5) / (20 - 5))},1}, \
|
|
{}, \
|
|
{LevelM##XX,{-0.08,__EVAL(XX * 0.001 * (8 - 5) / (20 - 5))},1}, \
|
|
{LevelM##XX,{-0.05,0},1}, \
|
|
{LevelM##XX,{-0.05,-0.03},1}, \
|
|
{}, \
|
|
{LevelM##XX,{+0.05,-0.03},1}, \
|
|
{LevelM##XX,{0.05,0},1}, \
|
|
{LevelM##XX,{+0.08,__EVAL(XX * 0.001 * (8 - 5) / (20 - 5))},1}, \
|
|
{}, \
|
|
{LevelM##XX,{+0.11,__EVAL(XX * 0.001 * (11 - 5) / (20 - 5))},1}, \
|
|
{LevelM##XX,{+0.14,__EVAL(XX * 0.001 * (14 - 5) / (20 - 5))},1}, \
|
|
{}, \
|
|
{LevelM##XX,{+0.17,__EVAL(XX * 0.001 * (17 - 5) / (20 - 5))},1}, \
|
|
{LevelM##XX,{+0.20,__EVAL(XX * 0.001 * (20 - 5) / (20 - 5))},1} \
|
|
}; \
|
|
}; \
|
|
class VALM_1_##XX \
|
|
{ \
|
|
type = text; \
|
|
source = static; \
|
|
text = -##XX; \
|
|
align = right; \
|
|
scale = 1; \
|
|
sourceScale = 1; \
|
|
pos[] = {LevelM##XX,{__EVAL(-0.23 + 0.05),-0.082},1}; \
|
|
right[] = {LevelM##XX,{__EVAL(-0.15 + 0.05),-0.082},1}; \
|
|
down[] = {LevelM##XX,{__EVAL(-0.23 + 0.05),-0.032},1}; \
|
|
}
|
|
|
|
|
|
|
|
topLeft = "HUD_1_top_left";
|
|
topRight = "HUD_1_top_right";
|
|
bottomLeft = "HUD_1_bottom_left";
|
|
/// adjust position inside of memory points LOD
|
|
borderLeft = 0;
|
|
borderRight = 0;
|
|
borderTop = 0;
|
|
borderBottom = 0;
|
|
color[] = {0.0, 0.5, 0.4, 1.0};
|
|
|
|
class Bones
|
|
{
|
|
class PlaneW
|
|
{
|
|
type = fixed;
|
|
pos[] = {PosX0Center, PosYCenterHorizont};
|
|
};
|
|
|
|
class Center
|
|
{
|
|
type = fixed;
|
|
pos[] = {PosX0Center, __EVAL(PosY0Center)};
|
|
};
|
|
class ImpactPoint
|
|
{
|
|
type = vector;
|
|
source = ImpactPoint;
|
|
pos0[] = {0.5, __EVAL(PosY0Center)};
|
|
pos10[] = {__EVAL(0.5 + SizeX10deg), __EVAL(PosY0Center + SizeY10deg)};
|
|
};
|
|
|
|
class WPPoint
|
|
{
|
|
type = vector;
|
|
source = WPPoint;
|
|
pos0[] = {0.5, __EVAL(PosY0Center)};
|
|
pos10[] = {__EVAL(0.5 + SizeX10deg), __EVAL(PosY0Center + SizeY10deg)};
|
|
};
|
|
class TargetingPodTarget
|
|
{
|
|
source = pilotcamera;
|
|
type = vector;
|
|
pos0[] = {__EVAL(PosX0Center),__EVAL(PosY0Center)};
|
|
pos10[] = {__EVAL(PosX0Center+SizeX10deg),__EVAL(PosY0Center+SizeY10deg)};
|
|
};
|
|
|
|
class Limit0109
|
|
{
|
|
type = limit;
|
|
limits[] = {0.1,0.1,0.9,0.9};
|
|
};
|
|
|
|
class MissileFlightTimeRot1
|
|
{
|
|
type = rotational;
|
|
source = MissileFlightTime;
|
|
sourceScale = 1.0;
|
|
center[] = {0, 0};
|
|
min = 0;
|
|
max = __EVAL(10 *0.05);
|
|
minAngle = 0;
|
|
maxAngle = __EVAL(360 * 0.05);
|
|
aspectRatio = __EVAL(1 / XtoYscale);
|
|
};
|
|
class MissileFlightTimeRot2: MissileFlightTimeRot1
|
|
{
|
|
maxAngle = __EVAL(360 * 0.1);
|
|
max = __EVAL(10 *0.1);
|
|
};
|
|
class MissileFlightTimeRot3: MissileFlightTimeRot1
|
|
{
|
|
maxAngle = __EVAL(360 * 0.15);
|
|
max = __EVAL(10 *0.15);
|
|
};
|
|
class MissileFlightTimeRot4: MissileFlightTimeRot1
|
|
{
|
|
maxAngle = __EVAL(360 * 0.2);
|
|
max = __EVAL(10 *0.2);
|
|
};
|
|
class MissileFlightTimeRot5: MissileFlightTimeRot1
|
|
{
|
|
maxAngle = __EVAL(360 * 0.25);
|
|
max = __EVAL(10 *0.25);
|
|
};
|
|
class MissileFlightTimeRot6: MissileFlightTimeRot1
|
|
{
|
|
maxAngle = __EVAL(360 * 0.3);
|
|
max = __EVAL(10 *0.3);
|
|
};
|
|
class MissileFlightTimeRot7: MissileFlightTimeRot1
|
|
{
|
|
maxAngle = __EVAL(360 * 0.35);
|
|
max = __EVAL(10 *0.35);
|
|
};
|
|
class MissileFlightTimeRot8: MissileFlightTimeRot1
|
|
{
|
|
maxAngle = __EVAL(360 * 0.4);
|
|
max = __EVAL(10 *0.4);
|
|
};
|
|
class MissileFlightTimeRot9: MissileFlightTimeRot1
|
|
{
|
|
maxAngle = __EVAL(360 * 0.45);
|
|
max = __EVAL(10 *0.45);
|
|
};
|
|
class MissileFlightTimeRot10: MissileFlightTimeRot1
|
|
{
|
|
maxAngle = __EVAL(360 * 0.5);
|
|
max = __EVAL(10 *0.5);
|
|
};
|
|
class MissileFlightTimeRot11: MissileFlightTimeRot1
|
|
{
|
|
maxAngle = __EVAL(360 * 0.55);
|
|
max = __EVAL(10 *0.55);
|
|
};
|
|
class MissileFlightTimeRot12: MissileFlightTimeRot1
|
|
{
|
|
maxAngle = __EVAL(360 * 0.6);
|
|
max = __EVAL(10 *0.6);
|
|
};
|
|
class MissileFlightTimeRot13: MissileFlightTimeRot1
|
|
{
|
|
maxAngle = __EVAL(360 * 0.65);
|
|
max = __EVAL(10 *0.65);
|
|
};
|
|
class MissileFlightTimeRot14: MissileFlightTimeRot1
|
|
{
|
|
maxAngle = __EVAL(360 * 0.7);
|
|
max = __EVAL(10 *0.7);
|
|
};
|
|
class MissileFlightTimeRot15: MissileFlightTimeRot1
|
|
{
|
|
maxAngle = __EVAL(360 * 0.75);
|
|
max = __EVAL(10 *0.75);
|
|
};
|
|
class MissileFlightTimeRot16: MissileFlightTimeRot1
|
|
{
|
|
maxAngle = __EVAL(360 * 0.8);
|
|
max = __EVAL(10 *0.8);
|
|
};
|
|
class MissileFlightTimeRot17: MissileFlightTimeRot1
|
|
{
|
|
maxAngle = __EVAL(360 * 0.85);
|
|
max = __EVAL(10 *0.85);
|
|
};
|
|
class Target
|
|
{
|
|
source=target;
|
|
type=vector;
|
|
pos0[]={__EVAL(PosX0Center),__EVAL(PosY0Center)};
|
|
pos10[]={__EVAL(PosX0Center+SizeX10deg),__EVAL(PosY0Center+SizeY10deg)};
|
|
};
|
|
class Velocity
|
|
{
|
|
type = vector;
|
|
source = velocity;
|
|
pos0[] = {0.5, __EVAL(PosY0Center)};
|
|
pos10[] = {__EVAL(0.5 + SizeX10deg), __EVAL(PosY0Center + SizeY10deg)};
|
|
};
|
|
|
|
class ILS_H
|
|
{
|
|
type=ils;
|
|
pos0[]={0.5,__EVAL(PosY0Center)};
|
|
pos3[]={__EVAL(0.5+(SizeX10deg)*3/10),__EVAL(PosY0Center)};
|
|
};
|
|
class ILS_W: ILS_H
|
|
{
|
|
pos3[]={0.5,__EVAL((PosY0Center)+(SizeY10deg)*3/10)};
|
|
};
|
|
|
|
class ASL_Instrument
|
|
{
|
|
type = rotational;
|
|
source = altitudeASL;
|
|
center[] = {0.90, __EVAL(0.3 / XtoYscale)};
|
|
min = 0;
|
|
max = 20000;
|
|
minAngle = 0;
|
|
maxAngle = 72000;
|
|
aspectRatio = __EVAL(1 / XtoYscale);
|
|
};
|
|
class Speed_Instrument: ASL_Instrument
|
|
{
|
|
source = speed;
|
|
center[] = {0.10, __EVAL(0.3 / XtoYscale)};
|
|
max = __EVAL(2000 / 3.6);
|
|
maxAngle = 7200;
|
|
};
|
|
|
|
#define HorizonBankScaleY 0.4
|
|
class HorizonBankRot
|
|
{
|
|
type = rotational;
|
|
source = horizonBank;
|
|
center[] = {PosX0Center, PosYCenterHorizont};
|
|
min = __EVAL(-3.1416 / 90 * 15);
|
|
max = __EVAL(3.1416 / 90 * 15);
|
|
minAngle = __EVAL(180 - 83 / 4);
|
|
maxAngle = __EVAL(180 + 83 / 4);
|
|
aspectRatio = 1;
|
|
};
|
|
class AOAindexer
|
|
{
|
|
type = linear;
|
|
source = aoa;
|
|
min = __EVAL(-3.1416/180*45);
|
|
max = __EVAL(3.1416/180*45);
|
|
maxPos[] = {0,__EVAL(-2+0.1)};
|
|
minPos[] = {0,__EVAL(2+0.1)};
|
|
aspectRatio = 1;
|
|
};
|
|
|
|
class HorizonBankRotFull
|
|
{
|
|
type = rotational;
|
|
source = horizonBank;
|
|
center[] = {0, 0};
|
|
min = __EVAL(-3.1416);
|
|
max = __EVAL(3.1416);
|
|
minAngle = __EVAL(-180);
|
|
maxAngle = __EVAL(180);
|
|
aspectRatio = 1;
|
|
};
|
|
|
|
class Level0
|
|
{
|
|
pos0[] = {PosX0Center, PosYCenterHorizont};
|
|
pos10[] = {__EVAL(PosX0Center + SizeX10deg), __EVAL(PosYCenterHorizont + SizeY10deg)};
|
|
type = horizon;
|
|
angle = 0;
|
|
};
|
|
class LevelP5: Level0 {angle = +5;};
|
|
class LevelM5: Level0 {angle = -5;};
|
|
class LevelP10: Level0 {angle = +10;};
|
|
class LevelM10: Level0 {angle = -10;};
|
|
class LevelP15: Level0 {angle = +15;};
|
|
class LevelM15: Level0 {angle = -15;};
|
|
class LevelP20: Level0 {angle = +20;};
|
|
class LevelM20: Level0 {angle = -20;};
|
|
class LevelP25: Level0 {angle = +25;};
|
|
class LevelM25: Level0 {angle = -25;};
|
|
class LevelP30: Level0 {angle = +30;};
|
|
class LevelM30: Level0 {angle = -30;};
|
|
class LevelP35: Level0 {angle = +35;};
|
|
class LevelM35: Level0 {angle = -35;};
|
|
class LevelP40: Level0 {angle = +40;};
|
|
class LevelM40: Level0 {angle = -40;};
|
|
class LevelP45: Level0 {angle = +45;};
|
|
class LevelM45: Level0 {angle = -45;};
|
|
class LevelP50: Level0 {angle = +50;};
|
|
class LevelM50: Level0 {angle = -50;};
|
|
class LevelP55: Level0 {angle = +55;};
|
|
class LevelM55: Level0 {angle = -55;};
|
|
class LevelP60: Level0 {angle = +60;};
|
|
class LevelM60: Level0 {angle = -60;};
|
|
class LevelP65: Level0 {angle = +65;};
|
|
class LevelM65: Level0 {angle = -65;};
|
|
class LevelP70: Level0 {angle = +70;};
|
|
class LevelM70: Level0 {angle = -70;};
|
|
class LevelP75: Level0 {angle = +75;};
|
|
class LevelM75: Level0 {angle = -75;};
|
|
class LevelP80: Level0 {angle = +80;};
|
|
class LevelM80: Level0 {angle = -80;};
|
|
class LevelP85: Level0 {angle = +85;};
|
|
class LevelM85: Level0 {angle = -85;};
|
|
class LevelP90: Level0 {angle = +90;};
|
|
class LevelM90: Level0 {angle = -90;};
|
|
|
|
class Airport1
|
|
{
|
|
type = vector;
|
|
source = airportCorner1;
|
|
pos0[] = {0.5, __EVAL(PosY0Center)};
|
|
pos10[] = {__EVAL(0.5 + SizeX10deg), __EVAL(PosY0Center + SizeY10deg)};
|
|
};
|
|
class Airport2: Airport1 {source = airportCorner2;};
|
|
class Airport3: Airport1 {source = airportCorner3;};
|
|
class Airport4: Airport1 {source = airportCorner4;};
|
|
|
|
};
|
|
|
|
class Draw
|
|
{
|
|
alpha = 1.0;
|
|
color[] = {0.0, 0.5, 0.4};
|
|
condition = on;
|
|
|
|
class PlaneW
|
|
{
|
|
type = line;
|
|
points[] =
|
|
{
|
|
POINT(PlaneW, -0.03, 0.0),
|
|
POINT(PlaneW, -0.01, 0.0),
|
|
{},
|
|
POINT(PlaneW, 0.03, 0.0),
|
|
POINT(PlaneW, 0.01, 0.0),
|
|
{},
|
|
POINT(PlaneW, 0.0, -0.03),
|
|
POINT(PlaneW, 0.0, -0.01),
|
|
{},
|
|
POINT(PlaneW, 0.0, 0.03),
|
|
POINT(PlaneW, 0.0, 0.01)
|
|
};
|
|
};
|
|
|
|
class PlaneHeading
|
|
{
|
|
type = line;
|
|
points[] =
|
|
{
|
|
CIRCLE_LIMIT(Limit0109, Velocity,0.02),
|
|
{},
|
|
{Velocity, 1, Limit0109, 1, { 0.04, __EVAL(0 / XtoYscale)}, 1},
|
|
{Velocity, 1, Limit0109, 1, { 0.02, __EVAL(0 / XtoYscale)}, 1},
|
|
{},
|
|
{Velocity, 1, Limit0109, 1, {-0.04, __EVAL(0 / XtoYscale)}, 1},
|
|
{Velocity, 1, Limit0109, 1, {-0.02, __EVAL(0 / XtoYscale)}, 1},
|
|
{},
|
|
{Velocity, 1, Limit0109, 1, {0, __EVAL(-0.04 / XtoYscale)}, 1},
|
|
{Velocity, 1, Limit0109, 1, {0, __EVAL(-0.02 / XtoYscale)}, 1}
|
|
};
|
|
};
|
|
class AOAIndexer
|
|
{
|
|
condition = ils;
|
|
class lines
|
|
{
|
|
type = line;
|
|
points[] =
|
|
{
|
|
{Velocity, 1, Limit0109, 1, {AOAindexer, -0.04, __EVAL(0.1 / XtoYscale)}, 1},
|
|
{Velocity, 1, Limit0109, 1, {AOAindexer, -0.06, __EVAL(0.1 / XtoYscale)}, 1},
|
|
{Velocity, 1, Limit0109, 1, {AOAindexer, -0.06, __EVAL(0 / XtoYscale)}, 1},
|
|
{Velocity, 1, Limit0109, 1, {AOAindexer, -0.05, __EVAL(0 / XtoYscale)}, 1},
|
|
{},
|
|
{Velocity, 1, Limit0109, 1, {AOAindexer,-0.06, __EVAL(0.0 / XtoYscale)}, 1},
|
|
{Velocity, 1, Limit0109, 1, {AOAindexer,-0.06, __EVAL(-0.1 / XtoYscale)}, 1},
|
|
{Velocity, 1, Limit0109, 1, {AOAindexer,-0.04, __EVAL(-0.1 / XtoYscale)}, 1}
|
|
};
|
|
};
|
|
};
|
|
|
|
class Static
|
|
{
|
|
type = line;
|
|
points[] =
|
|
{
|
|
// Speed dial circle
|
|
INSTRUMENT(0.10, 0.3, 0.0925),
|
|
// Speed dial line
|
|
{Speed_Instrument, {0, __EVAL(0.065)}, 1},
|
|
{Speed_Instrument, {0, __EVAL(0.085)}, 1},
|
|
{},
|
|
// Altitude dial circle
|
|
INSTRUMENT(0.90, 0.3, 0.0925),
|
|
// Altitude dial line
|
|
{ASL_Instrument, {0, __EVAL(0.065)}, 1},
|
|
{ASL_Instrument, {0, __EVAL(0.085)}, 1},
|
|
{},
|
|
// Heading arrow
|
|
{{XY_Scaled(0.50, 0.095)}, 1},
|
|
{{XY_Scaled(0.51, 0.115)}, 1},
|
|
{{XY_Scaled(0.49, 0.115)}, 1},
|
|
{{XY_Scaled(0.50, 0.095)}, 1},
|
|
{},
|
|
// Left side quarter circle markings
|
|
CIRCLE_MARK_CENTER(PosX0Center, PosYCenterHorizont, 0.32, 0.35, 180 - 45 * 3 / 6),
|
|
{},
|
|
CIRCLE_MARK_CENTER(PosX0Center, PosYCenterHorizont, 0.33, 0.35, 180 - 45 * 2 / 6),
|
|
{},
|
|
CIRCLE_MARK_CENTER(PosX0Center, PosYCenterHorizont, 0.33, 0.35, 180 - 45 * 1 / 6),
|
|
{},
|
|
CIRCLE_MARK_CENTER(PosX0Center, PosYCenterHorizont, 0.32, 0.35, 180),
|
|
{},
|
|
CIRCLE_MARK_CENTER(PosX0Center, PosYCenterHorizont, 0.33, 0.35, 180 + 45 * 1 / 6),
|
|
{},
|
|
CIRCLE_MARK_CENTER(PosX0Center, PosYCenterHorizont, 0.33, 0.35, 180 + 45 * 2 / 6),
|
|
{},
|
|
CIRCLE_MARK_CENTER(PosX0Center, PosYCenterHorizont, 0.32, 0.35, 180 + 45 * 3 / 6)
|
|
};
|
|
};
|
|
|
|
class HorizonBankRot
|
|
{
|
|
type = line;
|
|
points[] =
|
|
{
|
|
{HorizonBankRot, {XY_Scaled(0.00, 0.35)}, 1},
|
|
{HorizonBankRot, {XY_Scaled(0.01, 0.37)}, 1},
|
|
{HorizonBankRot, {XY_Scaled(-0.01, 0.37)}, 1},
|
|
{HorizonBankRot, {XY_Scaled(0.00, 0.35)}, 1}
|
|
};
|
|
};
|
|
|
|
class Horizont
|
|
{
|
|
clipTL[] = {0.00, 0.15};
|
|
clipBR[] = {1.00, 0.75};
|
|
|
|
class Dimmed
|
|
{
|
|
class Level0
|
|
{
|
|
type = line;
|
|
points[] =
|
|
{
|
|
{Level0, {0.40, 0.0}, 1},
|
|
{Level0, {0.05, 0.0}, 1},
|
|
{},
|
|
{Level0, {-0.05, 0.0}, 1},
|
|
{Level0, {-0.40, 0.0}, 1}
|
|
};
|
|
};
|
|
DEF_HORIZONTMinus(5);
|
|
DEF_HORIZONTPlus(5);
|
|
DEF_HORIZONTMinus(10);
|
|
DEF_HORIZONTPlus(10);
|
|
DEF_HORIZONTMinus(15);
|
|
DEF_HORIZONTPlus(15);
|
|
DEF_HORIZONTMinus(20);
|
|
DEF_HORIZONTPlus(20);
|
|
DEF_HORIZONTMinus(25);
|
|
DEF_HORIZONTPlus(25);
|
|
DEF_HORIZONTMinus(30);
|
|
DEF_HORIZONTPlus(30);
|
|
DEF_HORIZONTMinus(35);
|
|
DEF_HORIZONTPlus(35);
|
|
DEF_HORIZONTMinus(40);
|
|
DEF_HORIZONTPlus(40);
|
|
DEF_HORIZONTMinus(45);
|
|
DEF_HORIZONTPlus(45);
|
|
DEF_HORIZONTMinus(50);
|
|
DEF_HORIZONTPlus(50);
|
|
DEF_HORIZONTMinus(55);
|
|
DEF_HORIZONTPlus(55);
|
|
DEF_HORIZONTMinus(60);
|
|
DEF_HORIZONTPlus(60);
|
|
DEF_HORIZONTMinus(65);
|
|
DEF_HORIZONTPlus(65);
|
|
DEF_HORIZONTMinus(70);
|
|
DEF_HORIZONTPlus(70);
|
|
DEF_HORIZONTMinus(75);
|
|
DEF_HORIZONTPlus(75);
|
|
DEF_HORIZONTMinus(80);
|
|
DEF_HORIZONTPlus(80);
|
|
DEF_HORIZONTMinus(85);
|
|
DEF_HORIZONTPlus(85);
|
|
DEF_HORIZONTMinus(90);
|
|
DEF_HORIZONTPlus(90);
|
|
};
|
|
};
|
|
|
|
class SpeedNumber
|
|
{
|
|
type = text;
|
|
source = speed;
|
|
sourceScale = 3.6;
|
|
|
|
align = center;
|
|
scale = 1;
|
|
pos[] = {{XY_Scaled(0.10 + 0.00, 0.30 - 0.025)}, 1};
|
|
right[] = {{XY_Scaled(0.10 + 0.06, 0.30 - 0.025)}, 1};
|
|
down[] = {{XY_Scaled(0.10 + 0.00, 0.30 + 0.025)}, 1};
|
|
};
|
|
class AltNumber: SpeedNumber
|
|
{
|
|
source = altitudeASL;
|
|
sourceScale = 1;
|
|
|
|
pos[] = {{XY_Scaled(0.90 + 0.00, 0.30 - 0.025)}, 1};
|
|
right[] = {{XY_Scaled(0.90 + 0.06, 0.30 - 0.025)}, 1};
|
|
down[] = {{XY_Scaled(0.90 + 0.00, 0.30 + 0.025)}, 1};
|
|
};
|
|
|
|
class AltNumberAGL
|
|
{
|
|
class Text
|
|
{
|
|
type = text;
|
|
source = static;
|
|
text = "H";
|
|
|
|
align = left;
|
|
scale = 1;
|
|
pos[] = {{XY_Scaled(0.80 + 0.00, 0.5 - 0.025)}, 1};
|
|
right[] = {{XY_Scaled(0.80 + 0.06, 0.5 - 0.025)}, 1};
|
|
down[] = {{XY_Scaled(0.80 + 0.00, 0.5 + 0.025)}, 1};
|
|
};
|
|
|
|
class Box
|
|
{
|
|
type = line;
|
|
points[] =
|
|
{
|
|
POINT2(0.81, 0.5 + 0.025),
|
|
POINT2(1.00, 0.5 + 0.025),
|
|
POINT2(1.00, 0.5 - 0.025),
|
|
POINT2(0.81, 0.5 - 0.025),
|
|
POINT2(0.81, 0.5 + 0.025)
|
|
};
|
|
};
|
|
|
|
class AltNumber
|
|
{
|
|
type = text;
|
|
source = altitudeAGL;
|
|
sourceScale = 1;
|
|
|
|
align = left;
|
|
scale = 1;
|
|
pos[] = {{XY_Scaled(0.99 + 0.00, 0.5 - 0.025)}, 1};
|
|
right[] = {{XY_Scaled(0.99 + 0.06, 0.5 - 0.025)}, 1};
|
|
down[] = {{XY_Scaled(0.99 + 0.00, 0.5 + 0.025)}, 1};
|
|
};
|
|
};
|
|
|
|
class Gear
|
|
{
|
|
color[] = {0.0, 0.125, 0.1};
|
|
|
|
class Text
|
|
{
|
|
type = text;
|
|
source = static;
|
|
text = "GEAR";
|
|
|
|
align = left;
|
|
scale = 1;
|
|
pos[] = {{XY_Scaled(0.99 + 0.00, 0.75 - 0.025)}, 1};
|
|
right[] = {{XY_Scaled(0.99 + 0.06, 0.75 - 0.025)}, 1};
|
|
down[] = {{XY_Scaled(0.99 + 0.00, 0.75 + 0.025)}, 1};
|
|
};
|
|
|
|
class Highlighted
|
|
{
|
|
condition = ils;
|
|
color[] = {0.0, 0.375, 0.3};
|
|
|
|
class Text
|
|
{
|
|
type = text;
|
|
source = static;
|
|
text = "GEAR";
|
|
|
|
align = left;
|
|
scale = 1;
|
|
pos[] = {{XY_Scaled(0.99 + 0.00, 0.75 - 0.025)}, 1};
|
|
right[] = {{XY_Scaled(0.99 + 0.06, 0.75 - 0.025)}, 1};
|
|
down[] = {{XY_Scaled(0.99 + 0.00, 0.75 + 0.025)}, 1};
|
|
};
|
|
};
|
|
};
|
|
|
|
class Flaps
|
|
{
|
|
color[] = {0.0, 0.125, 0.1};
|
|
|
|
class Text
|
|
{
|
|
type = text;
|
|
source = static;
|
|
text = "FLAPS";
|
|
|
|
align = left;
|
|
scale = 1;
|
|
pos[] = {{XY_Scaled(0.99 + 0.00, 0.80 - 0.025)}, 1};
|
|
right[] = {{XY_Scaled(0.99 + 0.06, 0.80 - 0.025)}, 1};
|
|
down[] = {{XY_Scaled(0.99 + 0.00, 0.80 + 0.025)}, 1};
|
|
};
|
|
|
|
class Highlighted
|
|
{
|
|
condition = flaps;
|
|
color[] = {0.0, 0.375, 0.3};
|
|
|
|
class Text
|
|
{
|
|
type = text;
|
|
source = static;
|
|
text = "FLAPS";
|
|
|
|
align = left;
|
|
scale = 1;
|
|
pos[] = {{XY_Scaled(0.99 + 0.00, 0.80 - 0.025)}, 1};
|
|
right[] = {{XY_Scaled(0.99 + 0.06, 0.80 - 0.025)}, 1};
|
|
down[] = {{XY_Scaled(0.99 + 0.00, 0.80 + 0.025)}, 1};
|
|
};
|
|
};
|
|
};
|
|
|
|
|
|
class Lights
|
|
{
|
|
color[] = {0.0, 0.125, 0.1};
|
|
|
|
class Text
|
|
{
|
|
type = text;
|
|
source = static;
|
|
text = "LIGHTS";
|
|
|
|
align = right;
|
|
scale = 1;
|
|
pos[] = {{XY_Scaled(0.01 + 0.00, 0.75 - 0.025)}, 1};
|
|
right[] = {{XY_Scaled(0.01 + 0.06, 0.75 - 0.025)}, 1};
|
|
down[] = {{XY_Scaled(0.01 + 0.00, 0.75 + 0.025)}, 1};
|
|
};
|
|
|
|
class Highlighted
|
|
{
|
|
condition = lights;
|
|
color[] = {0.0, 0.375, 0.3};
|
|
|
|
class Text
|
|
{
|
|
type = text;
|
|
source = static;
|
|
text = "LIGHTS";
|
|
|
|
align = right;
|
|
scale = 1;
|
|
pos[] = {{XY_Scaled(0.01 + 0.00, 0.75 - 0.025)}, 1};
|
|
right[] = {{XY_Scaled(0.01 + 0.06, 0.75 - 0.025)}, 1};
|
|
down[] = {{XY_Scaled(0.01 + 0.00, 0.75 + 0.025)}, 1};
|
|
};
|
|
};
|
|
};
|
|
|
|
|
|
class CollisionLights
|
|
{
|
|
color[] = {0.0, 0.125, 0.1};
|
|
|
|
class Text
|
|
{
|
|
type = text;
|
|
source = static;
|
|
text = "ANTI-COL";
|
|
|
|
align = right;
|
|
scale = 1;
|
|
pos[] = {{XY_Scaled(0.01 + 0.00, 0.80 - 0.025)}, 1};
|
|
right[] = {{XY_Scaled(0.01 + 0.06, 0.80 - 0.025)}, 1};
|
|
down[] = {{XY_Scaled(0.01 + 0.00, 0.80 + 0.025)}, 1};
|
|
};
|
|
|
|
class Highlighted
|
|
{
|
|
condition = collisionlights;
|
|
color[] = {0.0, 0.375, 0.3};
|
|
|
|
class Text
|
|
{
|
|
type = text;
|
|
source = static;
|
|
text = "ANTI-COL";
|
|
|
|
align = right;
|
|
scale = 1;
|
|
pos[] = {{XY_Scaled(0.01 + 0.00, 0.80 - 0.025)}, 1};
|
|
right[] = {{XY_Scaled(0.01 + 0.06, 0.80 - 0.025)}, 1};
|
|
down[] = {{XY_Scaled(0.01 + 0.00, 0.80 + 0.025)}, 1};
|
|
};
|
|
};
|
|
};
|
|
|
|
class RadarTargets
|
|
{
|
|
condition = "1-ils";
|
|
class RadarBoxes
|
|
{
|
|
type=radar;
|
|
pos0[]={__EVAL(PosX0Center),__EVAL(PosY0Center)};
|
|
pos10[]={__EVAL((PosX0Center)+(SizeX10deg)),__EVAL((PosY0Center)+(SizeY10deg))};
|
|
|
|
width = 4;
|
|
points[]={
|
|
POINT2(-0.02,-0.02),
|
|
POINT2(+0.02,-0.02),
|
|
POINT2(+0.02,+0.02),
|
|
POINT2(-0.02,+0.02),
|
|
POINT2(-0.02,-0.02)
|
|
};
|
|
};
|
|
};
|
|
class TargetDiamond
|
|
{
|
|
condition = "1-ils";
|
|
class shape
|
|
{
|
|
type=line;
|
|
width = 4;
|
|
points[]={
|
|
{Target, 1, Limit0109, 1, {XY_Scaled(0.0, -0.03)}, 1},
|
|
{Target, 1, Limit0109, 1, {XY_Scaled(0.03, 0.0)}, 1},
|
|
{Target, 1, Limit0109, 1, {XY_Scaled(0.0, 0.03)}, 1},
|
|
{Target, 1, Limit0109, 1, {XY_Scaled(-0.03, 0.0)}, 1},
|
|
{Target, 1, Limit0109, 1, {XY_Scaled(0.0, -0.03)}, 1}
|
|
};
|
|
};
|
|
};
|
|
// TGP direction pos
|
|
class TargetingPodGroup
|
|
{
|
|
condition = "1-pilotcameralock";
|
|
class TargetingPodDir
|
|
{
|
|
type = line;
|
|
width = 3.0;
|
|
points[] =
|
|
{
|
|
{TargetingPodTarget, 1, {XY_Scaled(0.0, -0.040)}, 1},
|
|
{TargetingPodTarget, 1, {XY_Scaled(0.0, -0.035)}, 1},{},
|
|
{TargetingPodTarget, 1, {XY_Scaled(0.0, -0.030)}, 1},
|
|
{TargetingPodTarget, 1, {XY_Scaled(0.0, -0.025)}, 1},{},
|
|
{TargetingPodTarget, 1, {XY_Scaled(0.0, -0.020)}, 1},
|
|
{TargetingPodTarget, 1, {XY_Scaled(0.0, -0.015)}, 1},{},
|
|
{TargetingPodTarget, 1, {XY_Scaled(0.0, -0.010)}, 1},
|
|
{TargetingPodTarget, 1, {XY_Scaled(0.0, -0.005)}, 1},{},
|
|
{TargetingPodTarget, 1, {XY_Scaled(0.0, 0.040)}, 1},
|
|
{TargetingPodTarget, 1, {XY_Scaled(0.0, 0.035)}, 1},{},
|
|
{TargetingPodTarget, 1, {XY_Scaled(0.0, 0.030)}, 1},
|
|
{TargetingPodTarget, 1, {XY_Scaled(0.0, 0.025)}, 1},{},
|
|
{TargetingPodTarget, 1, {XY_Scaled(0.0, 0.020)}, 1},
|
|
{TargetingPodTarget, 1, {XY_Scaled(0.0, 0.015)}, 1},{},
|
|
{TargetingPodTarget, 1, {XY_Scaled(0.0, 0.010)}, 1},
|
|
{TargetingPodTarget, 1, {XY_Scaled(0.0, 0.005)}, 1},{},
|
|
|
|
{TargetingPodTarget, 1, {XY_Scaled(-0.040, -0.00)}, 1},
|
|
{TargetingPodTarget, 1, {XY_Scaled(-0.035, -0.00)}, 1},{},
|
|
{TargetingPodTarget, 1, {XY_Scaled(-0.030, -0.00)}, 1},
|
|
{TargetingPodTarget, 1, {XY_Scaled(-0.025, -0.00)}, 1},{},
|
|
{TargetingPodTarget, 1, {XY_Scaled(-0.020, -0.00)}, 1},
|
|
{TargetingPodTarget, 1, {XY_Scaled(-0.015, -0.00)}, 1},{},
|
|
{TargetingPodTarget, 1, {XY_Scaled(-0.010, -0.00)}, 1},
|
|
{TargetingPodTarget, 1, {XY_Scaled(-0.005, -0.00)}, 1},{},
|
|
{TargetingPodTarget, 1, {XY_Scaled( 0.040, -0.00)}, 1},
|
|
{TargetingPodTarget, 1, {XY_Scaled( 0.035, -0.00)}, 1},{},
|
|
{TargetingPodTarget, 1, {XY_Scaled( 0.030, 0.00)}, 1},
|
|
{TargetingPodTarget, 1, {XY_Scaled( 0.025, 0.00)}, 1},{},
|
|
{TargetingPodTarget, 1, {XY_Scaled( 0.020, 0.00)}, 1},
|
|
{TargetingPodTarget, 1, {XY_Scaled( 0.015, 0.00)}, 1},{},
|
|
{TargetingPodTarget, 1, {XY_Scaled( 0.010, 0.00)}, 1},
|
|
{TargetingPodTarget, 1, {XY_Scaled( 0.005, 0.00)}, 1},{}
|
|
};
|
|
};
|
|
};
|
|
class TargetingPodGroupOn
|
|
{
|
|
condition = "pilotcameralock";
|
|
class TargetingPodDir
|
|
{
|
|
type = line;
|
|
width = 3.0;
|
|
points[] =
|
|
{
|
|
{TargetingPodTarget, 1, Limit0109, 1, {XY_Scaled(0.0, -0.040)}, 1},
|
|
{TargetingPodTarget, 1, Limit0109, 1, {XY_Scaled(0.0, -0.035)}, 1},{},
|
|
{TargetingPodTarget, 1, Limit0109, 1, {XY_Scaled(0.0, -0.030)}, 1},
|
|
{TargetingPodTarget, 1, Limit0109, 1, {XY_Scaled(0.0, -0.025)}, 1},{},
|
|
{TargetingPodTarget, 1, Limit0109, 1, {XY_Scaled(0.0, -0.020)}, 1},
|
|
{TargetingPodTarget, 1, Limit0109, 1, {XY_Scaled(0.0, -0.015)}, 1},{},
|
|
{TargetingPodTarget, 1, Limit0109, 1, {XY_Scaled(0.0, -0.010)}, 1},
|
|
{TargetingPodTarget, 1, Limit0109, 1, {XY_Scaled(0.0, -0.005)}, 1},{},
|
|
{TargetingPodTarget, 1, Limit0109, 1, {XY_Scaled(0.0, 0.040)}, 1},
|
|
{TargetingPodTarget, 1, Limit0109, 1, {XY_Scaled(0.0, 0.035)}, 1},{},
|
|
{TargetingPodTarget, 1, Limit0109, 1, {XY_Scaled(0.0, 0.030)}, 1},
|
|
{TargetingPodTarget, 1, Limit0109, 1, {XY_Scaled(0.0, 0.025)}, 1},{},
|
|
{TargetingPodTarget, 1, Limit0109, 1, {XY_Scaled(0.0, 0.020)}, 1},
|
|
{TargetingPodTarget, 1, Limit0109, 1, {XY_Scaled(0.0, 0.015)}, 1},{},
|
|
{TargetingPodTarget, 1, Limit0109, 1, {XY_Scaled(0.0, 0.010)}, 1},
|
|
{TargetingPodTarget, 1, Limit0109, 1, {XY_Scaled(0.0, 0.005)}, 1},{},
|
|
|
|
{TargetingPodTarget, 1, Limit0109, 1, {XY_Scaled(-0.040, -0.00)}, 1},
|
|
{TargetingPodTarget, 1, Limit0109, 1, {XY_Scaled(-0.035, -0.00)}, 1},{},
|
|
{TargetingPodTarget, 1, Limit0109, 1, {XY_Scaled(-0.030, -0.00)}, 1},
|
|
{TargetingPodTarget, 1, Limit0109, 1, {XY_Scaled(-0.025, -0.00)}, 1},{},
|
|
{TargetingPodTarget, 1, Limit0109, 1, {XY_Scaled(-0.020, -0.00)}, 1},
|
|
{TargetingPodTarget, 1, Limit0109, 1, {XY_Scaled(-0.015, -0.00)}, 1},{},
|
|
{TargetingPodTarget, 1, Limit0109, 1, {XY_Scaled(-0.010, -0.00)}, 1},
|
|
{TargetingPodTarget, 1, Limit0109, 1, {XY_Scaled(-0.005, -0.00)}, 1},{},
|
|
{TargetingPodTarget, 1, Limit0109, 1, {XY_Scaled( 0.040, -0.00)}, 1},
|
|
{TargetingPodTarget, 1, Limit0109, 1, {XY_Scaled( 0.035, -0.00)}, 1},{},
|
|
{TargetingPodTarget, 1, Limit0109, 1, {XY_Scaled( 0.030, 0.00)}, 1},
|
|
{TargetingPodTarget, 1, Limit0109, 1, {XY_Scaled( 0.025, 0.00)}, 1},{},
|
|
{TargetingPodTarget, 1, Limit0109, 1, {XY_Scaled( 0.020, 0.00)}, 1},
|
|
{TargetingPodTarget, 1, Limit0109, 1, {XY_Scaled( 0.015, 0.00)}, 1},{},
|
|
{TargetingPodTarget, 1, Limit0109, 1, {XY_Scaled( 0.010, 0.00)}, 1},
|
|
{TargetingPodTarget, 1, Limit0109, 1, {XY_Scaled( 0.005, 0.00)}, 1},{}
|
|
};
|
|
};
|
|
};
|
|
|
|
|
|
class Stall
|
|
{
|
|
condition = stall;
|
|
color[] = {1.0, 0.0, 0.0};
|
|
blinkingPattern[] = {0.2, 0.2};
|
|
blinkingStartsOn = true;
|
|
|
|
class Text
|
|
{
|
|
type = text;
|
|
source = static;
|
|
text = "STALL";
|
|
align = center;
|
|
scale = 1;
|
|
pos[] = {{XY_Scaled(0.5 + 0.00, 0.38 - 0.20)}, 1};
|
|
right[] = {{XY_Scaled(0.5 + 0.06, 0.38 - 0.20)}, 1};
|
|
down[] = {{XY_Scaled(0.5 + 0.00, 0.38 - 0.15)}, 1};
|
|
};
|
|
};
|
|
class IncomingMissile: Stall
|
|
{
|
|
condition = incomingmissile;
|
|
class Text: Text
|
|
{
|
|
text = "!INCOMING!";
|
|
pos[] = {{XY_Scaled(0.485 + 0.00, 0.62 - 0.20)}, 1};
|
|
right[] = {{XY_Scaled(0.485 + 0.06, 0.62 - 0.20)}, 1};
|
|
down[] = {{XY_Scaled(0.485 + 0.00, 0.62 - 0.15)}, 1};
|
|
};
|
|
};
|
|
|
|
class Ammo
|
|
{
|
|
type = text;
|
|
source = ammo;
|
|
sourceScale = 1;
|
|
|
|
align = center;
|
|
scale = 1;
|
|
pos[] = {{XY_Scaled(0.5 + 0.00, 0.75 - 0.025)}, 1};
|
|
right[] = {{XY_Scaled(0.5 + 0.06, 0.75 - 0.025)}, 1};
|
|
down[] = {{XY_Scaled(0.5 + 0.00, 0.75 + 0.025)}, 1};
|
|
};
|
|
|
|
class Weapons
|
|
{
|
|
type = text;
|
|
source = weapon;
|
|
sourceScale = 1;
|
|
|
|
align = center;
|
|
scale = 1;
|
|
pos[] = {{XY_Scaled(0.5 + 0.00, 0.80 - 0.025)}, 1};
|
|
right[] = {{XY_Scaled(0.5 + 0.06, 0.80 - 0.025)}, 1};
|
|
down[] = {{XY_Scaled(0.5 + 0.00, 0.80 + 0.025)}, 1};
|
|
};
|
|
class WeaponsLocking
|
|
{
|
|
condition = missilelocking;
|
|
blinkingPattern[] = {0.2, 0.2};
|
|
blinkingStartsOn = true;
|
|
class Text
|
|
{
|
|
type = text;
|
|
source = static;
|
|
text = ">LOCKING<";
|
|
align = center;
|
|
scale = 1;
|
|
pos[] = {{XY_Scaled(0.485 + 0.00, 0.58 - 0.025)}, 1};
|
|
right[] = {{XY_Scaled(0.485 + 0.06, 0.58 - 0.025)}, 1};
|
|
down[] = {{XY_Scaled(0.485 + 0.00, 0.58 + 0.025)}, 1};
|
|
};
|
|
};
|
|
class WeaponsLocked
|
|
{
|
|
condition = missilelocked;
|
|
class Text
|
|
{
|
|
type = text;
|
|
source = static;
|
|
text = "<LOCKED>";
|
|
align = center;
|
|
scale = 1;
|
|
pos[] = {{XY_Scaled(0.485 + 0.00, 0.58 - 0.025)}, 1};
|
|
right[] = {{XY_Scaled(0.485 + 0.06, 0.58 - 0.025)}, 1};
|
|
down[] = {{XY_Scaled(0.485 + 0.00, 0.58 + 0.025)}, 1};
|
|
};
|
|
};
|
|
|
|
class WP
|
|
{
|
|
condition = wpvalid;
|
|
class WPdist
|
|
{
|
|
type = text;
|
|
source = wpdist;
|
|
sourceScale = 0.01;
|
|
|
|
align = left;
|
|
scale = 1;
|
|
pos[] = {{XY_Scaled(0.945 + 0.00, 0.65 - 0.025)}, 1};
|
|
right[] = {{XY_Scaled(0.945 + 0.06, 0.65 - 0.025)}, 1};
|
|
down[] = {{XY_Scaled(0.945 + 0.00, 0.65 + 0.025)}, 1};
|
|
};
|
|
class WPstatic
|
|
{
|
|
type = text;
|
|
source = static;
|
|
text = ">";
|
|
align = center;
|
|
scale = 2;
|
|
pos[] = {{XY_Scaled(0.96 + 0.00, 0.65 - 0.025)}, 1};
|
|
right[] = {{XY_Scaled(0.96 + 0.02, 0.65 - 0.025)}, 1};
|
|
down[] = {{XY_Scaled(0.96 + 0.00, 0.65 + 0.025)}, 1};
|
|
};
|
|
class WPIndex
|
|
{
|
|
type = text;
|
|
source = wpIndex;
|
|
sourceScale = 1;
|
|
|
|
align = right;
|
|
scale = 1;
|
|
pos[] = {{XY_Scaled(0.97 + 0.00, 0.65 - 0.025)}, 1};
|
|
right[] = {{XY_Scaled(0.97 + 0.06, 0.65 - 0.025)}, 1};
|
|
down[] = {{XY_Scaled(0.97 + 0.00, 0.65 + 0.025)}, 1};
|
|
};
|
|
class WP
|
|
{
|
|
type = line;
|
|
points[] =
|
|
{
|
|
{wppoint, 1, Limit0109, 1, {HorizonBankRotFull, +0.015, -0.035}, 1},
|
|
{wppoint, 1, Limit0109, 1, {HorizonBankRotFull, 0.0, 0.0}, 1},
|
|
{wppoint, 1, Limit0109, 1, {HorizonBankRotFull, -0.015, -0.035}, 1}
|
|
};
|
|
};
|
|
};
|
|
|
|
class HeadingScale
|
|
{
|
|
type = scale;
|
|
horizontal = true;
|
|
source = Heading;
|
|
sourceScale = 0.1;
|
|
|
|
top = 0.20;
|
|
center = 0.50;
|
|
bottom = 0.80;
|
|
|
|
lineXleft = __EVAL(0.09 / XtoYscale);
|
|
lineYright = __EVAL(0.08 / XtoYscale);
|
|
lineXleftMajor = __EVAL(0.09 / XtoYscale);
|
|
lineYrightMajor = __EVAL(0.07 / XtoYscale);
|
|
majorLineEach = 5;
|
|
numberEach = 5;
|
|
step = __EVAL(18 / 90);
|
|
StepSize = __EVAL((0.80 - 0.2) / 20);
|
|
|
|
align = center;
|
|
scale = 1;
|
|
pos[] = {XY_Scaled(0.20, 0.0175)};
|
|
right[] = {XY_Scaled(0.26, 0.0175)};
|
|
down[] = {XY_Scaled(0.20, 0.0675)};
|
|
};
|
|
|
|
#define SCALE 0.6
|
|
class ILS
|
|
{
|
|
condition = ils;
|
|
|
|
class Glideslope
|
|
{
|
|
clipTL[] = {0.0,0.0};
|
|
clipBR[] = {1.0,1.0};
|
|
|
|
class ILS
|
|
{
|
|
type = line;
|
|
points[] =
|
|
{
|
|
POINT(ILS_W, -0.4 * SCALE, 0 * SCALE),
|
|
POINT(ILS_W, +0.4 * SCALE, 0 * SCALE),
|
|
{},
|
|
|
|
POINT(ILS_W, -0.4 * SCALE, -0.04 * SCALE),
|
|
POINT(ILS_W, -0.4 * SCALE, +0.04 * SCALE),
|
|
{},
|
|
POINT(ILS_W, -0.2 * SCALE, -0.03 * SCALE),
|
|
POINT(ILS_W, -0.2 * SCALE, +0.03 * SCALE),
|
|
{},
|
|
POINT(ILS_W, 0 * SCALE, -0.04 * SCALE),
|
|
POINT(ILS_W, 0 * SCALE, +0.04 * SCALE),
|
|
{},
|
|
POINT(ILS_W, 0.2 * SCALE, -0.03 * SCALE),
|
|
POINT(ILS_W, 0.2 * SCALE, +0.03 * SCALE),
|
|
{},
|
|
POINT(ILS_W, 0.4 * SCALE, -0.04 * SCALE),
|
|
POINT(ILS_W, 0.4 * SCALE, +0.04 * SCALE),
|
|
{},
|
|
|
|
POINT(ILS_H, 0 * SCALE, -0.4 * SCALE),
|
|
POINT(ILS_H, 0 * SCALE, +0.4 * SCALE),
|
|
{},
|
|
|
|
POINT(ILS_H, -0.04 * SCALE, -0.4 * SCALE),
|
|
POINT(ILS_H, +0.04 * SCALE, -0.4 * SCALE),
|
|
{},
|
|
POINT(ILS_H, -0.03 * SCALE, -0.2 * SCALE),
|
|
POINT(ILS_H, +0.03 * SCALE, -0.2 * SCALE),
|
|
{},
|
|
POINT(ILS_H, -0.04 * SCALE, 0 * SCALE),
|
|
POINT(ILS_H, +0.04 * SCALE, 0 * SCALE),
|
|
{},
|
|
POINT(ILS_H, -0.03 * SCALE, 0.2 * SCALE),
|
|
POINT(ILS_H, +0.03 * SCALE, 0.2 * SCALE),
|
|
{},
|
|
POINT(ILS_H, -0.04 * SCALE, 0.4 * SCALE),
|
|
POINT(ILS_H, +0.04 * SCALE, 0.4 * SCALE)
|
|
};
|
|
};
|
|
class airport
|
|
{
|
|
type = line;
|
|
points[] =
|
|
{
|
|
{airport1,1},{airport2,1},{airport4,1},{airport3,1},{airport1,1}
|
|
};
|
|
};
|
|
};
|
|
};
|
|
class Bomb
|
|
{
|
|
condition = bomb;
|
|
|
|
class Circle
|
|
{
|
|
type = line;
|
|
points[] =
|
|
{
|
|
CIRCLE_BIG(ImpactPoint, 0.1),{},
|
|
CIRCLE_LIMIT(Limit0109, ImpactPoint, 0.02),
|
|
{},
|
|
{Velocity, 0.001, ImpactPoint, 1, Limit0109, 1, {0.0, 0.0}, 1},
|
|
{Velocity, 1, Limit0109, 1, {0.0, 0.0}, 1}
|
|
};
|
|
};
|
|
};
|
|
class MGun
|
|
{
|
|
condition = "mgun";
|
|
|
|
class Circle
|
|
{
|
|
type = line;
|
|
width = 4.0;
|
|
points[] =
|
|
{
|
|
CIRCLE_LIMIT_SPACE(Limit0109, ImpactPoint, 0.02)
|
|
};
|
|
};
|
|
};
|
|
|
|
class AAMissile
|
|
{
|
|
condition = AAmissile;
|
|
|
|
class Circle
|
|
{
|
|
type = line;
|
|
points[] =
|
|
{
|
|
CIRCLE_BIG(center, 0.20)
|
|
};
|
|
};
|
|
};
|
|
|
|
class ATMissile
|
|
{
|
|
condition = ATmissile;
|
|
|
|
class Circle
|
|
{
|
|
type = line;
|
|
points[] =
|
|
{
|
|
CIRCLE_BIG(center, 0.16)
|
|
};
|
|
};
|
|
class Time
|
|
{
|
|
type = line;
|
|
width = 4.0;
|
|
points[] =
|
|
{
|
|
CIRCLE_LOCK_TIME(center, MissileFlightTimeRot, 0.15)
|
|
};
|
|
};
|
|
};
|
|
|
|
class RocketCrosshair
|
|
{
|
|
type = group;
|
|
condition = Rocket;
|
|
|
|
class BombCrosshair
|
|
{
|
|
type = line;
|
|
width = 4.0;
|
|
points[] =
|
|
{
|
|
{Velocity, 0.001, ImpactPoint, 1, Limit0109, 1, {0.0, 0.0}, 1},
|
|
{Velocity, 1, Limit0109, 1, {0.0, 0.0}, 1},{},
|
|
CIRCLE_BIG(ImpactPoint, 0.105)
|
|
|
|
};
|
|
};
|
|
class Time
|
|
{
|
|
type = line;
|
|
width = 6.0;
|
|
points[] =
|
|
{
|
|
CIRCLE_LOCK_TIME(ImpactPoint, MissileFlightTimeRot, 0.10)
|
|
};
|
|
};
|
|
};
|
|
}; |