From b3d8f2ffb251611662b4fae53678489e4128f238 Mon Sep 17 00:00:00 2001 From: diwako Date: Tue, 27 Apr 2021 17:18:21 +0200 Subject: [PATCH] compile sqf scripts to bytecode before packaging (#184) * compile sqf scripts to bytecode before packaging * up version --- .gitignore | 4 ++++ .../indicators/include/getIndicatorStyles.sqf | 3 +++ addons/main/include/getColorStyles.sqf | 3 +++ addons/main/include/getIconStyles.sqf | 3 +++ addons/main/script_mod.hpp | 2 +- addons/main/script_version.hpp | 2 +- addons/nametags/settings.sqf | 3 +++ addons/radar/include/getPointerStyles.sqf | 3 +++ hemtt.toml | 24 ++++++++++++++++--- sqfc.json | 7 ++++++ 10 files changed, 49 insertions(+), 5 deletions(-) create mode 100644 sqfc.json diff --git a/.gitignore b/.gitignore index 219f79a..ec5beef 100644 --- a/.gitignore +++ b/.gitignore @@ -12,3 +12,7 @@ releases/ releases/* keys/* .hemtt/local +*.pdb +*.exe +*.sqfc +*.bat diff --git a/addons/indicators/include/getIndicatorStyles.sqf b/addons/indicators/include/getIndicatorStyles.sqf index 9a238dd..296071c 100644 --- a/addons/indicators/include/getIndicatorStyles.sqf +++ b/addons/indicators/include/getIndicatorStyles.sqf @@ -1,3 +1,6 @@ +#ifndef MAINPREFIX + #include "..\script_component.hpp" +#endif private _configs = "true" configClasses (configFile >> "diwako_dui_indicator_style"); private _missionConfigs = "true" configClasses (missionConfigFile >> "diwako_dui_indicator_style"); if (isNil "_missionConfigs") then { diff --git a/addons/main/include/getColorStyles.sqf b/addons/main/include/getColorStyles.sqf index f8b21eb..3899338 100644 --- a/addons/main/include/getColorStyles.sqf +++ b/addons/main/include/getColorStyles.sqf @@ -1,3 +1,6 @@ +#ifndef MAINPREFIX + #include "..\script_component.hpp" +#endif private _configs = "true" configClasses (configFile >> "diwako_dui_colors"); private _missionConfigs = "true" configClasses (missionConfigFile >> "diwako_dui_colors"); if (isNil "_missionConfigs") then { diff --git a/addons/main/include/getIconStyles.sqf b/addons/main/include/getIconStyles.sqf index f7fd579..195d5e1 100644 --- a/addons/main/include/getIconStyles.sqf +++ b/addons/main/include/getIconStyles.sqf @@ -1,3 +1,6 @@ +#ifndef MAINPREFIX + #include "..\script_component.hpp" +#endif private _configs = "true" configClasses (configFile >> "diwako_dui_icon_style"); private _missionConfigs = "true" configClasses (missionConfigFile >> "diwako_dui_icon_style"); if (isNil "_missionConfigs") then { diff --git a/addons/main/script_mod.hpp b/addons/main/script_mod.hpp index 898e40e..946379b 100644 --- a/addons/main/script_mod.hpp +++ b/addons/main/script_mod.hpp @@ -8,7 +8,7 @@ #define VERSION_AR MAJOR,MINOR,PATCHLVL,BUILD #define VERSION_PLUGIN MAJOR.MINOR.PATCHLVL.BUILD -#define REQUIRED_VERSION 1.94 +#define REQUIRED_VERSION 2.04 #ifdef COMPONENT_BEAUTIFIED #define COMPONENT_NAME QUOTE(DUI - COMPONENT_BEAUTIFIED) diff --git a/addons/main/script_version.hpp b/addons/main/script_version.hpp index e5fa4e5..2e7a38b 100644 --- a/addons/main/script_version.hpp +++ b/addons/main/script_version.hpp @@ -1,4 +1,4 @@ #define MAJOR 1 #define MINOR 9 -#define PATCHLVL 1 +#define PATCHLVL 2 #define BUILD 1 diff --git a/addons/nametags/settings.sqf b/addons/nametags/settings.sqf index 17e40d1..90374c4 100644 --- a/addons/nametags/settings.sqf +++ b/addons/nametags/settings.sqf @@ -1,3 +1,6 @@ +#ifndef MAINPREFIX + #include "script_component.hpp" +#endif private _cat = format ["%1 - %2",localize "STR_dui_mod", localize "STR_dui_addon_nametags"]; private _curCat = localize "STR_dui_cat_general"; diff --git a/addons/radar/include/getPointerStyles.sqf b/addons/radar/include/getPointerStyles.sqf index 5e78b9f..1785f25 100644 --- a/addons/radar/include/getPointerStyles.sqf +++ b/addons/radar/include/getPointerStyles.sqf @@ -1,3 +1,6 @@ +#ifndef MAINPREFIX + #include "..\script_component.hpp" +#endif private _configs = "true" configClasses (configFile >> QGVAR(pointers)); private _missionConfigs = "true" configClasses (missionConfigFile >> QGVAR(pointers)); if (isNil "_missionConfigs") then { diff --git a/hemtt.toml b/hemtt.toml index 121999f..1e8121d 100644 --- a/hemtt.toml +++ b/hemtt.toml @@ -9,14 +9,16 @@ exclude = [ "*.png", "*.tga" ] -# postbuild = ["!sign","!copy"] +# prebuild = ["!compile_scripts"] +# postbuild = ["!sign","!copy","!remove_compiled_scripts"] releasebuild = [ "@zip @{{prefix}}" ] + [scripts.copy] foreach = true -only_release = true +only_release = false steps = [ "COPY {{target}} D:\\SteamLibrary\\steamapps\\common\\\"Arma 3\"\\@diwako_dui\\addons\\", "COPY {{target}}.diwako_dui.bisign D:\\SteamLibrary\\steamapps\\common\\\"Arma 3\"\\@diwako_dui\\addons\\" @@ -24,7 +26,23 @@ steps = [ [scripts.sign] foreach = true -only_release = true +only_release = false steps = [ "G:\\\"Program Files (x86)\"\\Steam\\steamapps\\common\\\"Arma 3 Tools\"\\DSSignFile\\DSSignFile.exe diwako_dui.biprivatekey {{target}}" ] + +[scripts.compile_scripts] +steps_windows = [ + "echo 'Compile Arma Scripts'", + "ArmaScriptCompiler" +] +only_release = false +show_output = true + +[scripts.remove_compiled_scripts] +steps_windows = [ + "echo 'remove Compiled Scripts'", + "powershell -Command Remove-Item './addons/*' -Recurse -Include *.sqfc" +] +only_release = false +show_output = true diff --git a/sqfc.json b/sqfc.json new file mode 100644 index 0000000..bc27760 --- /dev/null +++ b/sqfc.json @@ -0,0 +1,7 @@ +{ + "inputDirs": ["P:/z/diwako_dui/addons"], + "includePaths": ["P:/"], + "excludeList": [], + "outputDir": "P:/", + "workerThreads": 0 +}