Guest User

Untitled

a guest
May 3rd, 2017
148
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #define XtoYscale (SizeX10deg / SizeY10deg)
  2. #define XY_Scaled(xx,yy) __EVAL(xx),__EVAL((yy) / (XtoYscale))
  3.  
  4. #define PI 3.14159265359
  5.  
  6. #define POINT(bone,xx,yy) \
  7. {bone,{__EVAL(xx),__EVAL(yy/(XtoYscale))},1}
  8. #define POINT2(xx,yy) \
  9. {{__EVAL(xx), __EVAL((yy) / (XtoYscale))}, 1}
  10.  
  11. // needs unifying with above one
  12. #define POINT_2B(bone1,bone2,xx,yy) \
  13. {bone1,1,bone2,{__EVAL(xx),__EVAL(yy/(XtoYscale))},1}
  14. #define POINT_1B(bone1,xx,yy) \
  15. {bone1,{__EVAL(xx),__EVAL(yy/(XtoYscale))},1}
  16.  
  17.  
  18.  
  19. // draw circle
  20. // parameters
  21. // bone - bone to which circle will be attached to
  22. // scale - radius of the circle
  23. #define CIRCLE(bone,scale) \
  24. {bone, {0, __EVAL(-1.0000 * scale / XtoYscale)}, 1}, \
  25. {bone, {__EVAL(+0.5000 * scale), __EVAL(-0.8660 * scale / XtoYscale)}, 1}, \
  26. {bone, {__EVAL(+0.8660 * scale), __EVAL(-0.5000 * scale / XtoYscale)}, 1}, \
  27. {bone, {__EVAL(+1.0000 * scale), 0}, 1}, \
  28. {bone, {__EVAL(+0.8660 * scale), __EVAL(+0.5000 * scale / XtoYscale)}, 1}, \
  29. {bone, {__EVAL(+0.5000 * scale), __EVAL(+0.8660 * scale / XtoYscale)}, 1}, \
  30. {bone, {0, __EVAL(+1.0000 * scale / XtoYscale)}, 1}, \
  31. {bone, {__EVAL(-0.5000 * scale), __EVAL(+0.8660 * scale / XtoYscale)}, 1}, \
  32. {bone, {__EVAL(-0.8660 * scale), __EVAL(+0.5000 * scale / XtoYscale)}, 1}, \
  33. {bone, {__EVAL(-1.0000 * scale), 0}, 1}, \
  34. {bone, {__EVAL(-0.8660 * scale), __EVAL(-0.5000 * scale / XtoYscale)}, 1}, \
  35. {bone, {__EVAL(-0.5000 * scale), __EVAL(-0.8660 * scale / XtoYscale)}, 1}, \
  36. {bone, {0, __EVAL(-1.0000 * scale / XtoYscale)}, 1}
  37.  
  38. // draw circle (2 bones)
  39. // parameters
  40. // bone - bone to which circle will be attached to
  41. // limit - second bone, can be used with limit type bones
  42. // scale - radius of the circle
  43. #define CIRCLE_LIMIT(limit,bone,scale) \
  44. {bone, 1, limit, 1, {0, __EVAL(-scale / XtoYscale)}, 1}, \
  45. {bone, 1, limit, 1, {__EVAL(+0.7 * scale), __EVAL(-0.7 * scale / XtoYscale)}, 1}, \
  46. {bone, 1, limit, 1, {+scale, 0}, 1}, \
  47. {bone, 1, limit, 1, {__EVAL(+0.7 * scale), __EVAL(+0.7 * scale / XtoYscale)}, 1}, \
  48. {bone, 1, limit, 1, {0, __EVAL(+scale / XtoYscale)}, 1}, \
  49. {bone, 1, limit, 1, {__EVAL(-0.7 * scale), __EVAL(+0.7 * scale / XtoYscale)}, 1}, \
  50. {bone, 1, limit, 1, {-scale, 0}, 1}, \
  51. {bone, 1, limit, 1, {__EVAL(-0.7 * scale), __EVAL(-0.7 * scale / XtoYscale)}, 1}, \
  52. {bone, 1, limit, 1, {0, __EVAL(-scale / XtoYscale)}, 1}
  53.  
  54. // draw circle - consiting from more points & therefor it's more round
  55. // parameters
  56. // bone - bone to which circle will be attached to
  57. // scale - radius of the circle
  58. #define CIRCLE_BIG(bone,scale) \
  59. {bone, {0, __EVAL(-1.0000 * scale / XtoYscale)}, 1}, \
  60. {bone, {__EVAL(+0.1736 * scale), __EVAL(-0.9848 * scale / XtoYscale)}, 1}, \
  61. {bone, {__EVAL(+0.3420 * scale), __EVAL(-0.9397 * scale / XtoYscale)}, 1}, \
  62. {bone, {__EVAL(+0.5000 * scale), __EVAL(-0.8660 * scale / XtoYscale)}, 1}, \
  63. {bone, {__EVAL(+0.6428 * scale), __EVAL(-0.7660 * scale / XtoYscale)}, 1}, \
  64. {bone, {__EVAL(+0.7660 * scale), __EVAL(-0.6428 * scale / XtoYscale)}, 1}, \
  65. {bone, {__EVAL(+0.8660 * scale), __EVAL(-0.5000 * scale / XtoYscale)}, 1}, \
  66. {bone, {__EVAL(+0.9397 * scale), __EVAL(-0.3420 * scale / XtoYscale)}, 1}, \
  67. {bone, {__EVAL(+0.9848 * scale), __EVAL(-0.1736 * scale / XtoYscale)}, 1}, \
  68. {bone, {__EVAL(+1.0000 * scale), 0}, 1}, \
  69. {bone, {__EVAL(+0.9848 * scale), __EVAL(+0.1736 * scale / XtoYscale)}, 1}, \
  70. {bone, {__EVAL(+0.9397 * scale), __EVAL(+0.3420 * scale / XtoYscale)}, 1}, \
  71. {bone, {__EVAL(+0.8660 * scale), __EVAL(+0.5000 * scale / XtoYscale)}, 1}, \
  72. {bone, {__EVAL(+0.7660 * scale), __EVAL(+0.6428 * scale / XtoYscale)}, 1}, \
  73. {bone, {__EVAL(+0.6428 * scale), __EVAL(+0.7660 * scale / XtoYscale)}, 1}, \
  74. {bone, {__EVAL(+0.5000 * scale), __EVAL(+0.8660 * scale / XtoYscale)}, 1}, \
  75. {bone, {__EVAL(+0.3420 * scale), __EVAL(+0.9397 * scale / XtoYscale)}, 1}, \
  76. {bone, {__EVAL(+0.1736 * scale), __EVAL(+0.9848 * scale / XtoYscale)}, 1}, \
  77. {bone, {0, __EVAL(+1.0000 * scale / XtoYscale)}, 1}, \
  78. {bone, {__EVAL(-0.1736 * scale), __EVAL(+0.9848 * scale / XtoYscale)}, 1}, \
  79. {bone, {__EVAL(-0.3420 * scale), __EVAL(+0.9397 * scale / XtoYscale)}, 1}, \
  80. {bone, {__EVAL(-0.5000 * scale), __EVAL(+0.8660 * scale / XtoYscale)}, 1}, \
  81. {bone, {__EVAL(-0.6428 * scale), __EVAL(+0.7660 * scale / XtoYscale)}, 1}, \
  82. {bone, {__EVAL(-0.7660 * scale), __EVAL(+0.6428 * scale / XtoYscale)}, 1}, \
  83. {bone, {__EVAL(-0.8660 * scale), __EVAL(+0.5000 * scale / XtoYscale)}, 1}, \
  84. {bone, {__EVAL(-0.9397 * scale), __EVAL(+0.3420 * scale / XtoYscale)}, 1}, \
  85. {bone, {__EVAL(-0.9848 * scale), __EVAL(+0.1736 * scale / XtoYscale)}, 1}, \
  86. {bone, {__EVAL(-1.0000 * scale), 0}, 1}, \
  87. {bone, {__EVAL(-0.9848 * scale), __EVAL(-0.1736 * scale / XtoYscale)}, 1}, \
  88. {bone, {__EVAL(-0.9397 * scale), __EVAL(-0.3420 * scale / XtoYscale)}, 1}, \
  89. {bone, {__EVAL(-0.8660 * scale), __EVAL(-0.5000 * scale / XtoYscale)}, 1}, \
  90. {bone, {__EVAL(-0.7660 * scale), __EVAL(-0.6428 * scale / XtoYscale)}, 1}, \
  91. {bone, {__EVAL(-0.6428 * scale), __EVAL(-0.7660 * scale / XtoYscale)}, 1}, \
  92. {bone, {__EVAL(-0.5000 * scale), __EVAL(-0.8660 * scale / XtoYscale)}, 1}, \
  93. {bone, {__EVAL(-0.3420 * scale), __EVAL(-0.9397 * scale / XtoYscale)}, 1}, \
  94. {bone, {__EVAL(-0.1736 * scale), __EVAL(-0.9848 * scale / XtoYscale)}, 1}, \
  95. {bone, {0, __EVAL(-1.0000 * scale / XtoYscale)}, 1}
  96.  
  97.  
  98. // draw circle - consiting from more points & therefor it's more round (2 bones)
  99. // parameters
  100. // bone - bone to which circle will be attached to
  101. // bone2 - second bone, can be used with limit type bones
  102. // scale - radius of the circle
  103. #define CIRCLE_BIG_2B(bone1,bone2,scale) \
  104. {bone1, 1, bone2, {0, __EVAL(-1.0000 * scale / XtoYscale)}, 1}, \
  105. {bone1, 1, bone2, {__EVAL(+0.1736 * scale), __EVAL(-0.9848 * scale / XtoYscale)}, 1}, \
  106. {bone1, 1, bone2, {__EVAL(+0.3420 * scale), __EVAL(-0.9397 * scale / XtoYscale)}, 1}, \
  107. {bone1, 1, bone2, {__EVAL(+0.5000 * scale), __EVAL(-0.8660 * scale / XtoYscale)}, 1}, \
  108. {bone1, 1, bone2, {__EVAL(+0.6428 * scale), __EVAL(-0.7660 * scale / XtoYscale)}, 1}, \
  109. {bone1, 1, bone2, {__EVAL(+0.7660 * scale), __EVAL(-0.6428 * scale / XtoYscale)}, 1}, \
  110. {bone1, 1, bone2, {__EVAL(+0.8660 * scale), __EVAL(-0.5000 * scale / XtoYscale)}, 1}, \
  111. {bone1, 1, bone2, {__EVAL(+0.9397 * scale), __EVAL(-0.3420 * scale / XtoYscale)}, 1}, \
  112. {bone1, 1, bone2, {__EVAL(+0.9848 * scale), __EVAL(-0.1736 * scale / XtoYscale)}, 1}, \
  113. {bone1, 1, bone2, {__EVAL(+1.0000 * scale), 0}, 1}, \
  114. {bone1, 1, bone2, {__EVAL(+0.9848 * scale), __EVAL(+0.1736 * scale / XtoYscale)}, 1}, \
  115. {bone1, 1, bone2, {__EVAL(+0.9397 * scale), __EVAL(+0.3420 * scale / XtoYscale)}, 1}, \
  116. {bone1, 1, bone2, {__EVAL(+0.8660 * scale), __EVAL(+0.5000 * scale / XtoYscale)}, 1}, \
  117. {bone1, 1, bone2, {__EVAL(+0.7660 * scale), __EVAL(+0.6428 * scale / XtoYscale)}, 1}, \
  118. {bone1, 1, bone2, {__EVAL(+0.6428 * scale), __EVAL(+0.7660 * scale / XtoYscale)}, 1}, \
  119. {bone1, 1, bone2, {__EVAL(+0.5000 * scale), __EVAL(+0.8660 * scale / XtoYscale)}, 1}, \
  120. {bone1, 1, bone2, {__EVAL(+0.3420 * scale), __EVAL(+0.9397 * scale / XtoYscale)}, 1}, \
  121. {bone1, 1, bone2, {__EVAL(+0.1736 * scale), __EVAL(+0.9848 * scale / XtoYscale)}, 1}, \
  122. {bone1, 1, bone2, {0, __EVAL(+1.0000 * scale / XtoYscale)}, 1}, \
  123. {bone1, 1, bone2, {__EVAL(-0.1736 * scale), __EVAL(+0.9848 * scale / XtoYscale)}, 1}, \
  124. {bone1, 1, bone2, {__EVAL(-0.3420 * scale), __EVAL(+0.9397 * scale / XtoYscale)}, 1}, \
  125. {bone1, 1, bone2, {__EVAL(-0.5000 * scale), __EVAL(+0.8660 * scale / XtoYscale)}, 1}, \
  126. {bone1, 1, bone2, {__EVAL(-0.6428 * scale), __EVAL(+0.7660 * scale / XtoYscale)}, 1}, \
  127. {bone1, 1, bone2, {__EVAL(-0.7660 * scale), __EVAL(+0.6428 * scale / XtoYscale)}, 1}, \
  128. {bone1, 1, bone2, {__EVAL(-0.8660 * scale), __EVAL(+0.5000 * scale / XtoYscale)}, 1}, \
  129. {bone1, 1, bone2, {__EVAL(-0.9397 * scale), __EVAL(+0.3420 * scale / XtoYscale)}, 1}, \
  130. {bone1, 1, bone2, {__EVAL(-0.9848 * scale), __EVAL(+0.1736 * scale / XtoYscale)}, 1}, \
  131. {bone1, 1, bone2, {__EVAL(-1.0000 * scale), 0}, 1}, \
  132. {bone1, 1, bone2, {__EVAL(-0.9848 * scale), __EVAL(-0.1736 * scale / XtoYscale)}, 1}, \
  133. {bone1, 1, bone2, {__EVAL(-0.9397 * scale), __EVAL(-0.3420 * scale / XtoYscale)}, 1}, \
  134. {bone1, 1, bone2, {__EVAL(-0.8660 * scale), __EVAL(-0.5000 * scale / XtoYscale)}, 1}, \
  135. {bone1, 1, bone2, {__EVAL(-0.7660 * scale), __EVAL(-0.6428 * scale / XtoYscale)}, 1}, \
  136. {bone1, 1, bone2, {__EVAL(-0.6428 * scale), __EVAL(-0.7660 * scale / XtoYscale)}, 1}, \
  137. {bone1, 1, bone2, {__EVAL(-0.5000 * scale), __EVAL(-0.8660 * scale / XtoYscale)}, 1}, \
  138. {bone1, 1, bone2, {__EVAL(-0.3420 * scale), __EVAL(-0.9397 * scale / XtoYscale)}, 1}, \
  139. {bone1, 1, bone2, {__EVAL(-0.1736 * scale), __EVAL(-0.9848 * scale / XtoYscale)}, 1}, \
  140. {bone1, 1, bone2, {0, __EVAL(-1.0000 * scale / XtoYscale)}, 1}
  141.  
  142. // draw circle with spacing
  143. // parameters
  144. // bone - bone to which circle will be attached to
  145. // scale - radius of the circle
  146. #define CIRCLE_SPACE(bone,scale) \
  147. {bone, 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}, \
  148. {bone, 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}, \
  149. {},\
  150. {bone, 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}, \
  151. {bone, 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}, \
  152. {},\
  153. {bone, 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}, \
  154. {bone, 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}, \
  155. {},\
  156. {bone, 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}, \
  157. {bone, 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}, \
  158. {},\
  159. {bone, 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}, \
  160. {bone, 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}, \
  161. {},\
  162. {bone, 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}, \
  163. {bone, 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}, \
  164. {},\
  165. {bone, 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}, \
  166. {bone, 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}, \
  167. {},\
  168. {bone, 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}, \
  169. {bone, 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}, \
  170. {},\
  171. {bone, 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}, \
  172. {bone, 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}, \
  173. {},\
  174. {bone, 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}, \
  175. {bone, 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}, \
  176. {},\
  177. {bone, 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}, \
  178. {bone, 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}, \
  179. {},\
  180. {bone, 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}, \
  181. {bone, 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}, \
  182. {}
  183.  
  184.  
  185. // draw circle with spacing (2 bones)
  186. // parameters
  187. // bone - bone to which circle will be attached to
  188. // bone2 - second bone, can be used with limit type bones
  189. // scale - radius of the circle
  190. #define CIRCLE_SPACE2B(bone,bone2,scale) \
  191. {bone, 1, bone2, 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}, \
  192. {bone, 1, bone2, 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}, \
  193. {},\
  194. {bone, 1, bone2, 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}, \
  195. {bone, 1, bone2, 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}, \
  196. {},\
  197. {bone, 1, bone2, 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}, \
  198. {bone, 1, bone2, 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}, \
  199. {},\
  200. {bone, 1, bone2, 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}, \
  201. {bone, 1, bone2, 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}, \
  202. {},\
  203. {bone, 1, bone2, 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}, \
  204. {bone, 1, bone2, 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}, \
  205. {},\
  206. {bone, 1, bone2, 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}, \
  207. {bone, 1, bone2, 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}, \
  208. {},\
  209. {bone, 1, bone2, 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}, \
  210. {bone, 1, bone2, 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}, \
  211. {},\
  212. {bone, 1, bone2, 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}, \
  213. {bone, 1, bone2, 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}, \
  214. {},\
  215. {bone, 1, bone2, 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}, \
  216. {bone, 1, bone2, 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}, \
  217. {},\
  218. {bone, 1, bone2, 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}, \
  219. {bone, 1, bone2, 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}, \
  220. {},\
  221. {bone, 1, bone2, 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}, \
  222. {bone, 1, bone2, 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}, \
  223. {},\
  224. {bone, 1, bone2, 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}, \
  225. {bone, 1, bone2, 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}, \
  226. {}
  227.  
  228. // needs unifying with above one
  229. #define CIRCLE_LIMIT_SPACE(limit,bone,scale) \
  230. {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}, \
  231. {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}, \
  232. {},\
  233. {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}, \
  234. {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}, \
  235. {},\
  236. {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}, \
  237. {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}, \
  238. {},\
  239. {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}, \
  240. {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}, \
  241. {},\
  242. {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}, \
  243. {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}, \
  244. {},\
  245. {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}, \
  246. {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}, \
  247. {},\
  248. {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}, \
  249. {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}, \
  250. {},\
  251. {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}, \
  252. {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}, \
  253. {},\
  254. {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}, \
  255. {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}, \
  256. {},\
  257. {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}, \
  258. {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}, \
  259. {},\
  260. {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}, \
  261. {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}, \
  262. {},\
  263. {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}, \
  264. {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}, \
  265. {}
  266.  
  267. #define CIRCLE_MIN_RANGE(bone,scale) \
  268. {bone, {0, __EVAL(-1.0000 * scale / XtoYscale)}, 1}, \
  269. {bone, {__EVAL(+0.5000 * scale), __EVAL(-0.8660 * scale / XtoYscale)}, 1}, \
  270. {bone, {__EVAL(+0.8660 * scale), __EVAL(-0.5000 * scale / XtoYscale)}, 1}, \
  271. {bone, {__EVAL(+0.8660 * scale), __EVAL(-0.5000 * scale / XtoYscale)}, 1}, \
  272. {bone, {__EVAL(+1.000 * scale), __EVAL(-0.6000 * scale / XtoYscale)}, 1},
  273.  
  274.  
  275. #define CIRCLE_LOCK_TIME(boneCenter,bone,scale) \
  276. {boneCenter,{0, __EVAL(-0.8000 * scale / XtoYscale)}, 1}, \
  277. {boneCenter,{0, __EVAL(-1.0000 * scale / XtoYscale)}, 1}, \
  278. {bone##1,{0, __EVAL(1.0000 * scale )}, 1, boneCenter, 1}, \
  279. {bone##2,{0, __EVAL(1.0000 * scale )}, 1, boneCenter, 1}, \
  280. {bone##3,{0, __EVAL(1.0000 * scale )}, 1, boneCenter, 1}, \
  281. {bone##4,{0, __EVAL(1.0000 * scale )}, 1, boneCenter, 1}, \
  282. {bone##5,{0, __EVAL(1.0000 * scale )}, 1, boneCenter, 1}, \
  283. {bone##6,{0, __EVAL(1.0000 * scale )}, 1, boneCenter, 1}, \
  284. {bone##7,{0, __EVAL(1.0000 * scale )}, 1, boneCenter, 1}, \
  285. {bone##8,{0, __EVAL(1.0000 * scale )}, 1, boneCenter, 1}, \
  286. {bone##9,{0, __EVAL(1.0000 * scale )}, 1, boneCenter, 1}, \
  287. {bone##10,{0, __EVAL(1.0000 * scale )}, 1, boneCenter, 1}, \
  288. {bone##11,{0, __EVAL(1.0000 * scale )}, 1, boneCenter, 1}, \
  289. {bone##12,{0, __EVAL(1.0000 * scale )}, 1, boneCenter, 1}, \
  290. {bone##13,{0, __EVAL(1.0000 * scale )}, 1, boneCenter, 1}, \
  291. {bone##14,{0, __EVAL(1.0000 * scale )}, 1, boneCenter, 1}, \
  292. {bone##15,{0, __EVAL(1.0000 * scale )}, 1, boneCenter, 1}, \
  293. {bone##16,{0, __EVAL(1.0000 * scale )}, 1, boneCenter, 1}, \
  294. {bone##17,{0, __EVAL(1.0000 * scale )}, 1, boneCenter, 1}, \
  295. {bone##18,{0, __EVAL(1.0000 * scale )}, 1, boneCenter, 1}, \
  296. {bone##19,{0, __EVAL(1.0000 * scale )}, 1, boneCenter, 1}, \
  297. {bone##20,{0, __EVAL(1.0000 * scale )}, 1, boneCenter, 1}, \
  298. {bone##20,{0, __EVAL(0.8000 * scale )}, 1, boneCenter, 1}
  299.  
  300.  
  301. #define CIRCLE_MARK(bone,scaleIn,scaleOut,angle) \
  302. {bone, {__EVAL((scaleIn) * sin(angle)), __EVAL(-(scaleIn) * cos(angle) / XtoYscale)}, 1}, \
  303. {bone, {__EVAL((scaleOut) * sin(angle)), __EVAL(-(scaleOut) * cos(angle) / XtoYscale)}, 1}
  304.  
  305. #define CIRCLE_MARK_2B(bone1,bone2,scaleIn,scaleOut,angle) \
  306. {bone1, 1, {bone2,__EVAL(scaleIn * sin(angle)), __EVAL((-scaleIn * cos(angle)) / XtoYscale)}, 1}, \
  307. {bone1, 1, {bone2,__EVAL(scaleOut * sin(angle)), __EVAL((-scaleOut * cos(angle)) / XtoYscale)}, 1}
  308.  
  309.  
  310. #define CIRCLE_MARK_CENTER(XX,YY,scaleIn,scaleOut,angle) \
  311. {{__EVAL(XX + (scaleIn) * sin(angle)), __EVAL(YY - (scaleIn) * cos(angle) / XtoYscale)}, 1}, \
  312. {{__EVAL(XX + (scaleOut) * sin(angle)), __EVAL(YY - (scaleOut) * cos(angle) / XtoYscale)}, 1}
  313.  
  314. #define POINT_MARK(bone,scaled,angle) \
  315. {bone, {__EVAL((scaled) * sin(angle)), __EVAL(-(scaled) * cos(angle) / XtoYscale)}, 1}
  316.  
  317. #define HUD_TEXT_STATIC(posX,posY,offX,offY,ali,txt,cls) \
  318. class cls \
  319. { \
  320. type = text; \
  321. source = static; \
  322. text = txt; \
  323. scale = 1; \
  324. sourceScale = 1; \
  325. align = ali; \
  326. pos[] = {{posX, __EVAL(posY)}, 1}; \
  327. right[] = {{__EVAL(posX + offX), __EVAL(posY)}, 1}; \
  328. down[] = {{posX, __EVAL(posY + offY)}, 1}; \
  329. };
  330. #define HUD_TEXT_BONE(bone,posX,posY,offX,offY,ali,txt,cls) \
  331. class cls \
  332. { \
  333. type = text; \
  334. source = static; \
  335. text = txt; \
  336. scale = 1; \
  337. sourceScale = 1; \
  338. align = ali; \
  339. pos[] = {bone,1,{posX, __EVAL(posY)}, 1}; \
  340. right[] = {bone,1,{__EVAL(posX + offX), __EVAL(posY)}, 1}; \
  341. down[] = {bone,1,{posX, __EVAL(posY + offY)}, 1}; \
  342. };
  343. #define HUD_TEXT_SOURCE(posX,posY,offX,offY,ali,src,cls) \
  344. class cls \
  345. { \
  346. type = text; \
  347. source = src; \
  348. scale = 1; \
  349. sourceScale = 1; \
  350. align = ali; \
  351. pos[] = {{posX, __EVAL(posY)}, 1}; \
  352. right[] = {{__EVAL(posX + offX), __EVAL(posY)}, 1}; \
  353. down[] = {{posX, __EVAL(posY + offY)}, 1}; \
  354. };
  355. #define HUD_TEXT_SOURCE_INDEX(posX,posY,offX,offY,ali,src,indx,cls) \
  356. class cls \
  357. { \
  358. type = text; \
  359. source = src; \
  360. sourceIndex = indx; \
  361. scale = 1; \
  362. sourceScale = 1; \
  363. align = ali; \
  364. pos[] = {{posX, __EVAL(posY)}, 1}; \
  365. right[] = {{__EVAL(posX + offX), __EVAL(posY)}, 1}; \
  366. down[] = {{posX, __EVAL(posY + offY)}, 1}; \
  367. };
  368.  
  369. #define CIRCLE_POLYGON(bone,sizeIn,STEP_INIT,STEP_SIZE) \
  370. { \
  371. {bone,1,{0,0}, 1}, \
  372. {bone, {__EVAL((sizeIn) * sin(0+STEP_SIZE*(STEP_INIT+0))), __EVAL(-(sizeIn) * cos(0+STEP_SIZE*(STEP_INIT+0)) / XtoYscale)}, 1}, \
  373. {bone, {__EVAL((sizeIn) * sin(0+STEP_SIZE*(STEP_INIT+1))), __EVAL(-(sizeIn) * cos(0+STEP_SIZE*(STEP_INIT+1)) / XtoYscale)}, 1}, \
  374. {bone, {__EVAL((sizeIn) * sin(0+STEP_SIZE*(STEP_INIT+2))), __EVAL(-(sizeIn) * cos(0+STEP_SIZE*(STEP_INIT+2)) / XtoYscale)}, 1}, \
  375. }
  376.  
  377.  
  378. #define Factor 2/3
  379. #define DEF_HORIZONT_SPACING_Plus(XX) \
  380. class LevelP##XX: Level0 \
  381. { \
  382. type = line; \
  383. points[] = \
  384. { \
  385. {LevelP##XX,{-0.22-0.015,0.02},1}, \
  386. {LevelP##XX,{-0.22-0.015,0},1}, \
  387. {LevelP##XX,{-0.06,0},1}, \
  388. {}, \
  389. {LevelP##XX,{ 0.06,0},1}, \
  390. {LevelP##XX,{+0.22+0.015,0},1}, \
  391. {LevelP##XX,{+0.22+0.015,0.02},1} \
  392. }; \
  393. }; \
  394. class VALP_1_##XX \
  395. { \
  396. type = text; \
  397. source = static; \
  398. text = #XX; \
  399. align = left; \
  400. scale = 1; \
  401. sourceScale = 1; \
  402. pos[] = {LevelP##XX,{__EVAL(-0.21 - 0.05),__EVAL(-0.082+0.065)},1}; \
  403. right[] = {LevelP##XX,{__EVAL(-0.15 - 0.05),__EVAL(-0.082+0.065)},1}; \
  404. down[] = {LevelP##XX,{__EVAL(-0.21 - 0.05),__EVAL(-0.032+0.065)},1}; \
  405. }; \
  406. class VALP_1_##XX##_R \
  407. { \
  408. type = text; \
  409. source = static; \
  410. text = #XX; \
  411. align = right; \
  412. scale = 1; \
  413. sourceScale = 1; \
  414. pos[] = {LevelP##XX,{__EVAL( 0.21 + 0.05),__EVAL(-0.082+0.065)},1}; \
  415. right[] = {LevelP##XX,{__EVAL( 0.27 + 0.05),__EVAL(-0.082+0.065)},1}; \
  416. down[] = {LevelP##XX,{__EVAL( 0.21 + 0.05),__EVAL(-0.032+0.065)},1}; \
  417. }
  418.  
  419.  
  420.  
  421. #define DEF_HORIZONT_SPACING_Minus(XX) \
  422. class LevelM##XX: Level0 \
  423. { \
  424. type = line; \
  425. points[] = \
  426. { \
  427. {LevelM##XX,{__EVAL(-0.22-0.015*1),-0.02},1}, \
  428. {LevelM##XX,{__EVAL(-0.22-0.015*1),0},1}, {}, \
  429. {LevelM##XX,{__EVAL(-0.22+0.015*0),0},1}, \
  430. {LevelM##XX,{__EVAL(-0.22+0.015*1),0},1}, {}, \
  431. {LevelM##XX,{__EVAL(-0.22+0.015*2),0},1}, \
  432. {LevelM##XX,{__EVAL(-0.22+0.015*3),0},1}, {}, \
  433. {LevelM##XX,{__EVAL(-0.22+0.015*4),0},1}, \
  434. {LevelM##XX,{__EVAL(-0.22+0.015*5),0},1}, {}, \
  435. {LevelM##XX,{__EVAL(-0.22+0.015*6),0},1}, \
  436. {LevelM##XX,{__EVAL(-0.22+0.015*7),0},1}, {}, \
  437. {LevelM##XX,{__EVAL(-0.22+0.015*8),0},1}, \
  438. {LevelM##XX,{__EVAL(-0.22+0.015*9),0},1}, {}, \
  439. {LevelM##XX,{__EVAL(-0.22+0.015*10),0},1}, \
  440. {LevelM##XX,{__EVAL(-0.22+0.015*11),0},1}, {}, \
  441. {}, \
  442. {LevelM##XX,{__EVAL( 0.22+0.015*1),-0.02},1}, \
  443. {LevelM##XX,{__EVAL( 0.22+0.015*1),0},1}, {}, \
  444. {LevelM##XX,{__EVAL( 0.22-0.015*0),0},1}, \
  445. {LevelM##XX,{__EVAL( 0.22-0.015*1),0},1}, {}, \
  446. {LevelM##XX,{__EVAL( 0.22-0.015*2),0},1}, \
  447. {LevelM##XX,{__EVAL( 0.22-0.015*3),0},1}, {}, \
  448. {LevelM##XX,{__EVAL( 0.22-0.015*4),0},1}, \
  449. {LevelM##XX,{__EVAL( 0.22-0.015*5),0},1}, {}, \
  450. {LevelM##XX,{__EVAL( 0.22-0.015*6),0},1}, \
  451. {LevelM##XX,{__EVAL( 0.22-0.015*7),0},1}, {}, \
  452. {LevelM##XX,{__EVAL( 0.22-0.015*8),0},1}, \
  453. {LevelM##XX,{__EVAL( 0.22-0.015*9),0},1}, {}, \
  454. {LevelM##XX,{__EVAL( 0.22-0.015*10),0},1}, \
  455. {LevelM##XX,{__EVAL( 0.22-0.015*11),0},1}, {}, \
  456. }; \
  457. }; \
  458. class VALM_1_##XX \
  459. { \
  460. type = text; \
  461. source = static; \
  462. text = -##XX; \
  463. align = left; \
  464. scale = 1; \
  465. sourceScale = 1; \
  466. pos[] = {LevelM##XX,{__EVAL(-0.21 - 0.05),__EVAL(-0.082+0.05)},1}; \
  467. right[] = {LevelM##XX,{__EVAL(-0.15 - 0.05),__EVAL(-0.082+0.05)},1}; \
  468. down[] = {LevelM##XX,{__EVAL(-0.21 - 0.05),__EVAL(-0.032+0.05)},1}; \
  469. }; \
  470. class VALM_1_##XX##_R \
  471. { \
  472. type = text; \
  473. source = static; \
  474. text = -##XX; \
  475. align = right; \
  476. scale = 1; \
  477. sourceScale = 1; \
  478. pos[] = {LevelM##XX,{__EVAL( 0.21 + 0.05),__EVAL(-0.082+0.05)},1}; \
  479. right[] = {LevelM##XX,{__EVAL( 0.27 + 0.05),__EVAL(-0.082+0.05)},1}; \
  480. down[] = {LevelM##XX,{__EVAL( 0.21 + 0.05),__EVAL(-0.032+0.05)},1}; \
  481. }
  482.  
  483.  
  484. #define Factor 0.8
  485. #define LADDER_SCALE_Y 40
  486. #define DEF2_HORIZONTPlus_MID(XX) \
  487. class Level2P##XX: Level00 \
  488. { \
  489. type = line; \
  490. points[] = \
  491. { \
  492. {Level0, {__EVAL(-0.300 * Factor),__EVAL( +SizeY10deg / LADDER_SCALE_Y * XX)}, 1}, \
  493. {Level0, {__EVAL(-0.125 * Factor),__EVAL( +SizeY10deg / LADDER_SCALE_Y * XX)}, 1}, {},\
  494. {Level0, {__EVAL( 0.300 * Factor),__EVAL( +SizeY10deg / LADDER_SCALE_Y * XX)}, 1}, \
  495. {Level0, {__EVAL( 0.125 * Factor),__EVAL( +SizeY10deg / LADDER_SCALE_Y * XX)}, 1}, \
  496. }; \
  497. }; \
  498. class VALP2_1_##XX \
  499. { \
  500. type = text; \
  501. source = static; \
  502. text = -XX; \
  503. align = center; \
  504. scale = 1; \
  505. sourceScale = 1; \
  506. pos[] = {Level0, {__EVAL(0.000 * Factor + 0.0), __EVAL(-0.00-0.025 * Factor + SizeY10deg / LADDER_SCALE_Y * XX)}, 1}; \
  507. right[] = {Level0, {__EVAL(0.060 * Factor + 0.0), __EVAL(-0.00-0.025 * Factor + SizeY10deg / LADDER_SCALE_Y * XX)}, 1}; \
  508. down[] = {Level0, {__EVAL(0.000 * Factor + 0.0), __EVAL(-0.00+0.025 * Factor + SizeY10deg / LADDER_SCALE_Y * XX)}, 1}; \
  509. };
  510.  
  511. #define DEF2_HORIZONTMinus_MID(XX) \
  512. class Level2M##XX: Level00 \
  513. { \
  514. type = line; \
  515. points[] = \
  516. { \
  517. {Level0, {__EVAL(-0.300 * Factor),__EVAL( -SizeY10deg / LADDER_SCALE_Y * XX)}, 1}, \
  518. {Level0, {__EVAL(-0.125 * Factor),__EVAL( -SizeY10deg / LADDER_SCALE_Y * XX)}, 1}, {},\
  519. {Level0, {__EVAL( 0.300 * Factor),__EVAL( -SizeY10deg / LADDER_SCALE_Y * XX)}, 1}, \
  520. {Level0, {__EVAL( 0.125 * Factor),__EVAL( -SizeY10deg / LADDER_SCALE_Y * XX)}, 1}, \
  521. }; \
  522. }; \
  523. class VALM2_1_##XX \
  524. { \
  525. type = text; \
  526. source = static; \
  527. text = XX; \
  528. align = center; \
  529. scale = 1; \
  530. sourceScale = 1; \
  531. pos[] = {Level0, {__EVAL(0.000 * Factor + 0.0), __EVAL(-0.00-0.025 * Factor - SizeY10deg / LADDER_SCALE_Y * XX)}, 1}; \
  532. right[] = {Level0, {__EVAL(0.060 * Factor + 0.0), __EVAL(-0.00-0.025 * Factor - SizeY10deg / LADDER_SCALE_Y * XX)}, 1}; \
  533. down[] = {Level0, {__EVAL(0.000 * Factor + 0.0), __EVAL(-0.00+0.025 * Factor - SizeY10deg / LADDER_SCALE_Y * XX)}, 1}; \
  534. };
  535.  
  536.  
  537.  
  538. #define DEF_HORIZONTPlus(XX) \
  539. class LevelP##XX: Level0 \
  540. { \
  541. type = line; \
  542. points[] = \
  543. { \
  544. {LevelP##XX,{-0.20,+0.03},1}, \
  545. {LevelP##XX,{-0.20,0},1}, \
  546. {LevelP##XX,{-0.05,0},1}, \
  547. {}, \
  548. {LevelP##XX,{ 0.05,0},1}, \
  549. {LevelP##XX,{+0.20,0},1}, \
  550. {LevelP##XX,{+0.20,+0.03},1} \
  551. }; \
  552. }; \
  553. class VALP_1_##XX \
  554. { \
  555. type = text; \
  556. source = static; \
  557. text = #XX; \
  558. align = right; \
  559. scale = 1; \
  560. sourceScale = 1; \
  561. pos[] = {LevelP##XX,{__EVAL(-0.23 + 0.05),0.032},1}; \
  562. right[] = {LevelP##XX,{__EVAL(-0.15 + 0.05),0.032},1}; \
  563. down[] = {LevelP##XX,{__EVAL(-0.23 + 0.05),0.082},1}; \
  564. }
  565.  
  566.  
  567.  
  568. #define DEF_HORIZONTMinus(XX) \
  569. class LevelM##XX: Level0 \
  570. { \
  571. type = line; \
  572. points[] = \
  573. { \
  574. {LevelM##XX,{-0.20,__EVAL(XX * 0.001 * (20 - 5) / (20 - 5))},1}, \
  575. {LevelM##XX,{-0.17,__EVAL(XX * 0.001 * (17 - 5) / (20 - 5))},1}, \
  576. {}, \
  577. {LevelM##XX,{-0.14,__EVAL(XX * 0.001 * (14 - 5) / (20 - 5))},1}, \
  578. {LevelM##XX,{-0.11,__EVAL(XX * 0.001 * (11 - 5) / (20 - 5))},1}, \
  579. {}, \
  580. {LevelM##XX,{-0.08,__EVAL(XX * 0.001 * (8 - 5) / (20 - 5))},1}, \
  581. {LevelM##XX,{-0.05,0},1}, \
  582. {LevelM##XX,{-0.05,-0.03},1}, \
  583. {}, \
  584. {LevelM##XX,{+0.05,-0.03},1}, \
  585. {LevelM##XX,{0.05,0},1}, \
  586. {LevelM##XX,{+0.08,__EVAL(XX * 0.001 * (8 - 5) / (20 - 5))},1}, \
  587. {}, \
  588. {LevelM##XX,{+0.11,__EVAL(XX * 0.001 * (11 - 5) / (20 - 5))},1}, \
  589. {LevelM##XX,{+0.14,__EVAL(XX * 0.001 * (14 - 5) / (20 - 5))},1}, \
  590. {}, \
  591. {LevelM##XX,{+0.17,__EVAL(XX * 0.001 * (17 - 5) / (20 - 5))},1}, \
  592. {LevelM##XX,{+0.20,__EVAL(XX * 0.001 * (20 - 5) / (20 - 5))},1} \
  593. }; \
  594. }; \
  595. class VALM_1_##XX \
  596. { \
  597. type = text; \
  598. source = static; \
  599. text = -##XX; \
  600. align = right; \
  601. scale = 1; \
  602. sourceScale = 1; \
  603. pos[] = {LevelM##XX,{__EVAL(-0.23 + 0.05),-0.082},1}; \
  604. right[] = {LevelM##XX,{__EVAL(-0.15 + 0.05),-0.082},1}; \
  605. down[] = {LevelM##XX,{__EVAL(-0.23 + 0.05),-0.032},1}; \
  606. }
RAW Paste Data