Merge branch 'master' into useQuotedPathMacros

This commit is contained in:
jonpas 2016-05-30 21:14:17 +02:00
commit 7a307393a4
482 changed files with 4682 additions and 3636 deletions

View File

@ -112,6 +112,7 @@ Sniperwolf572 <tenga6@gmail.com>
System98
SzwedzikPL <szwedzikpl@gmail.com>
Tachi <zaveruha007@gmail.com>
Tessa Elieff <Fastroping Sound - CreativeCommons Attributions 3.0>
Toaster <jonathan.pereira@gmail.com>
Tonic
Tourorist <tourorist@gmail.com>

View File

@ -26,6 +26,8 @@ Some folders of this project may contain a separate LICENSE file. Should
that be the case, everything in that folder and all subfolders is subject
to that license instead.
- ARMA PUBLIC LICENSE (\addons\apl)
- CreativeCommons Attributions 3.0 (\addons\fastroping\data\sounds)
============================================================================
Full GNU General Public License Text

View File

@ -3,12 +3,15 @@
</p>
<p align="center">
<a href="https://github.com/acemod/ACE3/releases">
<a href="https://github.com/acemod/ACE3/releases/latest">
<img src="https://img.shields.io/badge/Version-3.5.1-blue.svg?style=flat-square" alt="ACE3 Version">
</a>
<a href="https://github.com/acemod/ACE3/issues">
<img src="https://img.shields.io/github/issues-raw/acemod/ACE3.svg?style=flat-square&label=Issues" alt="ACE3 Issues">
</a>
<a href="https://github.com/acemod/ACE3/releases">
<img src="https://img.shields.io/github/downloads/acemod/ACE3/total.svg?style=flat-square&label=Downloads" alt="ACE3 Downloads">
</a>
<a href="https://forums.bistudio.com/topic/181341-ace3-a-collaborative-merger-between-agm-cse-and-ace/?p=2859670">
<img src="https://img.shields.io/badge/BIF-Thread-lightgrey.svg?style=flat-square" alt="BIF Thread">
</a>

View File

