Add different warning messages based on current version of component

This commit is contained in:
Glowbal 2016-05-15 20:13:10 +02:00
parent 7a7e930024
commit 487400b142
2 changed files with 28 additions and 5 deletions

View File

@ -31,10 +31,33 @@ if (_isDeprecatedLoaded && {_isReplacementAvailable} && {!_isReplacementLoaded})
};
if (_isDeprecatedLoaded && {!_isReplacementLoaded}) then {
// Log deprecated component is loaded
private _message = format["Component %1 is deprecated. It is replaced by %2. Please disable %1 and make use of %2. The component (%1) will no longer be available from version %3 and later.", _oldComponentName, _newComponentName, _version];
systemChat format["ACE [WARNING] - %1", _message];
ACE_LOGWARNING(_message);
private _componentVersion = getText (configFile >> "CfgPatches" >> _oldComponentName >> "version");
((_componentVersion splitString ".") apply {parseNumber _x}) params ["_componentMajor", "_componentMinor", "_componentPatch"];
((_version splitString ".") apply {parseNumber _x}) params ["_major", "_minor", "_patch"];
switch (true) do {
case (_componentMajor >= _major && {_componentMinor >= _minor} && {_componentPatch >= _patch}): { // Removed from this version
private _message = format[
"Component %1 is deprecated. It has been replaced by %2. The component %1 is no longer usable on this version. ", _oldComponentName, _newComponentName, _version];
systemChat format["ACE [ERROR] - %1", _message];
ACE_LOGERROR(_message);
};
case (_componentMajor >= _major && {_componentMinor >= _minor-1}): { // Removed the next this version
private _message = format[
"Component %1 is deprecated. It is replaced by %2. Please disable %1 and make use of %2. "
+ "The component (%1) will no longer be available from version %3 and later.", _oldComponentName, _newComponentName, _version];
systemChat format["ACE [WARNING] - %1", _message];
ACE_LOGWARNING(_message);
};
case (_componentMajor == _major && {_componentMinor >= _minor - 2}): { // we are in a version leading up to removal
private _message = format[
"Component %1 is deprecated. It is replaced by %2. Please disable %1 and make use of %2. "
+ "The component (%1) will no longer be available from version %3 and later.", _oldComponentName, _newComponentName, _version];
ACE_LOGWARNING(_message);
};
default {
};
};
};
_isReplacementAvailable;

View File

@ -5,7 +5,7 @@ if (!hasInterface) exitWith {};
GVAR(isEnabled) = false;
["SettingsInitialized", {
if ([[QUOTE(ADDON), QGVAR(enable)], ["acex_sitting", "acex_sitting_enable"], "3.7.0"] call EFUNC(common,deprecateComponent)) exitwith {};
if ([[QUOTE(ADDON), QGVAR(enable)], ["acex_sitting", "acex_sitting_enable"], "3.8.0"] call EFUNC(common,deprecateComponent)) exitwith {};
//If not enabled, then do not add CanInteractWith Condition or event handlers:
if (!GVAR(enable) || GVAR(isEnabled)) exitWith {};
GVAR(isEnabled) = true;