diff --git a/addons/help/XEH_preStart.sqf b/addons/help/XEH_preStart.sqf index 22eb8df47..db4322040 100644 --- a/addons/help/XEH_preStart.sqf +++ b/addons/help/XEH_preStart.sqf @@ -21,8 +21,16 @@ private _credits = []; private _version = ""; - if (isText (_x >> "version")) then { - _version = format [" v%1", getText (_x >> "version")]; + if (isText (_x >> "versionStr")) then { + _version = format [" v%1", getText (_x >> "versionStr")]; + } else { + if (isNumber (_x >> "version")) then { + _version = format [" v%1", getNumber (_x >> "version")]; + } else { + if (isText (_x >> "version")) then { + _version = format [" v%1", getText (_x >> "version")]; + }; + }; }; private _author = getText (_x >> "author") call CBA_fnc_sanitizeHTML; diff --git a/addons/main/script_macros_common.hpp b/addons/main/script_macros_common.hpp index 18f33c785..29b1e995c 100644 --- a/addons/main/script_macros_common.hpp +++ b/addons/main/script_macros_common.hpp @@ -51,21 +51,55 @@ #define MAINLOGIC main #endif +#define ADDON DOUBLES(PREFIX,COMPONENT) +#define MAIN_ADDON DOUBLES(PREFIX,main) + +/* ------------------------------------------- +Macro: VERSION_CONFIG + Define CBA Versioning System config entries. + + VERSION should be a floating-point number (1 separator). + VERSION_STR is a string representation of the version. + VERSION_AR is an array representation of the version. + + VERSION must always be defined, otherwise it is 0. + VERSION_STR and VERSION_AR default to VERSION if undefined. + +Parameters: + None + +Example: + (begin example) + #define VERSION 1.0 + #define VERSION_STR 1.0.1 + #define VERSION_AR 1,0,1 + + class CfgPatches { + class MyMod_main { + VERSION_CONFIG; + }; + }; + (end) + +Author: + ?, Jonpas +------------------------------------------- */ #ifndef VERSION #define VERSION 0 #endif +#ifndef VERSION_STR + #define VERSION_STR VERSION +#endif + #ifndef VERSION_AR #define VERSION_AR VERSION #endif #ifndef VERSION_CONFIG - #define VERSION_CONFIG version = VERSION; versionStr = QUOTE(VERSION); versionAr[] = {VERSION_AR} + #define VERSION_CONFIG version = VERSION; versionStr = QUOTE(VERSION_STR); versionAr[] = {VERSION_AR} #endif -#define ADDON DOUBLES(PREFIX,COMPONENT) -#define MAIN_ADDON DOUBLES(PREFIX,main) - /* ------------------------------------------- Group: Debugging ------------------------------------------- */ diff --git a/addons/main/script_mod.hpp b/addons/main/script_mod.hpp index 923bd0835..4d1f4e97d 100644 --- a/addons/main/script_mod.hpp +++ b/addons/main/script_mod.hpp @@ -5,8 +5,9 @@ // We will use the DATE for the BUILD# in the format YYMMDD - VM #include "script_version.hpp" -#define VERSION MAJOR.MINOR.PATCHLVL.BUILD -#define VERSION_AR MAJOR,MINOR,PATCHLVL,BUILD +#define VERSION MAJOR.MINOR +#define VERSION_STR MAJOR.MINOR.PATCHLVL.BUILD +#define VERSION_AR MAJOR,MINOR,PATCHLVL,BUILD // MINIMAL required version for the Mod. Components can specify others.. #define REQUIRED_VERSION 1.94