GREUH_interface.hpp 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909
  1. // Control types
  2. #define CT_STATIC 0
  3. #define CT_BUTTON 1
  4. #define CT_EDIT 2
  5. #define CT_SLIDER 3
  6. #define CT_COMBO 4
  7. #define CT_LISTBOX 5
  8. #define CT_TOOLBOX 6
  9. #define CT_CHECKBOXES 7
  10. #define CT_PROGRESS 8
  11. #define CT_HTML 9
  12. #define CT_STATIC_SKEW 10
  13. #define CT_ACTIVETEXT 11
  14. #define CT_TREE 12
  15. #define CT_STRUCTURED_TEXT 13
  16. #define CT_CONTEXT_MENU 14
  17. #define CT_CONTROLS_GROUP 15
  18. #define CT_SHORTCUT_BUTTON 16 // Arma 2 - textured button
  19. #define CT_XKEYDESC 40
  20. #define CT_XBUTTON 41
  21. #define CT_XLISTBOX 42
  22. #define CT_XSLIDER 43
  23. #define CT_XCOMBO 44
  24. #define CT_ANIMATED_TEXTURE 45
  25. #define CT_OBJECT 80
  26. #define CT_OBJECT_ZOOM 81
  27. #define CT_OBJECT_CONTAINER 82
  28. #define CT_OBJECT_CONT_ANIM 83
  29. #define CT_LINEBREAK 98
  30. #define CT_USER 99
  31. #define CT_MAP 100
  32. #define CT_MAP_MAIN 101
  33. #define CT_List_N_Box 102 // Arma 2 - N columns list box
  34. // Static styles
  35. #define ST_POS 0x0F
  36. #define ST_HPOS 0x03
  37. #define ST_VPOS 0x0C
  38. #define ST_LEFT 0x00
  39. #define ST_RIGHT 0x01
  40. #define ST_CENTER 0x02
  41. #define ST_DOWN 0x04
  42. #define ST_UP 0x08
  43. #define ST_VCENTER 0x0c
  44. #define CT_MAP_MAIN 101
  45. #define ST_PICTURE 48
  46. #define ST_TYPE 0xF0
  47. #define ST_SINGLE 0
  48. #define ST_MULTI 16
  49. #define ST_TITLE_BAR 32
  50. #define ST_PICTURE 48
  51. #define ST_FRAME 64
  52. #define ST_BACKGROUND 80
  53. #define ST_GROUP_BOX 96
  54. #define ST_GROUP_BOX2 112
  55. #define ST_HUD_BACKGROUND 128
  56. #define ST_TILE_PICTURE 144
  57. #define ST_WITH_RECT 160
  58. #define ST_LINE 176
  59. #define ST_SHADOW 0x100
  60. #define ST_NO_RECT 0x200 // this style works for CT_STATIC in conjunction with ST_MULTI
  61. #define ST_KEEP_ASPECT_RATIO 0x800
  62. #define ST_TITLE ST_TITLE_BAR + ST_CENTER
  63. // Slider styles
  64. #define SL_DIR 0x400
  65. #define SL_VERT 0
  66. #define SL_HORZ 0x400
  67. #define SL_TEXTURES 0x10
  68. // Listbox styles
  69. #define LB_TEXTURES 0x10
  70. #define LB_MULTI 0x20
  71. #define FontM "puristaMedium"
  72. #define COLOR_BROWN { 0.18, 0.14, 0.11, 0.75 }
  73. #define COLOR_GREEN { 0.2, 0.23, 0.18, 0.75 }
  74. #define COLOR_LIGHTGREEN { 0.4, 0.55, 0.36, 0.4 }
  75. #define COLOR_LIGHTGRAY { 0.6, 0.6, 0.6, 0.8 }
  76. #define COLOR_WHITE { 1, 1, 1, 1 }
  77. #define COLOR_NOALPHA { 0, 0, 0, 0 }
  78. #define COLOR_BLUFOR { 0, 0.3, 1, 1 }
  79. #define COLOR_OPFOR { 1, 0, 0, 1 }
  80. #define COLOR_GUER { 0.5, 0.5, 0.5, 0.5 }
  81. #define COLOR_WHITE_TRANSP { 1, 1, 1, 0.5 }
  82. #define COLOR_BLACK { 0, 0, 0, 1 }
  83. #define COLOR_BLACK_ALPHA { 0, 0, 0, 0.85 }
  84. #define COLOR_BLUFOR_NOALPHA { 0, 0, 1, 1 }
  85. #define COLOR_OPFOR_NOALPHA { 1, 0, 0, 1 }
  86. #define COLOR_RED_DISABLED { 1,0,0,0.4 }
  87. #define COLOR_BLEEDOUT { 0.66,0,0,0.8 }
  88. #define COLOR_BRIGHTGREEN { 0.2,1,0.2,1 }
  89. #define BORDERSIZE 0.01
  90. #define BASE_Y 0.075
  91. class RscListBox {
  92. idc = -1;
  93. type = 5;
  94. style = 0 + 0x10;
  95. font = FontM;
  96. sizeEx = 0.018 * safezoneH;
  97. rowHeight = 0.02 * safezoneH;
  98. color[] = COLOR_LIGHTGRAY;
  99. colorText[] = COLOR_WHITE;
  100. colorScrollbar[] = COLOR_BRIGHTGREEN;
  101. colorSelect[] = COLOR_BRIGHTGREEN;
  102. colorSelect2[] = COLOR_BRIGHTGREEN;
  103. colorSelectBackground[] = COLOR_LIGHTGRAY;
  104. colorSelectBackground2[] = COLOR_LIGHTGRAY;
  105. colorActive[] = COLOR_BRIGHTGREEN;
  106. colorDisabled[] = COLOR_GREEN;
  107. columns[] = {0.1, 0.7, 0.1, 0.1};
  108. period = 0;
  109. colorBackground[] = COLOR_GREEN;
  110. maxHistoryDelay = 1.0;
  111. autoScrollSpeed = -1;
  112. autoScrollDelay = 5;
  113. autoScrollRewind = 0;
  114. soundSelect[] = {"\a3\Ui_f\data\Sound\CfgIngameUI\hintExpand", 0.09, 1};
  115. shadow = 2;
  116. class ListScrollBar {
  117. color[] = {1, 1, 1, 0.6};
  118. colorActive[] = {1, 1, 1, 1};
  119. colorDisabled[] = {1, 1, 1, 0.3};
  120. thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa";
  121. arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa";
  122. arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa";
  123. border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa";
  124. };
  125. };
  126. class RscCombo {
  127. idc = -1;
  128. type = 4;
  129. style = 1;
  130. x = 0;
  131. y = 0;
  132. w = 0.3;
  133. h = 0.035;
  134. colorSelect[] = COLOR_BRIGHTGREEN;
  135. colorText[] = COLOR_WHITE;
  136. colorBackground[] = COLOR_GREEN;
  137. colorSelectBackground[] = COLOR_LIGHTGRAY;
  138. colorScrollbar[] = COLOR_BRIGHTGREEN;
  139. arrowEmpty ="\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa";
  140. arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa";
  141. wholeHeight = 0.45;
  142. color[] = COLOR_LIGHTGRAY;
  143. colorActive[] = COLOR_BRIGHTGREEN;
  144. colorDisabled[] = COLOR_GREEN;
  145. font = FontM;
  146. sizeEx = 0.031;
  147. soundSelect[] = {"\a3\Ui_f\data\Sound\CfgIngameUI\hintExpand", 0.09, 1};
  148. soundExpand[] = {"\a3\Ui_f\data\Sound\CfgIngameUI\hintExpand", 0.09, 1};
  149. soundCollapse[] = {"\a3\Ui_f\data\Sound\CfgIngameUI\hintExpand", 0.09, 1};
  150. maxHistoryDelay = 1.0;
  151. class ComboScrollBar {
  152. color[] = {1, 1, 1, 0.6};
  153. colorActive[] = {1, 1, 1, 1};
  154. colorDisabled[] = {1, 1, 1, 0.3};
  155. thumb = "\A3\ui_f\data\gui\cfg\scrollbar\thumb_ca.paa";
  156. arrowEmpty = "\A3\ui_f\data\gui\cfg\scrollbar\arrowEmpty_ca.paa";
  157. arrowFull = "\A3\ui_f\data\gui\cfg\scrollbar\arrowFull_ca.paa";
  158. border = "\A3\ui_f\data\gui\cfg\scrollbar\border_ca.paa";
  159. };
  160. };
  161. class GREUH_Menu {
  162. idd = 5565;
  163. movingEnable = false;
  164. controlsBackground[] = {};
  165. controls[] = {"GREUH_OuterBG", "BgPicture", "GREUH_OuterBG_F","GREUH_InnerBG", "GREUH_InnerBG_F","GREUH_Header","GREUH_SquadLabel",
  166. "GREUH_SquadZone","GREUH_PlatoonLabel","GREUH_ViewDistance","GREUH_WorldQuality",
  167. "GREUH_Close","GREUH_ButtonWorldVeryLow","GREUH_ButtonWorldLow","GREUH_ButtonWorldNormal","GREUH_ButtonWorldHigh",
  168. "GREUH_Slider","GREUH_SliderVD","GREUH_LabelMarkers","GREUH_TeammatesYes","GREUH_TeammatesNo","GREUH_LabelPlatoon",
  169. "GREUH_PlatoonYes","GREUH_PlatoonNo","GREUH_LabelPlatoonActive","GREUH_LabelMarkersActive","GREUH_SquadList",
  170. "GREUH_ButtonJoin","GREUH_ButtonNew","GREUH_ButtonRename","GREUH_PlatoonZone","GREUH_ViewZone","GREUH_WorldZone",
  171. "GREUH_MarkersZone","GREUH_Squad_OuterBG","GREUH_Squad_InnerBG","GREUH_Squad_OuterBG_F","GREUH_Squad_InnerBG_F",
  172. "GREUH_ButtonName_Rename","GREUH_ButtonName_Abort","GREUH_Squad_TextField","GREUH_LabelVD","GREUH_ButtonLeader",
  173. "GREUH_SliderVeh","GREUH_LabelVDVeh","GREUH_SliderVDVeh","GREUH_SliderObj","GREUH_LabelVDObj","GREUH_SliderVDObj",
  174. "GREUH_Leader_OuterBG", "GREUH_Leader_InnerBG", "GREUH_Leader_OuterBG_F", "GREUH_Leader_InnerBG_F",
  175. "GREUH_ButtonLeader_Choose", "GREUH_ButtonLeader_Abort", "GREUH_Squad_Combo", "GREUH_VehSound", "GREUH_SliderVehSound",
  176. "GREUH_LabelVehSound","GREUH_LabelNametags","GREUH_NametagsActive","GREUH_NametagsYes","GREUH_NametagsNo",
  177. "GREUH_FPSLabel","GREUH_FPSEdit"};
  178. objects[] = {};
  179. class BgPicture {
  180. idc = -1;
  181. type = CT_STATIC;
  182. style = ST_PICTURE;
  183. colorText[] = {0.5, 0.4, 0.25, 0.6};
  184. colorBackground[] = {0, 0, 0, 1};
  185. font = FontM;
  186. sizeEx = 0.023;
  187. moving = false;
  188. text = "res\camo03.jpg";
  189. x = (0.15 * safezoneW + safezoneX) - ( 2 * BORDERSIZE);
  190. y = ((BASE_Y + 0.02) * safezoneH) + safezoneY - (3 * BORDERSIZE);
  191. w = (0.2 * safezoneW) + (4 * BORDERSIZE);
  192. h = (0.79 * safezoneH) + (6 * BORDERSIZE);
  193. };
  194. class GREUH_OuterBG {
  195. idc = -1;
  196. type = CT_STATIC;
  197. style = ST_SINGLE;
  198. colorText[] = COLOR_BLACK;
  199. colorBackground[] = COLOR_BROWN;
  200. font = FontM;
  201. sizeEx = 0.023;
  202. x = (0.15 * safezoneW + safezoneX) - ( 2 * BORDERSIZE);
  203. y = ((BASE_Y + 0.02) * safezoneH) + safezoneY - (3 * BORDERSIZE);
  204. w = (0.2 * safezoneW) + (4 * BORDERSIZE);
  205. h = (0.79 * safezoneH) + (6 * BORDERSIZE);
  206. text = "";
  207. };
  208. class GREUH_OuterBG_F : GREUH_OuterBG {
  209. style = ST_FRAME;
  210. };
  211. class GREUH_InnerBG : GREUH_OuterBG {
  212. colorBackground[] = COLOR_GREEN;
  213. x = (0.15 * safezoneW + safezoneX) - ( BORDERSIZE);
  214. y = ((BASE_Y + 0.07) * safezoneH) + safezoneY - (1.5 * BORDERSIZE);
  215. w = 0.2 * safezoneW + (2 * BORDERSIZE);
  216. h = 0.74 * safezoneH + (3 * BORDERSIZE);
  217. };
  218. class GREUH_InnerBG_F : GREUH_InnerBG {
  219. style = ST_FRAME;
  220. };
  221. class GREUH_StdText {
  222. idc = -1;
  223. type = CT_STATIC;
  224. style = ST_LEFT;
  225. colorText[] = COLOR_WHITE;
  226. colorBackground[] = COLOR_NOALPHA;
  227. font = FontM;
  228. sizeEx = 0.02 * safezoneH;
  229. shadow = 2;
  230. };
  231. class GREUH_StdHeader : GREUH_StdText {
  232. style = ST_CENTER;
  233. sizeEx = 0.03 * safezoneH;
  234. };
  235. class GREUH_Header : GREUH_StdHeader {
  236. x = 0.15 * safezoneW + safezoneX - (BORDERSIZE);
  237. y = ((BASE_Y + 0.01) * safezoneH) + safezoneY;
  238. w = 0.2 * safezoneW + ( 2 * BORDERSIZE);
  239. h = 0.05 * safezoneH - (BORDERSIZE);
  240. text = "Extended Options";
  241. colorBackground[] = COLOR_LIGHTGRAY;
  242. };
  243. class GREUH_ButtonGeneric {
  244. idc = -1;
  245. type = CT_BUTTON;
  246. style = ST_CENTER;
  247. default = false;
  248. font = FontM;
  249. sizeEx = 0.018 * safezoneH;
  250. colorText[] = { 0, 0, 0, 1 };
  251. colorFocused[] = { 1, 1, 1, 1 };
  252. colorDisabled[] = { 0.2, 0.2, 0.2, 0.7 };
  253. colorBackground[] = { 0.8, 0.8, 0.8, 0.8 };
  254. colorBackgroundDisabled[] = { 0.5, 0.5, 0.5, 0.5 };
  255. colorBackgroundActive[] = { 1, 1, 1, 1 };
  256. offsetX = 0.003;
  257. offsetY = 0.003;
  258. offsetPressedX = 0.002;
  259. offsetPressedY = 0.002;
  260. colorShadow[] = { 0, 0, 0, 0.5 };
  261. colorBorder[] = { 0, 0, 0, 1 };
  262. borderSize = 0;
  263. soundEnter[] = { "", 0, 1 }; // no sound
  264. soundPush[] = {"\a3\Ui_f\data\Sound\CfgIngameUI\hintExpand", 0.891251, 1};
  265. soundClick[] = { "", 0, 1 }; // no sound
  266. soundEscape[] = { "", 0, 1 }; // no sound
  267. x = 0.15 * safezoneW + safezoneX;
  268. w = 0.2 * safezoneW; h = 0.03 * safezoneH;
  269. text = "";
  270. action = "";
  271. shadow = 1;
  272. };
  273. class GREUH_Label : GREUH_StdHeader {
  274. x = 0.15 * safezoneW + safezoneX;
  275. w = 0.2 * safezoneW;
  276. h = 0.03 * safezoneH;
  277. sizeEx = 0.02 * safezoneH;
  278. colorBackground[] = COLOR_LIGHTGREEN;
  279. };
  280. class GREUH_DefaultZone : GREUH_StdText {
  281. style = ST_CENTER;
  282. x = 0.15 * safezoneW + safezoneX;
  283. w = 0.2 * safezoneW;
  284. colorText[] = COLOR_LIGHTGRAY;
  285. colorBackground[] = COLOR_RED_DISABLED;
  286. text = "- disabled -";
  287. };
  288. class GREUH_RegularLabel : GREUH_Label {
  289. colorBackground[] = COLOR_NOALPHA;
  290. style = ST_LEFT;
  291. };
  292. class GREUH_Close : GREUH_ButtonGeneric {
  293. idc = 6677;
  294. x = 0.335 * safezoneW + safezoneX;
  295. w = 0.015 * safezoneW; h = 0.02 * safezoneH;
  296. y = ((BASE_Y + 0.015) * safezoneH) + safezoneY;
  297. text = "X";
  298. action = "closeDialog 0";
  299. };
  300. class GREUH_SquadZone : GREUH_DefaultZone {
  301. idc = 501;
  302. y = ((BASE_Y + 0.11) * safezoneH) + safezoneY;
  303. h = (0.2 * safezoneH) - (2 * BORDERSIZE);
  304. };
  305. class GREUH_SquadLabel : GREUH_Label {
  306. idc = 510;
  307. y = ((BASE_Y + 0.07) * safezoneH) + safezoneY;
  308. text = "Squad Management";
  309. };
  310. class GREUH_SquadList : RscListBox {
  311. idc = 515;
  312. x = 0.15 * safezoneW + safezoneX;
  313. w = 0.15 * safezoneW;
  314. y = ((BASE_Y + 0.11) * safezoneH) + safezoneY;
  315. h = (0.2 * safezoneH) - (2 * BORDERSIZE);
  316. };
  317. class GREUH_ButtonSquad : GREUH_ButtonGeneric {
  318. x = 0.3 * safezoneW + safezoneX + BORDERSIZE;
  319. w = ((0.2 * safezoneW) / 4) - BORDERSIZE;
  320. };
  321. class GREUH_ButtonJoin : GREUH_ButtonSquad {
  322. idc = 511;
  323. text = "Join";
  324. action = "squadaction = 'join';";
  325. y = ((BASE_Y + 0.11) * safezoneH) + safezoneY;
  326. };
  327. class GREUH_ButtonNew : GREUH_ButtonSquad {
  328. idc = 512;
  329. text = "Create";
  330. action = "squadaction = 'create';";
  331. y = ((BASE_Y + 0.15) * safezoneH) + safezoneY;
  332. };
  333. class GREUH_ButtonRename : GREUH_ButtonSquad {
  334. idc = 513;
  335. text = "Rename";
  336. action = "squadaction = 'rename';";
  337. y = ((BASE_Y + 0.19) * safezoneH) + safezoneY;
  338. };
  339. class GREUH_ButtonLeader : GREUH_ButtonSquad {
  340. idc = 514;
  341. text = "Leader";
  342. action = "squadaction = 'leader';";
  343. y = ((BASE_Y + 0.23) * safezoneH) + safezoneY;
  344. };
  345. class GREUH_Squad_OuterBG : GREUH_OuterBG {
  346. idc = 521;
  347. style = ST_SINGLE;
  348. x = (0.37 * safezoneW + safezoneX) - (BORDERSIZE);
  349. y = ((BASE_Y + 0.18) * safezoneH) + safezoneY - (1.5 * BORDERSIZE);
  350. w = 0.2 * safezoneW + (2 * BORDERSIZE);
  351. h = 0.05 * safezoneH + (3 * BORDERSIZE);
  352. };
  353. class GREUH_Squad_InnerBG : GREUH_OuterBG {
  354. idc = 522;
  355. colorBackground[] = COLOR_GREEN;
  356. x = (0.37 * safezoneW + safezoneX);
  357. y = ((BASE_Y + 0.18) * safezoneH) + safezoneY;
  358. w = 0.2 * safezoneW;
  359. h = 0.05 * safezoneH;
  360. };
  361. class GREUH_Squad_OuterBG_F : GREUH_Squad_OuterBG {
  362. idc = 523;
  363. style = ST_FRAME;
  364. };
  365. class GREUH_Squad_InnerBG_F : GREUH_Squad_InnerBG {
  366. idc = 524;
  367. style = ST_FRAME;
  368. };
  369. class GREUH_ButtonName : GREUH_ButtonGeneric {
  370. w = ((0.2 * safezoneW) / 5) - BORDERSIZE;
  371. y = ((BASE_Y + 0.19) * safezoneH) + safezoneY;
  372. };
  373. class GREUH_ButtonName_Rename : GREUH_ButtonName {
  374. idc = 525;
  375. x = 0.4875 * safezoneW + safezoneX;
  376. text = "Rename";
  377. action = "squadname = ctrlText 527;";
  378. };
  379. class GREUH_ButtonName_Abort : GREUH_ButtonName {
  380. idc = 526;
  381. x = (0.4875 * safezoneW + safezoneX) + ((0.2 * safezoneW) / 5);
  382. text = "Cancel";
  383. action = "squadaction = '';";
  384. };
  385. class GREUH_Squad_TextField : GREUH_ButtonName {
  386. idc = 527;
  387. type = CT_EDIT;
  388. style = ST_LEFT;
  389. x = (0.37 * safezoneW + safezoneX) + BORDERSIZE;
  390. w = 0.11 * safezoneW;
  391. text = "";
  392. action = "";
  393. colorText[] = COLOR_WHITE;
  394. colorSelection[] = COLOR_BRIGHTGREEN;
  395. autocomplete = "";
  396. };
  397. class GREUH_Leader_OuterBG : GREUH_OuterBG {
  398. idc = 561;
  399. style = ST_SINGLE;
  400. x = (0.37 * safezoneW + safezoneX) - (BORDERSIZE);
  401. y = ((BASE_Y + 0.22) * safezoneH) + safezoneY - (1.5 * BORDERSIZE);
  402. w = 0.2 * safezoneW + (2 * BORDERSIZE);
  403. h = 0.05 * safezoneH + (3 * BORDERSIZE);
  404. };
  405. class GREUH_Leader_InnerBG : GREUH_OuterBG {
  406. idc = 562;
  407. colorBackground[] = COLOR_GREEN;
  408. x = (0.37 * safezoneW + safezoneX);
  409. y = ((BASE_Y + 0.22) * safezoneH) + safezoneY;
  410. w = 0.2 * safezoneW;
  411. h = 0.05 * safezoneH;
  412. };
  413. class GREUH_Leader_OuterBG_F : GREUH_Leader_OuterBG {
  414. idc = 563;
  415. style = ST_FRAME;
  416. };
  417. class GREUH_Leader_InnerBG_F : GREUH_Leader_InnerBG {
  418. idc = 564;
  419. style = ST_FRAME;
  420. };
  421. class GREUH_ButtonLeaderGen : GREUH_ButtonGeneric {
  422. w = ((0.2 * safezoneW) / 5) - BORDERSIZE;
  423. y = ((BASE_Y + 0.23) * safezoneH) + safezoneY;
  424. };
  425. class GREUH_ButtonLeader_Choose : GREUH_ButtonLeaderGen {
  426. idc = 565;
  427. x = 0.4875 * safezoneW + safezoneX;
  428. text = "Choose";
  429. action = "choose_squadleader = lbCurSel 567;";
  430. };
  431. class GREUH_ButtonLeader_Abort : GREUH_ButtonLeaderGen {
  432. idc = 566;
  433. x = (0.4875 * safezoneW + safezoneX) + ((0.2 * safezoneW) / 5);
  434. text = "Cancel";
  435. action = "squadaction = ''";
  436. };
  437. class GREUH_Squad_Combo : RscCombo {
  438. idc = 567;
  439. x = (0.37 * safezoneW + safezoneX) + BORDERSIZE;
  440. w = 0.11 * safezoneW;
  441. y = ((BASE_Y + 0.23) * safezoneH) + safezoneY;
  442. h = 0.03 * safezoneH;
  443. };
  444. class GREUH_PlatoonZone : GREUH_DefaultZone {
  445. idc = 601;
  446. y = ((BASE_Y + 0.35) * safezoneH) + safezoneY;
  447. h = (0.04 * safezoneH) - (2 * BORDERSIZE);
  448. };
  449. class GREUH_PlatoonLabel : GREUH_Label {
  450. idc = 610;
  451. y = ((BASE_Y + 0.31) * safezoneH) + safezoneY;
  452. text = "Platoon & Squad Awareness";
  453. };
  454. class GREUH_LabelPlatoon : GREUH_RegularLabel {
  455. idc = 611;
  456. y = ((BASE_Y + 0.35) * safezoneH) + safezoneY;
  457. text = "Show platoon overlay : ";
  458. };
  459. class GREUH_LabelPlatoonActive : GREUH_RegularLabel {
  460. idc = 612;
  461. style = ST_RIGHT;
  462. colorText[] = COLOR_BRIGHTGREEN;
  463. text = "active";
  464. x = 0.2 * safezoneW + safezoneX;
  465. w = 0.1 * safezoneW;
  466. y = ((BASE_Y + 0.35) * safezoneH) + safezoneY;
  467. };
  468. class GREUH_PlatoonYes : GREUH_ButtonGeneric {
  469. idc = 613;
  470. w = ((0.08 * safezoneW) / 4);
  471. y = ((BASE_Y + 0.35) * safezoneH) + safezoneY;
  472. x = 0.305 * safezoneW + safezoneX;
  473. text = "Yes";
  474. action = "show_platoon = true";
  475. };
  476. class GREUH_PlatoonNo : GREUH_ButtonGeneric {
  477. idc = 614;
  478. w = ((0.08 * safezoneW) / 4);
  479. y = ((BASE_Y + 0.35) * safezoneH) + safezoneY;
  480. x = (0.32 + BORDERSIZE) * safezoneW + safezoneX;
  481. text = "No";
  482. action = "show_platoon = false";
  483. };
  484. class GREUH_ViewZone : GREUH_DefaultZone {
  485. idc = 701;
  486. y = ((BASE_Y + 0.51) * safezoneH) + safezoneY;
  487. h = (0.04 * safezoneH) - (2 * BORDERSIZE);
  488. };
  489. class GREUH_ViewDistance : GREUH_Label {
  490. idc = 711;
  491. y = ((BASE_Y + 0.47) * safezoneH) + safezoneY;
  492. text = "Adjust View Distance";
  493. };
  494. class GREUH_Slider {
  495. idc = 712;
  496. type = CT_SLIDER;
  497. style = SL_HORZ;
  498. x = 0.19 * safezoneW + safezoneX;
  499. w = 0.12 * safezoneW;
  500. y = ((BASE_Y + 0.515) * safezoneH) + safezoneY;
  501. h = 0.025 * safezoneH;
  502. text = "View Distance";
  503. color[] = { 1, 1, 1, 1 };
  504. coloractive[] = { 1, 1, 1, 1 };
  505. onSliderPosChanged = "desiredviewdistance_inf = (sliderPosition 712)";
  506. };
  507. class GREUH_SliderVD : GREUH_Label {
  508. idc = 713;
  509. style = ST_LEFT;
  510. x = 0.31 * safezoneW + safezoneX;
  511. w = 0.05 * safezoneW;
  512. y = ((BASE_Y + 0.505) * safezoneH) + safezoneY;
  513. h = 0.03 * safezoneH;
  514. colorBackground[] = COLOR_NOALPHA;
  515. text = "";
  516. };
  517. class GREUH_LabelVD : GREUH_Label {
  518. idc = 714;
  519. style = ST_LEFT;
  520. x = 0.15 * safezoneW + safezoneX;
  521. w = 0.05 * safezoneW;
  522. y = ((BASE_Y + 0.505) * safezoneH) + safezoneY;
  523. h = 0.03 * safezoneH;
  524. colorBackground[] = COLOR_NOALPHA;
  525. text = "Infantry";
  526. };
  527. class GREUH_SliderVeh {
  528. idc = 722;
  529. type = CT_SLIDER;
  530. style = SL_HORZ;
  531. x = 0.19 * safezoneW + safezoneX;
  532. w = 0.12 * safezoneW;
  533. y = ((BASE_Y + 0.545) * safezoneH) + safezoneY;
  534. h = 0.025 * safezoneH;
  535. text = "View Distance";
  536. color[] = { 1, 1, 1, 1 };
  537. coloractive[] = { 1, 1, 1, 1 };
  538. onSliderPosChanged = "desiredviewdistance_veh = (sliderPosition 722)";
  539. };
  540. class GREUH_SliderVDVeh : GREUH_Label {
  541. idc = 723;
  542. style = ST_LEFT;
  543. x = 0.31 * safezoneW + safezoneX;
  544. w = 0.05 * safezoneW;
  545. y = ((BASE_Y + 0.535) * safezoneH) + safezoneY;
  546. h = 0.03 * safezoneH;
  547. colorBackground[] = COLOR_NOALPHA;
  548. text = "";
  549. };
  550. class GREUH_LabelVDVeh : GREUH_Label {
  551. idc = 724;
  552. style = ST_LEFT;
  553. x = 0.15 * safezoneW + safezoneX;
  554. w = 0.05 * safezoneW;
  555. y = ((BASE_Y + 0.535) * safezoneH) + safezoneY;
  556. h = 0.03 * safezoneH;
  557. colorBackground[] = COLOR_NOALPHA;
  558. text = "Vehicles";
  559. };
  560. class GREUH_SliderObj {
  561. idc = 732;
  562. type = CT_SLIDER;
  563. style = SL_HORZ;
  564. x = 0.19 * safezoneW + safezoneX;
  565. w = 0.12 * safezoneW;
  566. y = ((BASE_Y + 0.575) * safezoneH) + safezoneY;
  567. h = 0.025 * safezoneH;
  568. text = "View Distance";
  569. color[] = { 1, 1, 1, 1 };
  570. coloractive[] = { 1, 1, 1, 1 };
  571. onSliderPosChanged = "desiredviewdistance_obj = (sliderPosition 732)";
  572. };
  573. class GREUH_SliderVDObj : GREUH_Label {
  574. idc = 733;
  575. style = ST_LEFT;
  576. x = 0.31 * safezoneW + safezoneX;
  577. w = 0.05 * safezoneW;
  578. y = ((BASE_Y + 0.565) * safezoneH) + safezoneY;
  579. h = 0.03 * safezoneH;
  580. colorBackground[] = COLOR_NOALPHA;
  581. text = "";
  582. };
  583. class GREUH_LabelVDObj : GREUH_Label {
  584. idc = 734;
  585. style = ST_LEFT;
  586. x = 0.15 * safezoneW + safezoneX;
  587. w = 0.05 * safezoneW;
  588. y = ((BASE_Y + 0.565) * safezoneH) + safezoneY;
  589. h = 0.03 * safezoneH;
  590. colorBackground[] = COLOR_NOALPHA;
  591. text = "Objects";
  592. };
  593. class GREUH_FPSLabel : GREUH_Label {
  594. idc = 724;
  595. style = ST_LEFT;
  596. x = 0.15 * safezoneW + safezoneX;
  597. w = 0.3 * safezoneW;
  598. y = ((BASE_Y + 0.61) * safezoneH) + safezoneY;
  599. h = 0.03 * safezoneH;
  600. colorBackground[] = COLOR_NOALPHA;
  601. sizeEx = 0.018 * safezoneH;
  602. text = "Adjust view distance to keep FPS above";
  603. };
  604. class GREUH_FPSEdit {
  605. idc = 960;
  606. access = 0;
  607. type = CT_EDIT;
  608. style = ST_LEFT + ST_FRAME;
  609. x = 0.317 * safezoneW + safezoneX;
  610. w = 0.03 * safezoneW;
  611. y = ((BASE_Y + 0.61) * safezoneH) + safezoneY;
  612. h = 0.03 * safezoneH;
  613. colorBackground[] = {0,0,0,0};
  614. colorText[] = {1,1,1,1};
  615. colorSelection[] = {1,1,1,0.25};
  616. colorDisabled[] = { 0.2, 0.2, 0.2, 0.7 };
  617. colorBackgroundDisabled[] = { 0.5, 0.5, 0.5, 0.5 };
  618. font = FontM;
  619. sizeEx = 0.02 * safezoneH;
  620. autocomplete = "";
  621. text = "";
  622. shadow = 0;
  623. };
  624. class GREUH_WorldZone : GREUH_DefaultZone {
  625. idc = 801;
  626. y = ((BASE_Y + 0.7) * safezoneH) + safezoneY;
  627. h = (0.04 * safezoneH) - (2 * BORDERSIZE);
  628. };
  629. class GREUH_WorldQuality : GREUH_Label {
  630. idc = 810;
  631. y = ((BASE_Y + 0.66) * safezoneH) + safezoneY;
  632. text = "Adjust Terrain Details";
  633. };
  634. class GREUH_ButtonWorld : GREUH_ButtonGeneric {
  635. w = ((0.2 * safezoneW) / 4) - BORDERSIZE;
  636. y = ((BASE_Y + 0.7) * safezoneH) + safezoneY;
  637. };
  638. class GREUH_ButtonWorldVeryLow : GREUH_ButtonWorld {
  639. idc = 812;
  640. x = 0.15 * safezoneW + safezoneX;
  641. text = "Very Low";
  642. action = "setTerrainGrid 50; hint 'Terrain details set to Very Low'";
  643. };
  644. class GREUH_ButtonWorldLow : GREUH_ButtonWorld {
  645. idc = 813;
  646. x = (0.15 * safezoneW + safezoneX) + (((0.2 * safezoneW) / 4) * 1);
  647. text = "Low";
  648. action = "setTerrainGrid 25; hint 'Terrain details set to Low'";
  649. };
  650. class GREUH_ButtonWorldNormal : GREUH_ButtonWorld {
  651. idc = 814;
  652. x = (0.15 * safezoneW + safezoneX) + (((0.2 * safezoneW) / 4) * 2);
  653. text = "Normal";
  654. action = "setTerrainGrid 12.5; hint 'Terrain details set to Normal'";
  655. };
  656. class GREUH_ButtonWorldHigh : GREUH_ButtonWorld {
  657. idc = 815;
  658. x = (0.15 * safezoneW + safezoneX) + (((0.2 * safezoneW) / 4) * 3);
  659. text = "High";
  660. action = "setTerrainGrid 3.125; hint 'Terrain details set to High'";
  661. };
  662. class GREUH_MarkersZone : GREUH_DefaultZone {
  663. idc = 901;
  664. y = ((BASE_Y + 0.43) * safezoneH) + safezoneY;
  665. h = (0.04 * safezoneH) - (2 * BORDERSIZE);
  666. };
  667. class GREUH_LabelNametags : GREUH_RegularLabel {
  668. idc = 961;
  669. y = ((BASE_Y + 0.39) * safezoneH) + safezoneY;
  670. text = "Show player nametags : ";
  671. };
  672. class GREUH_NametagsActive : GREUH_RegularLabel {
  673. idc = 962;
  674. style = ST_RIGHT;
  675. colorText[] = COLOR_BRIGHTGREEN;
  676. text = "active";
  677. x = 0.2 * safezoneW + safezoneX;
  678. w = 0.1 * safezoneW;
  679. y = ((BASE_Y + 0.39) * safezoneH) + safezoneY;
  680. };
  681. class GREUH_NametagsYes : GREUH_ButtonGeneric {
  682. idc = 963;
  683. w = ((0.08 * safezoneW) / 4);
  684. y = ((BASE_Y + 0.39) * safezoneH) + safezoneY;
  685. x = 0.305 * safezoneW + safezoneX;
  686. text = "Yes";
  687. action = "show_nametags = true";
  688. };
  689. class GREUH_NametagsNo : GREUH_ButtonGeneric {
  690. idc = 964;
  691. w = ((0.08 * safezoneW) / 4);
  692. y = ((BASE_Y + 0.39) * safezoneH) + safezoneY;
  693. x = (0.32 + BORDERSIZE) * safezoneW + safezoneX;
  694. text = "No";
  695. action = "show_nametags = false";
  696. };
  697. class GREUH_LabelMarkers : GREUH_RegularLabel {
  698. idc = 911;
  699. y = ((BASE_Y + 0.43) * safezoneH) + safezoneY;
  700. text = "Show teammates on map : ";
  701. };
  702. class GREUH_LabelMarkersActive : GREUH_RegularLabel {
  703. idc = 912;
  704. style = ST_RIGHT;
  705. colorText[] = COLOR_BRIGHTGREEN;
  706. text = "active";
  707. x = 0.2 * safezoneW + safezoneX;
  708. w = 0.1 * safezoneW;
  709. y = ((BASE_Y + 0.43) * safezoneH) + safezoneY;
  710. };
  711. class GREUH_TeammatesYes : GREUH_ButtonGeneric {
  712. idc = 913;
  713. w = ((0.08 * safezoneW) / 4);
  714. y = ((BASE_Y + 0.43) * safezoneH) + safezoneY;
  715. x = 0.305 * safezoneW + safezoneX;
  716. text = "Yes";
  717. action = "show_teammates = true";
  718. };
  719. class GREUH_TeammatesNo : GREUH_ButtonGeneric {
  720. idc = 914;
  721. w = ((0.08 * safezoneW) / 4);
  722. y = ((BASE_Y + 0.43) * safezoneH) + safezoneY;
  723. x = (0.32 + BORDERSIZE) * safezoneW + safezoneX;
  724. text = "No";
  725. action = "show_teammates = false";
  726. };
  727. class GREUH_VehSound : GREUH_Label {
  728. idc = 1101;
  729. y = ((BASE_Y + 0.74) * safezoneH) + safezoneY;
  730. text = "In-Vehicle Sound Volume";
  731. };
  732. class GREUH_SliderVehSound {
  733. idc = 1102;
  734. type = CT_SLIDER;
  735. style = SL_HORZ;
  736. x = 0.15 * safezoneW + safezoneX;
  737. w = 0.16 * safezoneW;
  738. y = ((BASE_Y + 0.785) * safezoneH) + safezoneY;
  739. h = 0.025 * safezoneH;
  740. text = "View Distance";
  741. color[] = { 1, 1, 1, 1 };
  742. coloractive[] = { 1, 1, 1, 1 };
  743. onSliderPosChanged = "desired_vehvolume = (sliderPosition 1102)";
  744. };
  745. class GREUH_LabelVehSound : GREUH_Label {
  746. idc = 1103;
  747. style = ST_LEFT;
  748. x = 0.31 * safezoneW + safezoneX;
  749. w = 0.05 * safezoneW;
  750. y = ((BASE_Y + 0.775) * safezoneH) + safezoneY;
  751. h = 0.03 * safezoneH;
  752. colorBackground[] = COLOR_NOALPHA;
  753. text = "Test";
  754. };
  755. };
  756. class GreuhButton {
  757. idc = -1;
  758. type = CT_BUTTON;
  759. style = ST_CENTER;
  760. default = false;
  761. font = FontM;
  762. sizeEx = 0.018 * safezoneH;
  763. colorText[] = { 0, 0, 0, 1 };
  764. colorFocused[] = { 1, 1, 1, 1 };
  765. colorDisabled[] = { 0.2, 0.2, 0.2, 0.7 };
  766. colorBackground[] = { 0.8, 0.8, 0.8, 0.8 };
  767. colorBackgroundDisabled[] = { 0.5, 0.5, 0.5, 0.5 };
  768. colorBackgroundActive[] = { 1, 1, 1, 1 };
  769. offsetX = 0.003;
  770. offsetY = 0.003;
  771. offsetPressedX = 0.002;
  772. offsetPressedY = 0.002;
  773. colorShadow[] = { 0, 0, 0, 0.5 };
  774. colorBorder[] = { 0, 0, 0, 1 };
  775. borderSize = 0;
  776. soundEnter[] = { "", 0, 1 }; // no sound
  777. soundPush[] = {"\a3\Ui_f\data\Sound\CfgIngameUI\hintExpand", 0.891251, 1};
  778. soundClick[] = { "", 0, 1 }; // no sound
  779. soundEscape[] = { "", 0, 1 }; // no sound
  780. x = 0.45 * safezoneW + safezoneX;
  781. y = ((BASE_Y + 0.7) * safezoneH) + safezoneY;
  782. w = 0.1 * safezoneW;
  783. h = 0.04 * safezoneH;
  784. text = "";
  785. action = "";
  786. shadow = 1;
  787. };
  788. class GREUH_respawn {
  789. idd = 5566;
  790. movingEnable = false;
  791. controlsBackground[] = {"GREUH_BleedoutBar_BG"};
  792. controls[] = {"GREUH_BleedoutBar","GREUH_BleedoutBar_F","GREUH_Useless","GREUH_Respawn","GREUH_ReviveLabel","GREUH_WoundedLabel", "GREUH_ReplaceAI"};
  793. objects[] = {};
  794. class GREUH_Respawn : GreuhButton {
  795. idc = -1;
  796. x = 0.45 * safezoneW + safezoneX;
  797. y = 0.75 * safezoneH + safezoneY;
  798. w = 0.1 * safezoneW;
  799. h = 0.04 * safezoneH;
  800. text = "Respawn";
  801. action = "player setDamage 1";
  802. };
  803. class GREUH_ReplaceAI : GreuhButton {
  804. idc = 678;
  805. x = 0.45 * safezoneW + safezoneX;
  806. y = 0.8 * safezoneH + safezoneY;
  807. w = 0.1 * safezoneW;
  808. h = 0.04 * safezoneH;
  809. text = "Replace nearest AI";
  810. action = "replace_ai = 1";
  811. }
  812. class GREUH_Useless : GREUH_Respawn {
  813. idc = -1;
  814. x = -5;
  815. y = -5;
  816. w = 0.1;
  817. h = 0.1;
  818. text = "";
  819. action = "";
  820. };
  821. class GREUH_ReviveLabel {
  822. idc = 5567;
  823. type = CT_STATIC;
  824. style = ST_CENTER;
  825. colorText[] = COLOR_WHITE;
  826. colorBackground[] = COLOR_NOALPHA;
  827. font = FontM;
  828. sizeEx = 0.02 * safezoneH;
  829. shadow = 1;
  830. x = 0.4 * safezoneW + safezoneX;
  831. y = 0.7 * safezoneH + safezoneY;
  832. w = 0.2 * safezoneW;
  833. h = 0.025 * safezoneH;
  834. text = "";
  835. };
  836. class GREUH_WoundedLabel {
  837. idc = 4567;
  838. type = CT_STATIC;
  839. style = ST_CENTER;
  840. colorText[] = COLOR_WHITE;
  841. colorBackground[] = COLOR_NOALPHA;
  842. font = FontM;
  843. sizeEx = 0.07 * safezoneH;
  844. shadow = 1;
  845. x = 0.3 * safezoneW + safezoneX;
  846. y = 0.25 * safezoneH + safezoneY;
  847. w = 0.4 * safezoneW;
  848. h = 0.07 * safezoneH;
  849. text = $STR_REVIVE_LABEL;
  850. };
  851. class GREUH_BleedoutBar {
  852. idc = 6699;
  853. type = CT_STATIC;
  854. style = ST_SINGLE;
  855. colorText[] = COLOR_WHITE;
  856. colorBackground[] = COLOR_BLEEDOUT;
  857. font = FontM;
  858. sizeEx = 0.023;
  859. x = 0.4 * safezoneW + safezoneX;
  860. y = 0.7 * safezoneH + safezoneY;
  861. w = 0.2 * safezoneW;
  862. h = 0.03 * safezoneH;
  863. text = "";
  864. };
  865. class GREUH_BleedoutBar_BG : GREUH_BleedoutBar {
  866. idc = -1;
  867. colorBackground[] = COLOR_BLACK_ALPHA;
  868. x = 0.4 * safezoneW + safezoneX - 0.005;
  869. y = 0.7 * safezoneH + safezoneY - 0.005;
  870. w = 0.2 * safezoneW + 0.01;
  871. h = 0.03 * safezoneH + 0.01;
  872. };
  873. class GREUH_BleedoutBar_F : GREUH_BleedoutBar {
  874. idc = 6698;
  875. colorText[] = COLOR_WHITE;
  876. style = ST_FRAME;
  877. x = 0.4 * safezoneW + safezoneX - 0.005;
  878. y = 0.7 * safezoneH + safezoneY - 0.005;
  879. w = 0.2 * safezoneW + 0.01;
  880. h = 0.03 * safezoneH + 0.01;
  881. };
  882. };