@ -88,7 +88,7 @@ if (GVAR(ammoTemperatureEnabled) || GVAR(barrelLengthInfluenceEnabled)) then {
_bulletTraceVisible = false;
if (GVAR(bulletTraceEnabled) && cameraView == "GUNNER") then {
if (currentWeapon ACE_player in ["ACE_Vector", "Binocular", "Rangefinder", "Laserdesignator"]) then {
if (currentWeapon ACE_player == binocular ACE_player) then {
_bulletTraceVisible = true;
} else {
if (currentWeapon ACE_player == primaryWeapon ACE_player && count primaryWeaponItems ACE_player > 2) then {

View File

@ -11,7 +11,7 @@ class CfgAmmo {
explosive = 1.8;
tracersEvery = 3;
tracerEndTime = 3.5;
CraterEffects = "ExploAmmoCrater";
explosionEffects = "ExploAmmoExplosion";
model = "\A3\Weapons_f\Data\bullettracer\tracer_red";

View File

@ -860,12 +860,12 @@ class Heli_Attack_01_base_F: Helicopter_Base_F {
helmetDown[] = {0,-0.07,0};
};
};
class Turrets: Turrets {
class MainTurret: MainTurret {
weapons[] = {"ACE_gatling_20mm_Comanche","missiles_DAGR","missiles_ASRAAM", "ACE_AIR_SAFETY"};
magazines[] = {"ACE_500Rnd_20mm_shells_Comanche","4Rnd_AAA_missiles","24Rnd_PG_missiles"};
outGunnerMayFire = 1;
commanding = -1;
primaryGunner = 1;
@ -888,13 +888,13 @@ class Heli_Attack_01_base_F: Helicopter_Base_F {
minTurn = -120;
maxTurn = 120;
initTurn = 0;
class OpticsIn
{
delete Narrow;
delete Medium;
delete Wide;
class ACE_WideUnstabilized {
opticsDisplayName = "W NS";
initAngleX = 0;
@ -994,4 +994,4 @@ class Heli_Attack_01_base_F: Helicopter_Base_F {
weapon = "ACE_gatling_20mm_Comanche";
};
};
};
};

View File

@ -230,7 +230,7 @@ class ATragMX_Display {
idc=-1;
x=0.55*safezoneW+safezoneX+0.315;
};
class TEXT_GUN_FRAME: ATragMX_RscText {
idc=1001;
style=64;
@ -610,7 +610,7 @@ class ATragMX_Display {
x=0.550*safezoneW+safezoneX+0.27;
text="4";
action=QUOTE(call FUNC(toggle_solution_setup));
};
};
class TEXT_CALCULATE: TEXT_SCOPE_UNIT {
idc=3000;
style=ST_RIGHT;
@ -1059,7 +1059,7 @@ class ATragMX_Display {
text="Cancel";
action=QUOTE(false call FUNC(show_add_new_gun); true call FUNC(show_gun_list));
};
class TEXT_GUN_AMMO_DATA_BORE_HEIGHT: TEXT_BORE_HEIGHT {
idc=12000;
w=0.22;
@ -1147,7 +1147,7 @@ class ATragMX_Display {
class TEXT_GUN_AMMO_DATA_NEXT: TEXT_TARGET_SPEED_ASSIST_NEXT {
idc=12011;
};
class TEXT_ATMO_ENV_DATA_DEFAULT: TEXT_LEAD {
idc=13000;
w=0.08;
@ -1231,7 +1231,7 @@ class ATragMX_Display {
y=0.265*safezoneH+safezoneY+0.29;
text="Calc Method";
};
class TEXT_TARGET_DATA_LATITUDE: TEXT_BORE_HEIGHT {
idc=14000;
w=0.22;
@ -1379,7 +1379,7 @@ class ATragMX_Display {
class TEXT_TARGET_DATA_NEXT: TEXT_TARGET_SPEED_ASSIST_NEXT {
idc=14011;
};
class TEXT_SOLUTION_SETUP_SHOW_RESULT_IN: TEXT_GUN_AMMO_DATA_BORE_HEIGHT {
idc=15000;
style=64;
@ -1469,4 +1469,4 @@ class ATragMX_Display {
action=QUOTE(0 call FUNC(toggle_solution_setup));
};
};
};
};

View File

@ -7,41 +7,41 @@ if ((profileNamespace getVariable ["ACE_ATragMX_profileNamespaceVersion", 0]) ==
} else {
// Profile Name, Muzzle Velocity, Zero Range, Scope Base Angle, AirFriction, Bore Height, Scope Unit, Scope Click Unit, Scope Click Number, Maximum Elevation, Dialed Elevation, Dialed Windage, Mass, Bullet Diameter, Rifle Twist, BC, Drag Model, Atmosphere Model
GVAR(gunList) = [["12.7x108mm" , 820, 100, 0.0657485, -0.00063800, 3.81, 0, 2, 10, 120, 0, 0, 48.28, 12.7, 38.10, 0.630, 1, "ASM" ],
["12.7x99mm AMAX" , 860, 100, 0.0611565, -0.00036645, 3.81, 0, 2, 10, 120, 0, 0, 48.60, 12.7, 38.10, 1.050, 1, "ASM" ],
["12.7x99mm" , 900, 100, 0.0582418, -0.00057503, 3.81, 0, 2, 10, 120, 0, 0, 41.92, 12.7, 38.10, 0.670, 1, "ASM" ],
["12.7x54mm" , 300, 100, 0.3394630, -0.00019268, 3.81, 0, 2, 10, 120, 0, 0, 48.60, 12.7, 24.13, 1.050, 1, "ASM" ],
[".408 Chey Tac" , 910, 100, 0.0569400, -0.00038944, 3.81, 0, 2, 10, 120, 0, 0, 27.15, 10.4, 33.02, 0.970, 1, "ASM" ],
["9.3×64mm" , 870, 100, 0.0619295, -0.00108571, 3.81, 0, 2, 10, 120, 0, 0, 14.90, 9.30, 35.56, 0.368, 1, "ASM" ],
[".338LM 250gr" , 880, 100, 0.0598469, -0.00059133, 3.81, 0, 2, 10, 120, 0, 0, 16.20, 8.58, 25.40, 0.322, 7, "ICAO"],
[".338LM 300gr" , 800, 100, 0.0677343, -0.00052190, 3.81, 0, 2, 10, 120, 0, 0, 19.44, 8.58, 25.40, 0.381, 7, "ICAO"],
[".338LM API526" , 895, 100, 0.0588865, -0.00069611, 3.81, 0, 2, 10, 120, 0, 0, 16.39, 8.58, 25.40, 0.560, 1, "ASM" ],
[".300WM Mk248 Mod 0", 900, 100, 0.0584442, -0.00070530, 3.81, 0, 2, 10, 120, 0, 0, 13.31, 7.80, 25.40, 0.268, 7, "ICAO"],
[".300WM Mk248 Mod 1", 867, 100, 0.0610738, -0.00061188, 3.81, 0, 2, 10, 120, 0, 0, 14.26, 7.80, 25.40, 0.310, 7, "ICAO"],
[".300WM Berger OTM" , 853, 100, 0.0622179, -0.00053733, 3.81, 0, 2, 10, 120, 0, 0, 14.90, 7.80, 25.40, 0.368, 7, "ICAO"],
["7.62x54mmR" , 800, 100, 0.0691878, -0.00100023, 3.81, 0, 2, 10, 120, 0, 0, 9.849, 7.92, 24.13, 0.400, 1, "ICAO"],
["7.62x51mm M80" , 810, 100, 0.0679374, -0.00100957, 3.81, 0, 2, 10, 120, 0, 0, 9.525, 7.82, 25.40, 0.200, 7, "ICAO"],
["7.62x51mm M118LR" , 780, 100, 0.0710319, -0.00082828, 3.81, 0, 2, 10, 120, 0, 0, 11.34, 7.82, 25.40, 0.243, 7, "ICAO"],
["7.62x51mm Mk319" , 910, 100, 0.0584524, -0.00102338, 3.81, 0, 2, 10, 120, 0, 0, 8.424, 7.82, 25.40, 0.377, 1, "ICAO"],
["7.62x51mm M993" , 930, 100, 0.0570316, -0.00107148, 3.81, 0, 2, 10, 120, 0, 0, 8.230, 7.82, 25.40, 0.359, 1, "ICAO"],
["7.62x51mm Subsonic", 320, 100, 0.3059680, -0.00049899, 3.81, 0, 2, 10, 120, 0, 0, 12.96, 7.82, 25.40, 0.235, 7, "ICAO"],
["6.5x39mm" , 800, 100, 0.0683482, -0.00075308, 3.81, 0, 2, 10, 120, 0, 0, 7.970, 6.71, 22.86, 0.263, 7, "ICAO"],
["6.5x47mm Lapua" , 800, 100, 0.0682221, -0.00067037, 3.81, 0, 2, 10, 120, 0, 0, 9.007, 6.71, 22.86, 0.290, 7, "ICAO"],
["6.5mm Creedmor" , 840, 100, 0.0636501, -0.00060887, 3.81, 0, 2, 10, 120, 0, 0, 9.072, 6.71, 22.86, 0.317, 7, "ICAO"],
["5.56x45mm M855" , 870, 100, 0.0626386, -0.00126466, 3.81, 0, 2, 10, 120, 0, 0, 4.018, 5.70, 17.78, 0.151, 7, "ASM" ],
["5.56x45mm Mk262" , 820, 100, 0.0671481, -0.00109563, 3.81, 0, 2, 10, 120, 0, 0, 4.990, 5.70, 17.78, 0.361, 1, "ASM" ],
["5.56x45mm Mk318" , 880, 100, 0.0615937, -0.00123318, 3.81, 0, 2, 10, 120, 0, 0, 4.018, 5.70, 17.78, 0.307, 1, "ASM" ],
["5.56x45mm M995" , 869, 100, 0.0626713, -0.00123272, 3.81, 0, 2, 10, 120, 0, 0, 4.536, 5.70, 17.78, 0.310, 1, "ASM" ]];
[] call FUNC(clear_user_data);
profileNamespace setVariable ["ACE_ATragMX_gunList", GVAR(gunList)];
};

View File

@ -42,31 +42,14 @@
* Public: No
*/
#include "script_component.hpp"
private ["_scopeBaseAngle", "_bulletMass", "_boreHeight", "_airFriction", "_muzzleVelocity", "_temperature", "_barometricPressure", "_relativeHumidity", "_simSteps", "_windSpeed1", "_windSpeed2", "_windDirection", "_inclinationAngle", "_targetSpeed", "_targetRange", "_drag", "_bc", "_dragModel", "_atmosphereModel", "_storeRangeCardData", "_stabilityFactor", "_twistDirection", "_latitude", "_directionOfFire"];
_scopeBaseAngle = _this select 0;
_bulletMass = _this select 1;
_boreHeight = _this select 2;
_airFriction = _this select 3;
_muzzleVelocity = _this select 4;
_temperature = _this select 5;
_barometricPressure = _this select 6;
_relativeHumidity = _this select 7;
_simSteps = _this select 8;
_windSpeed1 = (_this select 9) select 0;
_windSpeed2 = (_this select 9) select 1;
_windDirection = _this select 10;
_inclinationAngle = _this select 11;
_targetSpeed = _this select 12;
_targetRange = _this select 13;
_bc = _this select 14;
_dragModel = _this select 15;
_atmosphereModel = _this select 16;
_storeRangeCardData = _this select 17;
_stabilityFactor = _this select 18;
_twistDirection = _this select 19;
_latitude = _this select 20;
_directionOfFire = _this select 21;
params [
"_scopeBaseAngle", "_bulletMass", "_boreHeight", "_airFriction", "_muzzleVelocity",
"_temperature", "_barometricPressure", "_relativeHumidity", "_simSteps", "_windSpeed",
"_windDirection", "_inclinationAngle", "_targetSpeed", "_targetRange", "_bc", "_dragModel",
"_atmosphereModel", "_storeRangeCardData", "_stabilityFactor", "_twistDirection", "_latitude",
"_directionOfFire"
];
_windSpeed params ["_windSpeed1", "_windSpeed2"];
private ["_bulletPos", "_bulletVelocity", "_bulletAccel", "_bulletSpeed", "_gravity", "_deltaT"];
_bulletPos = [0, 0, 0];
@ -133,7 +116,7 @@ _bulletVelocity set [2, Sin(_scopeBaseAngle) * _muzzleVelocity];
while {_TOF < 15 && (_bulletPos select 1) < _targetRange} do {
_bulletSpeed = vectorMagnitude _bulletVelocity;
_speedTotal = _speedTotal + _bulletSpeed;
_stepsTotal = _stepsTotal + 1;
_speedAverage = (_speedTotal / _stepsTotal);
@ -142,7 +125,7 @@ while {_TOF < 15 && (_bulletPos select 1) < _targetRange} do {
_trueSpeed = vectorMagnitude _trueVelocity;
if (missionNamespace getVariable [QEGVAR(advanced_ballistics,enabled), false]) then {
_drag = if (missionNamespace getVariable [QEGVAR(advanced_ballistics,extensionAvailable), false]) then {
private _drag = if (missionNamespace getVariable [QEGVAR(advanced_ballistics,extensionAvailable), false]) then {
parseNumber(("ace_advanced_ballistics" callExtension format["retard:%1:%2:%3", _dragModel, _bc, _trueSpeed]))
} else {
([_dragModel, _bc, _trueSpeed] call EFUNC(advanced_ballistics,calculateRetardation))
@ -173,7 +156,7 @@ while {_TOF < 15 && (_bulletPos select 1) < _targetRange} do {
};
_kineticEnergy = 0.5 * (_bulletMass / 1000 * (_bulletSpeed ^ 2));
_kineticEnergy = _kineticEnergy * 0.737562149;
if ((missionNamespace getVariable [QEGVAR(advanced_ballistics,enabled), false]) && (_bulletPos select 1) > 0) then {
// Coriolis
_horizontalDeflection = 0.0000729 * ((_bulletPos select 1) ^ 2) * sin(_latitude) / _speedAverage;
@ -190,7 +173,7 @@ while {_TOF < 15 && (_bulletPos select 1) < _targetRange} do {
_windage1 = _windage1 + _spinDrift;
_windage2 = _windage2 + _spinDrift;
};
GVAR(rangeCardData) set [_n, [_range, _elevation * 60, [_windage1 * 60, _windage2 * 60], _lead, _TOF, _bulletSpeed, _kineticEnergy]];
_n = _n + 1;
};

View File

@ -17,10 +17,7 @@
*/
#include "script_component.hpp"
private ["_gunID", "_restoreMemory", "_updateDisplay"];
_gunID = _this select 0;
_restoreMemory = _this select 1;
_updateDisplay = _this select 2;
params ["_gunID", "_restoreMemory", "_updateDisplay"];
if (_gunID < 0 || _gunID > (count GVAR(gunList)) - 1) exitWith {};

View File

@ -39,7 +39,7 @@ if (GVAR(showRangeCard)) then {
};
GVAR(showRangeCardSetup) call FUNC(show_range_card_setup);
GVAR(showSolutionSetup) call FUNC(show_solution_setup);
GVAR(showTargetData) call FUNC(show_target_data);
GVAR(showTargetData) call FUNC(show_target_data);
GVAR(showTargetRangeAssist) call FUNC(show_target_range_assist);
GVAR(showTargetSpeedAssist) call FUNC(show_target_speed_assist);
GVAR(showTargetSpeedAssistTimer) call FUNC(show_target_speed_assist_timer);

View File

@ -21,6 +21,5 @@ GVAR(showGunList) = _this;
if (_this) then {
ctrlSetFocus ((uiNamespace getVariable "ATragMX_Display") displayCtrl 6002);
lbSetCurSel [6000, GVAR(currentGun)];
};

View File

@ -21,7 +21,7 @@ GVAR(showRangeCardSetup) = _this;
if (_this) then {
ctrlSetFocus ((uiNamespace getVariable "ATragMX_Display") displayCtrl 10006);
ctrlSetText [10003, Str(Round(GVAR(rangeCardStartRange)))];
ctrlSetText [10004, Str(Round(GVAR(rangeCardEndRange)))];
ctrlSetText [10005, Str(Round(GVAR(rangeCardIncrement)))];

View File

@ -21,7 +21,6 @@ GVAR(showTargetRangeAssist) = _this;
if (_this) then {
ctrlSetFocus ((uiNamespace getVariable "ATragMX_Display") displayCtrl 7018);
ctrlSetText [7012, Str(parseNumber(ctrlText 320))];
ctrlSetText [7013, Str(parseNumber(ctrlText 340))];
@ -30,4 +29,4 @@ if (_this) then {
} else {
ctrlSetText [7016, "Meters"];
};
};
};

View File

@ -21,7 +21,7 @@ GVAR(showTargetSpeedAssist) = _this;
if (_this) then {
ctrlSetFocus ((uiNamespace getVariable "ATragMX_Display") displayCtrl 8012);
ctrlSetText [8004, Str(Round((GVAR(targetRange) select GVAR(currentTarget))))];
if (GVAR(currentUnit) == 1) then {
@ -29,7 +29,7 @@ if (_this) then {
} else {
ctrlSetText [8008, "Meters"];
};
if (GVAR(currentUnit) == 2) then {
ctrlSetText [8011, "m/s"];
} else {

View File

@ -17,10 +17,7 @@
*/
#include "script_component.hpp"
private ["_slopeDistance", "_azimuth", "_inclination"];
_slopeDistance = _this select 0;
_azimuth = _this select 1;
_inclination = _this select 2;
params ["_slopeDistance", "_azimuth", "_inclination"];
GVAR(inclinationAngle) set [GVAR(currentTarget), round(_inclination)];
GVAR(directionOfFire) set [GVAR(currentTarget), round(_azimuth)];

View File

@ -21,26 +21,26 @@ if !(ctrlVisible 9000) then {
true call FUNC(show_target_speed_assist_timer);
ctrlSetFocus ((uiNamespace getVariable "ATragMX_Display") displayCtrl 9002);
[{
private ["_args", "_startTime"];
_args = _this select 0;
_startTime = _args select 0;
if (!(GVAR(speedAssistTimer))) exitWith {
GVAR(speedAssistTimer) = true;
ctrlSetText [8006, Str(Round((ACE_time - _startTime) * 10) / 10)];
[] call FUNC(calculate_target_speed_assist);
false call FUNC(show_target_speed_assist_timer);
true call FUNC(show_target_speed_assist);
[_this select 1] call CBA_fnc_removePerFrameHandler;
};
ctrlSetText [9001, Str(Round((ACE_time - _startTime) * 10) / 10)];
}, 0.1, [ACE_time]] call CBA_fnc_addPerFrameHandler;
};

View File

@ -18,7 +18,7 @@
if (ctrlVisible 13000) then {
false call FUNC(show_atmo_env_data);
true call FUNC(show_main_page);
if (_this == 1) then {
call FUNC(calculate_target_solution);
};

View File

@ -18,7 +18,7 @@
if (ctrlVisible 12000) then {
false call FUNC(show_gun_ammo_data);
true call FUNC(show_main_page);
if (_this == 1) then {
call FUNC(update_zero_range);
call FUNC(calculate_target_solution);

View File

@ -18,7 +18,7 @@
if (ctrlVisible 6000) then {
false call FUNC(show_gun_list);
true call FUNC(show_main_page);
if (_this) then {
[lbCurSel 6000, true, true] call FUNC(change_gun);
};

View File

@ -21,9 +21,9 @@ if (ctrlVisible 5006) then {
} else {
false call FUNC(show_main_page);
true call FUNC(show_range_card);
ctrlSetFocus ((uiNamespace getVariable "ATragMX_Display") displayCtrl 5001);
[] call FUNC(calculate_range_card);
[] call FUNC(update_range_card);
};

View File

@ -18,12 +18,12 @@
if (ctrlVisible 10000) then {
false call FUNC(show_range_card_setup);
true call FUNC(show_range_card);
if (_this == 1) then {
GVAR(rangeCardStartRange) = 0 max Round(parseNumber(ctrlText 10003)) min 3000;
GVAR(rangeCardEndRange) = 0 max Round(parseNumber(ctrlText 10004)) min 3000;
GVAR(rangeCardIncrement) = 1 max Round(parseNumber(ctrlText 10005)) min 3000;
[] call FUNC(calculate_range_card);
[] call FUNC(update_range_card);
};

View File

@ -18,7 +18,7 @@
if (ctrlVisible 15000) then {
false call FUNC(show_solution_setup);
true call FUNC(show_main_page);
if (_this == 1) then {
GVAR(currentScopeClickUnit) = GVAR(currentScopeClickUnitTemp);
GVAR(currentScopeClickNumber) = GVAR(currentScopeClickNumberTemp);
@ -30,9 +30,9 @@ if (ctrlVisible 15000) then {
} else {
true call FUNC(show_solution_setup);
false call FUNC(show_main_page);
GVAR(currentScopeClickUnitTemp) = GVAR(currentScopeClickUnit);
GVAR(currentScopeClickNumberTemp) = GVAR(currentScopeClickNumber);
[] call FUNC(update_solution_setup);
};

View File

@ -18,7 +18,7 @@
if (ctrlVisible 14000) then {
false call FUNC(show_target_data);
true call FUNC(show_main_page);
if (_this == 1) then {
call FUNC(calculate_target_solution);
};

View File

@ -18,7 +18,7 @@
if (ctrlVisible 7000) then {
false call FUNC(show_target_range_assist);
true call FUNC(show_main_page);
if (_this == 1) then {
ctrlSetText [320, Str(parseNumber(ctrlText 7012))];
ctrlSetText [140040, Str(parseNumber(ctrlText 7012))];

View File

@ -18,7 +18,7 @@
if (ctrlVisible 8000) then {
false call FUNC(show_target_speed_assist);
true call FUNC(show_main_page);
if (_this == 1) then {
[] call FUNC(calculate_target_speed_assist);
private ["_targetSpeed"];

View File

@ -43,7 +43,7 @@ _speedOfSound = GVAR(temperature) call EFUNC(weather,calculateSpeedOfSound);
_TOF = _x select 4;
_velocity = _x select 5;
_kineticEnergy = _x select 6;
switch (GVAR(currentScopeUnit)) do {
case 0: {
_elevation = _elevation / 3.38;
@ -63,25 +63,25 @@ _speedOfSound = GVAR(temperature) call EFUNC(weather,calculateSpeedOfSound);
};
_clickNumber = GVAR(workingMemory) select 8;
_clickInterval = _clickSize / _clickNumber;
_elevation = Round(_elevation / _clickInterval);
_windage1 = Round(_windage1 / _clickInterval);
_windage2 = Round(_windage2 / _clickInterval);
};
};
_elevationOutput = Str(Round(_elevation * 100) / 100);
_windageOutput = Str(Round(_windage1 * 100) / 100);
_rangeOutput = Str(_range);
if (_velocity < _speedOfSound) then {
_rangeOutput = _rangeOutput + "*";
};
if (GVAR(currentUnit) == 1) then {
_velocity = _velocity * 3.2808399;
};
switch (GVAR(rangeCardCurrentColumn)) do {
case 0: {
if (GVAR(showWind2)) then {
@ -100,6 +100,6 @@ _speedOfSound = GVAR(temperature) call EFUNC(weather,calculateSpeedOfSound);
_lastColumnOutput = Str(Round(_TOF * 100) / 100);
}
};
lnbAddRow [5007, [_rangeOutput, _elevationOutput, _windageOutput, _lastColumnOutput]];
} forEach GVAR(rangeCardData);

View File

@ -33,24 +33,24 @@ switch (GVAR(currentScopeUnit)) do {
case 0: {
_elevationAbs = _elevationAbs / 3.38;
_windageAbs = _windageAbs / 3.38;
_wind2 = _wind2 / 3.38;
_elevationRel = _elevationRel / 3.38;
_windageRel = _windageRel / 3.38;
_elevationCur = _elevationCur / 3.38;
_windageCur = _windageCur / 3.38;
};
case 2: {
_elevationAbs = _elevationAbs * 1.047;
_windageAbs = _windageAbs * 1.047;
_wind2 = _wind2 / 1.047;
_elevationRel = _elevationRel * 1.047;
_windageRel = _windageRel * 1.047;
_elevationCur = _elevationCur * 1.047;
_windageCur = _windageCur * 1.047;
};
@ -62,15 +62,15 @@ switch (GVAR(currentScopeUnit)) do {
};
_clickNumber = GVAR(workingMemory) select 8;
_clickInterval = _clickSize / _clickNumber;
_elevationAbs = Round(_elevationAbs / _clickInterval);
_windageAbs = Round(_windageAbs / _clickInterval);
_wind2 = Round(_wind2 / _clickInterval);
_elevationRel = Round(_elevationRel / _clickInterval);
_windageRel = Round(_windageRel / _clickInterval);
_elevationCur = Round(_elevationCur / _clickInterval);
_windageCur = Round(_windageCur / _clickInterval);
};
@ -166,4 +166,4 @@ if (GVAR(showWind2)) then {
} else {
ctrlSetText [420, "0.0"];
};
};
};

View File

@ -51,7 +51,7 @@ if (_unit == _attachToVehicle) then { //Self Attachment
[_unit, "forceWalk", "ACE_Attach", true] call EFUNC(common,statusEffect_set);
[{[localize LSTRING(PlaceAction), ""] call EFUNC(interaction,showMouseHint)}, []] call EFUNC(common,execNextFrame);
[{[localize LSTRING(PlaceAction), ""] call EFUNC(interaction,showMouseHint)}, []] call CBA_fnc_execNextFrame;
_unit setVariable [QGVAR(placeActionEH), [_unit, "DefaultAction", {true}, {GVAR(placeAction) = PLACE_APPROVE;}] call EFUNC(common,AddActionEventHandler)];
_actionID = _unit addAction [format ["<t color='#FF0000'>%1</t>", localize LSTRING(CancelAction)], {GVAR(placeAction) = PLACE_CANCEL}];

View File

@ -57,7 +57,7 @@ if (toLower _itemName in ["b_ir_grenade", "o_ir_grenade", "i_ir_grenade"]) then
detach _attachedObject;
_attachedObject setPos ((getPos _unit) vectorAdd [0, 0, -1000]);
// Delete attached item after 0.5 seconds
[{deleteVehicle (_this select 0)}, [_attachedObject], 2] call EFUNC(common,waitAndExecute);
[{deleteVehicle (_this select 0)}, [_attachedObject], 2] call CBA_fnc_waitAndExecute;
} else {
// Delete attached item
deleteVehicle _attachedObject;

View File

@ -31,7 +31,7 @@ _actions = [];
if (getText (_item >> "ACE_Attachable") != "") then {
_displayName = getText(_item >> "displayName");
_picture = getText(_item >> "picture");
_action = [_x, _displayName, _picture, {[{_this call FUNC(attach)}, _this] call EFUNC(common,execNextFrame)}, {_this call FUNC(canAttach)}, {}, [_x]] call EFUNC(interact_menu,createAction);
_action = [_x, _displayName, _picture, {[{_this call FUNC(attach)}, _this] call CBA_fnc_execNextFrame}, {_this call FUNC(canAttach)}, {}, [_x]] call EFUNC(interact_menu,createAction);
_actions pushBack [_action, [], _target];
};
};
@ -44,7 +44,7 @@ _actions = [];
if (getText (_item >> "ACE_Attachable") != "") then {
_displayName = getText(_item >> "displayName");
_picture = getText(_item >> "picture");
_action = [_x, _displayName, _picture, {[{_this call FUNC(attach)}, _this] call EFUNC(common,execNextFrame)}, {_this call FUNC(canAttach)}, {}, [_x]] call EFUNC(interact_menu,createAction);
_action = [_x, _displayName, _picture, {[{_this call FUNC(attach)}, _this] call CBA_fnc_execNextFrame}, {_this call FUNC(canAttach)}, {}, [_x]] call EFUNC(interact_menu,createAction);
_actions pushBack [_action, [], _target];
};
};

View File

@ -36,7 +36,7 @@ if (!isNull _xObject) then {
params ["_detachedLight"];
TRACE_1("delayed delete",_detachedLight);
deleteVehicle _detachedLight;
}, [_xObject], 2] call EFUNC(common,waitAndExecute);
}, [_xObject], 2] call CBA_fnc_waitAndExecute;
(_attachedList select 0) set [0, objNull];
};

View File

@ -32,7 +32,7 @@ if ((count _attachedList) == 0) exitWith {};
//If it's a vehicle, also delete the attached
if (!(_deadUnit isKindOf "CAManBase")) then {
_xObject setPos ((getPos _deadUnit) vectorAdd [0, 0, -1000]);
[{deleteVehicle (_this select 0)}, [_xObject], 2] call EFUNC(common,waitAndExecute);
[{deleteVehicle (_this select 0)}, [_xObject], 2] call CBA_fnc_waitAndExecute;
};
} forEach _attachedList;

View File

@ -83,7 +83,7 @@ class CfgMagazines {
descriptionShort = CSTRING(30Rnd_556x45_mag_Tracer_DimDescription);
picture = "\A3\weapons_f\data\ui\m_20stanag_red_ca.paa";
};
class 20Rnd_762x51_Mag: CA_Magazine {
initSpeed = 833;
};
@ -121,7 +121,7 @@ class CfgMagazines {
descriptionShort = CSTRING(20Rnd_762x51_mag_SDDescription);
initSpeed = 325;
};
class ACE_10Rnd_762x51_M118LR_Mag: 10Rnd_762x51_Mag {
author = ECSTRING(common,ACETeam);
ammo = "ACE_762x51_Ball_M118LR";
@ -247,7 +247,7 @@ class CfgMagazines {
descriptionShort = CSTRING(10Rnd_338_API526_Mag_Description);
initSpeed = 880;
};
class 5Rnd_127x108_Mag;
class ACE_5Rnd_127x99_Mag: 5Rnd_127x108_Mag {
author = ECSTRING(common,ACETeam);
@ -273,8 +273,8 @@ class CfgMagazines {
descriptionShort = CSTRING(5Rnd_127x99_AMAX_Mag_Description);
initSpeed = 860;
};
class 30Rnd_9x21_Mag: CA_Magazine {
initSpeed = 450;
};
@ -286,27 +286,27 @@ class CfgMagazines {
descriptionShort = CSTRING(30Rnd_9x19_mag_Description);
initSpeed = 370;
};
class 11Rnd_45ACP_Mag: CA_Magazine {
initSpeed = 250;
};
class 6Rnd_45ACP_Cylinder : 11Rnd_45ACP_Mag {
initSpeed = 250;
};
class 30Rnd_45ACP_Mag_SMG_01: 30Rnd_9x21_Mag {
initSpeed = 250;
};
class 9Rnd_45ACP_Mag: 30Rnd_45ACP_Mag_SMG_01 {
initSpeed = 250;
};
class 30Rnd_45ACP_Mag_SMG_01_Tracer_Green: 30Rnd_45ACP_Mag_SMG_01 {
initSpeed = 250;
};
class 16Rnd_9x21_Mag: 30Rnd_9x21_Mag {
initSpeed = 450;
};
@ -318,7 +318,7 @@ class CfgMagazines {
descriptionShort = CSTRING(16Rnd_9x19_mag_Description);
initSpeed = 370;
};
class 10Rnd_762x54_Mag: 10Rnd_762x51_Mag {
initSpeed = 800;
};
@ -331,15 +331,15 @@ class CfgMagazines {
initSpeed = 800;
tracersEvery = 1;
};
class 150Rnd_762x54_Box: 150Rnd_762x51_Box {
initSpeed = 750;
};
class 150Rnd_93x64_Mag: CA_Magazine {
initSpeed = 860;
};
class 10Rnd_127x54_Mag: CA_Magazine {
initSpeed = 300;
};

View File

@ -15,81 +15,81 @@ class CfgWeapons {
class Rifle_Base_F;
class Rifle_Long_Base_F;
class MuzzleSlot;
/* Long Rifles */
class GM6_base_F: Rifle_Long_Base_F {
class Single: Mode_SemiAuto {
dispersion = 0.00029; // radians. Equal to 1.00 MOA.
};
};
class LRR_base_F: Rifle_Long_Base_F {
class Single: Mode_SemiAuto {
dispersion = 0.00020; // radians. Equal to 0.70 MOA.
};
};
class DMR_06_base_F: Rifle_Long_Base_F {
class Single: Mode_SemiAuto {
dispersion = 0.00029; // radians. Equal to 1.00 MOA.
};
class FullAuto: Mode_FullAuto {
dispersion = 0.00029; // radians. Equal to 1.00 MOA.
};
};
class DMR_05_base_F: Rifle_Long_Base_F {
class Single: Mode_SemiAuto {
dispersion = 0.00029; // radians. Equal to 1.00 MOA.
};
class FullAuto: Mode_FullAuto {
dispersion = 0.00029; // radians. Equal to 1.00 MOA.
};
};
class DMR_04_base_F: Rifle_Long_Base_F {
class Single: Mode_SemiAuto {
dispersion = 0.00029; // radians. Equal to 1.00 MOA.
};
};
class DMR_03_base_F: Rifle_Long_Base_F {
class Single: Mode_SemiAuto {
dispersion = 0.00032; // radians. Equal to 1.10 MOA.
};
class FullAuto: Mode_FullAuto {
dispersion = 0.00032; // radians. Equal to 1.10 MOA.
};
};
class DMR_02_base_F: Rifle_Long_Base_F {
class Single: Mode_SemiAuto {
dispersion = 0.000262; // radians. Equal to 0.90 MOA.
};
};
class DMR_01_base_F: Rifle_Long_Base_F {
class Single: Mode_SemiAuto {
dispersion = 0.0004; // radians. Equal to 1.375 MOA.
};
};
class EBR_base_F: Rifle_Long_Base_F {
class Single: Mode_SemiAuto {
dispersion = 0.00029; // radians. Equal to 1.00 MOA.
};
class FullAuto: Mode_FullAuto {
dispersion = 0.00029; // radians. Equal to 1.00 MOA.
};
};
/* MX */
class arifle_MX_Base_F: Rifle_Base_F {};
class arifle_MX_SW_F: arifle_MX_Base_F {
magazines[] = {
@ -158,7 +158,7 @@ class CfgWeapons {
class Burst: Mode_Burst {
dispersion = 0.0008727; // radians. Equal to 3 MOA.
};
class FullAuto: Mode_FullAuto {
dispersion = 0.0008727; // radians. Equal to 3 MOA.
};
@ -285,6 +285,8 @@ class CfgWeapons {
"30Rnd_556x45_Stanag_Tracer_Red",
"30Rnd_556x45_Stanag_Tracer_Green",
"30Rnd_556x45_Stanag_Tracer_Yellow",
"30Rnd_556x45_Stanag_red",
"30Rnd_556x45_Stanag_green",
"ACE_30Rnd_556x45_Stanag_M995_AP_mag",
"ACE_30Rnd_556x45_Stanag_Mk262_mag",
"ACE_30Rnd_556x45_Stanag_Mk318_mag",
@ -305,6 +307,8 @@ class CfgWeapons {
"30Rnd_556x45_Stanag_Tracer_Red",
"30Rnd_556x45_Stanag_Tracer_Green",
"30Rnd_556x45_Stanag_Tracer_Yellow",
"30Rnd_556x45_Stanag_red",
"30Rnd_556x45_Stanag_green",
"ACE_30Rnd_556x45_Stanag_M995_AP_mag",
"ACE_30Rnd_556x45_Stanag_Mk262_mag",
"ACE_30Rnd_556x45_Stanag_Mk318_mag",
@ -320,6 +324,8 @@ class CfgWeapons {
"30Rnd_556x45_Stanag_Tracer_Red",
"30Rnd_556x45_Stanag_Tracer_Green",
"30Rnd_556x45_Stanag_Tracer_Yellow",
"30Rnd_556x45_Stanag_red",
"30Rnd_556x45_Stanag_green",
"ACE_30Rnd_556x45_Stanag_M995_AP_mag",
"ACE_30Rnd_556x45_Stanag_Mk262_mag",
"ACE_30Rnd_556x45_Stanag_Mk318_mag",
@ -335,6 +341,8 @@ class CfgWeapons {
"30Rnd_556x45_Stanag_Tracer_Red",
"30Rnd_556x45_Stanag_Tracer_Green",
"30Rnd_556x45_Stanag_Tracer_Yellow",
"30Rnd_556x45_Stanag_red",
"30Rnd_556x45_Stanag_green",
"ACE_30Rnd_556x45_Stanag_M995_AP_mag",
"ACE_30Rnd_556x45_Stanag_Mk262_mag",
"ACE_30Rnd_556x45_Stanag_Mk318_mag",
@ -356,6 +364,8 @@ class CfgWeapons {
"30Rnd_556x45_Stanag_Tracer_Red",
"30Rnd_556x45_Stanag_Tracer_Green",
"30Rnd_556x45_Stanag_Tracer_Yellow",
"30Rnd_556x45_Stanag_red",
"30Rnd_556x45_Stanag_green",
"ACE_30Rnd_556x45_Stanag_M995_AP_mag",
"ACE_30Rnd_556x45_Stanag_Mk262_mag",
"ACE_30Rnd_556x45_Stanag_Mk318_mag",
@ -371,6 +381,8 @@ class CfgWeapons {
"30Rnd_556x45_Stanag_Tracer_Red",
"30Rnd_556x45_Stanag_Tracer_Green",
"30Rnd_556x45_Stanag_Tracer_Yellow",
"30Rnd_556x45_Stanag_red",
"30Rnd_556x45_Stanag_green",
"ACE_30Rnd_556x45_Stanag_M995_AP_mag",
"ACE_30Rnd_556x45_Stanag_Mk262_mag",
"ACE_30Rnd_556x45_Stanag_Mk318_mag",
@ -386,6 +398,8 @@ class CfgWeapons {
"30Rnd_556x45_Stanag_Tracer_Red",
"30Rnd_556x45_Stanag_Tracer_Green",
"30Rnd_556x45_Stanag_Tracer_Yellow",
"30Rnd_556x45_Stanag_red",
"30Rnd_556x45_Stanag_green",
"ACE_30Rnd_556x45_Stanag_M995_AP_mag",
"ACE_30Rnd_556x45_Stanag_Mk262_mag",
"ACE_30Rnd_556x45_Stanag_Mk318_mag",
@ -511,7 +525,7 @@ class CfgWeapons {
ACE_barrelTwist=234.95;
ACE_barrelLength=609.6;
};
class HMG_127 : LMG_RCWS {
};
class HMG_01: HMG_127 {
@ -521,7 +535,7 @@ class CfgWeapons {
ACE_barrelTwist=304.8;
ACE_barrelLength=1143.0;
};
/* Silencers */
class ItemCore;

View File

@ -4,7 +4,7 @@
// Hold on a little bit longer to ensure anims will work
[{
GVAR(captivityEnabled) = true;
}, [], 0.05] call EFUNC(common,waitAndExecute);
}, [], 0.05] call CBA_fnc_waitAndExecute;
}] call EFUNC(common,addEventHandler);
//Handles when someone starts escorting and then disconnects, leaving the captive attached

View File

@ -37,7 +37,7 @@ if (_state) then {
[{
params ["_args", "_pfID"];
_args params ["_unit", "_target", "_actionID"];
if (_unit getVariable [QGVAR(isEscorting), false]) then {
if (!alive _target || {!alive _unit} || {!canStand _target} || {!canStand _unit} || {_target getVariable ["ACE_isUnconscious", false]} || {_unit getVariable ["ACE_isUnconscious", false]} || {!isNull (attachedTo _unit)}) then {
_unit setVariable [QGVAR(isEscorting), false, true];

View File

@ -32,7 +32,7 @@ if (!isServer) exitWith {};
TRACE_2("event",_x,local _x);
["SetHandcuffed", [_x], [_x, true]] call EFUNC(common,targetEvent);
} forEach _units;
}, [_units], 0.05] call EFUNC(common,waitAndExecute);
}, [_units], 0.05] call CBA_fnc_waitAndExecute;
if (!isNull _logic) then {
deleteVehicle _logic;

View File

@ -32,7 +32,7 @@ if (!isServer) exitWith {};
TRACE_2("event",_x,local _x);
["SetSurrendered", [_x], [_x, true]] call EFUNC(common,targetEvent);
} forEach _units;
}, [_units], 0.05] call EFUNC(common,waitAndExecute);
}, [_units], 0.05] call CBA_fnc_waitAndExecute;
if (!isNull _logic) then {
deleteVehicle _logic;

View File

@ -27,7 +27,7 @@ if !(missionNamespace getVariable [QGVAR(captivityEnabled), false]) exitWith {
// It's to soon to call this function, delay it
if (EGVAR(common,settingsInitFinished)) then {
// Settings are already initialized, but the small wait isn't over
[DFUNC(setHandCuffed), _this, 0.05] call EFUNC(common,waitAndExecute);
[DFUNC(setHandCuffed), _this, 0.05] call CBA_fnc_waitAndExecute;
} else {
// Settings are not initialized yet
[DFUNC(setHandCuffed), _this] call EFUNC(common,runAfterSettingsInit);
@ -98,7 +98,7 @@ if (_state) then {
TRACE_2("Adding animChangedEH",_unit,_animChangedEHID);
_unit setVariable [QGVAR(handcuffAnimEHID), _animChangedEHID];
}, [_unit], 0.01] call EFUNC(common,waitAndExecute);
}, [_unit], 0.01] call CBA_fnc_waitAndExecute;
} else {
_unit setVariable [QGVAR(isHandcuffed), false, true];
[_unit, "setCaptive", QGVAR(Handcuffed), false] call EFUNC(common,statusEffect_set);

View File

@ -27,7 +27,7 @@ if !(missionNamespace getVariable [QGVAR(captivityEnabled), false]) exitWith {
// It's to soon to call this function, delay it
if (EGVAR(common,settingsInitFinished)) then {
// Settings are already initialized, but the small wait isn't over
[DFUNC(setSurrendered), _this, 0.05] call EFUNC(common,waitAndExecute);
[DFUNC(setSurrendered), _this, 0.05] call CBA_fnc_waitAndExecute;
} else {
// Settings are not initialized yet
[DFUNC(setSurrendered), _this] call EFUNC(common,runAfterSettingsInit);
@ -73,7 +73,7 @@ if (_state) then {
}];
_unit setVariable [QGVAR(surrenderAnimEHID), _animChangedEHID];
};
}, [_unit], 0.01] call EFUNC(common,waitAndExecute);
}, [_unit], 0.01] call CBA_fnc_waitAndExecute;
} else {
_unit setVariable [QGVAR(isSurrendering), false, true];
[_unit, "setCaptive", QGVAR(Surrendered), false] call EFUNC(common,statusEffect_set);

View File

@ -27,27 +27,7 @@ class Extended_Killed_EventHandlers {
//Need initPost or we have problems with setVariable with 'ACE_Cargo'
class Extended_InitPost_EventHandlers {
class StaticWeapon {
class ADDON {
init = QUOTE(_this call DFUNC(initObject));
};
};
class ReammoBox_F {
class ADDON {
init = QUOTE(_this call DFUNC(initObject));
};
};
class Cargo_base_F {
class ADDON {
init = QUOTE(_this call DFUNC(initObject); _this call DFUNC(initVehicle));
};
};
class CargoNet_01_box_F {
class ADDON {
init = QUOTE(_this call DFUNC(initObject); _this call DFUNC(initVehicle));
};
};
class Land_CargoBox_V1_F {
class ThingX {
class ADDON {
init = QUOTE(_this call DFUNC(initObject); _this call DFUNC(initVehicle));
};
@ -62,32 +42,12 @@ class Extended_InitPost_EventHandlers {
init = QUOTE(_this call DFUNC(initObject); _this call DFUNC(initVehicle));
};
};
class MetalCase_01_base_F {
class ADDON {
init = QUOTE(_this call DFUNC(initObject); _this call DFUNC(initVehicle));
};
};
class RoadCone_F {
class ADDON {
init = QUOTE(_this call DFUNC(initObject); _this call DFUNC(initVehicle));
};
};
class Car {
class LandVehicle {
class ADDON {
init = QUOTE(_this call DFUNC(initVehicle));
};
};
class Tank {
class ADDON {
init = QUOTE(_this call DFUNC(initVehicle));
};
};
class Helicopter {
class ADDON {
init = QUOTE(_this call DFUNC(initVehicle));
};
};
class Plane {
class Air {
class ADDON {
init = QUOTE(_this call DFUNC(initVehicle));
};
@ -97,16 +57,6 @@ class Extended_InitPost_EventHandlers {
init = QUOTE(_this call DFUNC(initVehicle));
};
};
class ACE_RepairItem_Base {
class ADDON {
init = QUOTE(_this call DFUNC(initObject));
};
};
class ACE_bodyBagObject {
class ADDON {
init = QUOTE(_this call DFUNC(initObject));
};
};
class ACE_ConcertinaWireCoil {
class ADDON {
init = QUOTE(_this call DFUNC(initObject));

View File

@ -304,6 +304,25 @@ class CfgVehicles {
GVAR(canLoad) = 1;
};
// Taru pods
class Pod_Heli_Transport_04_base_F;
class Land_Pod_Heli_Transport_04_ammo_F: Pod_Heli_Transport_04_base_F {
GVAR(space) = 8;
GVAR(hasCargo) = 1;
};
class Land_Pod_Heli_Transport_04_box_F: Pod_Heli_Transport_04_base_F {
GVAR(space) = 20;
GVAR(hasCargo) = 1;
};
class Land_Pod_Heli_Transport_04_medevac_F: Pod_Heli_Transport_04_base_F {
GVAR(space) = 8;
GVAR(hasCargo) = 1;
};
class Land_Pod_Heli_Transport_04_repair_F: Pod_Heli_Transport_04_base_F {
GVAR(space) = 12;
GVAR(hasCargo) = 1;
};
class StaticMortar;
class Mortar_01_base_F: StaticMortar {
GVAR(size) = 2; // 1 = small, 2 = large

View File

@ -20,6 +20,8 @@ TRACE_1("params", _vehicle);
private _type = typeOf _vehicle;
if (getNumber (configFile >> "CfgVehicles" >> _type >> QGVAR(hasCargo)) != 1) exitWith {};
if (isServer) then {
{
if (isClass _x) then {
@ -38,7 +40,6 @@ if (_type in GVAR(initializedVehicleClasses)) exitWith {};
GVAR(initializedVehicleClasses) pushBack _type;
if (!hasInterface) exitWith {};
if (getNumber (configFile >> "CfgVehicles" >> _type >> QGVAR(hasCargo)) != 1) exitWith {};
TRACE_1("Adding unload cargo action to class", _type);

View File

@ -175,6 +175,7 @@
<Italian>Rendi oggetto caricabile</Italian>
<Spanish>Hacer objeto cargable</Spanish>
<French>Rendre l'objet chargeable</French>
<Czech>Vytvořit objekt nakladatelným</Czech>
</Key>
<Key ID="STR_ACE_Cargo_makeLoadable_description">
<English>Sets the synced object as loadable by the cargo system.</English>
@ -183,6 +184,7 @@
<Italian>Imposta l'oggetto sincronizzato come caricabile dal sistema cargo</Italian>
<Spanish>Sincronizar un objecto para hacerlo cargable.</Spanish>
<French>Rend l'objet synchronisé comme chargeable par le système de cargaison.</French>
<Czech>Nastaví synchronizované objekty nakladatelnými za pomocí Nákladního systému.</Czech>
</Key>
<Key ID="STR_ACE_Cargo_makeLoadable_setSize_displayName">
<English>Object's Size</English>
@ -191,6 +193,7 @@
<Italian>Dimensioni dell'oggetto</Italian>
<Spanish>Tamaño del objeto</Spanish>
<French>Taille de l'objet</French>
<Czech>Velikost objektu</Czech>
</Key>
</Package>
</Project>
</Project>

View File

@ -49,7 +49,7 @@ class ACE_Settings {
description = CSTRING(SettingFeedbackIconsDesc);
values[] = {ECSTRING(optionsmenu,Hide), ECSTRING(optionsmenu,TopRightDown), ECSTRING(optionsmenu,TopRightLeft), ECSTRING(optionsmenu,TopLeftDown), ECSTRING(optionsmenu,TopLeftRight)};
};
class GVAR(SettingProgressBarLocation) {
class GVAR(settingProgressBarLocation) {
value = 0;
typeName = "SCALAR";
force = 0;

View File

@ -33,7 +33,7 @@ class Extended_InitPost_EventHandlers {
};
class CAManBase {
class GVAR(setName) {
init = QUOTE(if (local (_this select 0)) then {[ARR_2(FUNC(setName),_this)] call FUNC(execNextFrame)};);
init = QUOTE(if (local (_this select 0)) then {[ARR_2(FUNC(setName),_this)] call CBA_fnc_execNextFrame};);
};
class GVAR(muteUnit) {
init = QUOTE(_this call FUNC(muteUnitHandleInitPost));
@ -76,3 +76,9 @@ class Extended_FiredBIS_EventHandlers {
ADDON = QUOTE(_this call FUNC(firedEH));
};
};
class Extended_Engine_EventHandlers {
class All {
ADDON = QUOTE(_this call FUNC(handleEngine));
};
};

View File

@ -15,7 +15,7 @@ class RscInGameUI {
class RscUnitInfoTank: RscUnitInfo {
onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgVehicle', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Vehicle')])] call FUNC(localEvent););
};
class RscUnitInfoAirNoWeapon: RscUnitInfo {
onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgAircraft', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Aircraft')])] call FUNC(localEvent););
};

View File

@ -87,6 +87,7 @@ PREP(getWindDirection);
PREP(getZoom);
PREP(goKneeling);
PREP(hadamardProduct);
PREP(handleEngine);
PREP(handleModifierKey);
PREP(handleModifierKeyUp);
PREP(handleScrollWheel);

View File

@ -3,47 +3,6 @@
// #define DEBUG_MODE_FULL
#include "script_component.hpp"
//////////////////////////////////////////////////
// PFHs
//////////////////////////////////////////////////
//Singe PFEH to handle execNextFrame, waitAndExec and waitUntilAndExec:
[{
BEGIN_COUNTER(waitAndExec);
//Handle the waitAndExec array:
while {!(GVAR(waitAndExecArray) isEqualTo []) && {GVAR(waitAndExecArray) select 0 select 0 <= ACE_Time}} do {
private _entry = GVAR(waitAndExecArray) deleteAt 0;
(_entry select 2) call (_entry select 1);
};
//Handle the execNextFrame array:
{
(_x select 0) call (_x select 1);
false
} count GVAR(nextFrameBufferA);
//Swap double-buffer:
GVAR(nextFrameBufferA) = GVAR(nextFrameBufferB);
GVAR(nextFrameBufferB) = [];
GVAR(nextFrameNo) = diag_frameno + 1;
//Handle the waitUntilAndExec array:
{
// if condition is satisifed call statement
if ((_x select 2) call (_x select 0)) then {
// make sure to delete the correct handle when multiple conditions are met in one frame
GVAR(waitUntilAndExecArray) deleteAt (GVAR(waitUntilAndExecArray) find _x);
(_x select 2) call (_x select 1);
};
nil
} count +GVAR(waitUntilAndExecArray);
END_COUNTER(waitAndExec);
}, 0, []] call CBA_fnc_addPerFrameHandler;
//////////////////////////////////////////////////
// Get Map Data
//////////////////////////////////////////////////
@ -64,6 +23,7 @@
["blockSprint", false, []] call FUNC(statusEffect_addType);
["setCaptive", true, [QEGVAR(captives,Handcuffed), QEGVAR(captives,Surrendered), QEGVAR(medical,unconscious)]] call FUNC(statusEffect_addType);
["blockDamage", false, ["fixCollision"]] call FUNC(statusEffect_addType);
["blockEngine", false, ["ACE_Refuel"]] call FUNC(statusEffect_addType);
["forceWalk", {
params ["_object", "_set"];
@ -90,6 +50,11 @@
_object allowDamage (_set == 0);
};
}] call FUNC(addEventHandler);
["blockEngine", {
params ["_vehicle", "_set"];
_vehicle setVariable [QGVAR(blockEngine), _set > 0, true];
_vehicle engineOn false;
}] call FUNC(addEventHandler);
//Add a fix for BIS's zeus remoteControl module not reseting variables on DC when RC a unit
//This variable is used for isPlayer checks
@ -133,6 +98,7 @@ if (isServer) then {
["fixFloating", FUNC(fixFloating)] call FUNC(addEventhandler);
["fixPosition", FUNC(fixPosition)] call FUNC(addEventhandler);
["loadPersonEvent", FUNC(loadPersonLocal)] call FUNC(addEventhandler);
["unloadPersonEvent", FUNC(unloadPersonLocal)] call FUNC(addEventhandler);
["lockVehicle", {
@ -146,6 +112,7 @@ if (isServer) then {
["setDir", {(_this select 0) setDir (_this select 1)}] call FUNC(addEventhandler);
["setFuel", {(_this select 0) setFuel (_this select 1)}] call FUNC(addEventhandler);
["engineOn", {(_this select 0) engineOn (_this select 1)}] call FUNC(addEventhandler);
["setSpeaker", {(_this select 0) setSpeaker (_this select 1)}] call FUNC(addEventhandler);
["selectLeader", {(_this select 0) selectLeader (_this select 1)}] call FUNC(addEventHandler);
["setVelocity", {(_this select 0) setVelocity (_this select 1)}] call FUNC(addEventHandler);
@ -325,7 +292,8 @@ enableCamShake true;
GVAR(OldPlayerVehicle) = vehicle objNull;
GVAR(OldPlayerTurret) = [objNull] call FUNC(getTurretIndex);
GVAR(OldPlayerWeapon) = currentWeapon objNull;
GVAR(OldPlayerInventory) = [objNull] call FUNC(getAllGear);
GVAR(OldPlayerInventory) = [];
GVAR(OldPlayerInventoryNoAmmo) = [];
GVAR(OldPlayerVisionMode) = currentVisionMode objNull;
GVAR(OldCameraView) = "";
GVAR(OldVisibleMap) = false;
@ -373,11 +341,36 @@ GVAR(OldIsCamera) = false;
};
// "playerInventoryChanged" event
_data = [ACE_player] call FUNC(getAllGear);
_data = getUnitLoadout ACE_player;
if !(_data isEqualTo GVAR(OldPlayerInventory)) then {
// Raise ACE event locally
GVAR(OldPlayerInventory) = _data;
["playerInventoryChanged", [ACE_player, _data]] call FUNC(localEvent);
// we don't want to trigger this just because your ammo counter decreased.
_data = + GVAR(OldPlayerInventory);
private _weaponInfo = _data param [0, []];
if !(_weaponInfo isEqualTo []) then {
_weaponInfo set [4, primaryWeaponMagazine ACE_player];
_weaponInfo deleteAt 5;
};
_weaponInfo = _data param [1, []];
if !(_weaponInfo isEqualTo []) then {
_weaponInfo set [4, secondaryWeaponMagazine ACE_player];
_weaponInfo deleteAt 5;
};
_weaponInfo = _data param [2, []];
if !(_weaponInfo isEqualTo []) then {
_weaponInfo set [4, handgunMagazine ACE_player];
_weaponInfo deleteAt 5;
};
if !(_data isEqualTo GVAR(OldPlayerInventoryNoAmmo)) then {
GVAR(OldPlayerInventoryNoAmmo) = _data;
["playerInventoryChanged", [ACE_player, [ACE_player, false] call FUNC(getAllGear)]] call FUNC(localEvent);
};
};
// "playerVisionModeChanged" event

View File

@ -46,6 +46,8 @@ if (isServer) then {
GVAR(statusEffect_Names) = [];
GVAR(statusEffect_isGlobal) = [];
GVAR(setHearingCapabilityMap) = [];
//////////////////////////////////////////////////
// Set up PlayerChanged eventhandler for pre init (EH is installed in postInit)
//////////////////////////////////////////////////

View File

@ -23,7 +23,7 @@ if (isServer) then {
params ["_eventName", "_client"];
if (!HASH_HASKEY(GVAR(syncedEvents),_eventName)) exitWith {
ACE_LOGERROR("Request for synced event - key not found.");
ACE_LOGERROR_1("Request for synced event - key [%1] not found.", _eventName);
false
};

View File

@ -17,7 +17,7 @@
params ["_name", "_args", "_ttl"];
if (!HASH_HASKEY(GVAR(syncedEvents),_name)) exitWith {
ACE_LOGERROR("Synced event key not found.");
ACE_LOGERROR_1("Synced event key [%1] not found (_handleSyncedEvent).", _name);
false
};

View File

@ -10,6 +10,9 @@
* Return Value:
* Boolean of success <BOOL>
*
* Example:
* ["myEvent", {_this call x}, 0] call ace_common_fnc_addSyncedEventHandler
*
* Public: Yes
*/
#include "script_component.hpp"
@ -17,7 +20,7 @@
params ["_name", "_handler", ["_ttl", 0]];
if (HASH_HASKEY(GVAR(syncedEvents),_name)) exitWith {
ACE_LOGERROR("Duplicate synced event creation.");
ACE_LOGERROR_1("Duplicate synced event [%1] creation.",_name);
false
};

View File

@ -29,39 +29,17 @@ GVAR(AssignedItemsShownItems) = [
];
["playerInventoryChanged", {
params ["_unit", "_assignedItems"];
params ["_unit"];
_assignedItems = _assignedItems select 17;
private _assignedItems = getUnitLoadout _unit param [9, ["","","","","",""]]; // ["ItemMap","ItemGPS","ItemRadio","ItemCompass","ItemWatch","NVGoggles"]
GVAR(AssignedItemsShownItems) = [true, true, true, true, true];
{
if !(_x in GVAR(AssignedItems)) then {
GVAR(AssignedItems) pushBack _x;
GVAR(AssignedItemsInfo) pushBack toLower getText (configFile >> "CfgWeapons" >> _x >> "ACE_hideItemType");
};
switch (GVAR(AssignedItemsInfo) select (GVAR(AssignedItems) find _x)) do {
case ("map"): {
GVAR(AssignedItemsShownItems) set [0, false];
};
case ("compass"): {
GVAR(AssignedItemsShownItems) set [1, false];
};
case ("watch"): {
GVAR(AssignedItemsShownItems) set [2, false];
};
case ("radio"): {
GVAR(AssignedItemsShownItems) set [3, false];
};
case ("gps"): {
GVAR(AssignedItemsShownItems) set [4, false];
};
};
false
} count _assignedItems;
//systemChat str GVAR(AssignedItemsShownItems);
GVAR(AssignedItemsShownItems) = [
!((_assignedItems select 0) isEqualTo "") && {getText (configFile >> "CfgWeapons" >> _assignedItems select 0 >> "ACE_hideItemType") != "map"},
!((_assignedItems select 3) isEqualTo "") && {getText (configFile >> "CfgWeapons" >> _assignedItems select 3 >> "ACE_hideItemType") != "compass"},
!((_assignedItems select 4) isEqualTo "") && {getText (configFile >> "CfgWeapons" >> _assignedItems select 4 >> "ACE_hideItemType") != "watch"},
!((_assignedItems select 2) isEqualTo "") && {getText (configFile >> "CfgWeapons" >> _assignedItems select 2 >> "ACE_hideItemType") != "radio"},
!((_assignedItems select 1) isEqualTo "") && {getText (configFile >> "CfgWeapons" >> _assignedItems select 1 >> "ACE_hideItemType") != "gps"}
];
GVAR(AssignedItemsShownItems) params ["_showMap", "_showCompass", "_showWatch", "_showRadio", "_showGPS"];

View File

@ -15,18 +15,6 @@
*/
#include "script_component.hpp"
params [["_unit", objNull, [objNull]]];
ACE_DEPRECATED("ace_common_fnc_binocularMagazine","3.8.0","CBA_fnc_binocularMagazine");
private _binocular = binocular _unit;
scopeName "main";
{
if ((_x select 0) isEqualTo _binocular) then {
// note: if there is no magazine, _x(4,0) will be nil, which skips the breakOut.
(_x select 4 select 0) breakOut "main";
};
false
} count weaponsitems _unit;
""
_this call CBA_fnc_binocularMagazine

View File

@ -79,7 +79,7 @@ if (!isServer) then {
params ["_rscLayer"];
TRACE_2("Hiding Error message after 10 seconds",time,_rscLayer);
_rscLayer cutFadeOut 0.2;
}, [_rscLayer], 10] call FUNC(waitAndExecute);
}, [_rscLayer], 10] call CBA_fnc_waitAndExecute;
};
};
@ -89,7 +89,7 @@ if (!isServer) then {
TRACE_2("Player is alive, showing msg and exiting",time,_text);
_text = composeText [parseText format ["<t align='center'>%1</t>", _text]];
["[ACE] ERROR", _text, {findDisplay 46 closeDisplay 0}] call FUNC(errorMessage);
}, [_text]] call FUNC(waitUntilAndExecute);
}, [_text]] call CBA_fnc_waitUntilAndExecute;
};
};

View File

@ -104,7 +104,7 @@ if (_show) then {
if (_timeAlive >= 0) then {
[{
[_this select 0, false, "", [0,0,0], 0] call FUNC(displayIcon);
}, [_iconId], _timeAlive, _timeAlive] call FUNC(waitAndExecute);
}, [_iconId], _timeAlive, _timeAlive] call CBA_fnc_waitAndExecute;
};
} else {

View File

@ -33,5 +33,5 @@ if (_time > _lastHintTime + _delay || {_priority >= _lastHintPriority}) then {
GVAR(lastHint) set [0, _time];
GVAR(lastHint) set [1, _priority];
[{if ((_this select 0) == GVAR(lastHint) select 0) then {hintSilent ""};}, [_time], _delay, 0] call FUNC(waitAndExecute);
[{if ((_this select 0) == GVAR(lastHint) select 0) then {hintSilent ""};}, [_time], _delay, 0] call CBA_fnc_waitAndExecute;
};

View File

@ -21,7 +21,7 @@ if (!isNil "ACE_PFH_COUNTER") then {
private _isActive = ["ACTIVE", "REMOVED"] select isNil {CBA_common_PFHhandles select (_pfh select 0)};
diag_log text format ["Registered PFH: id=%1 [%2, delay %3], %4:%5", _pfh select 0, _isActive, _parameters select 1, _pfh select 1, _pfh select 2];
diag_log text format ["Registered PFH: id=%1 [%2, delay %3], %4:%5", _pfh select 0, _isActive, _parameters select 1, _pfh select 1, _pfh select 2];
false
} count ACE_PFH_COUNTER;
};
@ -42,7 +42,7 @@ diag_log text format ["-------------------------------------------"];
if (_iter > 2) then {
_count = _count + 1;
private _delta = (_x select 1) - (_x select 0);
_total = _total + _delta;
};
@ -54,7 +54,7 @@ diag_log text format ["-------------------------------------------"];
_averageResult = (_total / _count) * 1000;
// dump results
diag_log text format ["%1: Average: %2s / %3 = %4ms", _counterEntry select 0, _total, _count, _averageResult];
diag_log text format ["%1: Average: %2s / %3 = %4ms", _counterEntry select 0, _total, _count, _averageResult];
} else {
diag_log text format ["%1: No results", _counterEntry select 0];
};
@ -68,7 +68,7 @@ diag_log text format["-------------------------------------------"];
{
private _delay = _x select 2;
//if(_delay > 0) then { _delay = _delay / 1000; };
diag_log text format["%1: %2s, delay=%3, handle=%4",(_x select 0), _delay, (_x select 3), (_x select 4)];
} forEach ACE_PERFORMANCE_EXCESSIVE_STEP_TRACKER;

View File

@ -13,10 +13,6 @@
*/
#include "script_component.hpp"
params ["_func", "_params"];
ACE_DEPRECATED("ace_common_fnc_execNextFrame","3.8.0","CBA_fnc_execNextFrame");
if (diag_frameno != GVAR(nextFrameNo)) then {
GVAR(nextFrameBufferA) pushBack [_params, _func];
} else {
GVAR(nextFrameBufferB) pushBack [_params, _func];
};
_this call CBA_fnc_execNextFrame;

View File

@ -92,6 +92,15 @@ while {_rangeToCheck < _maxDistance} do {
private _point1ASL = (AGLtoASL _roundAGL) vectorAdd [_radiusOfItem * cos _angle, _radiusOfItem * sin _angle, 0.1];
private _point2ASL = (AGLtoASL _roundAGL) vectorAdd [-_radiusOfItem * cos _angle, -_radiusOfItem * sin _angle, (_radiusOfItem + 0.5)];
private _testIntersections = lineIntersectsSurfaces [_point1ASL, _point2ASL];
if (((count _testIntersections) == 1) && {isNull ((_testIntersections select 0) select 2)}) then {
private _hitGroundASL = (_testIntersections select 0) select 0;
private _hitHeightOffset = ((AGLtoASL _roundAGL) select 2) - (_hitGroundASL select 2);
private _hit2dOffset = _roundAGL distance2D _hitGroundASL;
private _slope = _hitHeightOffset atan2 _hit2dOffset;
if (_slope < 25) then { //Ignore ground hit if slope is reasonable
_testIntersections = [];
};
};
if (!(_testIntersections isEqualTo [])) exitWith {
TRACE_2("collision low/high",_roundAGL,_testIntersections);
_roundPointIsValid = false;

View File

@ -19,4 +19,4 @@ if (!local _this) exitWith {};
[_this, "blockDamage", "fixCollision", true] call FUNC(statusEffect_set);
// re-allow damage after 2 seconds
[{[_this, "blockDamage", "fixCollision", false] call FUNC(statusEffect_set);}, _this, 2] call EFUNC(common,waitAndExecute);
[{[_this, "blockDamage", "fixCollision", false] call FUNC(statusEffect_set);}, _this, 2] call CBA_fnc_waitAndExecute;

View File

@ -33,7 +33,11 @@
*/
#include "script_component.hpp"
params ["_unit"];
params ["_unit", ["_showDeprecated", true]];
if (_showDeprecated) then {
ACE_DEPRECATED("ace_common_fnc_getAllGear","3.7.0","getUnitLoadout");
};
if (isNull _unit) exitWith {[
"",
@ -60,5 +64,5 @@ if (isNull _unit) exitWith {[
handgunWeapon _unit, handgunItems _unit, handgunMagazine _unit,
assignedItems _unit,
binocular _unit,
[_unit] call FUNC(binocularMagazine)
[_unit] call CBA_fnc_binocularMagazine
]

View File

@ -12,12 +12,6 @@
*/
#include "script_component.hpp"
params ["_item"];
ACE_DEPRECATED("ace_common_fnc_getConfigType","3.8.0","CBA_fnc_getItemConfig");
if (isClass (configFile >> "CfgWeapons" >> _item)) exitWith {"CfgWeapons"};
if (isClass (configFile >> "CfgMagazines" >> _item)) exitWith {"CfgMagazines"};
if (isClass (configFile >> "CfgGlasses" >> _item)) exitWith {"CfgGlasses"};
""
configName (configHierarchy (_item call CBA_fnc_getItemConfig) param [1, configNull])

View File

@ -12,10 +12,6 @@
*/
#include "script_component.hpp"
params ["_object"];
ACE_DEPRECATED("ace_common_fnc_getConfigTypeObject","3.8.0","CBA_fnc_getObjectConfig");
if (isClass (configFile >> "CfgVehicles" >> _object)) exitWith {"CfgVehicles"};
if (isClass (configFile >> "CfgAmmo" >> _object)) exitWith {"CfgAmmo"};
""
configName (configHierarchy (_item call CBA_fnc_getObjectConfig) param [1, configNull])

View File

@ -15,9 +15,11 @@
params ["_item"];
private _cfgType = [_item] call FUNC(getConfigType);
private _config = _item call CBA_fnc_getItemConfig;
if (_cfgType == "") exitWith {["", ""]};
if (isNull _config) exitWith {["", ""]};
private _cfgType = configName ((configHierarchy _config) param [1, configNull]);
if (_cfgType == "CfgGlasses") exitWith {["item", "glasses"]};

View File

@ -23,38 +23,80 @@ private _lat = getNumber (configFile >> "CfgWorlds" >> _map >> "latitude");
private _altitude = getNumber (configFile >> "CfgWorlds" >> _map >> "elevationOffset");
_map = toLower _map;
if (_map in ["chernarus", "chernarus_summer", "chernarus_winter", "bootcamp_acr", "woodland_acr", "utes"]) then { _lat = 50; _altitude = 0; };
if (_map in ["altis", "stratis"]) then { _lat = 40; _altitude = 0; };
if (_map in ["takistan", "zargabad", "mountains_acr"]) then { _lat = 35; _altitude = 2000; };
if (_map in ["shapur_baf", "provingGrounds_pmc"]) then { _lat = 35; _altitude = 100; };
if (_map in ["abbottabad"]) then { _lat = 34; _altitude = 1256; }; //Abbottabad elevation 1256m (Wikipedia)
if (_map in ["abramia"]) then { _lat = 60; _altitude = 0; };
if (_map in ["af_kandahar_province"]) then { _lat = 42; _altitude = 0; };
if (_map in ["altis"]) then { _lat = 40; _altitude = 0; };
if (_map in ["angel"]) then { _lat = 38; _altitude = 0; };
if (_map in ["anim_helvantis_v2"]) then { _lat = 50; _altitude = 0; };
if (_map in ["australia"]) then { _lat = -25; _altitude = 0; };
if (_map in ["bootcamp_acr"]) then { _lat = 50; _altitude = 0; };
if (_map in ["bornholm"]) then { _lat = 55; _altitude = 0; };
if (_map in ["bozcaada"]) then { _lat = 40; _altitude = 0; };
if (_map in ["caribou"]) then { _lat = 68; _altitude = 0; };
if (_map in ["catalina"]) then { _lat = 33; _altitude = 0; };
if (_map in ["chernarus", "chernarus_summer", "chernarus_winter"]) then { _lat = 50; _altitude = 0; };
if (_map in ["chernobylzone", "chernobylzonea2"]) then { _lat = 51; _altitude = 0; };
if (_map in ["clafghan"]) then { _lat = 34; _altitude = 640; };
if (_map in ["dakrong"]) then { _lat = 17; _altitude = 0; }; //Unsung Mod
if (_map in ["desert_e"]) then { _lat = 40; _altitude = 800; };
if (_map in ["dya"]) then { _lat = 34; _altitude = 110; }; //Diyala Iraq - default elevationOffset
if (_map in ["esseker"]) then { _lat = 43; _altitude = 2000; };
if (_map in ["evergreen"]) then { _lat = 41; _altitude = 0; }; //Burgazada, Turkey - default elevationOffset
if (_map in ["fallujah"]) then { _lat = 33; _altitude = 0; };
if (_map in ["fata"]) then { _lat = 33; _altitude = 1347; };
if (_map in ["abbottabad"]) then { _lat = 34; _altitude = 1256; };
if (_map in ["sfp_wamako"]) then { _lat = 14; _altitude = 0; };
if (_map in ["sfp_sturko"]) then { _lat = 56; _altitude = 0; };
if (_map in ["bornholm"]) then { _lat = 55; _altitude = 0; };
if (_map in ["bozcaada", "imrali", "imralispring"]) then { _lat = 40; _altitude = 0; };
if (_map in ["caribou"]) then { _lat = 68; _altitude = 0; };
if (_map in ["namalsk"]) then { _lat = 65; _altitude = 0; };
if (_map in ["mcn_aliabad"]) then { _lat = 36; _altitude = 0; };
if (_map in ["clafghan"]) then { _lat = 34; _altitude = 640; };
if (_map in ["sangin", "hellskitchen"]) then { _lat = 32; _altitude = 0; };
if (_map in ["sara", "sara_dbe1", "saralite", "intro", "desert_e", "porto"]) then { _lat = 40; _altitude = 0; };
if (_map in ["reshmaan"]) then { _lat = 35; _altitude = 2000; };
if (_map in ["thirsk"]) then { _lat = 65; _altitude = 0; };
if (_map in ["lingor", "lingor3"]) then { _lat = -4; _altitude = 0; };
if (_map in ["panthera3"]) then { _lat = 46; _altitude = 0; };
if (_map in ["gorgona"]) then { _lat = 43; _altitude = 0; };
if (_map in ["hellskitchen", "hellskitchens"]) then { _lat = 32; _altitude = 900; }; //Sangin summer, Sangin winter - Sangin elevation 888m (Wikipedia)
if (_map in ["hindukush"]) then { _lat = 36; _altitude = 0; };
if (_map in ["imrali", "imralispring"]) then { _lat = 40; _altitude = 0; };
if (_map in ["intro"]) then { _lat = 40; _altitude = 0; };
if (_map in ["isladuala3"]) then { _lat = -19; _altitude = 0; };
if (_map in ["jacobi"]) then { _lat = 34; _altitude = 2000; }; //default elevationOffset
if (_map in ["kapaulio"]) then { _lat = 0; _altitude = 0; };
if (_map in ["kerama"]) then { _lat = 26; _altitude = 0; }; //Kerama Islands, Japan - default elevationOffset
if (_map in ["kholm"]) then { _lat = 36; _altitude = 0; };
if (_map in ["koplic"]) then { _lat = 42; _altitude = 0; };
if (_map in ["kunduz"]) then { _lat = 37; _altitude = 0; };
if (_map in ["angel"]) then { _lat = 38; _altitude = 0; };
if (_map in ["porquerolles"]) then { _lat = 43; _altitude = 0; };
if (_map in ["napf"]) then { _lat = 47; _altitude = 0; };
if (_map in ["lingor", "lingor3"]) then { _lat = -4; _altitude = 0; };
if (_map in ["lost", "lostw"]) then { _lat = 60; _altitude = 0; };
if (_map in ["mcn_aliabad"]) then { _lat = 36; _altitude = 0; };
if (_map in ["malvinas"]) then { _lat = -52; _altitude = 0; };
if (_map in ["namalsk"]) then { _lat = 65; _altitude = 0; };
if (_map in ["mef_alaska"]) then { _lat = 60; _altitude = 5; };
if (_map in ["australia"]) then { _lat = -25; _altitude = 0; };
if (_map in ["pja301"]) then { _lat = 42; _altitude = 0; };
if (_map in ["pja305"]) then { _lat = 0; _altitude = 0; };
if (_map in ["pja306"]) then { _lat = 35; _altitude = 300; };
if (_map in ["pja307"]) then { _lat = 17; _altitude = 0; };
if (_map in ["pja308", "pja310"]) then { _lat = 36; _altitude = 0; };
if (_map in ["mountains_acr"]) then { _lat = 35; _altitude = 2000; };
if (_map in ["napf", "napfwinter"]) then { _lat = 47; _altitude = 0; };
if (_map in ["panthera3"]) then { _lat = 46; _altitude = 0; };
if (_map in ["pianosa_aut"]) then { _lat = 43; _altitude = 0; }; //Pianosa, Italy - default elevationOffset
if (_map in ["pja305"]) then { _lat = 0; _altitude = 0; }; //G.O.S N'Ziwasogo
if (_map in ["pja306"]) then { _lat = 35; _altitude = 0; }; //G.O.S Kalu Khan
if (_map in ["pja307"]) then { _lat = 17; _altitude = 0; }; //F.S.F Daryah
if (_map in ["pja308"]) then { _lat = 36; _altitude = 0; }; //G.O.S Gunkizli
if (_map in ["pja310"]) then { _lat = 36; _altitude = 0; }; //G.O.S Al Rayak
if (_map in ["pja312"]) then { _lat = 16; _altitude = 0; }; //G.O.S Song Bin Tanh
if (_map in ["porquerolles"]) then { _lat = 43; _altitude = 0; };
if (_map in ["porto"]) then { _lat = 40; _altitude = 0; };
if (_map in ["provinggrounds_pmc"]) then { _lat = 35; _altitude = 100; };
if (_map in ["reshmaan"]) then { _lat = 35; _altitude = 2000; };
if (_map in ["sara", "sara_dbe1"]) then { _lat = 40; _altitude = 0; };
if (_map in ["saralite"]) then { _lat = 40; _altitude = 0; };
if (_map in ["sb3"]) then { _lat = 53; _altitude = 25; }; //TrpUebPl Einfelde Nord (Munster North Training Area, Germany) - default elevationOffset
if (_map in ["shapur_baf"]) then { _lat = 35; _altitude = 100; };
if (_map in ["sfp_sturko"]) then { _lat = 56; _altitude = 0; };
if (_map in ["sfp_wamako"]) then { _lat = 14; _altitude = 0; };
if (_map in ["stratis"]) then { _lat = 40; _altitude = 0; };
if (_map in ["sugarlake"]) then { _lat = 29; _altitude = 0; };
if (_map in ["takistan"]) then { _lat = 35; _altitude = 2000; };
if (_map in ["thirsk"]) then { _lat = 65; _altitude = 0; };
if (_map in ["tilos"]) then { _lat = 36; _altitude = 0; };
if (_map in ["utes"]) then { _lat = 50; _altitude = 0; };
if (_map in ["vt5"]) then { _lat = 61; _altitude = 100; }; //Vt5, Suomi Finland - default elevationOffset
if (_map in ["wake"]) then { _lat = 19; _altitude = 0; };
if (_map in ["waziristan"]) then { _lat = 33; _altitude = 0; };
if (_map in ["wintermap"]) then { _lat = 61; _altitude = 0; }; //Nordkvingo - default elevationOffset
if (_map in ["wintertown", "wintertowna3"]) then { _lat = 39; _altitude = 600; }; //U.S. state Kansas mean elevation 610m (Wikipedia)
if (_map in ["woodland_acr"]) then { _lat = 50; _altitude = 0; };
if (_map in ["xcam_prototype"]) then { _lat = 35; _altitude = 0; };
if (_map in ["zargabad"]) then { _lat = 35; _altitude = 2000; };
private _UTM = [_long,_lat] call BIS_fnc_posDegToUTM;
private _easting = _UTM select 0;

View File

@ -14,19 +14,4 @@
params [["_vehicle", objNull, [objNull]]];
private _turrets = allTurrets [_vehicle, true];
private _turret = [];
{
private _config = configFile >> "CfgVehicles" >> typeOf _vehicle;
_config = [_config, _x] call FUNC(getTurretConfigPath);
if (getNumber (_config >> "primaryObserver") == 1) exitWith {
_turret = _x;
};
false
} count _turrets;
_turret
fullCrew [_vehicle, "commander", true] apply {_x select 3} param [0, []] // return

View File

@ -14,19 +14,6 @@
params [["_vehicle", objNull, [objNull]]];
private _turrets = allTurrets [_vehicle, true];
private _turret = [];
{
private _config = configFile >> "CfgVehicles" >> typeOf _vehicle;
_config = [_config, _x] call FUNC(getTurretConfigPath);
if (getNumber (_config >> "isCopilot") == 1 && {getNumber (_config >> "primaryGunner") != 1} && {getNumber (_config >> "primaryObserver") != 1}) exitWith {
_turret = _x;
};
false
} count _turrets;
_turret
fullCrew [_vehicle, "turret", true] apply {_x select 3} select {
getNumber ([_vehicle, _x] call CBA_fnc_getTurret >> "isCopilot") == 1
} param [0, []] // return

View File

@ -14,19 +14,4 @@
params [["_vehicle", objNull, [objNull]]];
private _turrets = allTurrets [_vehicle, true];
private _turret = [];
{
private _config = configFile >> "CfgVehicles" >> typeOf _vehicle;
_config = [_config, _x] call FUNC(getTurretConfigPath);
if (getNumber (_config >> "primaryGunner") == 1) exitWith {
_turret = _x;
};
false
} count _turrets;
_turret
fullCrew [_vehicle, "gunner", true] apply {_x select 3} param [0, []] // return

View File

@ -8,12 +8,14 @@
* Return Value:
* Turret Indecies <ARRAY>
*
* Public: Yes
* Public: No
*
* Note: It's advised to use allTurrets [_vehicle, true] instead whenever possible
*/
#include "script_component.hpp"
ACE_DEPRECATED("ace_common_fnc_getTurrets","3.7.0","allTurrets [_vehicle, true]");
params ["_type"];
private _varName = format [QGVAR(CachedTurrets_%1), _type];

View File

@ -14,19 +14,4 @@
params [["_vehicle", objNull, [objNull]]];
private _turrets = allTurrets [_vehicle, true];
private _turret = [];
{
private _config = configFile >> "CfgVehicles" >> typeOf _vehicle;
_config = [_config, _x] call FUNC(getTurretConfigPath);
if (getNumber (_config >> "isPersonTurret") == 1) then {
_turret pushBack _x;
};
false
} count _turrets;
_turret
fullCrew [_vehicle, "turret", true] select {_x select 4} apply {_x select 3} // return

View File

@ -14,24 +14,6 @@
params [["_vehicle", objNull, [objNull]]];
private _turrets = allTurrets [_vehicle, true];
private _turret = [];
{
private _config = configFile >> "CfgVehicles" >> typeOf _vehicle;
_config = [_config, _x] call FUNC(getTurretConfigPath);
if (
getNumber (_config >> "isCopilot") != 1
&& {getNumber (_config >> "primaryGunner") != 1}
&& {getNumber (_config >> "primaryObserver") != 1}
&& {getNumber (_config >> "isPersonTurret") != 1}
) then {
_turret pushBack _x;
};
false
} count _turrets;
_turret
fullCrew [_vehicle, "turret", true] select {!(_x select 4)} apply {_x select 3} select {
getNumber ([_vehicle, _x] call CBA_fnc_getTurret >> "isCopilot") != 1
} // return

View File

@ -18,7 +18,7 @@ private _muzzles = getArray (configFile >> "CfgWeapons" >> _weapon >> "muzzles")
{
if (_x == "this") then {
_muzzles set [_forEachIndex, _weapon];
_muzzles set [_forEachIndex, configName (configFile >> "CfgWeapons" >> _weapon)];
};
} forEach _muzzles;

View File

@ -4,7 +4,7 @@
*
* Arguments:
* 0: unit <OBJECT>
* 1: weapon <STRING>
* 1: weapon (optional, default: units current weapon) <STRING>
*
* Return Value:
* 0: Attachements <ARRAY>
@ -16,21 +16,19 @@
*/
#include "script_component.hpp"
params ["_unit", "_weapon"];
params [["_unit", objNull, [objNull]], ["_weapon", nil, [""]]];
if (isNil "_weapon") then {
_weapon = currentWeapon _unit;
};
private _attachments = [_unit weaponAccessories _weapon] param [0, ["","","",""]];
private _muzzles = _weapon call FUNC(getWeaponMuzzles);
private _weaponInfo = [["","","",""], primaryWeaponItems _unit, secondaryWeaponItems _unit, handgunItems _unit] select ((["", primaryWeapon _unit, secondaryWeapon _unit, handgunWeapon _unit] find _weapon) max 0);
// get loaded magazines and ammo
private _magazines = [];
private _ammo = [];
{
_magazines pushBack "";
_ammo pushBack 0;
false
} count _muzzles;
private _magazines = _muzzles apply {""};
private _ammo = _muzzles apply {0};
{
if (_x select 2) then {
@ -44,6 +42,4 @@ private _ammo = [];
false
} count magazinesAmmoFull _unit;
_weaponInfo append [_muzzles, _magazines, _ammo];
_weaponInfo
[_attachments, _muzzles, _magazines, _ammo];

View File

@ -0,0 +1,19 @@
/*
* Author: BaerMitUmlaut
* Blocks turning on the vehicles engine if set by the status effect handler.
*
* Arguments:
* 0: Vehicle <OBJECT>
* 1: Engine state <BOOL>
*
* Return Value:
* None
*
* Public: No
*/
#include "script_component.hpp"
params ["_vehicle", "_engineOn"];
if (local _vehicle && {_engineOn} && {_vehicle getVariable [QGVAR(blockEngine), false]}) then {
_vehicle engineOn false;
};

View File

@ -21,33 +21,18 @@ private _vehicle = objNull;
if (!([_caller, _unit, ["isNotDragging", "isNotCarrying"]] call FUNC(canInteractWith)) || {_caller == _unit}) exitWith {_vehicle};
private _loadcar = nearestObject [_unit, "Car"];
private _nearVehicles = nearestObjects [_unit, ["Car", "Air", "Tank", "Ship_F"], 10];
if (_unit distance _loadcar <= 10) then {
_vehicle = _loadcar;
} else {
private _loadair = nearestObject [_unit, "Air"];
if (_unit distance _loadair <= 10) then {
_vehicle = _loadair;
} else {
private _loadtank = nearestObject [_unit, "Tank"];
if (_unit distance _loadtank <= 10) then {
_vehicle = _loadtank;
} else {
private _loadboat = nearestObject [_unit, "Ship_F"];
if (_unit distance _loadboat <= 10) then {
_vehicle = _loadboat;
};
};
{
TRACE_1("",_x);
if ((_x emptyPositions "cargo" > 0) || {_x emptyPositions "gunner" > 0}) exitWith {
_vehicle = _x;
};
};
} forEach _nearVehicles;
if (!isNull _vehicle) then {
[_unit, true, GROUP_SWITCH_ID, side group _caller] call FUNC(switchToGroupSide);
[[_unit, _vehicle, _caller], QFUNC(loadPersonLocal), _unit, false] call FUNC(execRemoteFnc);
["loadPersonEvent", _unit, [_unit, _vehicle, _caller]] call FUNC(objectEvent);
};
_vehicle

View File

@ -34,7 +34,7 @@ createDialog QGVAR(ProgressBar_Dialog);
//Adjust position based on user setting:
private _ctrlPos = ctrlPosition (uiNamespace getVariable QGVAR(ctrlProgressBarTitle));
_ctrlPos set [1, ((0 + 29 * GVAR(SettingProgressBarLocation)) * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2))];
_ctrlPos set [1, ((0 + 29 * GVAR(settingProgressBarLocation)) * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25) + (safezoneY + (safezoneH - (((safezoneW / safezoneH) min 1.2) / 1.2))/2))];
(uiNamespace getVariable QGVAR(ctrlProgressBG)) ctrlSetPosition _ctrlPos;
(uiNamespace getVariable QGVAR(ctrlProgressBG)) ctrlCommit 0;

View File

@ -15,13 +15,6 @@
*/
#include "script_component.hpp"
params [["_unit", objNull, [objNull]]];
ACE_DEPRECATED("ace_common_fnc_removeBinocularMagazine","3.8.0","CBA_fnc_removeBinocularMagazine");
private _binocular = binocular _unit;
private _selectBinocular = currentWeapon _unit == _binocular;
_unit addWeapon _binocular;
if (_selectBinocular) then {
_unit selectWeapon _binocular;
};
_this call CBA_fnc_removeBinocularMagazine

View File

@ -15,7 +15,7 @@
params ["_name"];
if (!HASH_HASKEY(GVAR(syncedEvents),_name)) exitWith {
ACE_LOGERROR("Synced event key not found.");
ACE_LOGERROR_1("Synced event key [%1] not found (removeSyncedEventHandler).", _name);
false
};

View File

@ -18,6 +18,8 @@
*/
#include "script_component.hpp"
ACE_DEPRECATED("ace_common_fnc_setAllGear","3.7.0","setUnitLoadout");
params ["_unit", "_allGear", ["_clearAttachments", false], ["_clearBackpack", false]];
if (!local _unit) exitWith {

View File

@ -5,48 +5,44 @@
* Arguments:
* 0: id <STRING>
* 1: settings <NUMBER>
* 2: add (default: true) <BOOL>
* 2: add [true] OR remove [false] (default: true) <BOOL>
*
* Return Value:
* None
*
* Public: Yes
* Example:
* ["earwax", 0.5, true] call ace_common_fnc_setHearingCapability
*
* Note: uses player
* Public: Yes
*/
#include "script_component.hpp"
params ["_id", "_settings", ["_add", true]];
private _map = missionNamespace getVariable [QGVAR(setHearingCapabilityMap),[]];
params ["_id", "_setting", ["_add", true]];
private _exists = false;
{
if (_id == _x select 0) exitWith {
_exists = true;
if (_add) then {
_x set [1, _settings];
} else {
_map set [_forEachIndex, 0];
_map = _map - [0];
};
};
} forEach _map;
if (!_exists && _add) then {
_map pushBack [_id, _settings];
};
missionNamespace setVariable [QGVAR(setHearingCapabilityMap), _map];
// find lowest volume
private _lowestVolume = 1;
{
_lowestVolume = (_x select 1) min _lowestVolume;
false
} count _map;
GVAR(setHearingCapabilityMap) = GVAR(setHearingCapabilityMap) select {
_x params ["_xID", "_xSetting"];
if (_id == _xID) then {
_exists = true;
if (_add) then {
_x set [1, _setting];
_lowestVolume = _lowestVolume min _setting;
true
} else {
false
};
} else {
_lowestVolume = _lowestVolume min _xSetting;
true
};
};
if (!_exists && _add) then {
_lowestVolume = _lowestVolume min _setting;
GVAR(setHearingCapabilityMap) pushBack [_id, _setting];
};
// in game sounds
0 fadeSound _lowestVolume;
@ -54,5 +50,5 @@ private _lowestVolume = 1;
0 fadeMusic _lowestVolume;
// Set Radio mod variables.
player setVariable ["tf_globalVolume", _lowestVolume];
ACE_player setVariable ["tf_globalVolume", _lowestVolume];
if (!isNil "acre_api_fnc_setGlobalVolume") then { [_lowestVolume^0.33] call acre_api_fnc_setGlobalVolume; };

View File

@ -50,4 +50,4 @@ TRACE_2("Starting Embargo", _varName, _delay);
if (!(_value isEqualTo _curValue)) then {
_this call FUNC(setVariablePublic);
};
}, _this, _delay] call FUNC(waitAndExecute);
}, _this, _delay] call CBA_fnc_waitAndExecute;

View File

@ -17,7 +17,7 @@
params ["_name", "_args", ["_ttl", 0]];
if (!HASH_HASKEY(GVAR(syncedEvents),_name)) exitWith {
ACE_LOGERROR("Synced event key not found.");
ACE_LOGERROR_1("Synced event key [%1] not found (syncedEvent).", _name);
false
};

View File

@ -15,7 +15,7 @@
*/
#include "script_component.hpp"
#define GROUP_SWITCH_ID QUOTE(FUNC(loadPerson))
#define GROUP_SWITCH_ID QFUNC(loadPerson)
params ["_unit"];

View File

@ -14,7 +14,7 @@
*/
#include "script_component.hpp"
#define GROUP_SWITCH_ID QUOTE(FUNC(loadPerson))
#define GROUP_SWITCH_ID QFUNC(loadPerson)
params ["_unit", "_vehicle", ["_unloader", objNull]];
TRACE_3("params",_unit,_vehicle,_unloader);
@ -58,10 +58,10 @@ _unit action ["Eject", vehicle _unit];
if ((_unit getVariable "ACE_isUnconscious") and (animationState _unit != _anim)) then {
[_unit, _anim, 2, true] call FUNC(doAnimation);
};
}, [_unit, _anim], 0.5] call FUNC(waitAndExecute);
}, [_unit, _anim], 0.5] call CBA_fnc_waitAndExecute;
};
};
}, [_unit, _emptyPos], 0.5] call FUNC(waitAndExecute);
}, [_unit, _emptyPos], 0.5] call CBA_fnc_waitAndExecute;
[_unit, false, GROUP_SWITCH_ID, side group _unit] call FUNC(switchToGroupSide);

View File

@ -17,7 +17,6 @@
*/
#include "script_component.hpp"
params ["_func", "_params", "_delay"];
ACE_DEPRECATED("ace_common_fnc_waitAndExecute","3.8.0","CBA_fnc_waitAndExecute");
GVAR(waitAndExecArray) pushBack [ACE_time + _delay, _func, _params];
GVAR(waitAndExecArray) sort true;
_this call CBA_fnc_waitAndExecute;

View File

@ -17,7 +17,8 @@
*/
#include "script_component.hpp"
TRACE_1("Adding",_this);
ACE_DEPRECATED("ace_common_fnc_waitUntilAndExecute","3.8.0","CBA_fnc_waitUntilAndExecute");
_this call CBA_fnc_waitUntilAndExecute;
GVAR(waitUntilAndExecArray) pushBack _this;
nil

View File

@ -802,6 +802,7 @@
<Italian>Non c'è spazio per scaricare</Italian>
<Spanish>No hay espacio para descargar.</Spanish>
<French>Pas de place pour décharger</French>
<Czech>Nedostatek místa k vyložení</Czech>
</Key>
</Package>
</Project>

View File

@ -86,7 +86,7 @@ class CfgVehicles {
selection = "";
displayName = "$STR_ACE_UNROLLWIRE";
distance = 5;
condition = "true";
condition = "alive _target";
statement = QUOTE([ARR_2(_target,_player)] call FUNC(dismount));
showDisabled = 0;
exceptions[] = {};
@ -134,7 +134,7 @@ class CfgVehicles {
distance = 4;
condition = "true";
//wait a frame to handle "Do When releasing action menu key" option:
statement = QUOTE([ARR_2({_this call FUNC(deploy)}, [ARR_2(_target,_player)])] call EFUNC(common,execNextFrame));
statement = QUOTE([ARR_2({_this call FUNC(deploy)}, [ARR_2(_target,_player)])] call CBA_fnc_execNextFrame);
showDisabled = 0;
exceptions[] = {};
priority = 5;

View File

@ -18,7 +18,7 @@
if (uiNamespace getVariable [QEGVAR(interact_menu,cursorMenuOpened),false]) exitWith {
[{
_this call FUNC(dismount);
}, _this] call EFUNC(common,execNextFrame);
}, _this] call CBA_fnc_execNextFrame;
};
params ["_wire", "_unit"];

View File

@ -14,13 +14,17 @@
*/
#include "script_component.hpp"
params ["_wire", "_killer"];
TRACE_2("params",_wire,_killer);
private ["_distance", "_vehicle"];
if (isNull _killer) then {
_killer = _wire getVariable ["ace_concertina_wire_lastDamager", objNull];
if (isNull _killer) then {
_killer = nearestObject [_wire, "car"];
private _midPoint = ((_wire selectionPosition "start") vectorAdd (_wire selectionPosition "deploy")) vectorMultiply 0.5;
{
if ((vectorMagnitude velocity _x) > 0) exitWith {_killer = _x};
} forEach (nearestObjects [(_wire modelToWorld _midPoint), ["Car"], 8]);
};
};
if (isNull _killer || {_killer == _wire} || {_killer == gunner (vehicle _killer)}) exitWith {};

View File

@ -114,7 +114,7 @@ if (_mode == 1) then {
_vDir = getDir _vehicle;
_vehicle setPosASL (_vPos vectorAdd [-0.35 * sin(_vDir), -0.35 * cos(_vDir), 0]);
// TODO: Needs to be placed in safe distance to wire, so we do not constantly re-spawn new wires
}, [_vehicle, _wire], 0.1] call EFUNC(common,waitAndExecute);
}, [_vehicle, _wire], 0.1] call CBA_fnc_waitAndExecute;
};
//TODO: Create broken geoless wire (two version)

View File

@ -522,7 +522,7 @@ GVAR(menuRun) = true;
(__dsp displayCtrl __mainText) ctrlSetText "Connecting...";
};
if (ACE_time - GVAR(busyTimer) > 0.6) then {
if (ACE_player hasWeapon "ACE_Vector") then {
if (({_x isKindOf ["ACE_Vector", configFile >> "CfgWeapons"]} count (weapons ACE_player)) > 0) then {
GVAR(displaySelection) = "VECTOR";
(__dsp displayCtrl __mainText) ctrlSetText "Vector Connected";
GVAR(vectorConnected) = true;

View File

@ -37,7 +37,7 @@ _conditonCode = {
_toggleCode = {
// Conditions: canInteract
if !([ACE_player, objNull, []] call EFUNC(common,canInteractWith)) exitWith {};
// Statement
[] call FUNC(toggleOverlay);
if (!GVAR(run)) then {

View File

@ -1 +0,0 @@
z\ace\addons\difficulties

View File

@ -1,33 +0,0 @@
class CfgDifficulties {
class Mercenary {
class Flags {
armor[] = {0,0};
friendlyTag[] = {0,0};
enemyTag[] = {0,0};
mineTag[] = {0,0};
hud[] = {0,1};//{1,1};
hudPerm[] = {0,0};
hudWp[] = {0,0};
hudWpPerm[] = {0,0};
autoSpot[] = {0,1};
map[] = {0,0};
weaponCursor[] = {0,1};//{1,1};
autoGuideAT[] = {0,0};
clockIndicator[] = {0,0};
3rdPersonView[] = {0,0};
autoAim[] = {0,0};
unlimitedSaves[] = {0,0};
deathMessages[] = {0,1};//{1,1};
netStats[] = {0,1};//{1,1};
vonID[] = {0,1};
cameraShake[] = {1,0};
hudGroupInfo[] = {0,0};
extendetInfoType[] = {0,0};
roughLanding[] = {0,0};
windEnabled[] = {1,0};
autoTrimEnabled[] = {0,0};
stressDamageEnabled[] = {1,0};
};
};
};

View File

@ -1,17 +0,0 @@
#define COMPONENT difficulties
#include "\z\ace\addons\main\script_mod.hpp"
// #define DEBUG_MODE_FULL
// #define DISABLE_COMPILE_CACHE
// #define CBA_DEBUG_SYNCHRONOUS
// #define ENABLE_PERFORMANCE_COUNTERS
#ifdef DEBUG_ENABLED_DIFFICULTIES
#define DEBUG_MODE_FULL
#endif
#ifdef DEBUG_ENABLED_DIFFICULTIES
#define DEBUG_SETTINGS DEBUG_ENABLED_DIFFICULTIES
#endif
#include "\z\ace\addons\main\script_macros.hpp"

View File

@ -67,7 +67,7 @@ if (isNull _holder) exitWith {
if (_holder getVariable [QGVAR(holderInUse), false]) exitWith {
[{
_this call FUNC(disarmDropItems);
}, _this] call EFUNC(common,execNextFrame);
}, _this] call CBA_fnc_execNextFrame;
};
_holder setVariable [QGVAR(holderInUse), true];

Some files were not shown because too many files have changed in this diff Show More