config.cpp 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433
  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. // ------------------------------------------------------------------------------------
  19. // MYNOCK UNIFORMS CONFIG
  20. // ------------------------------------------------------------------------------------
  21. // As much as you want to put other stuff here, please reconsider your decision.
  22. // Splitting the configs up prevents 20k line long config files for uniforms, and makes it easier to understand whats going on.
  23. class CfgPatches
  24. {
  25. class macro_patch_name(mynock_uniforms)
  26. {
  27. addonRootClass=macro_patch_name(units);
  28. requiredAddons[] =
  29. {
  30. macro_patch_name(units)
  31. };
  32. requiredVersion = 0.1;
  33. };
  34. };
  35. class CfgWeapons
  36. {
  37. // ------------------------------------------------------------------------------------
  38. // INHERIT UNFIORM
  39. // ------------------------------------------------------------------------------------
  40. class Uniform_Base
  41. {
  42. class ItemInfo;
  43. };
  44. class SWOP_Clonetrooper_F_CombatUniform : Uniform_Base
  45. {
  46. class ItemInfo : ItemInfo
  47. {
  48. };
  49. };
  50. #define RD501_BASE_UNIFORM macro_new_uniform_class(501_inf,recruit)
  51. class RD501_BASE_UNIFORM : SWOP_Clonetrooper_F_CombatUniform
  52. {
  53. class ItemInfo : ItemInfo
  54. {
  55. };
  56. };
  57. // ------------------------------------------------------------------------------------
  58. // TROOPER UNFIORM
  59. // ------------------------------------------------------------------------------------
  60. #define MYNOCK_UNIFORM_CLASS(rank) macro_new_uniform_class(501_myn,rank)
  61. #define MYNOCK_UNIFORM_SKIN_CLASS(rank) macro_new_uniform_skin_class(501_myn,rank)
  62. class MYNOCK_UNIFORM_CLASS(cadet) : RD501_BASE_UNIFORM
  63. {
  64. displayName = "[501st] MYN ARMR 01 (Cadet)";
  65. class ItemInfo : ItemInfo
  66. {
  67. uniformClass = MYNOCK_UNIFORM_SKIN_CLASS(cadet);
  68. };
  69. };
  70. class MYNOCK_UNIFORM_CLASS(trooper) : RD501_BASE_UNIFORM
  71. {
  72. displayName = "[501st] MYN ARMR 02 (Trooper)";
  73. class ItemInfo : ItemInfo
  74. {
  75. uniformClass = MYNOCK_UNIFORM_SKIN_CLASS(trooper);
  76. };
  77. };
  78. class MYNOCK_UNIFORM_CLASS(strooper) : RD501_BASE_UNIFORM
  79. {
  80. displayName = "[501st] MYN ARMR 03 (Senior Trooper)";
  81. class ItemInfo : ItemInfo
  82. {
  83. uniformClass = MYNOCK_UNIFORM_SKIN_CLASS(strooper);
  84. };
  85. };
  86. class MYNOCK_UNIFORM_CLASS(vtrooper) : RD501_BASE_UNIFORM
  87. {
  88. displayName = "[501st] MYN ARMR 04 (Veteran Trooper)";
  89. class ItemInfo : ItemInfo
  90. {
  91. uniformClass = MYNOCK_UNIFORM_SKIN_CLASS(vtrooper);
  92. };
  93. };
  94. // ------------------------------------------------------------------------------------
  95. // TROOPER NCO UNFIORM
  96. // ------------------------------------------------------------------------------------
  97. class MYNOCK_UNIFORM_CLASS(corporal) : RD501_BASE_UNIFORM
  98. {
  99. displayName = "[501st] MYN ARMR 06 (Corporal)";
  100. class ItemInfo : ItemInfo
  101. {
  102. uniformClass = MYNOCK_UNIFORM_SKIN_CLASS(corporal);
  103. };
  104. };
  105. class MYNOCK_UNIFORM_CLASS(scorporal) : RD501_BASE_UNIFORM
  106. {
  107. displayName = "[501st] MYN ARMR 07 (Senior Corporal)";
  108. class ItemInfo : ItemInfo
  109. {
  110. uniformClass = MYNOCK_UNIFORM_SKIN_CLASS(scorporal);
  111. };
  112. };
  113. class MYNOCK_UNIFORM_CLASS(sergeant) : RD501_BASE_UNIFORM
  114. {
  115. displayName = "[501st] MYN ARMR 08 (Sergeant)";
  116. class ItemInfo : ItemInfo
  117. {
  118. uniformClass = MYNOCK_UNIFORM_SKIN_CLASS(sergeant);
  119. };
  120. };
  121. class MYNOCK_UNIFORM_CLASS(ssergeant) : RD501_BASE_UNIFORM
  122. {
  123. displayName = "[501st] MYN ARMR 09 (Senior Sergeant)";
  124. class ItemInfo : ItemInfo
  125. {
  126. uniformClass = MYNOCK_UNIFORM_SKIN_CLASS(ssergeant);
  127. };
  128. };
  129. // ------------------------------------------------------------------------------------
  130. // MEDIC UNFIORM
  131. // ------------------------------------------------------------------------------------
  132. #define MYNOCK_MEDIC_UNIFORM_CLASS(rank) macro_new_uniform_class(501_myn_medic,rank)
  133. #define MYNOCK_MEDIC_UNIFORM_SKIN_CLASS(rank) macro_new_uniform_skin_class(501_myn_medic,rank)
  134. class MYNOCK_MEDIC_UNIFORM_CLASS(cadet) : RD501_BASE_UNIFORM
  135. {
  136. displayName = "[501st] MYN MED ARMR 01 (Cadet)";
  137. class ItemInfo : ItemInfo
  138. {
  139. uniformClass = MYNOCK_MEDIC_UNIFORM_SKIN_CLASS(cadet);
  140. };
  141. };
  142. class MYNOCK_MEDIC_UNIFORM_CLASS(trooper) : RD501_BASE_UNIFORM
  143. {
  144. displayName = "[501st] MYN MED ARMR 02 (Trooper)";
  145. class ItemInfo : ItemInfo
  146. {
  147. uniformClass = MYNOCK_MEDIC_UNIFORM_SKIN_CLASS(trooper);
  148. };
  149. };
  150. class MYNOCK_MEDIC_UNIFORM_CLASS(strooper) : RD501_BASE_UNIFORM
  151. {
  152. displayName = "[501st] MYN MED ARMR 03 (Senior Trooper)";
  153. class ItemInfo : ItemInfo
  154. {
  155. uniformClass = MYNOCK_MEDIC_UNIFORM_SKIN_CLASS(strooper);
  156. };
  157. };
  158. class MYNOCK_MEDIC_UNIFORM_CLASS(vtrooper) : RD501_BASE_UNIFORM
  159. {
  160. displayName = "[501st] MYN MED ARMR 04 (Veteran Trooper)";
  161. class ItemInfo : ItemInfo
  162. {
  163. uniformClass = MYNOCK_MEDIC_UNIFORM_SKIN_CLASS(vtrooper);
  164. };
  165. };
  166. // ------------------------------------------------------------------------------------
  167. // MEDIC NCO UNFIORM
  168. // ------------------------------------------------------------------------------------
  169. class MYNOCK_MEDIC_UNIFORM_CLASS(corporal) : RD501_BASE_UNIFORM
  170. {
  171. displayName = "[501st] MYN MED ARMR 05 (Corporal)";
  172. class ItemInfo : ItemInfo
  173. {
  174. uniformClass = MYNOCK_MEDIC_UNIFORM_SKIN_CLASS(corporal);
  175. };
  176. };
  177. class MYNOCK_MEDIC_UNIFORM_CLASS(scorporal) : RD501_BASE_UNIFORM
  178. {
  179. displayName = "[501st] MYN MED ARMR 06 (Senior Corporal)";
  180. class ItemInfo : ItemInfo
  181. {
  182. uniformClass = MYNOCK_MEDIC_UNIFORM_SKIN_CLASS(scorporal);
  183. };
  184. };
  185. // ------------------------------------------------------------------------------------
  186. // RTO UNFIORM
  187. // ------------------------------------------------------------------------------------
  188. #define MYNOCK_RTO_UNIFORM_CLASS(rank) macro_new_uniform_class(501_myn_rto,rank)
  189. #define MYNOCK_RTO_UNIFORM_SKIN_CLASS(rank) macro_new_uniform_skin_class(501_myn_rto,rank)
  190. class MYNOCK_RTO_UNIFORM_CLASS(cadet) : RD501_BASE_UNIFORM
  191. {
  192. displayName = "[501st] MYN RTO ARMR 01 (Cadet)";
  193. class ItemInfo : ItemInfo
  194. {
  195. uniformClass = MYNOCK_RTO_UNIFORM_SKIN_CLASS(cadet);
  196. };
  197. };
  198. class MYNOCK_RTO_UNIFORM_CLASS(trooper) : RD501_BASE_UNIFORM
  199. {
  200. displayName = "[501st] MYN RTO ARMR 02 (Trooper)";
  201. class ItemInfo : ItemInfo
  202. {
  203. uniformClass = MYNOCK_RTO_UNIFORM_SKIN_CLASS(trooper);
  204. };
  205. };
  206. class MYNOCK_RTO_UNIFORM_CLASS(strooper) : RD501_BASE_UNIFORM
  207. {
  208. displayName = "[501st] MYN RTO ARMR 03 (Senior Trooper)";
  209. class ItemInfo : ItemInfo
  210. {
  211. uniformClass = MYNOCK_RTO_UNIFORM_SKIN_CLASS(strooper);
  212. };
  213. };
  214. class MYNOCK_RTO_UNIFORM_CLASS(vtrooper) : RD501_BASE_UNIFORM
  215. {
  216. displayName = "[501st] MYN RTO ARMR 04 (Veteran Trooper)";
  217. class ItemInfo : ItemInfo
  218. {
  219. uniformClass = MYNOCK_RTO_UNIFORM_SKIN_CLASS(vtrooper);
  220. };
  221. };
  222. // ------------------------------------------------------------------------------------
  223. // RTO NCO UNFIORM
  224. // ------------------------------------------------------------------------------------
  225. class MYNOCK_RTO_UNIFORM_CLASS(corporal) : RD501_BASE_UNIFORM
  226. {
  227. displayName = "[501st] MYN RTO ARMR 05 (Corporal)";
  228. class ItemInfo : ItemInfo
  229. {
  230. uniformClass = MYNOCK_RTO_UNIFORM_SKIN_CLASS(corporal);
  231. };
  232. };
  233. class MYNOCK_RTO_UNIFORM_CLASS(scorporal) : RD501_BASE_UNIFORM
  234. {
  235. displayName = "[501st] MYN RTO ARMR 06 (Senior Corporal)";
  236. class ItemInfo : ItemInfo
  237. {
  238. uniformClass = MYNOCK_RTO_UNIFORM_SKIN_CLASS(scorporal);
  239. };
  240. };
  241. };
  242. class CfgVehicles
  243. {
  244. // ------------------------------------------------------------------------------------
  245. // INHERIT SKINS
  246. // ------------------------------------------------------------------------------------
  247. class B_Soldier_base_f;
  248. class B_Soldier_f : B_Soldier_base_F
  249. {
  250. };
  251. #define RD501_BASE_UNIFORM_SKIN macro_new_uniform_skin_class(501_inf,recruit)
  252. class RD501_BASE_UNIFORM_SKIN : B_Soldier_f
  253. {
  254. };
  255. // ------------------------------------------------------------------------------------
  256. // TROOPER SKINS
  257. // ------------------------------------------------------------------------------------
  258. // MYNOCK_UNIFORM_SKIN_CLASS(rank) macro_new_uniform_skin_class(501_myn,rank)
  259. #define MYNOCK_TEXTURE_UPPER(rank) MYNOCK_TEXTURE(CONCAT_3(mynock,_,CONCAT_3(rank,_,upper)))
  260. #define MYNOCK_TEXTURE_LOWER(rank) MYNOCK_TEXTURE(CONCAT_3(mynock,_,CONCAT_3(rank,_,lower)))
  261. class MYNOCK_UNIFORM_SKIN_CLASS(cadet) : RD501_BASE_UNIFORM_SKIN
  262. {
  263. hiddenSelectionsTextures[] = {MYNOCK_TEXTURE_UPPER(cadet), MYNOCK_TEXTURE_LOWER(cadet)};
  264. };
  265. class MYNOCK_UNIFORM_SKIN_CLASS(trooper) : RD501_BASE_UNIFORM_SKIN
  266. {
  267. hiddenSelectionsTextures[] = {MYNOCK_TEXTURE_UPPER(trooper), MYNOCK_TEXTURE_LOWER(trooper)};
  268. };
  269. class MYNOCK_UNIFORM_SKIN_CLASS(strooper) : RD501_BASE_UNIFORM_SKIN
  270. {
  271. hiddenSelectionsTextures[] = {MYNOCK_TEXTURE_UPPER(strooper), MYNOCK_TEXTURE_LOWER(strooper)};
  272. };
  273. class MYNOCK_UNIFORM_SKIN_CLASS(vtrooper) : RD501_BASE_UNIFORM_SKIN
  274. {
  275. hiddenSelectionsTextures[] = {MYNOCK_TEXTURE_UPPER(vtrooper), MYNOCK_TEXTURE_LOWER(vtrooper)};
  276. };
  277. // ------------------------------------------------------------------------------------
  278. // TROOPER NCO SKINS
  279. // ------------------------------------------------------------------------------------
  280. class MYNOCK_UNIFORM_SKIN_CLASS(corporal) : RD501_BASE_UNIFORM_SKIN
  281. {
  282. hiddenSelectionsTextures[] = {MYNOCK_TEXTURE_UPPER(corporal), MYNOCK_TEXTURE_LOWER(corporal)};
  283. };
  284. class MYNOCK_UNIFORM_SKIN_CLASS(scorporal) : RD501_BASE_UNIFORM_SKIN
  285. {
  286. hiddenSelectionsTextures[] = {MYNOCK_TEXTURE_UPPER(scorporal), MYNOCK_TEXTURE_LOWER(scorporal)};
  287. };
  288. class MYNOCK_UNIFORM_SKIN_CLASS(sergeant) : RD501_BASE_UNIFORM_SKIN
  289. {
  290. hiddenSelectionsTextures[] = {MYNOCK_TEXTURE_UPPER(sergeant), MYNOCK_TEXTURE_LOWER(sergeant)};
  291. };
  292. class MYNOCK_UNIFORM_SKIN_CLASS(ssergeant) : RD501_BASE_UNIFORM_SKIN
  293. {
  294. hiddenSelectionsTextures[] = {MYNOCK_TEXTURE_UPPER(ssergeant), MYNOCK_TEXTURE_LOWER(ssergeant)};
  295. };
  296. // ------------------------------------------------------------------------------------
  297. // MEDIC SKINS
  298. // ------------------------------------------------------------------------------------
  299. // MYNOCK_MEDIC_UNIFORM_SKIN_CLASS(rank) macro_new_uniform_skin_class(501_myn_medic,rank)
  300. #define MYNOCK_MEDIC_TEXTURE_UPPER(rank) MYNOCK_TEXTURE_UPPER(CONCAT_3(medic,_,rank))
  301. #define MYNOCK_MEDIC_TEXTURE_LOWER(rank) MYNOCK_TEXTURE_LOWER(CONCAT_3(medic,_,rank))
  302. class MYNOCK_MEDIC_UNIFORM_SKIN_CLASS(cadet) : RD501_BASE_UNIFORM_SKIN
  303. {
  304. hiddenSelectionsTextures[] = {MYNOCK_MEDIC_TEXTURE_UPPER(cadet), MYNOCK_MEDIC_TEXTURE_LOWER(cadet)};
  305. };
  306. class MYNOCK_MEDIC_UNIFORM_SKIN_CLASS(trooper) : RD501_BASE_UNIFORM_SKIN
  307. {
  308. hiddenSelectionsTextures[] = {MYNOCK_MEDIC_TEXTURE_UPPER(trooper), MYNOCK_MEDIC_TEXTURE_LOWER(trooper)};
  309. };
  310. class MYNOCK_MEDIC_UNIFORM_SKIN_CLASS(strooper) : RD501_BASE_UNIFORM_SKIN
  311. {
  312. hiddenSelectionsTextures[] = {MYNOCK_MEDIC_TEXTURE_UPPER(strooper), MYNOCK_MEDIC_TEXTURE_LOWER(strooper)};
  313. };
  314. class MYNOCK_MEDIC_UNIFORM_SKIN_CLASS(vtrooper) : RD501_BASE_UNIFORM_SKIN
  315. {
  316. hiddenSelectionsTextures[] = {MYNOCK_MEDIC_TEXTURE_UPPER(vtrooper), MYNOCK_MEDIC_TEXTURE_LOWER(vtrooper)};
  317. };
  318. // ------------------------------------------------------------------------------------
  319. // MEDIC NCO SKINS
  320. // ------------------------------------------------------------------------------------
  321. class MYNOCK_MEDIC_UNIFORM_SKIN_CLASS(corporal) : RD501_BASE_UNIFORM_SKIN
  322. {
  323. hiddenSelectionsTextures[] = {MYNOCK_MEDIC_TEXTURE_UPPER(corporal), MYNOCK_MEDIC_TEXTURE_LOWER(corporal)};
  324. };
  325. class MYNOCK_MEDIC_UNIFORM_SKIN_CLASS(scorporal) : RD501_BASE_UNIFORM_SKIN
  326. {
  327. hiddenSelectionsTextures[] = {MYNOCK_MEDIC_TEXTURE_UPPER(scorporal), MYNOCK_MEDIC_TEXTURE_LOWER(scorporal)};
  328. };
  329. // ------------------------------------------------------------------------------------
  330. // RTO SKINS
  331. // ------------------------------------------------------------------------------------
  332. // MYNOCK_RTO_UNIFORM_SKIN_CLASS(rank) macro_new_uniform_skin_class(501_myn_rto,rank)
  333. #define MYNOCK_RTO_TEXTURE_UPPER(rank) MYNOCK_TEXTURE_UPPER(CONCAT_3(rto,_,rank))
  334. #define MYNOCK_RTO_TEXTURE_LOWER(rank) MYNOCK_TEXTURE_LOWER(CONCAT_3(rto,_,rank))
  335. class MYNOCK_RTO_UNIFORM_SKIN_CLASS(cadet) : RD501_BASE_UNIFORM_SKIN
  336. {
  337. hiddenSelectionsTextures[] = {MYNOCK_RTO_TEXTURE_UPPER(cadet), MYNOCK_RTO_TEXTURE_LOWER(cadet)};
  338. };
  339. class MYNOCK_RTO_UNIFORM_SKIN_CLASS(trooper) : RD501_BASE_UNIFORM_SKIN
  340. {
  341. hiddenSelectionsTextures[] = {MYNOCK_RTO_TEXTURE_UPPER(trooper), MYNOCK_RTO_TEXTURE_LOWER(trooper)};
  342. };
  343. class MYNOCK_RTO_UNIFORM_SKIN_CLASS(strooper) : RD501_BASE_UNIFORM_SKIN
  344. {
  345. hiddenSelectionsTextures[] = {MYNOCK_RTO_TEXTURE_UPPER(strooper), MYNOCK_RTO_TEXTURE_LOWER(strooper)};
  346. };
  347. class MYNOCK_RTO_UNIFORM_SKIN_CLASS(vtrooper) : RD501_BASE_UNIFORM_SKIN
  348. {
  349. hiddenSelectionsTextures[] = {MYNOCK_RTO_TEXTURE_UPPER(vtrooper), MYNOCK_RTO_TEXTURE_LOWER(vtrooper)};
  350. };
  351. // ------------------------------------------------------------------------------------
  352. // RTO NCO SKINS
  353. // ------------------------------------------------------------------------------------
  354. class MYNOCK_RTO_UNIFORM_SKIN_CLASS(corporal) : RD501_BASE_UNIFORM_SKIN
  355. {
  356. hiddenSelectionsTextures[] = {MYNOCK_RTO_TEXTURE_UPPER(corporal), MYNOCK_RTO_TEXTURE_LOWER(corporal)};
  357. };
  358. class MYNOCK_RTO_UNIFORM_SKIN_CLASS(scorporal) : RD501_BASE_UNIFORM_SKIN
  359. {
  360. hiddenSelectionsTextures[] = {MYNOCK_RTO_TEXTURE_UPPER(scorporal), MYNOCK_RTO_TEXTURE_LOWER(scorporal)};
  361. };
  362. };
  363. class CfgWeapons{
  364. // ------------------------------------------------------------------------------------
  365. // INHERIT PAULDRON
  366. // ------------------------------------------------------------------------------------
  367. // ------------------------------------------------------------------------------------
  368. // TROOPER PAULDRON
  369. // ------------------------------------------------------------------------------------
  370. // ------------------------------------------------------------------------------------
  371. // MEDIC PAULDRON
  372. // ------------------------------------------------------------------------------------
  373. // ------------------------------------------------------------------------------------
  374. // RTO PAULDRON
  375. // ------------------------------------------------------------------------------------
  376. };