Advertisement
Guest User

Untitled

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