config.cpp 15 KB

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