diff --git a/A3A/addons/core/Includes/script_version.hpp b/A3A/addons/core/Includes/script_version.hpp index e366a28bac..b90d16a017 100644 --- a/A3A/addons/core/Includes/script_version.hpp +++ b/A3A/addons/core/Includes/script_version.hpp @@ -1,4 +1,4 @@ #define MAJOR 3 #define MINOR 5 -#define PATCHLVL 3 +#define PATCHLVL 4 #define BUILD 0 diff --git a/A3A/addons/core/functions/REINF/fn_spawnHCVeh.sqf b/A3A/addons/core/functions/REINF/fn_spawnHCVeh.sqf index e955a38aae..8ff0fb407b 100644 --- a/A3A/addons/core/functions/REINF/fn_spawnHCVeh.sqf +++ b/A3A/addons/core/functions/REINF/fn_spawnHCVeh.sqf @@ -35,7 +35,7 @@ private _spawnPos = false; private _spawnDir = false; for "_i" from 1 to 10 do { - //systemChat format ["Attempt %1", _i]; + if (_roads isEqualTo []) exitWith {}; private _road = selectRandom _roads; (getRoadInfo _road) params ["", "_roadWidth", "", "", "", "", "_begPos", "_endPos"]; diff --git a/A3A/addons/core/functions/init/fn_initServer.sqf b/A3A/addons/core/functions/init/fn_initServer.sqf index 16c5530c4e..b408dd7edf 100644 --- a/A3A/addons/core/functions/init/fn_initServer.sqf +++ b/A3A/addons/core/functions/init/fn_initServer.sqf @@ -127,19 +127,20 @@ else // Do initial arsenal filling private _categoriesToPublish = createHashMap; - private _equipHM = FactionGet(reb,"initialRebelEquipment") createHashMapFromArray []; // dupe proofing + private _addedClasses = createHashMap; // dupe proofing { - if (_x isEqualType "") then { - private _arsenalTab = _x call jn_fnc_arsenal_itemType; - jna_dataList#_arsenalTab pushBack [_x, -1]; // direct add to avoid O(N^2) issue - private _categories = _x call A3A_fnc_equipmentClassToCategories; - _categoriesToPublish insert [true, _categories, []]; - continue; - }; - _x params ["_class", "_count"]; + _x params ["_class", ["_count", -1]]; + if (_class in _addedClasses) then { continue }; + _addedClasses set [_class, nil]; + private _arsenalTab = _class call jn_fnc_arsenal_itemType; - jna_dataList#_arsenalTab pushBack [_class, _count]; - } foreach keys _equipHM; + jna_dataList#_arsenalTab pushBack [_class, _count]; // direct add to avoid O(N^2) issue + + private _categories = _class call A3A_fnc_equipmentClassToCategories; + { (missionNamespace getVariable ("unlocked" + _x)) pushBack _class } forEach _categories; + _categoriesToPublish insert [true, _categories, []]; + + } foreach FactionGet(reb,"initialRebelEquipment"); // Publish the unlocked categories (once each) { publicVariable ("unlocked" + _x) } forEach keys _categoriesToPublish; diff --git a/README.md b/README.md index 4a3a4e10a5..fe67b40070 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@
- + diff --git a/changelog.rst b/changelog.rst index 85d31f285e..39d11a7f82 100644 --- a/changelog.rst +++ b/changelog.rst @@ -3,6 +3,26 @@ Changelog ========== +Version 3.5.4 +=============== + +.. note:: + 28th April 2024 + +.. admonition:: Bugfixes + + * :issue:`3226` Fixed reordering and unlockedXXX arrays in initial unlocks + * :issue:`3235` Fixed case where HC vehicles are remote-spawned with no roads near HQ + +.. warning:: + + * Please note that this changelog may contain both spelling/grammatical errors and/or factual errors. Should any factual errors exist, we apologise but with the sheer number of changes made per version it can be easy to lose or mistake a change when writing up the changelog. + +| + +----- + + Version 3.5.3 ===============