config.cpp 16 KB

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