Skip to content

Commit

Permalink
Merge branch 'master' into missile_sdb
Browse files Browse the repository at this point in the history
  • Loading branch information
TheCandianVendingMachine committed Sep 10, 2024
2 parents 4b6821d + 8c582f1 commit 9407a94
Show file tree
Hide file tree
Showing 442 changed files with 5,115 additions and 2,908 deletions.
1 change: 1 addition & 0 deletions .github/workflows/arma.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,3 +43,4 @@ jobs:
with:
name: ace3-${{ github.sha }}-nobin
path: .hemttout/@*
include-hidden-files: true # Because .hemttout is a hidden directory
2 changes: 1 addition & 1 deletion .github/workflows/extensions.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ jobs:
- name: Build
run: cargo build --verbose
- name: Upload
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: ${{ matrix.arrays.os.target }}
path: target/debug/ace.dll
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/hemtt.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,3 +44,4 @@ jobs:
with:
name: ace3-${{ github.sha }}
path: .hemttout/@*
include-hidden-files: true # Because .hemttout is a hidden directory
31 changes: 31 additions & 0 deletions .hemtt/launch.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
[default]
workshop = [
"450814997", # CBA_A3
]

[spe]
extends = "default"
dlc = [
"Spearhead 1944"
]

[vn]
extends = "default"
dlc = [
"S.O.G. Prairie Fire",
]

[ws]
extends = "default"
dlc = [
"Western Sahara",
]

[rhs]
extends = "default"
workshop = [
"843425103", # RHS AFRF Workshop ID
"843577117", # RHS USAF Workshop ID
"843593391", # RHS GREF Workshop ID
"843632231", # RHS SAF Workshop ID
]
5 changes: 5 additions & 0 deletions .hemtt/lints.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
[sqf.banned_commands]
options.ignore = [
"addPublicVariableEventHandler", # Alt syntax is broken, we are using main syntax
"createSoundSource", # Greatly attenuated when in first person and in a vehicle
]
32 changes: 0 additions & 32 deletions .hemtt/project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -27,35 +27,3 @@ exclude = [
"common/functions/fnc_dummy.sqf",
"zeus/functions/fnc_zeusAttributes.sqf",
]

[hemtt.launch.default]
workshop = [
"450814997", # CBA_A3
]

[hemtt.launch.spe]
extends = "default"
dlc = [
"spe"
]

[hemtt.launch.vn]
extends = "default"
dlc = [
"S.O.G. Prairie Fire",
]

[hemtt.launch.ws]
extends = "default"
dlc = [
"Western Sahara",
]

[hemtt.launch.rhs]
extends = "default"
workshop = [
"843425103", # RHS AFRF Workshop ID
"843577117", # RHS USAF Workshop ID
"843593391", # RHS GREF Workshop ID
"843632231", # RHS SAF Workshop ID
]
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ for "_i" from 0 to (count _cfgWeapons)-1 do {
diag_log text format ["AB_Diagnose_barrelTwist,%1,%2,%3,%4,%5",_weapon,_magazine,_ammo,_twistDirection,_barrelTwist];
};
if (_barrelLength == 0) then {
diag_log text format ["AB_Diagnose_barrelLength,%1,%2,%3,%4,%5",_weapon,_magazine,_ammo,_barrelLength];
diag_log text format ["AB_Diagnose_barrelLength,%1,%2,%3,%4",_weapon,_magazine,_ammo,_barrelLength];
};
};
} forEach _magazines;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ GVAR(Protractor) = true;
__ctrl1 ctrlSetTextColor [1, 1, 1, 1];

__ctrl2 ctrlSetScale 1;
__ctrl2 ctrlSetPosition [SafeZoneX + 0.001, SafeZoneY - 0.001 - 0.1074 * (-0.86 max ((ACE_player weaponDirection currentWeapon ACE_player) select 2) min 0.86), 0.2, 0.2 * 4/3];
__ctrl2 ctrlSetPosition [safeZoneX + 0.001, safeZoneY - 0.001 - 0.1074 * (-0.86 max ((ACE_player weaponDirection currentWeapon ACE_player) select 2) min 0.86), 0.2, 0.2 * 4/3];
__ctrl2 ctrlCommit 0;
__ctrl2 ctrlSetText QPATHTOF(UI\protractor_marker.paa);
__ctrl2 ctrlSetTextColor [1, 1, 1, 1];
Expand Down
12 changes: 6 additions & 6 deletions addons/advanced_fatigue/Dialog.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,18 @@ class RscControlsGroupNoScrollbars;
class RscPicture;

