config.cpp 16 KB

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