From e6a5d2dacd08abb3f8ed2c8487de281b87dd9407 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Wed, 2 Mar 2016 13:19:20 -0600 Subject: [PATCH 1/3] Add CBA 2.3.1 to versioning check --- addons/main/config.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/addons/main/config.cpp b/addons/main/config.cpp index 857478a4423..ccd72e56678 100644 --- a/addons/main/config.cpp +++ b/addons/main/config.cpp @@ -588,3 +588,16 @@ class CfgMods { #include "CfgModuleCategories.hpp" #include "CfgVehicleClasses.hpp" + +class CfgSettings { + class CBA { + class Versioning { + class ACE { + class dependencies { + CBA[] = {"cba_main", {2,3,1}, "true"}; + }; + }; + }; + }; +}; + From 137a512a9e6a5312504a5718d4d7b9ba2a7ff6c0 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Wed, 2 Mar 2016 16:33:29 -0600 Subject: [PATCH 2/3] close main display if using incompatible cba --- addons/common/functions/fnc_checkFiles.sqf | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/addons/common/functions/fnc_checkFiles.sqf b/addons/common/functions/fnc_checkFiles.sqf index 19a4c6f72a6..1f3a26db7d7 100644 --- a/addons/common/functions/fnc_checkFiles.sqf +++ b/addons/common/functions/fnc_checkFiles.sqf @@ -19,6 +19,18 @@ private _version = getText (configFile >> "CfgPatches" >> "ace_main" >> "version ACE_LOGINFO_1("ACE is version %1.",_version); +//CBA Versioning check - close main display if using incompatible version +private _cbaVersionAr = getArray (configFile >> "CfgPatches" >> "cba_main" >> "versionAr"); +private _cbaRequiredAr = (getArray (configFile >> "CfgSettings" >> "CBA" >> "Versioning" >> "ACE" >> "dependencies" >> "CBA")) select 1; +ACE_LOGINFO_2("CBA is version %1 [min required %2]",_cbaVersionAr,_cbaRequiredAr); +if ([_cbaRequiredAr, _cbaVersionAr] call cba_versioning_fnc_version_compare) then { + private _errorMsg = format ["CBA Version [%1] is outdated [required %2]", _cbaVersionAr, _cbaRequiredAr]; + ACE_LOGERROR(_errorMsg); + if (hasInterface) then { + ["[ACE] ERROR", _errorMsg, {findDisplay 46 closeDisplay 0}] call FUNC(errorMessage); + }; +}; + //private _addons = activatedAddons; // broken with High-Command module, see #2134 private _addons = "true" configClasses (configFile >> "CfgPatches");// _addons = _addons apply {toLower configName _x};// From 53a36f8783022425870dff19bb825e2b3e253590 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Thu, 3 Mar 2016 13:00:47 -0600 Subject: [PATCH 3/3] Add REQUIRED_CBA_VERSION macro to script_mod.hpp --- addons/main/config.cpp | 2 +- addons/main/script_mod.hpp | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/addons/main/config.cpp b/addons/main/config.cpp index ccd72e56678..5f34c6137d7 100644 --- a/addons/main/config.cpp +++ b/addons/main/config.cpp @@ -594,7 +594,7 @@ class CfgSettings { class Versioning { class ACE { class dependencies { - CBA[] = {"cba_main", {2,3,1}, "true"}; + CBA[] = {"cba_main", REQUIRED_CBA_VERSION, "true"}; }; }; }; diff --git a/addons/main/script_mod.hpp b/addons/main/script_mod.hpp index 0c6ec9acb47..dd2cef0204f 100644 --- a/addons/main/script_mod.hpp +++ b/addons/main/script_mod.hpp @@ -13,3 +13,4 @@ // MINIMAL required version for the Mod. Components can specify others.. #define REQUIRED_VERSION 1.56 +#define REQUIRED_CBA_VERSION {2,3,1}