Advertisement
Guest User

Arma 3 performance issue with macros?

a guest
May 25th, 2015
248
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.79 KB | None | 0 0
  1. Arma 3 performance issue with macros?
  2.  
  3. // ====================================================================================
  4. // *
  5. // * AUTHOR: GuzzenVonLidl
  6. // *
  7. // * Usage:
  8. // * [player,"sl"] call GOL_Fnc_GearHandler;
  9. // *
  10. // ====================================================================================
  11.  
  12. _unit = [_this, 0, player, [objNull]] call BIS_fnc_param;
  13. _typeofUnit = [_this, 1, "r", [""]] call bis_fnc_param;
  14.  
  15. // TEST 1
  16. // 1st: 7.64104 ms / 131 Cycles
  17. // 2nd: 6.59822 ms / 152 Cycles
  18. // ====================================================================================
  19. /*
  20.  
  21. #define ADDMAGAZINES(MAGAZINE, AMMOUNT) \
  22. for "_i" from 1 to AMMOUNT do { \
  23. _unit addmagazine MAGAZINE; \
  24. };
  25.  
  26. #define ADDITEM(MAGAZINE, AMMOUNT) \
  27. for "_i" from 1 to AMMOUNT do { \
  28. _unit addmagazine MAGAZINE; \
  29. };
  30.  
  31. #define ADDWEAPON(WEAPON) \
  32. _unit addweapon WEAPON;
  33.  
  34. #define ADD_Uniform(ClassH,ClassU,ClassV) \
  35. (_unit AddHeadgear ClassH); \
  36. (_unit forceAddUniform ClassU); \
  37. (_unit AddVest ClassV);
  38.  
  39. removeHeadgear _unit;
  40. removeUniform _unit;
  41. removeVest _unit;
  42. removeBackpackGlobal _unit;
  43. removeGoggles _unit;
  44. removeAllWeapons _unit;
  45.  
  46. #define BASIC \
  47. ADD_Uniform("rhsusf_ach_helmet_ucp","rhs_uniform_cu_ucp_patchless","rhsusf_iotv_ucp_Rifleman"); \
  48. ADDITEM("ItemMap", 1); \
  49. ADDITEM("ItemCompass", 1); \
  50. ADDITEM("ItemWatch", 1); \
  51. ADDITEM("tf_pnr1000a", 1); \
  52. ADDITEM("ACE_fieldDressing", 3);
  53.  
  54. switch (_typeofUnit) do {
  55. case "sl": {
  56. BASIC;
  57. ADDMAGAZINES("rhsusf_200Rnd_556x45_soft_pouch", 3);
  58. ADDWEAPON("rhs_weap_m249_pip");
  59. ADDMAGAZINES("HandGrenade", 2);
  60. ADDMAGAZINES("SmokeShellGreen", 1);
  61. ADDMAGAZINES("SmokeShell", 1);
  62. };
  63. };
  64.  
  65. */
  66.  
  67.  
  68. // TEST 2
  69. // 1st: 2.27717 ms / 440 Cycles
  70. // 2nd: 2.19995 ms / 455 Cycles
  71.  
  72. // 1st: 3.58189 ms / 280 Cycles // With 10 cases
  73. // 2nd: 3.11545 ms / 322 Cycles // With 10 cases
  74. // ====================================================================================
  75. /*
  76.  
  77. removeHeadgear _unit;
  78. removeUniform _unit;
  79. removeVest _unit;
  80. removeBackpackGlobal _unit;
  81. removeGoggles _unit;
  82. removeAllWeapons _unit;
  83.  
  84. _unit AddHeadgear "rhsusf_ach_helmet_ucp";
  85. _unit forceAddUniform "rhs_uniform_cu_ucp_patchless";
  86. _unit AddVest "rhsusf_iotv_ucp_Rifleman";
  87.  
  88. _unit linkItem "ItemMap";
  89. _unit linkItem "ItemCompass";
  90. _unit linkItem "ItemWatch";
  91. _unit linkItem "tf_pnr1000a";
  92. _unit addItem "ACE_fieldDressing";
  93. _unit addItem "ACE_fieldDressing";
  94. _unit addItem "ACE_fieldDressing";
  95.  
  96. switch (_typeofUnit) do {
  97.  
  98. case "pl": {
  99. _unit addMagazines ["SmokeShell", 2];
  100. _unit addMagazines ["HandGrenade", 3];
  101. _unit addMagazines ["MiniGrenade", 3];
  102. _unit addMagazines ["rhsusf_200Rnd_556x45_soft_pouch", 3];
  103. _unit addWeapon "rhs_weap_m249_pip";
  104. };
  105.  
  106. };
  107. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement