config.cpp 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266
  1. #include "../../../../RD501_Main/config_macros.hpp"
  2. #include "../../../config_macros.hpp"
  3. #ifndef CONCAT
  4. #define CONCAT(a,b) a##b
  5. #endif
  6. #ifndef CONCAT_3
  7. #define CONCAT_3(a,b,c) CONCAT(a,CONCAT(b,c))
  8. #endif
  9. #ifndef RD501_TEXTURE
  10. #define RD501_TEXTURE(basePath,fileName) CONCAT(basePath,CONCAT(fileName,.paa))
  11. #endif
  12. #ifndef TEXTUREPATH
  13. #define TEXTUREPATH rd501_units\textures
  14. #endif
  15. //ENSURE MYNOCK_TEXTUREPATH BEGINS AND ENDS WITH TRAILING BACKSLASH OR THAT THE OTHER PATH SEGMENTS DO THE SAME
  16. #define MYNOCK_TEXTUREPATH CONCAT(TEXTUREPATH,\Republic\clones\mynock\)
  17. #define MYNOCK_TEXTURE(fileName) RD501_TEXTURE(MYNOCK_TEXTUREPATH,fileName)
  18. class CfgPatches
  19. {
  20. class macro_patch_name(mynock_uniforms)
  21. {
  22. requiredAddons[] = { };
  23. requiredVersion = 0.1;
  24. };
  25. };
  26. class CfgWeapons
  27. {
  28. // ------------------------------------------------------------------------------------
  29. // INHERIT UNFIORM
  30. // ------------------------------------------------------------------------------------
  31. class Uniform_Base
  32. {
  33. class ItemInfo;
  34. };
  35. class SWOP_Clonetrooper_F_CombatUniform : Uniform_Base
  36. {
  37. class ItemInfo : ItemInfo
  38. {
  39. };
  40. };
  41. #define RD501_BASE_UNIFORM macro_new_uniform_class(501_inf,recruit)
  42. class RD501_BASE_UNIFORM : SWOP_Clonetrooper_F_CombatUniform
  43. {
  44. class ItemInfo : ItemInfo
  45. {
  46. };
  47. };
  48. // ------------------------------------------------------------------------------------
  49. // TROOPER UNFIORM
  50. // ------------------------------------------------------------------------------------
  51. #define MYNOCK_UNIFORM_CLASS(rank) macro_new_uniform_class(501_myn,rank)
  52. #define MYNOCK_UNIFORM_SKIN_CLASS(rank) macro_new_uniform_skin_class(501_myn,rank)
  53. class MYNOCK_UNIFORM_CLASS(cadet) : RD501_BASE_UNIFORM
  54. {
  55. displayName = "[501st] MYN ARMR 01 (Cadet)";
  56. class ItemInfo : ItemInfo
  57. {
  58. uniformClass = MYNOCK_UNIFORM_SKIN_CLASS(cadet);
  59. };
  60. };
  61. class MYNOCK_UNIFORM_CLASS(trooper) : RD501_BASE_UNIFORM
  62. {
  63. displayName = "[501st] MYN ARMR 02 (Trooper)";
  64. class ItemInfo : ItemInfo
  65. {
  66. uniformClass = MYNOCK_UNIFORM_SKIN_CLASS(trooper);
  67. };
  68. };
  69. class MYNOCK_UNIFORM_CLASS(strooper) : RD501_BASE_UNIFORM
  70. {
  71. displayName = "[501st] MYN ARMR 03 (Senior Trooper)";
  72. class ItemInfo : ItemInfo
  73. {
  74. uniformClass = MYNOCK_UNIFORM_SKIN_CLASS(strooper);
  75. };
  76. };
  77. class MYNOCK_UNIFORM_CLASS(vtrooper) : RD501_BASE_UNIFORM
  78. {
  79. displayName = "[501st] MYN ARMR 04 (Veteran Trooper)";
  80. class ItemInfo : ItemInfo
  81. {
  82. uniformClass = MYNOCK_UNIFORM_SKIN_CLASS(vtrooper);
  83. };
  84. };
  85. // ------------------------------------------------------------------------------------
  86. // MEDIC UNFIORM
  87. // ------------------------------------------------------------------------------------
  88. #define MYNOCK_MEDIC_UNIFORM_CLASS(rank) macro_new_uniform_class(501_myn_medic,rank)
  89. #define MYNOCK_MEDIC_UNIFORM_SKIN_CLASS(rank) macro_new_uniform_skin_class(501_myn_medic,rank)
  90. class MYNOCK_MEDIC_UNIFORM_CLASS(cadet) : RD501_BASE_UNIFORM
  91. {
  92. displayName = "[501st] MYN MED ARMR 01 (Cadet)";
  93. class ItemInfo : ItemInfo
  94. {
  95. uniformClass = MYNOCK_MEDIC_UNIFORM_SKIN_CLASS(cadet);
  96. };
  97. };
  98. class MYNOCK_MEDIC_UNIFORM_CLASS(trooper) : RD501_BASE_UNIFORM
  99. {
  100. displayName = "[501st] MYN MED ARMR 02 (Trooper)";
  101. class ItemInfo : ItemInfo
  102. {
  103. uniformClass = MYNOCK_MEDIC_UNIFORM_SKIN_CLASS(trooper);
  104. };
  105. };
  106. class MYNOCK_MEDIC_UNIFORM_CLASS(strooper) : RD501_BASE_UNIFORM
  107. {
  108. displayName = "[501st] MYN MED ARMR 03 (Senior Trooper)";
  109. class ItemInfo : ItemInfo
  110. {
  111. uniformClass = MYNOCK_MEDIC_UNIFORM_SKIN_CLASS(strooper);
  112. };
  113. };
  114. class MYNOCK_MEDIC_UNIFORM_CLASS(vtrooper) : RD501_BASE_UNIFORM
  115. {
  116. displayName = "[501st] MYN MED ARMR 04 (Veteran Trooper)";
  117. class ItemInfo : ItemInfo
  118. {
  119. uniformClass = MYNOCK_UNIFORM_SKIN_CLASS(vtrooper);
  120. };
  121. };
  122. // ------------------------------------------------------------------------------------
  123. // RTO UNFIORM
  124. // ------------------------------------------------------------------------------------
  125. #define MYNOCK_RTO_UNIFORM_CLASS(rank) macro_new_uniform_class(501_myn_rto,rank)
  126. #define MYNOCK_RTO_UNIFORM_SKIN_CLASS(rank) macro_new_uniform_skin_class(501_myn_rto,rank)
  127. class MYNOCK_RTO_UNIFORM_CLASS(cadet) : RD501_BASE_UNIFORM
  128. {
  129. displayName = "[501st] MYN RTO ARMR 01 (Cadet)";
  130. class ItemInfo : ItemInfo
  131. {
  132. uniformClass = MYNOCK_RTO_UNIFORM_SKIN_CLASS(cadet);
  133. };
  134. };
  135. class MYNOCK_RTO_UNIFORM_CLASS(trooper) : RD501_BASE_UNIFORM
  136. {
  137. displayName = "[501st] MYN RTO ARMR 02 (Trooper)";
  138. class ItemInfo : ItemInfo
  139. {
  140. uniformClass = MYNOCK_RTO_UNIFORM_SKIN_CLASS(trooper);
  141. };
  142. };
  143. class MYNOCK_RTO_UNIFORM_CLASS(strooper) : RD501_BASE_UNIFORM
  144. {
  145. displayName = "[501st] MYN RTO ARMR 03 (Senior Trooper)";
  146. class ItemInfo : ItemInfo
  147. {
  148. uniformClass = MYNOCK_RTO_UNIFORM_SKIN_CLASS(strooper);
  149. };
  150. };
  151. class MYNOCK_RTO_UNIFORM_CLASS(vtrooper) : RD501_BASE_UNIFORM
  152. {
  153. displayName = "[501st] MYN RTO ARMR 04 (Veteran Trooper)";
  154. class ItemInfo : ItemInfo
  155. {
  156. uniformClass = MYNOCK_RTO_UNIFORM_SKIN_CLASS(vtrooper);
  157. };
  158. };
  159. };
  160. class CfgVehicles
  161. {
  162. // ------------------------------------------------------------------------------------
  163. // INHERIT SKINS
  164. // ------------------------------------------------------------------------------------
  165. class B_Soldier_base_f;
  166. class B_Soldier_f : B_Soldier_base_F
  167. {
  168. };
  169. #define RD501_BASE_UNIFORM_SKIN macro_new_uniform_skin_class(501_inf,recruit)
  170. class RD501_BASE_UNIFORM_SKIN : B_Soldier_f
  171. {
  172. };
  173. // ------------------------------------------------------------------------------------
  174. // TROOPER SKINS
  175. // ------------------------------------------------------------------------------------
  176. // MYNOCK_UNIFORM_SKIN_CLASS(rank) macro_new_uniform_skin_class(501_myn,rank)
  177. #define MYNOCK_TEXTURE_UPPER(rank) MYNOCK_TEXTURE(CONCAT_3(mynock,_,CONCAT_3(rank,_,upper)))
  178. #define MYNOCK_TEXTURE_LOWER(rank) MYNOCK_TEXTURE(CONCAT_3(mynock,_,CONCAT_3(rank,_,lower)))
  179. class MYNOCK_UNIFORM_SKIN_CLASS(cadet) : RD501_BASE_UNIFORM_SKIN
  180. {
  181. hiddenSelectionsTextures[] = {MYNOCK_TEXTURE_UPPER(cadet), MYNOCK_TEXTURE_LOWER(cadet)};
  182. };
  183. class MYNOCK_UNIFORM_SKIN_CLASS(trooper) : RD501_BASE_UNIFORM_SKIN
  184. {
  185. hiddenSelectionsTextures[] = {MYNOCK_TEXTURE_UPPER(trooper), MYNOCK_TEXTURE_LOWER(trooper)};
  186. };
  187. class MYNOCK_UNIFORM_SKIN_CLASS(strooper) : RD501_BASE_UNIFORM_SKIN
  188. {
  189. hiddenSelectionsTextures[] = {MYNOCK_TEXTURE_UPPER(strooper), MYNOCK_TEXTURE_LOWER(strooper)};
  190. };
  191. class MYNOCK_UNIFORM_SKIN_CLASS(vtrooper) : RD501_BASE_UNIFORM_SKIN
  192. {
  193. hiddenSelectionsTextures[] = {MYNOCK_TEXTURE_UPPER(vtrooper), MYNOCK_TEXTURE_LOWER(vtrooper)};
  194. };
  195. // ------------------------------------------------------------------------------------
  196. // MEDIC SKINS
  197. // ------------------------------------------------------------------------------------
  198. // MYNOCK_MEDIC_UNIFORM_SKIN_CLASS(rank) macro_new_uniform_skin_class(501_myn_medic,rank)
  199. #define MYNOCK_RTO_TEXTURE_UPPER(rank) MYNOCK_TEXTURE_UPPER(CONCAT_3(medic,_,rank))
  200. #define MYNOCK_RTO_TEXTURE_LOWER(rank) MYNOCK_TEXTURE_LOWER(CONCAT_3(medic,_,rank))
  201. class MYNOCK_MEDIC_UNIFORM_SKIN_CLASS(cadet) : RD501_BASE_UNIFORM_SKIN
  202. {
  203. hiddenSelectionsTextures[] = {MYNOCK_MEDIC_TEXTURE_UPPER(cadet), MYNOCK_MEDIC_TEXTURE_LOWER(cadet)};
  204. };
  205. class MYNOCK_MEDIC_UNIFORM_SKIN_CLASS(trooper) : RD501_BASE_UNIFORM_SKIN
  206. {
  207. hiddenSelectionsTextures[] = {MYNOCK_MEDIC_TEXTURE_UPPER(trooper), MYNOCK_MEDIC_TEXTURE_LOWER(trooper)};
  208. };
  209. class MYNOCK_MEDIC_UNIFORM_SKIN_CLASS(strooper) : RD501_BASE_UNIFORM_SKIN
  210. {
  211. hiddenSelectionsTextures[] = {MYNOCK_MEDIC_TEXTURE_UPPER(strooper), MYNOCK_MEDIC_TEXTURE_LOWER(strooper)};
  212. };
  213. class MYNOCK_MEDIC_UNIFORM_SKIN_CLASS(vtrooper) : RD501_BASE_UNIFORM_SKIN
  214. {
  215. hiddenSelectionsTextures[] = {MYNOCK_MEDIC_TEXTURE_UPPER(vtrooper), MYNOCK_MEDIC_TEXTURE_LOWER(vtrooper)};
  216. };
  217. // ------------------------------------------------------------------------------------
  218. // RTO SKINS
  219. // ------------------------------------------------------------------------------------
  220. // MYNOCK_RTO_UNIFORM_SKIN_CLASS(rank) macro_new_uniform_skin_class(501_myn_rto,rank)
  221. #define MYNOCK_RTO_TEXTURE_UPPER(rank) MYNOCK_TEXTURE_UPPER(CONCAT_3(rto,_,rank))
  222. #define MYNOCK_RTO_TEXTURE_LOWER(rank) MYNOCK_TEXTURE_LOWER(CONCAT_3(rto,_,rank))
  223. class MYNOCK_RTO_UNIFORM_SKIN_CLASS(cadet) : RD501_BASE_UNIFORM_SKIN
  224. {
  225. hiddenSelectionsTextures[] = {MYNOCK_RTO_TEXTURE_UPPER(cadet), MYNOCK_RTO_TEXTURE_LOWER(cadet)};
  226. };
  227. class MYNOCK_RTO_UNIFORM_SKIN_CLASS(trooper) : RD501_BASE_UNIFORM_SKIN
  228. {
  229. hiddenSelectionsTextures[] = {MYNOCK_RTO_TEXTURE_UPPER(trooper), MYNOCK_RTO_TEXTURE_LOWER(trooper)};
  230. };
  231. class MYNOCK_RTO_UNIFORM_SKIN_CLASS(strooper) : RD501_BASE_UNIFORM_SKIN
  232. {
  233. hiddenSelectionsTextures[] = {MYNOCK_RTO_TEXTURE_UPPER(strooper), MYNOCK_RTO_TEXTURE_LOWER(strooper)};
  234. };
  235. class MYNOCK_RTO_UNIFORM_SKIN_CLASS(vtrooper) : RD501_BASE_UNIFORM_SKIN
  236. {
  237. hiddenSelectionsTextures[] = {MYNOCK_RTO_TEXTURE_UPPER(vtrooper), MYNOCK_RTO_TEXTURE_LOWER(vtrooper)};
  238. };
  239. };