From e9417802dd80e6cab0f7ba675c63d4b789666340 Mon Sep 17 00:00:00 2001 From: Dart <59131299+DartRuffian@users.noreply.github.com> Date: Sun, 20 Oct 2024 16:37:18 -0500 Subject: [PATCH 01/11] Hearing - Fix typo (#10439) * Update fnc_hasEarPlugsIn.sqf * Fix more typos --- addons/hearing/XEH_preInit.sqf | 2 +- addons/hearing/functions/fnc_handleRespawn.sqf | 4 ++-- addons/hearing/functions/fnc_hasEarPlugsIn.sqf | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/addons/hearing/XEH_preInit.sqf b/addons/hearing/XEH_preInit.sqf index e47eafa56e8..eb9636a12c2 100644 --- a/addons/hearing/XEH_preInit.sqf +++ b/addons/hearing/XEH_preInit.sqf @@ -24,7 +24,7 @@ PREP_RECOMPILE_END; ["CBA_loadoutGet", { params ["_unit", "_loadout", "_extendedInfo"]; - if (_unit getVariable ["ACE_hasEarPlugsin", false]) then { + if (_unit getVariable ["ACE_hasEarPlugsIn", false]) then { _extendedInfo set ["ace_earplugs", true] }; }] call CBA_fnc_addEventHandler; diff --git a/addons/hearing/functions/fnc_handleRespawn.sqf b/addons/hearing/functions/fnc_handleRespawn.sqf index a075d7901e0..54d4730eda2 100644 --- a/addons/hearing/functions/fnc_handleRespawn.sqf +++ b/addons/hearing/functions/fnc_handleRespawn.sqf @@ -28,9 +28,9 @@ private _respawn = [0] call BIS_fnc_missionRespawnType; // If respawn is not group or side: if (_respawn <= 3) then { // Remove earplugs if they have them: - if (_unit getVariable ["ACE_hasEarPlugsin", false]) then { + if (_unit getVariable ["ACE_hasEarPlugsIn", false]) then { TRACE_1("had EarPlugs in - removing",_unit); - _unit setVariable ["ACE_hasEarPlugsin", false, true]; + _unit setVariable ["ACE_hasEarPlugsIn", false, true]; }; }; diff --git a/addons/hearing/functions/fnc_hasEarPlugsIn.sqf b/addons/hearing/functions/fnc_hasEarPlugsIn.sqf index fd6682e4de2..a94f0fe47e0 100644 --- a/addons/hearing/functions/fnc_hasEarPlugsIn.sqf +++ b/addons/hearing/functions/fnc_hasEarPlugsIn.sqf @@ -17,4 +17,4 @@ params ["_unit"]; -_unit getVariable ["ACE_hasEarPlugsin", false] +_unit getVariable ["ACE_hasEarPlugsIn", false] From c3fb4339026d557ae524a8b85d8f4abd12212537 Mon Sep 17 00:00:00 2001 From: BrettMayson Date: Sun, 20 Oct 2024 16:55:14 -0600 Subject: [PATCH 02/11] Tools - Use HEMTT documentation for installs (#10430) use hemtt documentation, correct typos --- .../functions/fnc_setVehicleStartDelay.sqf | 2 +- .../setting-up-the-development-environment.md | 8 +++++--- tools/.vscode/tasks.json | 6 +++--- tools/build.py | 10 +++++----- tools/setup.bat | 16 ---------------- tools/setup.py | 14 +++++++------- 6 files changed, 21 insertions(+), 35 deletions(-) delete mode 100644 tools/setup.bat diff --git a/addons/vehicles/functions/fnc_setVehicleStartDelay.sqf b/addons/vehicles/functions/fnc_setVehicleStartDelay.sqf index 6539eec7efc..e3473007c36 100644 --- a/addons/vehicles/functions/fnc_setVehicleStartDelay.sqf +++ b/addons/vehicles/functions/fnc_setVehicleStartDelay.sqf @@ -11,7 +11,7 @@ * None * * Example: - * [hemmt, 3.2] call ace_vehicles_fnc_setVehicleStartDelay + * [hemtt, 3.2] call ace_vehicles_fnc_setVehicleStartDelay * * Public: Yes */ diff --git a/docs/wiki/development/setting-up-the-development-environment.md b/docs/wiki/development/setting-up-the-development-environment.md index 822da19fa40..3dcb815153a 100644 --- a/docs/wiki/development/setting-up-the-development-environment.md +++ b/docs/wiki/development/setting-up-the-development-environment.md @@ -19,8 +19,8 @@ This page describes how you can setup your development environment for ACE3, all **HEMTT:** _(recommended)_ - [Windows] PowerShell v3.0+ _(pre-installed on Windows 8 or newer)_ -- [HEMTT](https://github.com/BrettMayson/HEMTT/releases) (>=v1.7.2) in project root _(Windows users can double-click `tools/setup.bat`)_ - - `hemtt` (Linux) or `hemtt.exe` (Windows) +- [HEMTT](https://hemtt.dev/installation) (>=v1.7.2) + - `hemtt` (Linux / MacOS) or `hemtt.exe` (Windows) **Mikero Tools:** - P-drive @@ -50,7 +50,9 @@ _Replace `hemtt` with `hemtt.exe` on Windows. P-drive is **not** required for HE ### 4.1 Initial Setup -Execute `tools\setup.bat` (double-click on Windows) or download [HEMTT](https://github.com/BrettMayson/HEMTT/releases/latest) and place the executable in project root (Windows and Linux - binarization supported only on Windows at this time). +Install HEMTT using the instructions provided in [The HEMTT Book](https://hemtt.dev/installation). + +(Windows and Linux - binarization supported only on Windows at this time). #### 4.1.1 File Patching Setup diff --git a/tools/.vscode/tasks.json b/tools/.vscode/tasks.json index 86ba973164a..277d4bcc85b 100644 --- a/tools/.vscode/tasks.json +++ b/tools/.vscode/tasks.json @@ -117,7 +117,7 @@ "kind": "build", "isDefault": true } - } + }, { "label": "Extension: x64", "command": "cargo", @@ -131,7 +131,7 @@ "group": { "kind": "build" } - } + }, { "label": "Extension: Release", "command": "cargo", @@ -147,4 +147,4 @@ } } ] -} \ No newline at end of file +} diff --git a/tools/build.py b/tools/build.py index 257fbff224d..49887d91cdc 100644 --- a/tools/build.py +++ b/tools/build.py @@ -3,6 +3,7 @@ import os import sys import subprocess +import shutil ######## GLOBALS ######### MAINPREFIX = "z" @@ -10,14 +11,13 @@ ########################## def tryHemttBuild(projectpath): - hemttExe = os.path.join(projectpath, "hemtt.exe") - if os.path.isfile(hemttExe): + if shutil.which("hemtt"): os.chdir(projectpath) - ret = subprocess.call([hemttExe, "pack"], stderr=subprocess.STDOUT) - print("Using hemtt: {}".format(ret)); + ret = subprocess.call(["hemtt", "pack"], stderr=subprocess.STDOUT) + print("Using hemtt: {}".format(ret)) return True else: - print("hemtt not installed"); + print("hemtt not installed") return False def mod_time(path): diff --git a/tools/setup.bat b/tools/setup.bat deleted file mode 100644 index 8d7245ab7b3..00000000000 --- a/tools/setup.bat +++ /dev/null @@ -1,16 +0,0 @@ -;@Findstr -bv ;@F "%~f0" | powershell -Command - & pause & goto:eof - -Write-Output "=> Downloading ..." -[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 - -$url = "https://github.com/BrettMayson/HEMTT/releases/latest/download/windows-x64.zip" -(New-Object Net.WebClient).DownloadFile($url, "hemtt.zip"); Write-Output "$url => hemtt.zip" - -Write-Output "`n=> Extracting ..." -Expand-Archive -Path "hemtt.zip" -DestinationPath "..\." -Force; Write-Output "hemtt.zip" -Remove-Item "hemtt.zip" - -Write-Output "`n=> Verifying ..." -Start-Process -FilePath ..\hemtt.exe -ArgumentList --version -NoNewWindow -Wait - -Write-Output "`nTools successfully installed to project!" diff --git a/tools/setup.py b/tools/setup.py index 4e291214da1..61b73de4473 100644 --- a/tools/setup.py +++ b/tools/setup.py @@ -64,17 +64,17 @@ def main(): if repl.lower() != "y": return 3 - hemmt_path = os.path.join(projectpath, ".hemttout", "dev") - print("\n# Use Hemmt Dev Path for arma filepatching:") - print(f" y: {hemmt_path}") + hemtt_path = os.path.join(projectpath, ".hemttout", "dev") + print("\n# Use HEMTT Dev Path for arma filepatching:") + print(f" y: {hemtt_path}") print(f" n: {projectpath}") repl = input("(y/n): ") filepatching_path = projectpath if repl.lower() == "y": - if not os.path.exists(hemmt_path): - print(f"creating {hemmt_path}") - os.makedirs(hemmt_path) - filepatching_path = hemmt_path + if not os.path.exists(hemtt_path): + print(f"creating {hemtt_path}") + os.makedirs(hemtt_path) + filepatching_path = hemtt_path if os.path.exists("P:\\{}\\{}".format(MAINDIR, PROJECTDIR)): print("Link on P: already exists. Please finish the setup manually.") From de975d402ed19b7ae830c0a65763039455542989 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Mon, 21 Oct 2024 12:47:22 -0500 Subject: [PATCH 03/11] Cargo - Fix check size interaction (#10445) --- addons/cargo/XEH_postInit.sqf | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/addons/cargo/XEH_postInit.sqf b/addons/cargo/XEH_postInit.sqf index 833acf4a7b1..f01c92ef0e6 100644 --- a/addons/cargo/XEH_postInit.sqf +++ b/addons/cargo/XEH_postInit.sqf @@ -109,13 +109,11 @@ GVAR(objectActions) = [ ] call EFUNC(interact_menu,createAction), [QGVAR(checkSize), LLSTRING(checkSize), "\a3\ui_f\data\igui\cfg\simpletasks\types\box_ca.paa", { - //IGNORE_PRIVATE_WARNING ["_target", "_player"]; [format [LLSTRING(SizeMenu), _target call FUNC(getSizeItem)], 3] call EFUNC(common,displayTextStructured); }, { - //IGNORE_PRIVATE_WARNING ["_target", "_player"]; (GVAR(enable) && GVAR(checkSizeInteraction)) && { - {alive _target} && + (alive _target) && {_target getVariable [QGVAR(canLoad), getNumber (configOf _target >> QGVAR(canLoad)) == 1]} && {[_player, _target, ["isNotSwimming"]] call EFUNC(common,canInteractWith)} && {[_player, _target] call EFUNC(interaction,canInteractWithVehicleCrew)} From 5afc1d958e1a6c16a194f01602fef547c35509a0 Mon Sep 17 00:00:00 2001 From: johnb432 <58661205+johnb432@users.noreply.github.com> Date: Mon, 21 Oct 2024 19:47:47 +0200 Subject: [PATCH 04/11] Advanced Fatigue - Minor cleanup (#10442) * Minor cleanup * Update fnc_getMetabolicCosts.sqf * Update fnc_getMetabolicCosts.sqf * update header example --------- Co-authored-by: PabstMirror --- .../functions/fnc_getMetabolicCosts.sqf | 24 +++++++++++++------ .../functions/fnc_mainLoop.sqf | 13 +--------- 2 files changed, 18 insertions(+), 19 deletions(-) diff --git a/addons/advanced_fatigue/functions/fnc_getMetabolicCosts.sqf b/addons/advanced_fatigue/functions/fnc_getMetabolicCosts.sqf index 36048cee049..46d03962e97 100644 --- a/addons/advanced_fatigue/functions/fnc_getMetabolicCosts.sqf +++ b/addons/advanced_fatigue/functions/fnc_getMetabolicCosts.sqf @@ -5,22 +5,32 @@ * Calculation is done according to the Pandolf/Wojtowicz formulas. * * Arguments: - * 0: Duty of animation - * 1: Mass of unit - * 2: Terrain gradient - * 3: Terrain factor - * 4: Speed + * 0: Mass of unit + * 1: Terrain gradient + * 2: Terrain factor + * 3: Speed * * Return Value: * Metabolic cost * * Example: - * [1, 840, 20, 1, 4] call ace_advanced_fatigue_fnc_getMetabolicCosts + * [840, 20, 1, 4] call ace_advanced_fatigue_fnc_getMetabolicCosts * * Public: No */ -params ["_duty", "_gearMass", "_terrainGradient", "_terrainFactor", "_speed"]; +params ["_gearMass", "_terrainGradient", "_terrainFactor", "_speed"]; + +// Get the current duty +private _duty = GVAR(animDuty); + +{ + _duty = if (_x isEqualType 0) then { + _duty * _x + } else { + _duty * (ACE_player call _x) + }; +} forEach (values GVAR(dutyList)); // Metabolic cost for walking and running is different if (_speed > 2) then { diff --git a/addons/advanced_fatigue/functions/fnc_mainLoop.sqf b/addons/advanced_fatigue/functions/fnc_mainLoop.sqf index 2955e9d6ee0..1eac51ea04d 100644 --- a/addons/advanced_fatigue/functions/fnc_mainLoop.sqf +++ b/addons/advanced_fatigue/functions/fnc_mainLoop.sqf @@ -48,17 +48,6 @@ if (GVAR(isProne)) then { _currentSpeed = _currentSpeed min 1.5; }; -// Get the current duty -private _duty = GVAR(animDuty); - -{ - if (_x isEqualType 0) then { - _duty = _duty * _x; - } else { - _duty = _duty * (ACE_player call _x); - }; -} forEach (values GVAR(dutyList)); - private _terrainGradient = abs _fwdAngle; private _terrainFactor = 1; private _gearMass = 0 max (((ACE_player getVariable [QEGVAR(movement,totalLoad), loadAbs ACE_player]) / 22.046 - UNDERWEAR_WEIGHT) * GVAR(loadFactor)); @@ -79,7 +68,7 @@ if (isNull objectParent ACE_player && {_currentSpeed > 0.1} && {isTouchingGround }; // Add a scaling factor of 0.1 to reduce excessive stamina consumption on default settings (see #10361) - _currentWork = [_duty, _gearMass, _terrainGradient * GVAR(terrainGradientFactor) * 0.1, _terrainFactor, _currentSpeed] call FUNC(getMetabolicCosts); + _currentWork = [_gearMass, _terrainGradient * GVAR(terrainGradientFactor) * 0.1, _terrainFactor, _currentSpeed] call FUNC(getMetabolicCosts); _currentWork = _currentWork max REE; }; From 07a027ded9a1583319678ad9953920fe5a88a059 Mon Sep 17 00:00:00 2001 From: BrettMayson Date: Mon, 21 Oct 2024 11:48:31 -0600 Subject: [PATCH 05/11] Common - Improve MarkerLocal (#10437) * Common - Use MarkerLocal * createMarkerLocal --- addons/arsenal/missions/Arsenal.VR/initPlayerLocal.sqf | 6 +++--- addons/zeus/functions/fnc_ui_searchArea.sqf | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/addons/arsenal/missions/Arsenal.VR/initPlayerLocal.sqf b/addons/arsenal/missions/Arsenal.VR/initPlayerLocal.sqf index 28e19bba478..c998106863a 100644 --- a/addons/arsenal/missions/Arsenal.VR/initPlayerLocal.sqf +++ b/addons/arsenal/missions/Arsenal.VR/initPlayerLocal.sqf @@ -137,7 +137,7 @@ for "_i" from 5 to 11 do { private _square = createVehicle ["VR_Area_01_square_1x1_grey_F", position _unit, [], 0, "NONE"]; _square setPosASL getPosASL _unit; -private _marker = createMarker [QGVAR(start), getPosWorld _unit]; +private _marker = createMarkerLocal [QGVAR(start), getPosWorld _unit]; _marker setMarkerType "mil_start"; // Init Arsenal @@ -165,8 +165,8 @@ _unit addEventHandler ["AnimChanged", { private _markers = []; { - private _marker = createMarker [vehicleVarName _x, position _x]; - _marker setMarkerType "mil_dot"; + private _marker = createMarkerLocal [vehicleVarName _x, position _x]; + _marker setMarkerTypeLocal "mil_dot"; _marker setMarkerColor "ColorOrange"; _markers pushBack _marker; diff --git a/addons/zeus/functions/fnc_ui_searchArea.sqf b/addons/zeus/functions/fnc_ui_searchArea.sqf index 6268cd7d223..8b03014a169 100644 --- a/addons/zeus/functions/fnc_ui_searchArea.sqf +++ b/addons/zeus/functions/fnc_ui_searchArea.sqf @@ -67,9 +67,9 @@ private _fnc_onConfirm = { private _position = getPos _logic; private _marker = QGVAR(ModuleSearchArea) + str _unit; - createMarker [_marker, _position]; - _marker setMarkerAlpha 0; - _marker setMarkerShape "ELLIPSE"; + createMarkerLocal [_marker, _position]; + _marker setMarkerAlphaLocal 0; + _marker setMarkerShapeLocal "ELLIPSE"; _marker setMarkerSize [_radius, _radius]; [QGVAR(moduleSearchArea), [_unit, _marker], _unit] call CBA_fnc_targetEvent; From 15ef209da0fb7a63a1ada4349f0e4fa909ffb639 Mon Sep 17 00:00:00 2001 From: johnb432 <58661205+johnb432@users.noreply.github.com> Date: Mon, 21 Oct 2024 19:49:00 +0200 Subject: [PATCH 06/11] Cookoff - Fix zeus end keybind not killing ammo containers (#10434) More Arma 2.18 shenanigans --- addons/cookoff/functions/fnc_handleDamageBox.sqf | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/addons/cookoff/functions/fnc_handleDamageBox.sqf b/addons/cookoff/functions/fnc_handleDamageBox.sqf index 2d55db0fd02..846dcdd6b9b 100644 --- a/addons/cookoff/functions/fnc_handleDamageBox.sqf +++ b/addons/cookoff/functions/fnc_handleDamageBox.sqf @@ -18,13 +18,24 @@ // If cookoff for boxes is disabled, exit if (!GVAR(enableAmmobox) || {GVAR(ammoCookoffDuration) == 0}) exitWith {}; -params ["_box", "", "_damage", "_source", "_ammo", "", "_instigator", "_hitPoint"]; +params ["_box", "_selection", "_damage", "_source", "_ammo", "_hitIndex", "_instigator", "_hitPoint", "", "_context"]; if (!local _box) exitWith {}; // If it's already dead, ignore if (!alive _box) exitWith {}; +private _currentDamage = if (_selection != "") then { + _box getHitIndex _hitIndex +} else { + damage _box +}; + +// Killing units via End key is an edge case (#10375) +// This didn't matter pre-Arma 3 2.18 but now this goes through the event handler +// TODO: Structural fire damage >= 1 in a single damage event could still be caught here and we don't want that, but we haven't found a better way to catch this, fire damage should be small most of the time anyway +if (_context == 0 && {(abs (_damage - _currentDamage - 1)) < 0.001 && _ammo == "" && isNull _source && isNull _instigator}) exitWith {_damage}; + if !(_box getVariable [QGVAR(enableAmmoCookoff), true]) exitWith {}; if !(_hitPoint == "" && {_damage > 0.5}) exitWith {}; // "" means structural damage From d7c84607d9a0652b039680f784b5a97af9db6486 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Mon, 21 Oct 2024 12:49:33 -0500 Subject: [PATCH 07/11] General - Add private and remove some unused vars (#10371) * General - Add private and remove some unused vars * Update fnc_onFired.sqf * move debug vars inside ifdef * Update fnc_calculateMuzzleVelocity.sqf * Update fnc_navigation.sqf * remove airDensity from calculateMuzzleVelocity --------- Co-authored-by: johnb432 <58661205+johnb432@users.noreply.github.com> --- .../functions/fnc_diagnoseWeapons.sqf | 7 ------- .../functions/fnc_handleFirePFH.sqf | 1 - .../advanced_fatigue/functions/fnc_mainLoop.sqf | 2 +- addons/ai/functions/fnc_garrison.sqf | 2 +- .../functions/fnc_handleLoadoutsSearchbar.sqf | 2 -- .../missions/Arsenal.VR/initPlayerLocal.sqf | 2 +- .../functions/fnc_calculateElevation.sqf | 2 +- .../functions/fnc_calculateMuzzleVelocity.sqf | 6 ++---- .../functions/fnc_simulateShot.sqf | 2 +- .../common/functions/fnc_canGetInPosition.sqf | 8 ++++---- .../fnc_cbaSettings_loadFromConfig.sqf | 2 +- addons/common/functions/fnc_errorMessage.sqf | 1 - addons/common/functions/fnc_getMapGridData.sqf | 2 +- .../common/functions/fnc_statusEffect_get.sqf | 2 +- addons/common/functions/fnc_watchVariable.sqf | 2 +- .../concertina_wire/functions/fnc_dismount.sqf | 1 - .../functions/fnc_vehicleDamage.sqf | 1 - addons/dagr/functions/fnc_outputData.sqf | 2 +- addons/dagr/functions/fnc_outputWP.sqf | 2 +- addons/fortify/functions/fnc_deployObject.sqf | 1 - addons/frag/functions/fnc_dev_trackHitBox.sqf | 2 -- addons/hellfire/functions/fnc_attackProfile.sqf | 2 +- .../interaction/functions/fnc_passMagazine.sqf | 2 -- .../laser/functions/fnc_seekerFindLaserSpot.sqf | 1 - addons/laser/functions/fnc_showVehicleHud.sqf | 2 +- .../functions/fnc_simulateRepackEvents.sqf | 1 - .../functions/fnc_handleMouseButton.sqf | 2 -- .../marker_flags/functions/fnc_pickUpFlag.sqf | 2 +- .../medical/functions/fnc_addDamageToUnit.sqf | 2 +- .../functions/fnc_effectHeartBeat.sqf | 2 +- .../functions/fnc_createLitter.sqf | 1 - .../functions/fnc_medicationLocal.sqf | 2 +- .../functions/fnc_attackProfile_LIN.sqf | 3 --- .../functions/fnc_dev_ProjectileCamera.sqf | 2 -- .../fnc_javelin_midCourseTransition.sqf | 1 - .../missileguidance/functions/fnc_onFired.sqf | 2 -- .../fnc_handlePlayerVehicleChanged.sqf | 3 --- .../functions/fnc_refreshGoggleType.sqf | 1 - addons/nlaw/functions/fnc_navigation.sqf | 17 +++++------------ ...fnc_updateSpareBarrelsTemperaturesThread.sqf | 2 +- .../functions/fnc_overpressureDamage.sqf | 2 +- .../functions/fnc_addFreeSeatsActions.sqf | 2 +- .../functions/fnc_getNeedRearmMagazines.sqf | 2 -- .../rearm/functions/fnc_rearmSuccessLocal.sqf | 1 - .../switchunits/functions/fnc_markAiOnMap.sqf | 2 +- .../tagging/functions/fnc_compileConfigTags.sqf | 2 -- addons/trenches/functions/fnc_placeConfirm.sqf | 2 +- addons/trenches/functions/fnc_placeTrench.sqf | 2 +- .../functions/fnc_addEventHandler.sqf | 2 +- 49 files changed, 35 insertions(+), 84 deletions(-) diff --git a/addons/advanced_ballistics/functions/fnc_diagnoseWeapons.sqf b/addons/advanced_ballistics/functions/fnc_diagnoseWeapons.sqf index b3f4053bdd9..fd087a17f4a 100644 --- a/addons/advanced_ballistics/functions/fnc_diagnoseWeapons.sqf +++ b/addons/advanced_ballistics/functions/fnc_diagnoseWeapons.sqf @@ -113,13 +113,6 @@ for "_i" from 0 to (count _cfgWeapons)-1 do { _weaponInitSpeeds pushBack (_abInitialSpeed / _magSpeed); }; } forEach _data; - { - _x params ["_magazineIndex", "_abInitialSpeed", "_magazine", "_weapon"]; - private _magIndex = _magazines find _magazine; - private _magSpeed = _magazineInitSpeeds select _magIndex; - private _wepIndex = _weapons find _weapon; - _wepSpeed = _weaponInitSpeeds select _wepIndex; - } forEach _data; { diag_log text format ["AB_WeaponInitSpeed,%1,%2", _x, _weaponInitSpeeds select _forEachIndex]; } forEach _weapons; diff --git a/addons/advanced_ballistics/functions/fnc_handleFirePFH.sqf b/addons/advanced_ballistics/functions/fnc_handleFirePFH.sqf index 9c359bf833e..781b903e2ff 100644 --- a/addons/advanced_ballistics/functions/fnc_handleFirePFH.sqf +++ b/addons/advanced_ballistics/functions/fnc_handleFirePFH.sqf @@ -15,7 +15,6 @@ * Public: No */ -private _deleted = false; { _y params ["_bullet","_caliber","_bulletTraceVisible"]; diff --git a/addons/advanced_fatigue/functions/fnc_mainLoop.sqf b/addons/advanced_fatigue/functions/fnc_mainLoop.sqf index 1eac51ea04d..6e3e9e4a171 100644 --- a/addons/advanced_fatigue/functions/fnc_mainLoop.sqf +++ b/addons/advanced_fatigue/functions/fnc_mainLoop.sqf @@ -90,7 +90,7 @@ private _muscleFactor = sqrt _muscleIntegrity; private _ae1PathwayPowerFatigued = GVAR(ae1PathwayPower) * sqrt (GVAR(ae1Reserve) / AE1_MAXRESERVE) * _oxygen * _muscleFactor; private _ae2PathwayPowerFatigued = GVAR(ae2PathwayPower) * sqrt (GVAR(ae2Reserve) / AE2_MAXRESERVE) * _oxygen * _muscleFactor; private _aePathwayPowerFatigued = _ae1PathwayPowerFatigued + _ae2PathwayPowerFatigued; -private _anPathwayPowerFatigued = GVAR(anPathwayPower) * sqrt (GVAR(anReserve) / AN_MAXRESERVE) * _oxygen * _muscleIntegrity; +// private _anPathwayPowerFatigued = GVAR(anPathwayPower) * sqrt (GVAR(anReserve) / AN_MAXRESERVE) * _oxygen * _muscleIntegrity; // not used // Calculate how much power is consumed from each reserve private _ae1Power = _currentWork min _ae1PathwayPowerFatigued; diff --git a/addons/ai/functions/fnc_garrison.sqf b/addons/ai/functions/fnc_garrison.sqf index 042c4fde3cb..5600f5576dd 100644 --- a/addons/ai/functions/fnc_garrison.sqf +++ b/addons/ai/functions/fnc_garrison.sqf @@ -23,7 +23,7 @@ params [["_startingPos",[0,0,0], [[]], 3], ["_buildingTypes", ["Building"], [[]]], ["_unitsArray", [], [[]]], ["_fillingRadius", 50, [0]], ["_fillingType", 0, [0]], ["_topDownFilling", false, [true]], ["_teleport", false, [true]]]; -TRACE_6("fnc_garrison: Start",_startingPos,_buldingTypes,count _unitsArray,_fillingRadius,_fillingTYpe,_topDownFilling); +TRACE_6("fnc_garrison: Start",_startingPos,_buildingTypes,count _unitsArray,_fillingRadius,_fillingTYpe,_topDownFilling); _unitsArray = _unitsArray select {alive _x && {!isPlayer _x}}; private _currentUnitMoveList = missionNamespace getVariable [QGVAR(garrison_unitMoveList), []]; diff --git a/addons/arsenal/functions/fnc_handleLoadoutsSearchbar.sqf b/addons/arsenal/functions/fnc_handleLoadoutsSearchbar.sqf index 56d6c357d5b..10b2945fc47 100644 --- a/addons/arsenal/functions/fnc_handleLoadoutsSearchbar.sqf +++ b/addons/arsenal/functions/fnc_handleLoadoutsSearchbar.sqf @@ -41,8 +41,6 @@ if (_searchString != "") then { _searchString = toLower _searchString; private _loadoutName = ""; - private _loadout = []; - private _currentTab = str GVAR(currentLoadoutsTab); // Go through all items in panel and see if they need to be deleted or not for "_lbIndex" from (lnbSize _contentPanelCtrl select 0) - 1 to 0 step -1 do { diff --git a/addons/arsenal/missions/Arsenal.VR/initPlayerLocal.sqf b/addons/arsenal/missions/Arsenal.VR/initPlayerLocal.sqf index c998106863a..139b7b0011c 100644 --- a/addons/arsenal/missions/Arsenal.VR/initPlayerLocal.sqf +++ b/addons/arsenal/missions/Arsenal.VR/initPlayerLocal.sqf @@ -101,7 +101,7 @@ if (!isNil "_massDestructionAchieved" && {_massDestructionAchieved isEqualTo 1}) private _allDisabled = true; { - _hitAlive = _x getVariable ["BIS_fnc_VRHitParts_hitalive", []]; + private _hitAlive = _x getVariable ["BIS_fnc_VRHitParts_hitalive", []]; _allDisabled = _allDisabled && ({!_x} count _hitAlive >= 2); sleep 0.1; diff --git a/addons/artillerytables/functions/fnc_calculateElevation.sqf b/addons/artillerytables/functions/fnc_calculateElevation.sqf index 977253eff93..0d129ac03b9 100644 --- a/addons/artillerytables/functions/fnc_calculateElevation.sqf +++ b/addons/artillerytables/functions/fnc_calculateElevation.sqf @@ -32,7 +32,7 @@ params ["_targetDistance", "_targetHeight", "_muzzleVelocity", ["_highArc", true //MK6_82mm_AIR_FRICTION == -0.0001 if (_airFriction != 0) then { - _muzzleVelocity = [_muzzleVelocity, _temperature, _airDensity] call FUNC(calculateMuzzleVelocity); + _muzzleVelocity = [_muzzleVelocity, _temperature] call FUNC(calculateMuzzleVelocity); }; private _maxResults = [_muzzleVelocity, _airFriction] call FUNC(calculateMaxAngle); diff --git a/addons/artillerytables/functions/fnc_calculateMuzzleVelocity.sqf b/addons/artillerytables/functions/fnc_calculateMuzzleVelocity.sqf index 6f00f74c148..a39fd4011b6 100644 --- a/addons/artillerytables/functions/fnc_calculateMuzzleVelocity.sqf +++ b/addons/artillerytables/functions/fnc_calculateMuzzleVelocity.sqf @@ -6,21 +6,19 @@ * Arguments: * 0: Initial Muzzle velocity; meters/second * 1: Temperature; degrees Celsius - * 2: Atmospheric Density; kg/(meters^3) * * Return Value: * Adjusted Muzzle Velocity; Meters * * Example: - * [200, 15, 1.225] call ace_artilleryTables_fnc_calculateMuzzleVelocity + * [200, 15] call ace_artilleryTables_fnc_calculateMuzzleVelocity * * Public: No */ -params ["_muzzleVelocity", "_temperature", "_airDensity"]; +params ["_muzzleVelocity", "_temperature"]; // Calculate air density -private _relativeDensity = _airDensity / 1.225; private _newMuzzleVelocityCoefficient = (((_temperature + 273.13) / 288.13 - 1) / 40 + 1); private _newMuzzleVelocity = _muzzleVelocity * _newMuzzleVelocityCoefficient; diff --git a/addons/artillerytables/functions/fnc_simulateShot.sqf b/addons/artillerytables/functions/fnc_simulateShot.sqf index be747e862ae..d5fe2243558 100644 --- a/addons/artillerytables/functions/fnc_simulateShot.sqf +++ b/addons/artillerytables/functions/fnc_simulateShot.sqf @@ -31,7 +31,7 @@ params ["_angle", "_targetHeight", "_muzzleVelocity", ["_airFriction", 0], ["_cr //MK6_82mm_AIR_FRICTION == -0.0001 if (_airFriction != 0) then { - _muzzleVelocity = [_muzzleVelocity, _temperature, _atmosphericDensity] call FUNC(calculateMuzzleVelocity); + _muzzleVelocity = [_muzzleVelocity, _temperature] call FUNC(calculateMuzzleVelocity); }; private _atmosphericDensityRatio = _atmosphericDensity / 1.225; diff --git a/addons/common/functions/fnc_canGetInPosition.sqf b/addons/common/functions/fnc_canGetInPosition.sqf index 777f3103a5a..066818d351c 100644 --- a/addons/common/functions/fnc_canGetInPosition.sqf +++ b/addons/common/functions/fnc_canGetInPosition.sqf @@ -36,10 +36,10 @@ private _turret = []; private _radius = 0; -private _enemiesInVehicle = false; //Possible Side Restriction -{ - if (side _unit getFriend side _x < 0.6) exitWith {_enemiesInVehicle = true}; -} forEach crew _vehicle; +// private _enemiesInVehicle = false; //Possible Side Restriction +// { +// if (side _unit getFriend side _x < 0.6) exitWith {_enemiesInVehicle = true}; +// } forEach crew _vehicle; private _return = false; switch (_position) do { diff --git a/addons/common/functions/fnc_cbaSettings_loadFromConfig.sqf b/addons/common/functions/fnc_cbaSettings_loadFromConfig.sqf index 57b93c99639..079834803f9 100644 --- a/addons/common/functions/fnc_cbaSettings_loadFromConfig.sqf +++ b/addons/common/functions/fnc_cbaSettings_loadFromConfig.sqf @@ -24,7 +24,7 @@ if (_typeName == "") then { WARNING_1("Setting [%1] Has no typeName",_varName); _typeName = "SCALAR"; }; -TRACE_3("loadFromConfig",_var,_typeName,_config); +TRACE_3("loadFromConfig",_varName,_typeName,_config); private _isClientSettable = (getNumber (_config >> "isClientSettable")) > 0; private _localizedName = getText (_config >> "displayName"); diff --git a/addons/common/functions/fnc_errorMessage.sqf b/addons/common/functions/fnc_errorMessage.sqf index e98a5baf8f9..317f719b27f 100644 --- a/addons/common/functions/fnc_errorMessage.sqf +++ b/addons/common/functions/fnc_errorMessage.sqf @@ -103,7 +103,6 @@ if (!hasInterface) exitWith {}; _ctrlButtonCancel ]; - private _ctrlRscMessageBoxPos = ctrlPosition _ctrlRscMessageBox; private _ctrlRscMessageBoxPosH = _bottomPosY + (_ctrlButtonOKPos select 3); _ctrlRscMessageBox ctrlSetPosition [ diff --git a/addons/common/functions/fnc_getMapGridData.sqf b/addons/common/functions/fnc_getMapGridData.sqf index c6817b5d5b5..212c17df9ed 100644 --- a/addons/common/functions/fnc_getMapGridData.sqf +++ b/addons/common/functions/fnc_getMapGridData.sqf @@ -22,7 +22,7 @@ GVAR(mapGridData) = []; //--- Extract grid values from world config (Borrowed from BIS_fnc_gridToPos) private _cfgGrid = configFile >> "CfgWorlds" >> worldName >> "Grid"; private _offsetX = getNumber (_cfgGrid >> "offsetX"); -private _offsetY = getNumber (_cfgGrid >> "offsetY"); +// private _offsetY = getNumber (_cfgGrid >> "offsetY"); private _zoomMax = 1e38; private _formatX = ""; private _formatY = ""; diff --git a/addons/common/functions/fnc_statusEffect_get.sqf b/addons/common/functions/fnc_statusEffect_get.sqf index bef27fc6e83..e7b2a19b289 100644 --- a/addons/common/functions/fnc_statusEffect_get.sqf +++ b/addons/common/functions/fnc_statusEffect_get.sqf @@ -49,7 +49,7 @@ if (_effectNumber == 0) exitWith { //empty array - false effect //if no change: skip sending publicVar and events private _effectBoolArray = [_effectNumber, count _statusReasons] call FUNC(binarizeNumber); -TRACE_2("bitArray",_statusIndex,_effectBoolArray); +TRACE_1("bitArray",_effectBoolArray); private _activeEffects = []; { diff --git a/addons/common/functions/fnc_watchVariable.sqf b/addons/common/functions/fnc_watchVariable.sqf index fb1f7db671d..d292d78f756 100644 --- a/addons/common/functions/fnc_watchVariable.sqf +++ b/addons/common/functions/fnc_watchVariable.sqf @@ -43,7 +43,7 @@ if (isNull (findDisplay 46)) exitWith { [{!isNull (findDisplay 46)}, {_this call FUNC(watchVariable);}, _this] call CBA_fnc_waitUntilAndExecute; }; -if (_code isEqualTo {}) then {TRACE_1("using title as code",_title); _code = compile _name;}; +if (_code isEqualTo {}) then {TRACE_1("using name as code",_name); _code = compile _name;}; private _trackedDisplay = uiNamespace getVariable [QGVAR(watchVariableUI), displayNull]; if (isNull _trackedDisplay) then { diff --git a/addons/concertina_wire/functions/fnc_dismount.sqf b/addons/concertina_wire/functions/fnc_dismount.sqf index b73deb6cf51..7a344b3801e 100644 --- a/addons/concertina_wire/functions/fnc_dismount.sqf +++ b/addons/concertina_wire/functions/fnc_dismount.sqf @@ -25,7 +25,6 @@ if (uiNamespace getVariable [QEGVAR(interact_menu,cursorMenuOpened),false]) exit }; params ["_wire", "_unit"]; -private _config = (configOf _unit); private _delay = [45, 30] select ([_unit] call EFUNC(common,isEngineer) || {[_unit] call EFUNC(common,isEOD)}); // TODO: Animation? diff --git a/addons/concertina_wire/functions/fnc_vehicleDamage.sqf b/addons/concertina_wire/functions/fnc_vehicleDamage.sqf index b3ebb7f77c1..c123fa38427 100644 --- a/addons/concertina_wire/functions/fnc_vehicleDamage.sqf +++ b/addons/concertina_wire/functions/fnc_vehicleDamage.sqf @@ -36,7 +36,6 @@ if (_mode == -1) exitWith {}; //9.78744 (10) _type = typeOf _wire; -private _anim = _wire animationPhase "wire_2"; private _pos_w = getPos _wire; private _dir_w = getDir _wire; diff --git a/addons/dagr/functions/fnc_outputData.sqf b/addons/dagr/functions/fnc_outputData.sqf index 646f56d1c88..c2b119c7a43 100644 --- a/addons/dagr/functions/fnc_outputData.sqf +++ b/addons/dagr/functions/fnc_outputData.sqf @@ -47,7 +47,7 @@ GVAR(outputPFH) = [{ private _speed = speed (vehicle ACE_player); _speed = floor (_speed * 10) / 10; _speed = abs(_speed); - _dagrspeed = str _speed + "kph"; + private _dagrspeed = str _speed + "kph"; // Elevation private _elevation = getPosASL ACE_player; diff --git a/addons/dagr/functions/fnc_outputWP.sqf b/addons/dagr/functions/fnc_outputWP.sqf index b9101e994ca..870c8269916 100644 --- a/addons/dagr/functions/fnc_outputWP.sqf +++ b/addons/dagr/functions/fnc_outputWP.sqf @@ -61,7 +61,7 @@ GVAR(outputPFH) = [{ default { "000" + str(_yGrid2) }; }; - _dagrGrid2 = _xCoord2 + " " + _yCoord2; + private _dagrGrid2 = _xCoord2 + " " + _yCoord2; // Distance private _WPpos = [_dagrGrid2, true] call EFUNC(common,getMapPosFromGrid); diff --git a/addons/fortify/functions/fnc_deployObject.sqf b/addons/fortify/functions/fnc_deployObject.sqf index f7e9e6dbadc..5854bd8d09b 100644 --- a/addons/fortify/functions/fnc_deployObject.sqf +++ b/addons/fortify/functions/fnc_deployObject.sqf @@ -38,7 +38,6 @@ private _lmb = LLSTRING(confirm); if (_budget > -1) then {_lmb = _lmb + format [" -$%1", _cost];}; private _rmb = localize ELSTRING(Common,Cancel); private _wheel = LLSTRING(rotate); -private _xAxis = localize "str_disp_conf_xaxis"; private _icons = [["alt", localize "str_3den_display3den_entitymenu_movesurface_text"], ["shift", localize "str_disp_conf_xaxis" + " " + _wheel], ["control", localize "str_disp_conf_yaxis" + " " + _wheel]]; [_lmb, _rmb, _wheel, _icons] call EFUNC(interaction,showMouseHint); diff --git a/addons/frag/functions/fnc_dev_trackHitBox.sqf b/addons/frag/functions/fnc_dev_trackHitBox.sqf index 327e45cf0d3..8790b8a8a92 100644 --- a/addons/frag/functions/fnc_dev_trackHitBox.sqf +++ b/addons/frag/functions/fnc_dev_trackHitBox.sqf @@ -53,8 +53,6 @@ if (GVAR(dbgSphere) && _addSphere && {isNull objectParent _object}) then { // create an optimized outline _upperPoint params ["_x1","_y1","_z1"]; _lowerPoint params ["_x2","_y2","_z2"]; -private _p1 = _upperPoint; -private _p7 = _lowerPoint; private _points = [ _upperPoint, [_x1, _y2, _z1], diff --git a/addons/hellfire/functions/fnc_attackProfile.sqf b/addons/hellfire/functions/fnc_attackProfile.sqf index aa457d02fa5..71a35f39c4d 100644 --- a/addons/hellfire/functions/fnc_attackProfile.sqf +++ b/addons/hellfire/functions/fnc_attackProfile.sqf @@ -72,7 +72,7 @@ switch (_attackStage) do { _attackProfileStateParams set [0, STAGE_ATTACK_TERMINAL]; _attackProfileStateParams set [2, [_projectilePos select 2, _seekerTargetPos distance2D _projectilePos]]; - TRACE_2("New Stage: STAGE_ATTACK_TERMINAL",_distanceToTarget2d,_currentHeightOverTarget); + TRACE_2("New Stage: STAGE_ATTACK_TERMINAL",_timeToGo,_angleToTarget); }; }; case STAGE_SEEK_CRUISE: { // Slowly gain altitude while searching for target diff --git a/addons/interaction/functions/fnc_passMagazine.sqf b/addons/interaction/functions/fnc_passMagazine.sqf index 757700ce8ba..fd1913f6be0 100644 --- a/addons/interaction/functions/fnc_passMagazine.sqf +++ b/addons/interaction/functions/fnc_passMagazine.sqf @@ -27,12 +27,10 @@ private _filteredMags = magazinesAmmoFull _player select { //select magazine with most ammo private _magToPass = _filteredMags select 0; -private _magToPassIndex = 0; { _x params ["_className", "_ammoCount"]; if (_ammoCount > (_magToPass select 1)) then { _magToPass = _x; - _magToPassIndex = _forEachIndex; }; } forEach _filteredMags; diff --git a/addons/laser/functions/fnc_seekerFindLaserSpot.sqf b/addons/laser/functions/fnc_seekerFindLaserSpot.sqf index fc6241a451b..c10943cc650 100644 --- a/addons/laser/functions/fnc_seekerFindLaserSpot.sqf +++ b/addons/laser/functions/fnc_seekerFindLaserSpot.sqf @@ -109,7 +109,6 @@ if (_spots isNotEqualTo []) then { private _c = 0; private _buckets = []; private _excludes = []; - private _bucketIndex = 0; // Put close points together into buckets while { count(_spots) != count(_excludes) && _c < (count _spots) } do { diff --git a/addons/laser/functions/fnc_showVehicleHud.sqf b/addons/laser/functions/fnc_showVehicleHud.sqf index 856030bf8cb..2b2aba4b2f7 100644 --- a/addons/laser/functions/fnc_showVehicleHud.sqf +++ b/addons/laser/functions/fnc_showVehicleHud.sqf @@ -101,7 +101,7 @@ GVAR(pfID) = [{ private _defaultAttackProfile = getText (configFile >> "CfgAmmo" >> _ammo >> "ace_missileguidance" >> "defaultAttackProfile"); private _vehicleLockMode = _vehicle getVariable [QEGVAR(missileguidance,attackProfile), _defaultAttackProfile]; - _modeShort = if (_haveLock) then { + private _modeShort = if (_haveLock) then { getText (configFile >> QEGVAR(missileguidance,AttackProfiles) >> _vehicleLockMode >> "nameLocked"); } else { getText (configFile >> QEGVAR(missileguidance,AttackProfiles) >> _vehicleLockMode >> "name"); diff --git a/addons/magazinerepack/functions/fnc_simulateRepackEvents.sqf b/addons/magazinerepack/functions/fnc_simulateRepackEvents.sqf index 6864726e1ef..82e3b20a454 100644 --- a/addons/magazinerepack/functions/fnc_simulateRepackEvents.sqf +++ b/addons/magazinerepack/functions/fnc_simulateRepackEvents.sqf @@ -32,7 +32,6 @@ private _fnc_newMag = { private _lowIndex = 0; private _highIndex = (count _arrayOfAmmoCounts) - 1; -private _ammoToTransfer = 0; private _ammoAvailable = 0; private _time = 0; private _events = []; diff --git a/addons/maptools/functions/fnc_handleMouseButton.sqf b/addons/maptools/functions/fnc_handleMouseButton.sqf index 5c35c699d7d..5a00b1ab1b9 100644 --- a/addons/maptools/functions/fnc_handleMouseButton.sqf +++ b/addons/maptools/functions/fnc_handleMouseButton.sqf @@ -73,8 +73,6 @@ if (_button != 0) exitWith { false // return }; -private _handled = false; - // If releasing if (_dir != 1) then { if (GVAR(mapTool_isDragging) || GVAR(mapTool_isRotating)) then { diff --git a/addons/marker_flags/functions/fnc_pickUpFlag.sqf b/addons/marker_flags/functions/fnc_pickUpFlag.sqf index 661f476fb63..c3484e6eeb4 100644 --- a/addons/marker_flags/functions/fnc_pickUpFlag.sqf +++ b/addons/marker_flags/functions/fnc_pickUpFlag.sqf @@ -19,7 +19,7 @@ params [["_flag", objNull, [objNull]], ["_unit", objNull, [objNull]], ["_args", [""], [[]]]]; _args params ["_item"]; -TRACE_3("pickupFlag",_unit,_flag,_itemName); +TRACE_3("pickupFlag",_unit,_flag,_item); if (isNull _flag) exitWith {}; diff --git a/addons/medical/functions/fnc_addDamageToUnit.sqf b/addons/medical/functions/fnc_addDamageToUnit.sqf index e490399c4bf..2ffe8d77322 100644 --- a/addons/medical/functions/fnc_addDamageToUnit.sqf +++ b/addons/medical/functions/fnc_addDamageToUnit.sqf @@ -32,7 +32,7 @@ params [ "", ["_overrideInvuln", true, [true]] ]; -TRACE_7("addDamageToUnit",_unit,_damageToAdd,_bodyPart,_typeOfDamage,_instigator,_damageSelectionArray,_overrideInvuln); +TRACE_7("addDamageToUnit",_unit,_damageToAdd,_bodyPart,_typeOfDamage,_instigator,nil,_overrideInvuln); _bodyPart = toLowerANSI _bodyPart; private _bodyPartIndex = ALL_BODY_PARTS find _bodyPart; diff --git a/addons/medical_feedback/functions/fnc_effectHeartBeat.sqf b/addons/medical_feedback/functions/fnc_effectHeartBeat.sqf index 89d98883fc7..57e31d80e94 100644 --- a/addons/medical_feedback/functions/fnc_effectHeartBeat.sqf +++ b/addons/medical_feedback/functions/fnc_effectHeartBeat.sqf @@ -16,7 +16,7 @@ */ if (EGVAR(common,OldIsCamera)) exitWith { - TRACE_2("Ending heart beat effect - scripted camera",_heartRate,EGVAR(common,OldIsCamera)); + TRACE_2("Ending heart beat effect - scripted camera",GET_HEART_RATE(ACE_player),EGVAR(common,OldIsCamera)); GVAR(heartBeatEffectRunning) = false; }; diff --git a/addons/medical_treatment/functions/fnc_createLitter.sqf b/addons/medical_treatment/functions/fnc_createLitter.sqf index 4a873272aa8..372a90364b3 100644 --- a/addons/medical_treatment/functions/fnc_createLitter.sqf +++ b/addons/medical_treatment/functions/fnc_createLitter.sqf @@ -27,7 +27,6 @@ params ["_medic", "_patient", "_bodyPart", "_classname"]; if (!isNull objectParent _medic || {!isNull objectParent _patient}) exitWith {}; // Determine if treated body part is bleeding -private _index = ALL_BODY_PARTS find toLowerANSI _bodyPart; private _isBleeding = (GET_OPEN_WOUNDS(_patient) get _bodyPart) findIf { _x params ["", "_amountOf", "_bleeding"]; _amountOf * _bleeding > 0 diff --git a/addons/medical_treatment/functions/fnc_medicationLocal.sqf b/addons/medical_treatment/functions/fnc_medicationLocal.sqf index 18ef4e4d680..cb140deaeab 100644 --- a/addons/medical_treatment/functions/fnc_medicationLocal.sqf +++ b/addons/medical_treatment/functions/fnc_medicationLocal.sqf @@ -52,7 +52,7 @@ TRACE_1("Running treatmentMedicationLocal with Advanced configuration for",_pati private _partIndex = ALL_BODY_PARTS find toLowerANSI _bodyPart; if (HAS_TOURNIQUET_APPLIED_ON(_patient,_partIndex)) exitWith { - TRACE_1("unit has tourniquets blocking blood flow on injection site",_tourniquets); + TRACE_1("unit has tourniquets blocking blood flow on injection site",GET_TOURNIQUETS(_patient)); private _occludedMedications = _patient getVariable [QEGVAR(medical,occludedMedications), []]; _occludedMedications pushBack [_partIndex, _classname]; _patient setVariable [QEGVAR(medical,occludedMedications), _occludedMedications, true]; diff --git a/addons/missileguidance/functions/fnc_attackProfile_LIN.sqf b/addons/missileguidance/functions/fnc_attackProfile_LIN.sqf index cc823b1e8c3..40e6f3e667e 100644 --- a/addons/missileguidance/functions/fnc_attackProfile_LIN.sqf +++ b/addons/missileguidance/functions/fnc_attackProfile_LIN.sqf @@ -30,9 +30,6 @@ private _projectilePos = getPosASL _projectile; private _distanceToTarget = _projectilePos vectorDistance _seekerTargetPos; private _distanceToShooter = _projectilePos vectorDistance _shooterPos; -private _distanceShooterToTarget = _shooterPos vectorDistance _seekerTargetPos; - -private _ttgo = _distanceToTarget / (vectorMagnitude velocity _projectile); TRACE_2("",_distanceToTarget,_distanceToShooter); diff --git a/addons/missileguidance/functions/fnc_dev_ProjectileCamera.sqf b/addons/missileguidance/functions/fnc_dev_ProjectileCamera.sqf index bf3a5af67c5..df8c1e92af1 100644 --- a/addons/missileguidance/functions/fnc_dev_ProjectileCamera.sqf +++ b/addons/missileguidance/functions/fnc_dev_ProjectileCamera.sqf @@ -51,8 +51,6 @@ private _displayEH = (findDisplay 46) displayAddEventHandler ["KeyDown", { [_pfh] call CBA_fnc_removePerFrameHandler; }; - private _currentProjectilePos = getPosATLVisual _projectile; - _camera camPrepareTarget _projectile; _camera camPrepareRelPos [0, -5, 1]; _camera camCommitPrepared 0; diff --git a/addons/missileguidance/functions/fnc_javelin_midCourseTransition.sqf b/addons/missileguidance/functions/fnc_javelin_midCourseTransition.sqf index 58995dee31d..a85273023fb 100644 --- a/addons/missileguidance/functions/fnc_javelin_midCourseTransition.sqf +++ b/addons/missileguidance/functions/fnc_javelin_midCourseTransition.sqf @@ -34,7 +34,6 @@ _targetData params ["_targetDirection", "_attackProfileDirection", "_targetRange _attackProfileStateParams params ["_state", "_stableTime", "_target"]; private _projectileDirection = vectorNormalized velocity _projectile; -private _targetDistance = _target vectorDistance getPosASLVisual _projectile; private _targetDirection = (getPosASLVisual _projectile) vectorFromTo _target; private _angle = _projectileDirection vectorCos _targetDirection; if (_angle > cos REQUIRED_ANGLE) then { diff --git a/addons/missileguidance/functions/fnc_onFired.sqf b/addons/missileguidance/functions/fnc_onFired.sqf index 9cc91f300a9..150b2fd5f06 100644 --- a/addons/missileguidance/functions/fnc_onFired.sqf +++ b/addons/missileguidance/functions/fnc_onFired.sqf @@ -126,10 +126,8 @@ private _navigationStateSubclass = _config >> "navigationStates"; private _states = getArray (_navigationStateSubclass >> "states"); private _navigationStateData = []; -private _initialState = ""; if (_states isNotEqualTo []) then { - _initialState = _states select 0; { private _stateClass = _navigationStateSubclass >> _x; _navigationStateData pushBack [ diff --git a/addons/mk6mortar/functions/fnc_handlePlayerVehicleChanged.sqf b/addons/mk6mortar/functions/fnc_handlePlayerVehicleChanged.sqf index c3dcc2cfe49..9b982670f3a 100644 --- a/addons/mk6mortar/functions/fnc_handlePlayerVehicleChanged.sqf +++ b/addons/mk6mortar/functions/fnc_handlePlayerVehicleChanged.sqf @@ -21,9 +21,6 @@ params ["_player", "_newVehicle"]; if (isNull _newVehicle) exitWith {}; if !(_newVehicle isKindOf "Mortar_01_base_F") exitWith {}; -private _tubeWeaponName = (weapons _newVehicle) select 0; -private _fireModes = getArray (configFile >> "CfgWeapons" >> _tubeWeaponName >> "modes"); - // Restore last firemode private _lastSavedWeaponsInfo = _newVehicle getVariable QGVAR(lastFireMode); diff --git a/addons/nightvision/functions/fnc_refreshGoggleType.sqf b/addons/nightvision/functions/fnc_refreshGoggleType.sqf index 6ed6aa1d687..f001cde7ae9 100644 --- a/addons/nightvision/functions/fnc_refreshGoggleType.sqf +++ b/addons/nightvision/functions/fnc_refreshGoggleType.sqf @@ -34,7 +34,6 @@ if ((alive ACE_player) && {isNull (ACE_controlledUAV select 0)}) then { // Test if we are using player's nvg or if sourced from vehicle: private _currentVehicle = vehicle ACE_player; - private _vehConfig = configOf _currentVehicle; if (cameraView != "GUNNER") exitWith {true}; // asume hmd usage outside of gunner view if ([ACE_player] call CBA_fnc_canUseWeapon) exitWith {true}; // FFV diff --git a/addons/nlaw/functions/fnc_navigation.sqf b/addons/nlaw/functions/fnc_navigation.sqf index 7572b44d6f3..822c4ee7549 100644 --- a/addons/nlaw/functions/fnc_navigation.sqf +++ b/addons/nlaw/functions/fnc_navigation.sqf @@ -50,23 +50,17 @@ private _yawRate = if (_timestep == 0) then { }; _navigationParams set [3, _currentYaw]; -private _yawModifier = if (_yawChange == 0) then { - 1 -} else { - abs (_yawRate / _yawChange) -}; - private _yawRateDifference = _yawChange - _yawRate; -private _yawChangeDerivative = if (_timestep == 0) then { - 0 -} else { - (_yawRateDifference - _lastYawRateDifference) / _timestep -}; _navigationParams set [6, _yawRateDifference]; private _desiredYawChange = _yawRateDifference * PROPORTIONALITY_CONSTANT + _yawRateDifference * 2; #ifdef DRAW_NLAW_INFO +private _yawModifier = if (_yawChange == 0) then { + 1 +} else { + abs (_yawRate / _yawChange) +}; drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,0,1,1], ASLToAGL getPosASLVisual _projectile, 0.75, 0.75, 0, format ["dP [%1] dY: [%2]", _desiredPitchChange, _desiredYawChange], 1, 0.025, "TahomaB"]; drawIcon3D ["\a3\ui_f\data\IGUI\Cfg\Cursors\selectover_ca.paa", [1,0,1,1], [0, 0, 1] vectorAdd ASLToAGL getPosASLVisual _projectile, 0.75, 0.75, 0, format ["pitch proportional [%1] yaw proportional [%2]", _pitchModifier, _yawModifier], 1, 0.025, "TahomaB"]; #endif @@ -75,4 +69,3 @@ TRACE_4("nlaw pitch/yaw info",_currentPitch,_lastPitch,_currentYaw,_lastYaw); TRACE_6("nlaw navigation",_yawChange,_desiredYawChange,_pitchChange,_desiredPitchChange,_yawRate,_pitchRate); _projectile vectorModelToWorldVisual [_yawChange + _desiredYawChange, 0, _pitchChange + _desiredPitchChange] - diff --git a/addons/overheating/functions/fnc_updateSpareBarrelsTemperaturesThread.sqf b/addons/overheating/functions/fnc_updateSpareBarrelsTemperaturesThread.sqf index da87c5fdbaa..6d304ac0c52 100644 --- a/addons/overheating/functions/fnc_updateSpareBarrelsTemperaturesThread.sqf +++ b/addons/overheating/functions/fnc_updateSpareBarrelsTemperaturesThread.sqf @@ -21,7 +21,7 @@ TRACE_1("updateSpareBarrelsTemperaturesThread1",GVAR(storedSpareBarrels)); // Calculate cooling private _finalTemp = [_initialTemp, _barrelMass, CBA_missionTime - _initialTime, 0] call FUNC(calculateCooling); //the zero is to indicate an open bolt gun. Barrel is outside of a gun here, so always open. - TRACE_4("updateSpareBarrelsTemperaturesThread2",_barrelMagazineID,_initialTemp,_finalTemp,_barrelMass); + TRACE_4("updateSpareBarrelsTemperaturesThread2",_x,_initialTemp,_finalTemp,_barrelMass); if (_finalTemp <= (ambientTemperature select 0)) then { // The barrel is cool enough to finish calculating. Remove it from the hash GVAR(storedSpareBarrels) deleteAt _x; diff --git a/addons/overpressure/functions/fnc_overpressureDamage.sqf b/addons/overpressure/functions/fnc_overpressureDamage.sqf index ee4c588f3e1..37c1f02330b 100644 --- a/addons/overpressure/functions/fnc_overpressureDamage.sqf +++ b/addons/overpressure/functions/fnc_overpressureDamage.sqf @@ -42,7 +42,7 @@ TRACE_3("cache",_overpressureAngle,_overpressureRange,_overpressureDamage); TRACE_4("Affected:",_x,_axisDistance,_distance,_angle); if (_angle < _overpressureAngle && {_distance < _overpressureRange} && {!lineIntersects _line} && {!terrainIntersectASL _line2}) then { - TRACE_2("",isDamageAllowed _unit,_unit getVariable [ARR_2(QEGVAR(medical,allowDamage),true)]); + TRACE_2("",isDamageAllowed _x,_x getVariable [ARR_2(QEGVAR(medical,allowDamage),true)]); // Skip damage if not allowed if (isDamageAllowed _x && {_x getVariable [QEGVAR(medical,allowDamage), true]}) then { diff --git a/addons/quickmount/functions/fnc_addFreeSeatsActions.sqf b/addons/quickmount/functions/fnc_addFreeSeatsActions.sqf index efb40d2ac1a..4dd196455f2 100644 --- a/addons/quickmount/functions/fnc_addFreeSeatsActions.sqf +++ b/addons/quickmount/functions/fnc_addFreeSeatsActions.sqf @@ -83,7 +83,7 @@ private _fnc_move = { {params ["_target", "_player", "_currentTurret"]; IS_MOVED_OUT}, { params ["", "_player", "", "_moveInCode", "_moveInParams", "_moveBackCode", "_moveBackParams"]; - LOG_2("moved out after %1 frames",diag_frameNo-GVAR(frame),call {GVAR(frame)=diag_frameNo; 0}); + LOG_2("moved out after %1 frames %2",diag_frameNo-GVAR(frame),call {GVAR(frame)=diag_frameNo; 0}); [_player, _moveInParams] call _moveInCode; WAIT_IN_OR_MOVE_BACK; }, diff --git a/addons/rearm/functions/fnc_getNeedRearmMagazines.sqf b/addons/rearm/functions/fnc_getNeedRearmMagazines.sqf index 078af4d887b..cf4a8d5b227 100644 --- a/addons/rearm/functions/fnc_getNeedRearmMagazines.sqf +++ b/addons/rearm/functions/fnc_getNeedRearmMagazines.sqf @@ -32,8 +32,6 @@ private _magazineInfo = []; // 1.70 pylons private _pylonConfigs = configProperties [configOf _vehicle >> "Components" >> "TransportPylonsComponent" >> "Pylons", "isClass _x"]; { - private _pylonConfig = _x; - // Strangely, a 1-based index. private _pylonIndex = _forEachIndex + 1; diff --git a/addons/rearm/functions/fnc_rearmSuccessLocal.sqf b/addons/rearm/functions/fnc_rearmSuccessLocal.sqf index ace43baf8f9..a1aebc06331 100644 --- a/addons/rearm/functions/fnc_rearmSuccessLocal.sqf +++ b/addons/rearm/functions/fnc_rearmSuccessLocal.sqf @@ -49,7 +49,6 @@ if (_pylon > 0) exitWith { }; }; -private _currentRounds = 0; private _maxMagazines = [_vehicle, _turretPath, _magazineClass] call FUNC(getMaxMagazines); private _ammoCounts = [_vehicle, _turretPath, _magazineClass] call FUNC(getTurretMagazineAmmo); TRACE_3("start",_magazineClass,_maxMagazines,_ammoCounts); diff --git a/addons/switchunits/functions/fnc_markAiOnMap.sqf b/addons/switchunits/functions/fnc_markAiOnMap.sqf index 203ba426ffe..f2c02edbd28 100644 --- a/addons/switchunits/functions/fnc_markAiOnMap.sqf +++ b/addons/switchunits/functions/fnc_markAiOnMap.sqf @@ -40,7 +40,7 @@ GVAR(AllMarkerNames) = []; private _markerName = str _x; - private _marker = createMarkerLocal [_markerName, position _x]; + createMarkerLocal [_markerName, position _x]; _markerName setMarkerTypeLocal "mil_triangle"; _markerName setMarkerShapeLocal "ICON"; _markerName setMarkerSizeLocal [0.5, 0.7]; diff --git a/addons/tagging/functions/fnc_compileConfigTags.sqf b/addons/tagging/functions/fnc_compileConfigTags.sqf index d2f096d0678..a71d1992356 100644 --- a/addons/tagging/functions/fnc_compileConfigTags.sqf +++ b/addons/tagging/functions/fnc_compileConfigTags.sqf @@ -16,7 +16,6 @@ */ { - private _class = configName _x; private _result = [_x, false] call FUNC(parseConfigTag); if (_result isNotEqualTo []) then { @@ -28,7 +27,6 @@ } forEach ("true" configClasses (configFile >> "ACE_Tags")); { - private _class = configName _x; private _result = [_x, true] call FUNC(parseConfigTag); if (_result isNotEqualTo []) then { diff --git a/addons/trenches/functions/fnc_placeConfirm.sqf b/addons/trenches/functions/fnc_placeConfirm.sqf index 2cfdaf8891e..351c45c74dc 100644 --- a/addons/trenches/functions/fnc_placeConfirm.sqf +++ b/addons/trenches/functions/fnc_placeConfirm.sqf @@ -62,7 +62,7 @@ for [{private _ix = -_dx/2},{_ix <= _dx/2},{_ix = _ix + _dx/3}] do { _minzoffset = _minzoffset min ((getTerrainHeightASL _pos) - (_pos select 2)); #ifdef DEBUG_MODE_FULL _pos set [2, getTerrainHeightASL _pos]; - _pos2 = +_pos; + private _pos2 = +_pos; _pos2 set [2, getTerrainHeightASL _pos + 1]; drawLine3D [ASLToAGL _pos, ASLToAGL _pos2, [1,1,0,1]]; #endif diff --git a/addons/trenches/functions/fnc_placeTrench.sqf b/addons/trenches/functions/fnc_placeTrench.sqf index 285fe278e94..34ace22543c 100644 --- a/addons/trenches/functions/fnc_placeTrench.sqf +++ b/addons/trenches/functions/fnc_placeTrench.sqf @@ -75,7 +75,7 @@ GVAR(digPFH) = [{ _minzoffset = _minzoffset min ((getTerrainHeightASL _pos) - (_pos select 2)); #ifdef DEBUG_MODE_FULL _pos set [2, getTerrainHeightASL _pos]; - _pos2 = +_pos; + private _pos2 = +_pos; _pos2 set [2, getTerrainHeightASL _pos + 1]; drawLine3D [ASLToAGL _pos, ASLToAGL _pos2, [1,1,0,1]]; #endif diff --git a/addons/vehicle_damage/functions/fnc_addEventHandler.sqf b/addons/vehicle_damage/functions/fnc_addEventHandler.sqf index 3fdbf9ec20c..a0ac6053f74 100644 --- a/addons/vehicle_damage/functions/fnc_addEventHandler.sqf +++ b/addons/vehicle_damage/functions/fnc_addEventHandler.sqf @@ -102,7 +102,7 @@ private _fnc_iterateThroughConfig = { _hitPointHash set [_configName, ["slat", abs getNumber (_config >> "minimalHit")]]; }; - TRACE_6("found gun/turret/era/slat/misc",_isGun,_isTurret,_isEra,_isSlat,_isMisc,_hash); + TRACE_6("found gun/turret/era/slat/misc",_isGun,_isTurret,_isEra,_isSlat,_isMisc,_hitPointHash); } else { { _x call _fnc_iterateThroughConfig; From 4c6fec374f60976c88f01f8518366b956486a2e5 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Tue, 22 Oct 2024 12:24:01 -0500 Subject: [PATCH 08/11] General - Cleanup some unused/missing vars (#10447) * General - Cleanup some unused vars * AI - Fix undefined var in garrisonMove * Update lints.toml --- .hemtt/lints.toml | 14 ++++++++++++++ .../functions/fnc_getMetabolicCosts.sqf | 2 +- addons/ai/functions/fnc_garrisonMove.sqf | 1 + addons/arsenal/functions/fnc_sortPanel.sqf | 6 ------ addons/arsenal/functions/fnc_updateRightPanel.sqf | 2 -- addons/frag/functions/fnc_findReflections.sqf | 2 -- .../functions/fnc_seekerType_MWR.sqf | 2 +- .../refuel/functions/fnc_connectNozzleAction.sqf | 3 --- 8 files changed, 17 insertions(+), 15 deletions(-) diff --git a/.hemtt/lints.toml b/.hemtt/lints.toml index b8aeda905d0..f77ab4358b1 100644 --- a/.hemtt/lints.toml +++ b/.hemtt/lints.toml @@ -8,3 +8,17 @@ options.ignore = [ options.ignore = [ "SLX_*", "ACE_*" ] + +[sqf.undefined] +enabled = true +options.check_orphan_code = true + +[sqf.unused] +#enabled = true #many false positives without DEBUG_MODE_FULL +options.check_params = false + +[sqf.shadowed] +enabled = false + +[sqf.not_private] +enabled = true diff --git a/addons/advanced_fatigue/functions/fnc_getMetabolicCosts.sqf b/addons/advanced_fatigue/functions/fnc_getMetabolicCosts.sqf index 46d03962e97..8eaeb892b24 100644 --- a/addons/advanced_fatigue/functions/fnc_getMetabolicCosts.sqf +++ b/addons/advanced_fatigue/functions/fnc_getMetabolicCosts.sqf @@ -40,7 +40,7 @@ if (_speed > 2) then { private _graded = 2.1 * SIM_BODYMASS + 4 * (SIM_BODYMASS + _gearMass) * ((_gearMass / SIM_BODYMASS) ^ 2) + _terrainFactor * (SIM_BODYMASS + _gearMass) * (0.9 * (_speed ^ 2) + 0.66 * _speed * _terrainGradient); private _terrainImpact = abs ((_graded / _baseline) - 1); hintSilent format ["FwdAngle: %1 | SideAngle: %2 \n TerrainFactor: %3 | TerrainGradient: %4 \n TerrainImpact: %5 \n Speed: %6 | CarriedLoad: %7 \n Duty: %8 | Work: %9", - _fwdAngle toFixed 1, + _fwdAngle toFixed 1, //IGNORE_PRIVATE_WARNING ["_fwdAngle", "_sideAngle"]; // from mainLoop _sideAngle toFixed 1, _terrainFactor toFixed 2, _terrainGradient toFixed 1, diff --git a/addons/ai/functions/fnc_garrisonMove.sqf b/addons/ai/functions/fnc_garrisonMove.sqf index 46313f12e38..5342d518247 100644 --- a/addons/ai/functions/fnc_garrisonMove.sqf +++ b/addons/ai/functions/fnc_garrisonMove.sqf @@ -120,6 +120,7 @@ if (isNil QGVAR(garrison_moveUnitPFH)) then { }; case ((_unitPosTimer + 5) < CBA_missionTime && {_unitOldPos distance _unitPos < 0.5}) : { + (_unit getVariable [QGVAR(garrisonMove_failSafe), [CBA_missionTime, 5]]) params ["_failSafeTimer", "_failSafeRemainingAttemps"]; call _fnc_attemptFailed; }; diff --git a/addons/arsenal/functions/fnc_sortPanel.sqf b/addons/arsenal/functions/fnc_sortPanel.sqf index e47ece9d17b..a89b7e684b4 100644 --- a/addons/arsenal/functions/fnc_sortPanel.sqf +++ b/addons/arsenal/functions/fnc_sortPanel.sqf @@ -143,12 +143,6 @@ private _sortCache = uiNamespace getVariable QGVAR(sortCache); private _faceCache = uiNamespace getVariable QGVAR(faceCache); private _insigniaCache = uiNamespace getVariable QGVAR(insigniaCache); -private _countColumns = if (_right) then { - count lnbGetColumnsPosition _panel -} else { - 0 -}; - private _for = if (_right) then { for "_i" from 0 to (lnbSize _panel select 0) - 1 } else { diff --git a/addons/arsenal/functions/fnc_updateRightPanel.sqf b/addons/arsenal/functions/fnc_updateRightPanel.sqf index e43f06c74f7..9eec548c8d8 100644 --- a/addons/arsenal/functions/fnc_updateRightPanel.sqf +++ b/addons/arsenal/functions/fnc_updateRightPanel.sqf @@ -17,8 +17,6 @@ params ["_control", "_container", "_hasItems"]; -private _loadRemaining = maxLoad _container - loadAbs _container; - private _item = ""; private _color = []; private _alpha = 1; diff --git a/addons/frag/functions/fnc_findReflections.sqf b/addons/frag/functions/fnc_findReflections.sqf index 00a26022e2b..3862087f65a 100644 --- a/addons/frag/functions/fnc_findReflections.sqf +++ b/addons/frag/functions/fnc_findReflections.sqf @@ -34,14 +34,12 @@ if (_zIndex < 5) then { _zAng = 90; }; for "_i" from 0 to _radi do { - private _test = true; private _vec = [1, ((_i * _split) + _rand) % 360, _zAng] call CBA_fnc_polar2vect; for "_x" from 1 to _distanceCount do { private _testPos = _pos vectorAdd (_vec vectorMultiply _x); // drop ["\a3\data_f\Cl_basic","","Billboard",1,15,ASLtoATL _testPos,[0,0,0],1,1.275,1.0,0.0,[1],[[1,0,0,1]],[0],0.0,2.0,"","",""]; private _res = lineIntersectsWith [_pos, _testPos]; if (count _res > 0) exitWith { - _test = false; _nlos pushBack _lastPos; // { // _x addEventHandler ["HandleDamage", { diag_log text format ["this: %1", _this]; }]; diff --git a/addons/missileguidance/functions/fnc_seekerType_MWR.sqf b/addons/missileguidance/functions/fnc_seekerType_MWR.sqf index 1b7eef07ee7..c40f9801754 100644 --- a/addons/missileguidance/functions/fnc_seekerType_MWR.sqf +++ b/addons/missileguidance/functions/fnc_seekerType_MWR.sqf @@ -90,7 +90,7 @@ if (_isActive || { CBA_missionTime >= _timeWhenActive }) then { _projectile setMissileTarget _target; } else { if (GVAR(debug_drawGuidanceInfo)) then { - _seekerTypeName = "MWR - EXT"; + _seekerTypeName = "MWR - EXT"; //IGNORE_PRIVATE_WARNING ["_seekerTypeName"]; // from doSeekerSearch }; // External radar homing // if the target is in the remote targets for the side, whoever the donor is will "datalink" the target for the hellfire. diff --git a/addons/refuel/functions/fnc_connectNozzleAction.sqf b/addons/refuel/functions/fnc_connectNozzleAction.sqf index 1a022b6e768..792a598cd47 100644 --- a/addons/refuel/functions/fnc_connectNozzleAction.sqf +++ b/addons/refuel/functions/fnc_connectNozzleAction.sqf @@ -24,9 +24,6 @@ params [["_unit", objNull, [objNull]], ["_sink", objNull, [objNull]], ["_startin private _bestPosASL = []; private _bestPosDistance = 1e38; -private _viewPos = _startingPosASL vectorAdd (((positionCameraToWorld [0,0,0]) vectorFromTo (positionCameraToWorld [0,0,1])) vectorMultiply 3); -private _modelVector = _startingPosASL vectorFromTo (_sink modelToWorldWorld [0,0,0]); -private _modelVectorLow = _startingPosASL vectorFromTo (_sink modelToWorldWorld [0,0,-1]); { private _endPosASL = _x; From 323d993e480f6a8f1b706b46f7c05893ecb6ad1f Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Tue, 22 Oct 2024 12:24:23 -0500 Subject: [PATCH 09/11] Frag - Fix rapid explosion holdoff (#10446) Frag - Fix holdoff --- addons/frag/XEH_postInit.sqf | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/frag/XEH_postInit.sqf b/addons/frag/XEH_postInit.sqf index b4c307749b8..0ea9c57eeb7 100644 --- a/addons/frag/XEH_postInit.sqf +++ b/addons/frag/XEH_postInit.sqf @@ -12,9 +12,9 @@ }; if (GVAR(enabled) && _ammo call FUNC(shouldFrag)) then { // only let a unit make a frag event once per second - - private _instigator = _shotParents select !isNull ((getShotParents _projectile)#1); - if (CBA_missionTime < (_instigator getVariable [QGVAR(nextFragEvent), -1])) exitWith {}; + private _shotParents = getShotParents _projectile; + private _instigator = _shotParents select !isNull (_shotParents#1); + if (CBA_missionTime < (_instigator getVariable [QGVAR(nextFragEvent), -1])) exitWith { TRACE_1("skip",typeOf _instigator) }; _instigator setVariable [QGVAR(nextFragEvent), CBA_missionTime + ACE_FRAG_FRAG_UNIT_HOLDOFF]; // Wait a frame to make sure it doesn't target the dead From 3773684751624815415f48f776227456fa1d4a73 Mon Sep 17 00:00:00 2001 From: johnb432 <58661205+johnb432@users.noreply.github.com> Date: Tue, 22 Oct 2024 19:58:39 +0200 Subject: [PATCH 10/11] Field Rations - Add small grace period between consciousness losses (#10443) * Give a small grace period between uncons * Update fnc_handleEffects.sqf --- addons/field_rations/functions/fnc_handleEffects.sqf | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/addons/field_rations/functions/fnc_handleEffects.sqf b/addons/field_rations/functions/fnc_handleEffects.sqf index ad60a743ad0..057a0d2c0fb 100644 --- a/addons/field_rations/functions/fnc_handleEffects.sqf +++ b/addons/field_rations/functions/fnc_handleEffects.sqf @@ -29,9 +29,13 @@ if !(_player call EFUNC(common,isAwake)) exitWith {}; // Set unit unconscious (chance based on how high thirst/hunger are) if ( - GETEGVAR(medical,enabled,false) && + GETEGVAR(medical,enabled,false) && {(_thirst > 85 || {_hunger > 85}) && {random 1 < linearConversion [85, 100, _thirst max _hunger, 0.05, 0.1, true]}} ) exitWith { + if (_player getVariable [QGVAR(nextUnconsciousTime), CBA_missionTime] > CBA_missionTime) exitWith {}; + + _player setVariable [QGVAR(nextUnconsciousTime), CBA_missionTime + 15]; + [_player, true, 5, true] call EFUNC(medical,setUnconscious); }; From c87e2cb3b51635d993ea29e39aad9c0130b3f101 Mon Sep 17 00:00:00 2001 From: bluefield <59333909+bluefieldcreator@users.noreply.github.com> Date: Tue, 22 Oct 2024 20:15:30 +0200 Subject: [PATCH 11/11] Overpressure - Add editor range attribute for vehicles (#10411) * feat: overpressure settings note: doesnt work yet * fix: stuff * feat: overpressure slider it works fine now * style: remove macro padding * doc: fix typo * lint: fix tabs * refactor: switch slider attribute to text attribute & add -1 check. * fix: change to localized strings * fix: typo * Update addons/overpressure/functions/fnc_firedEHOP.sqf Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com> * Update addons/overpressure/functions/fnc_firedEHOP.sqf Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com> * Update addons/overpressure/functions/fnc_firedEHOP.sqf Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com> * Update addons/overpressure/functions/fnc_firedEHOP.sqf Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com> * Update addons/overpressure/functions/fnc_firedEHOP.sqf Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com> * feat: rename CfgEden * Rename: part 1 * Rename: Part 2 * Update addons/overpressure/CfgEden.hpp Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com> * Update addons/overpressure/functions/fnc_firedEHOP.sqf Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com> * Update fnc_firedEHOP.sqf Signed-off-by: bluefield <59333909+bluefieldcreator@users.noreply.github.com> * Update addons/overpressure/functions/fnc_firedEHOP.sqf Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com> * Update addons/overpressure/functions/fnc_firedEHOP.sqf Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com> * Update config.cpp Signed-off-by: bluefield <59333909+bluefieldcreator@users.noreply.github.com> * Update AUTHORS.txt Signed-off-by: bluefield <59333909+bluefieldcreator@users.noreply.github.com> * Update addons/overpressure/functions/fnc_firedEHOP.sqf Co-authored-by: PabstMirror * Update addons/overpressure/CfgEden.hpp Co-authored-by: PabstMirror * Update addons/overpressure/functions/fnc_firedEHOP.sqf Co-authored-by: PabstMirror * Update fnc_firedEHOP.sqf Signed-off-by: bluefield <59333909+bluefieldcreator@users.noreply.github.com> * Update fnc_firedEHOP.sqf Signed-off-by: bluefield <59333909+bluefieldcreator@users.noreply.github.com> --------- Signed-off-by: bluefield <59333909+bluefieldcreator@users.noreply.github.com> Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com> Co-authored-by: PabstMirror --- AUTHORS.txt | 1 + addons/overpressure/CfgEden.hpp | 21 +++++++++++++++++++ addons/overpressure/config.cpp | 1 + .../overpressure/functions/fnc_firedEHOP.sqf | 4 +++- 4 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 addons/overpressure/CfgEden.hpp diff --git a/AUTHORS.txt b/AUTHORS.txt index 3cf263bb2a4..90891432eff 100644 --- a/AUTHORS.txt +++ b/AUTHORS.txt @@ -64,6 +64,7 @@ Barman75 Bla1337 BlackPixxel BlackQwar +Bluefield Brakoviejo Brisse Brostrom.A | Evul diff --git a/addons/overpressure/CfgEden.hpp b/addons/overpressure/CfgEden.hpp new file mode 100644 index 00000000000..64a06eadd58 --- /dev/null +++ b/addons/overpressure/CfgEden.hpp @@ -0,0 +1,21 @@ +class Cfg3DEN { + class Object { + class AttributeCategories { + class ace_attributes { + class Attributes { + class GVAR(overPressureDistanceSetting) { + displayName = CSTRING(distanceCoefficient_displayName); + tooltip = CSTRING(distanceCoefficient_toolTip); + property = QUOTE(overpressureDistanceCoefficient); + control = "Edit"; + expression = QUOTE(if (_value >= 0) then { _this setVariable [ARR_3(QQGVAR(distance),_value,true)] }); + defaultValue = -1; + validate = "number"; + typeName = "NUMBER"; + condition = "objectVehicle"; + }; + }; + }; + }; + }; +}; diff --git a/addons/overpressure/config.cpp b/addons/overpressure/config.cpp index 7274cd50593..f4e128c1862 100644 --- a/addons/overpressure/config.cpp +++ b/addons/overpressure/config.cpp @@ -17,3 +17,4 @@ class CfgPatches { #include "CfgEventHandlers.hpp" #include "CfgWeapons.hpp" #include "ACE_Arsenal_Stats.hpp" +#include "CfgEden.hpp" diff --git a/addons/overpressure/functions/fnc_firedEHOP.sqf b/addons/overpressure/functions/fnc_firedEHOP.sqf index eb51a055076..35aa54d4e80 100644 --- a/addons/overpressure/functions/fnc_firedEHOP.sqf +++ b/addons/overpressure/functions/fnc_firedEHOP.sqf @@ -22,12 +22,14 @@ TRACE_8("firedEH:",_unit,_weapon,_muzzle,_mode,_ammo,_magazine,_projectile,_gunn private _opValues = [_weapon, _ammo, _magazine] call FUNC(getOverPressureValues); _opValues params ["_dangerZoneAngle", "_dangerZoneRange", "_dangerZoneDamage"]; -_dangerZoneRange = _dangerZoneRange * GVAR(overpressureDistanceCoefficient); TRACE_3("cache",_dangerZoneAngle,_dangerZoneRange,_dangerZoneDamage); if (_dangerZoneDamage <= 0) exitWith {}; +private _unitOverpressureRangeAttribute = _unit getVariable [QGVAR(distance), GVAR(overpressureDistanceCoefficient)]; +_dangerZoneRange = _dangerZoneRange * _unitOverpressureRangeAttribute; + // The weapon produces overpressure, calculate private _position = getPosASL _projectile; private _direction = vectorDir _projectile;