config.cpp 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351
  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. // TROOPER NCO UNFIORM
  87. // ------------------------------------------------------------------------------------
  88. class MYNOCK_UNIFORM_CLASS(corporal) : RD501_BASE_UNIFORM
  89. {
  90. displayName = "[501st] MYN NCO ARMR 01 (Corporal)";
  91. class ItemInfo : ItemInfo
  92. {
  93. uniformClass = MYNOCK_UNIFORM_SKIN_CLASS(corporal);
  94. };
  95. };
  96. class MYNOCK_UNIFORM_CLASS(scorporal) : RD501_BASE_UNIFORM
  97. {
  98. displayName = "[501st] MYN NCO ARMR 02 (Senior Corporal)";
  99. class ItemInfo : ItemInfo
  100. {
  101. uniformClass = MYNOCK_UNIFORM_SKIN_CLASS(scorporal);
  102. };
  103. };
  104. class MYNOCK_UNIFORM_CLASS(sergeant) : RD501_BASE_UNIFORM
  105. {
  106. displayName = "[501st] MYN NCO ARMR 03 (Sergeant)";
  107. class ItemInfo : ItemInfo
  108. {
  109. uniformClass = MYNOCK_UNIFORM_SKIN_CLASS(sergeant);
  110. };
  111. };
  112. class MYNOCK_UNIFORM_CLASS(ssergeant) : RD501_BASE_UNIFORM
  113. {
  114. displayName = "[501st] MYN NCO ARMR 04 (Senior Sergeant)";
  115. class ItemInfo : ItemInfo
  116. {
  117. uniformClass = MYNOCK_UNIFORM_SKIN_CLASS(ssergeant);
  118. };
  119. };
  120. // ------------------------------------------------------------------------------------
  121. // MEDIC UNFIORM
  122. // ------------------------------------------------------------------------------------
  123. #define MYNOCK_MEDIC_UNIFORM_CLASS(rank) macro_new_uniform_class(501_myn_medic,rank)
  124. #define MYNOCK_MEDIC_UNIFORM_SKIN_CLASS(rank) macro_new_uniform_skin_class(501_myn_medic,rank)
  125. class MYNOCK_MEDIC_UNIFORM_CLASS(cadet) : RD501_BASE_UNIFORM
  126. {
  127. displayName = "[501st] MYN MED ARMR 01 (Cadet)";
  128. class ItemInfo : ItemInfo
  129. {
  130. uniformClass = MYNOCK_MEDIC_UNIFORM_SKIN_CLASS(cadet);
  131. };
  132. };
  133. class MYNOCK_MEDIC_UNIFORM_CLASS(trooper) : RD501_BASE_UNIFORM
  134. {
  135. displayName = "[501st] MYN MED ARMR 02 (Trooper)";
  136. class ItemInfo : ItemInfo
  137. {
  138. uniformClass = MYNOCK_MEDIC_UNIFORM_SKIN_CLASS(trooper);
  139. };
  140. };
  141. class MYNOCK_MEDIC_UNIFORM_CLASS(strooper) : RD501_BASE_UNIFORM
  142. {
  143. displayName = "[501st] MYN MED ARMR 03 (Senior Trooper)";
  144. class ItemInfo : ItemInfo
  145. {
  146. uniformClass = MYNOCK_MEDIC_UNIFORM_SKIN_CLASS(strooper);
  147. };
  148. };
  149. class MYNOCK_MEDIC_UNIFORM_CLASS(vtrooper) : RD501_BASE_UNIFORM
  150. {
  151. displayName = "[501st] MYN MED ARMR 04 (Veteran Trooper)";
  152. class ItemInfo : ItemInfo
  153. {
  154. uniformClass = MYNOCK_MEDIC_UNIFORM_SKIN_CLASS(vtrooper);
  155. };
  156. };
  157. // ------------------------------------------------------------------------------------
  158. // MEDIC NCO UNFIORM
  159. // ------------------------------------------------------------------------------------
  160. class MYNOCK_MEDIC_UNIFORM_CLASS(corporal) : RD501_BASE_UNIFORM
  161. {
  162. displayName = "[501st] MYN MED NCO ARMR 01 (Corporal)";
  163. class ItemInfo : ItemInfo
  164. {
  165. uniformClass = MYNOCK_MEDIC_UNIFORM_SKIN_CLASS(corporal);
  166. };
  167. };
  168. class MYNOCK_MEDIC_UNIFORM_CLASS(scorporal) : RD501_BASE_UNIFORM
  169. {
  170. displayName = "[501st] MYN MED NCO ARMR 02 (Senior Corporal)";
  171. class ItemInfo : ItemInfo
  172. {
  173. uniformClass = MYNOCK_MEDIC_UNIFORM_SKIN_CLASS(scorporal);
  174. };
  175. };
  176. // ------------------------------------------------------------------------------------
  177. // RTO UNFIORM
  178. // ------------------------------------------------------------------------------------
  179. #define MYNOCK_RTO_UNIFORM_CLASS(rank) macro_new_uniform_class(501_myn_rto,rank)
  180. #define MYNOCK_RTO_UNIFORM_SKIN_CLASS(rank) macro_new_uniform_skin_class(501_myn_rto,rank)
  181. class MYNOCK_RTO_UNIFORM_CLASS(cadet) : RD501_BASE_UNIFORM
  182. {
  183. displayName = "[501st] MYN RTO ARMR 01 (Cadet)";
  184. class ItemInfo : ItemInfo
  185. {
  186. uniformClass = MYNOCK_RTO_UNIFORM_SKIN_CLASS(cadet);
  187. };
  188. };
  189. class MYNOCK_RTO_UNIFORM_CLASS(trooper) : RD501_BASE_UNIFORM
  190. {
  191. displayName = "[501st] MYN RTO ARMR 02 (Trooper)";
  192. class ItemInfo : ItemInfo
  193. {
  194. uniformClass = MYNOCK_RTO_UNIFORM_SKIN_CLASS(trooper);
  195. };
  196. };
  197. class MYNOCK_RTO_UNIFORM_CLASS(strooper) : RD501_BASE_UNIFORM
  198. {
  199. displayName = "[501st] MYN RTO ARMR 03 (Senior Trooper)";
  200. class ItemInfo : ItemInfo
  201. {
  202. uniformClass = MYNOCK_RTO_UNIFORM_SKIN_CLASS(strooper);
  203. };
  204. };
  205. class MYNOCK_RTO_UNIFORM_CLASS(vtrooper) : RD501_BASE_UNIFORM
  206. {
  207. displayName = "[501st] MYN RTO ARMR 04 (Veteran Trooper)";
  208. class ItemInfo : ItemInfo
  209. {
  210. uniformClass = MYNOCK_RTO_UNIFORM_SKIN_CLASS(vtrooper);
  211. };
  212. };
  213. // ------------------------------------------------------------------------------------
  214. // RTO NCO UNFIORM
  215. // ------------------------------------------------------------------------------------
  216. class MYNOCK_RTO_UNIFORM_CLASS(corporal) : RD501_BASE_UNIFORM
  217. {
  218. displayName = "[501st] MYN RTO NCO ARMR 01 (Corporal)";
  219. class ItemInfo : ItemInfo
  220. {
  221. uniformClass = MYNOCK_RTO_UNIFORM_SKIN_CLASS(corporal);
  222. };
  223. };
  224. class MYNOCK_RTO_UNIFORM_CLASS(scorporal) : RD501_BASE_UNIFORM
  225. {
  226. displayName = "[501st] MYN RTO NCO ARMR 02 (Senior Corporal)";
  227. class ItemInfo : ItemInfo
  228. {
  229. uniformClass = MYNOCK_RTO_UNIFORM_SKIN_CLASS(scorporal);
  230. };
  231. };
  232. };
  233. class CfgVehicles
  234. {
  235. // ------------------------------------------------------------------------------------
  236. // INHERIT SKINS
  237. // ------------------------------------------------------------------------------------
  238. class B_Soldier_base_f;
  239. class B_Soldier_f : B_Soldier_base_F
  240. {
  241. };
  242. #define RD501_BASE_UNIFORM_SKIN macro_new_uniform_skin_class(501_inf,recruit)
  243. class RD501_BASE_UNIFORM_SKIN : B_Soldier_f
  244. {
  245. };
  246. // ------------------------------------------------------------------------------------
  247. // TROOPER SKINS
  248. // ------------------------------------------------------------------------------------
  249. // MYNOCK_UNIFORM_SKIN_CLASS(rank) macro_new_uniform_skin_class(501_myn,rank)
  250. #define MYNOCK_TEXTURE_UPPER(rank) MYNOCK_TEXTURE(CONCAT_3(mynock,_,CONCAT_3(rank,_,upper)))
  251. #define MYNOCK_TEXTURE_LOWER(rank) MYNOCK_TEXTURE(CONCAT_3(mynock,_,CONCAT_3(rank,_,lower)))
  252. class MYNOCK_UNIFORM_SKIN_CLASS(cadet) : RD501_BASE_UNIFORM_SKIN
  253. {
  254. hiddenSelectionsTextures[] = {MYNOCK_TEXTURE_UPPER(cadet), MYNOCK_TEXTURE_LOWER(cadet)};
  255. };
  256. class MYNOCK_UNIFORM_SKIN_CLASS(trooper) : RD501_BASE_UNIFORM_SKIN
  257. {
  258. hiddenSelectionsTextures[] = {MYNOCK_TEXTURE_UPPER(trooper), MYNOCK_TEXTURE_LOWER(trooper)};
  259. };
  260. class MYNOCK_UNIFORM_SKIN_CLASS(strooper) : RD501_BASE_UNIFORM_SKIN
  261. {
  262. hiddenSelectionsTextures[] = {MYNOCK_TEXTURE_UPPER(strooper), MYNOCK_TEXTURE_LOWER(strooper)};
  263. };
  264. class MYNOCK_UNIFORM_SKIN_CLASS(vtrooper) : RD501_BASE_UNIFORM_SKIN
  265. {
  266. hiddenSelectionsTextures[] = {MYNOCK_TEXTURE_UPPER(vtrooper), MYNOCK_TEXTURE_LOWER(vtrooper)};
  267. };
  268. // ------------------------------------------------------------------------------------
  269. // MEDIC SKINS
  270. // ------------------------------------------------------------------------------------
  271. // MYNOCK_MEDIC_UNIFORM_SKIN_CLASS(rank) macro_new_uniform_skin_class(501_myn_medic,rank)
  272. #define MYNOCK_RTO_TEXTURE_UPPER(rank) MYNOCK_TEXTURE_UPPER(CONCAT_3(medic,_,rank))
  273. #define MYNOCK_RTO_TEXTURE_LOWER(rank) MYNOCK_TEXTURE_LOWER(CONCAT_3(medic,_,rank))
  274. class MYNOCK_MEDIC_UNIFORM_SKIN_CLASS(cadet) : RD501_BASE_UNIFORM_SKIN
  275. {
  276. hiddenSelectionsTextures[] = {MYNOCK_MEDIC_TEXTURE_UPPER(cadet), MYNOCK_MEDIC_TEXTURE_LOWER(cadet)};
  277. };
  278. class MYNOCK_MEDIC_UNIFORM_SKIN_CLASS(trooper) : RD501_BASE_UNIFORM_SKIN
  279. {
  280. hiddenSelectionsTextures[] = {MYNOCK_MEDIC_TEXTURE_UPPER(trooper), MYNOCK_MEDIC_TEXTURE_LOWER(trooper)};
  281. };
  282. class MYNOCK_MEDIC_UNIFORM_SKIN_CLASS(strooper) : RD501_BASE_UNIFORM_SKIN
  283. {
  284. hiddenSelectionsTextures[] = {MYNOCK_MEDIC_TEXTURE_UPPER(strooper), MYNOCK_MEDIC_TEXTURE_LOWER(strooper)};
  285. };
  286. class MYNOCK_MEDIC_UNIFORM_SKIN_CLASS(vtrooper) : RD501_BASE_UNIFORM_SKIN
  287. {
  288. hiddenSelectionsTextures[] = {MYNOCK_MEDIC_TEXTURE_UPPER(vtrooper), MYNOCK_MEDIC_TEXTURE_LOWER(vtrooper)};
  289. };
  290. // ------------------------------------------------------------------------------------
  291. // RTO SKINS
  292. // ------------------------------------------------------------------------------------
  293. // MYNOCK_RTO_UNIFORM_SKIN_CLASS(rank) macro_new_uniform_skin_class(501_myn_rto,rank)
  294. #define MYNOCK_RTO_TEXTURE_UPPER(rank) MYNOCK_TEXTURE_UPPER(CONCAT_3(rto,_,rank))
  295. #define MYNOCK_RTO_TEXTURE_LOWER(rank) MYNOCK_TEXTURE_LOWER(CONCAT_3(rto,_,rank))
  296. class MYNOCK_RTO_UNIFORM_SKIN_CLASS(cadet) : RD501_BASE_UNIFORM_SKIN
  297. {
  298. hiddenSelectionsTextures[] = {MYNOCK_RTO_TEXTURE_UPPER(cadet), MYNOCK_RTO_TEXTURE_LOWER(cadet)};
  299. };
  300. class MYNOCK_RTO_UNIFORM_SKIN_CLASS(trooper) : RD501_BASE_UNIFORM_SKIN
  301. {
  302. hiddenSelectionsTextures[] = {MYNOCK_RTO_TEXTURE_UPPER(trooper), MYNOCK_RTO_TEXTURE_LOWER(trooper)};
  303. };
  304. class MYNOCK_RTO_UNIFORM_SKIN_CLASS(strooper) : RD501_BASE_UNIFORM_SKIN
  305. {
  306. hiddenSelectionsTextures[] = {MYNOCK_RTO_TEXTURE_UPPER(strooper), MYNOCK_RTO_TEXTURE_LOWER(strooper)};
  307. };
  308. class MYNOCK_RTO_UNIFORM_SKIN_CLASS(vtrooper) : RD501_BASE_UNIFORM_SKIN
  309. {
  310. hiddenSelectionsTextures[] = {MYNOCK_RTO_TEXTURE_UPPER(vtrooper), MYNOCK_RTO_TEXTURE_LOWER(vtrooper)};
  311. };
  312. };
  313. class CfgWeapons{
  314. };