class GVAR(StaminaBarContainer): RscControlsGroupNoScrollbars {
x = "(profilenamespace getvariable [""IGUI_GRID_STAMINA_X"", ((safezoneX + safezoneW) - (10 * (((safezoneW / safezoneH) min 1.2) / 40)) - 4.3 * (((safezoneW / safezoneH) min 1.2) / 40))])";
y = "(profilenamespace getvariable [""IGUI_GRID_STAMINA_Y"", (safezoneY + 4.05 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25))])";
w = "10 * (((safezoneW / safezoneH) min 1.2) / 40)";
h = "0.15 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
x = "(profilenamespace getvariable [""IGUI_GRID_STAMINA_X"", ((safeZoneX + safeZoneW) - (10 * (((safeZoneW / safeZoneH) min 1.2) / 40)) - 4.3 * (((safeZoneW / safeZoneH) min 1.2) / 40))])";
y = "(profilenamespace getvariable [""IGUI_GRID_STAMINA_Y"", (safeZoneY + 4.05 * ((((safeZoneW / safeZoneH) min 1.2) / 1.2) / 25))])";
w = "10 * (((safeZoneW / safeZoneH) min 1.2) / 40)";
h = "0.15 * ((((safeZoneW / safeZoneH) min 1.2) / 1.2) / 25)";

class Controls {
class StaminaBar: RscPicture {
idc = 10;
x = 0;
y = 0;
w = "10 * (((safezoneW / safezoneH) min 1.2) / 40)";
h = "0.15 * ((((safezoneW / safezoneH) min 1.2) / 1.2) / 25)";
w = "10 * (((safeZoneW / safeZoneH) min 1.2) / 40)";
h = "0.15 * ((((safeZoneW / safeZoneH) min 1.2) / 1.2) / 25)";
text = "\A3\Ui_f\data\IGUI\RscIngameUI\RscUnitInfo\stamina_ca.paa";
};
};
Expand Down
2 changes: 1 addition & 1 deletion addons/advanced_fatigue/XEH_preInit.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ PREP_RECOMPILE_END;

#include "initSettings.inc.sqf"

GVAR(staminaBarWidth) = 10 * (((safezoneW / safezoneH) min 1.2) / 40);
GVAR(staminaBarWidth) = 10 * (((safeZoneW / safeZoneH) min 1.2) / 40);
GVAR(dutyList) = createHashMap;
GVAR(setAnimExclusions) = [];
GVAR(inertia) = 0;
Expand Down
2 changes: 1 addition & 1 deletion addons/advanced_throwing/functions/fnc_throw.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ GVAR(flightPath) = [];
GVAR(flightRotation) = [];
(_unit getVariable QGVAR(activeThrowable)) spawn {
while {!isNull _this && {(getPosATL _this) select 2 > 0.05}} do {
GVAR(flightPath) pushBack [ASLtoAGL (getPosASL _this), vectorUp _this];
GVAR(flightPath) pushBack [ASLToAGL (getPosASL _this), vectorUp _this];
sleep 0.05;
};
};
Expand Down
8 changes: 4 additions & 4 deletions addons/ai/functions/fnc_drawCuratorGarrisonPathing.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -19,17 +19,17 @@ if (isNull findDisplay 312) exitWith {
removeMissionEventHandler ["Draw3D", _thisEventHandler];
};

private _unitMoveList = missionNameSpace getVariable [QGVAR(garrison_unitMoveList), []];
private _unitMoveList = missionNamespace getVariable [QGVAR(garrison_unitMoveList), []];

{
_x params ["_unit", "_pos"];

switch (true) do {
case (surfaceIsWater (getPos _unit) && {surfaceIsWater _pos}) : {
for "_i" from 0 to 3 do {
drawLine3D [_unit modelToWorldVisualWorld [0,0,1], (AGLtoASL _pos), [1,0,0,1]];
drawLine3D [_unit modelToWorldVisualWorld [0,0,1], (AGLToASL _pos), [1,0,0,1]];
};
drawIcon3D ["\a3\ui_f\data\map\groupicons\waypoint.paa", [1,0,0,1], (AGLtoASL _pos), 0.75, 0.75, 0.75];
drawIcon3D ["\a3\ui_f\data\map\groupicons\waypoint.paa", [1,0,0,1], (AGLToASL _pos), 0.75, 0.75, 0.75];
};

case (!surfaceIsWater (getPos _unit) && {!surfaceIsWater _pos}) : {
Expand All @@ -43,7 +43,7 @@ private _unitMoveList = missionNameSpace getVariable [QGVAR(garrison_unitMoveLis
for "_i" from 0 to 3 do {
drawLine3D [_unit modelToWorldVisual [0,0,1], (AGLToASL _pos), [1,0,0,1]];
};
drawIcon3D ["\a3\ui_f\data\map\groupicons\waypoint.paa", [1,0,0,1], (AGLtoASL _pos), 0.75, 0.75, 0.75];
drawIcon3D ["\a3\ui_f\data\map\groupicons\waypoint.paa", [1,0,0,1], (AGLToASL _pos), 0.75, 0.75, 0.75];
};

case (surfaceIsWater (getPos _unit) && {!surfaceIsWater _pos}) : {
Expand Down
28 changes: 14 additions & 14 deletions addons/ai/functions/fnc_garrison.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ params [["_startingPos",[0,0,0], [[]], 3], ["_buildingTypes", ["Building"], [[]]
TRACE_6("fnc_garrison: Start",_startingPos,_buldingTypes,count _unitsArray,_fillingRadius,_fillingTYpe,_topDownFilling);

_unitsArray = _unitsArray select {alive _x && {!isPlayer _x}};
private _currentUnitMoveList = missionNameSpace getVariable [QGVAR(garrison_unitMoveList), []];
private _currentUnitMoveList = missionNamespace getVariable [QGVAR(garrison_unitMoveList), []];

if (_startingPos isEqualTo [0,0,0]) exitWith {
TRACE_1("fnc_garrison: StartingPos error",_startingPos);
Expand Down Expand Up @@ -57,38 +57,38 @@ if (_topDownFilling) then {
// Those reverse are necessary, as dumb as it is there's no better way to sort those subarrays in sqf
{
reverse _x;
} foreach _buildingPos;
} forEach _buildingPos;

_buildingPos sort false;

{
reverse _x;
} foreach _buildingPos;
} forEach _buildingPos;

_buildingsIndex pushBack _buildingPos;
} foreach _buildings;
} forEach _buildings;
} else {
{
_buildingsIndex pushBack (_x buildingPos -1);
} foreach _buildings;
} forEach _buildings;
};

// Remove buildings without positions
{
_buildingsIndex deleteAt (_buildingsIndex find _x);
} foreach (_buildingsIndex select {count _x == 0});
} forEach (_buildingsIndex select {count _x == 0});

//Remove positions units are already pathing to
_buildingsIndex = _buildingsIndex apply {
_x select {
private _testedPos = _x;
({(_x select 1) isEqualTo _testedPos} count (missionNameSpace getVariable [QGVAR(garrison_unitMoveList), []])) == 0
({(_x select 1) isEqualTo _testedPos} count (missionNamespace getVariable [QGVAR(garrison_unitMoveList), []])) == 0
}
};

// Warn the user that there's not enough positions to place all units
private _count = 0;
{_count = _count + count _x} foreach _buildingsIndex;
{_count = _count + count _x} forEach _buildingsIndex;
if ( (count _unitsArray) - _count > 0) then {
TRACE_4("fnc_garrison: Not enough spots to place all units",_unitsArray,count _unitsArray,_count,((count _unitsArray) - _count > 0));
[LSTRING(GarrisonNotEnoughPos)] call EFUNC(common,displayTextStructured);
Expand All @@ -104,7 +104,7 @@ private _fnc_comparePos = {
params ["_nearestUnits", "_pos"];
({
if (surfaceIsWater getPos _x) then {
floor ((getPosASL _x) select 2) == floor ((AGLtoASL _pos) select 2)
floor ((getPosASL _x) select 2) == floor ((AGLToASL _pos) select 2)
} else {
floor ((getPosATL _x) select 2) == floor (_pos select 2)
};
Expand Down Expand Up @@ -141,7 +141,7 @@ switch (_fillingType) do {
if (_teleport) then {
doStop _unit;
if (_posSurface) then {
_unit setPosASL (AGLtoASL _pos);
_unit setPosASL (AGLToASL _pos);
} else {
_unit setPosATL _pos;
};
Expand Down Expand Up @@ -190,7 +190,7 @@ switch (_fillingType) do {
if (_teleport) then {
doStop _unit;
if (_posSurface) then {
_unit setPosASL (AGLtoASL _pos);
_unit setPosASL (AGLToASL _pos);
} else {
_unit setPosATL _pos;
};
Expand Down Expand Up @@ -237,7 +237,7 @@ switch (_fillingType) do {
if (_teleport) then {
doStop _unit;
if (_posSurface) then {
_unit setPosASL (AGLtoASL _pos);
_unit setPosASL (AGLToASL _pos);
} else {
_unit setPosATL _pos;
};
Expand All @@ -261,7 +261,7 @@ switch (_fillingType) do {
TRACE_1(format [ARR_2("fnc_garrison: while loop ended | %1 units ready to be treated by PFH",count _unitMoveList)],_teleport);

// Update the unit list and remove duplicate positions and units
private _garrison_unitMoveList = missionNameSpace getVariable [QGVAR(garrison_unitMoveList), []];
private _garrison_unitMoveList = missionNamespace getVariable [QGVAR(garrison_unitMoveList), []];

_garrison_unitMoveList = _garrison_unitMoveList select {
_x params ["_testedUnit", "_testedPos"];
Expand All @@ -270,7 +270,7 @@ _garrison_unitMoveList = _garrison_unitMoveList select {

_garrison_unitMoveList append _unitMoveList;

missionNameSpace setVariable [QGVAR(garrison_unitMoveList), _garrison_unitMoveList, true];
missionNamespace setVariable [QGVAR(garrison_unitMoveList), _garrison_unitMoveList, true];

if (_teleport) then {
[QGVAR(AISection), [_placedUnits, ["PATH"], false], _placedUnits] call CBA_fnc_targetEvent;
Expand Down
14 changes: 7 additions & 7 deletions addons/ai/functions/fnc_garrisonMove.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -31,21 +31,21 @@ private _unitMoveListUnits = (_unitMoveList apply {_x select 0});
{
_x setVariable [QGVAR(garrisonMove_failSafe), nil, true];
_x setVariable [QGVAR(garrisonMove_unitPosMemory), nil, true];
} foreach _unitMoveListUnits;
} forEach _unitMoveListUnits;

// Avoid duplicate PFHs
if (isNil QGVAR(garrison_moveUnitPFH)) then {
missionNameSpace setVariable [QGVAR(garrison_moveUnitPFH), true, true];
missionNamespace setVariable [QGVAR(garrison_moveUnitPFH), true, true];

// PFH checking if the units have reached their destination
[{
params ["_args", "_pfhID"];

private _unitMoveList = missionNameSpace getVariable [QGVAR(garrison_unitMoveList), []];
private _unitMoveList = missionNamespace getVariable [QGVAR(garrison_unitMoveList), []];

// End PFH if all units are placed / unable to reach position
if (_unitMoveList isEqualTo []) then {
missionNameSpace setVariable [QGVAR(garrison_moveUnitPFH), nil, true];
missionNamespace setVariable [QGVAR(garrison_moveUnitPFH), nil, true];
LOG("garrisonMove PFH: PFH finished it's job | deleting PFH");
_pfhID call CBA_fnc_removePerFrameHandler;

Expand Down Expand Up @@ -91,7 +91,7 @@ if (isNil QGVAR(garrison_moveUnitPFH)) then {

} else {
private _unitPos = getPos _unit;
if (surfaceisWater _unitPos) then {
if (surfaceIsWater _unitPos) then {
_unitPos = getPosASL _unit;
} else {
_unitPos = getPosATL _unit;
Expand Down Expand Up @@ -131,9 +131,9 @@ if (isNil QGVAR(garrison_moveUnitPFH)) then {
};
};
};
} foreach _unitMoveList;
} forEach _unitMoveList;

missionNameSpace setVariable [QGVAR(garrison_unitMoveList), _unitMoveList, true];
missionNamespace setVariable [QGVAR(garrison_unitMoveList), _unitMoveList, true];
};
}, 0.5, []] call CBA_fnc_addPerFrameHandler;
};
6 changes: 3 additions & 3 deletions addons/ai/functions/fnc_unGarrison.sqf
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ _units = _units select {local _x};

_unit setVariable [QGVAR(garrisonned), false, true];

private _unitMoveList = missionNameSpace getVariable [QGVAR(garrison_unitMoveList), []];
private _unitMoveList = missionNamespace getVariable [QGVAR(garrison_unitMoveList), []];
_unitMoveList deleteAt (_unitMoveList findIf {_x select 0 == _unit});

if (_leader != _unit) then {
Expand All @@ -43,9 +43,9 @@ _units = _units select {local _x};
_unit doMove ((nearestBuilding (getPos _unit)) buildingExit 0);
};

if ((units _unit) findif {(_x getVariable [QGVAR(garrisonned), false]) && !isPlayer _x} == -1) then {
if ((units _unit) findIf {(_x getVariable [QGVAR(garrisonned), false]) && !isPlayer _x} == -1) then {
LOG("fnc_ungarrison: enableAttack true");
(group _unit) enableAttack true;
};
};
} foreach _units;
} forEach _units;
2 changes: 2 additions & 0 deletions addons/aircraft/stringtable.xml
Original file line number Diff line number Diff line change
Expand Up @@ -184,6 +184,7 @@
<Korean>따라가는 거리</Korean>
<French>Distance de suivi</French>
<Japanese>追跡距離</Japanese>
<Russian>Расстояние отслеживания</Russian>
</Key>
<Key ID="STR_ACE_Aircraft_DroneFollowHint">
<English>Following unit within %1m</English>
Expand All @@ -192,6 +193,7 @@
<Korean>%1m 이내로 유닛을 따라갑니다</Korean>
<French>Suivre l'unité jusqu'à %1m</French>
<Japanese>%1m 間隔で 目標を追跡します</Japanese>
<Russian>Отслеживание в пределах %1m</Russian>
</Key>
</Package>
</Project>
Loading

0 comments on commit 9407a94

Please sign in to comment.