diff --git a/.github/workflows/arma.yml b/.github/workflows/arma.yml index 900d3c4..2779a37 100644 --- a/.github/workflows/arma.yml +++ b/.github/workflows/arma.yml @@ -38,13 +38,15 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout the source code - uses: actions/checkout@master - - name: Build using HEMTT - uses: arma-actions/hemtt@master - with: - command: build --release --ci + uses: actions/checkout@v3 + - name: Setup HEMTT + uses: arma-actions/hemtt@v1 + - name: Run HEMTT build + run: hemtt build + - name: Rename build folder + run: mv .hemttout/build .hemttout/@bocr - name: Upload Artifact - uses: actions/upload-artifact@v2-preview + uses: actions/upload-artifact@v3 with: name: BOCR-${{ github.sha }}-nobin - path: releases/BOCR_*.zip + path: .hemttout/@* diff --git a/.gitignore b/.gitignore index 15a0070..bdb483f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,15 +1,18 @@ -release/* -releases/* -keys/* -.hemtt/local +*.biprivatekey *.cache +*.exe +*.log *.pbo -texHeaders.bin -*.swp *.swo -*.biprivatekey +*.swp +.vscode/* +!.vscode/tasks.json +.hemttout/* +keys/* +release/* +releases/* +texHeaders.bin Thumbs.db *.exe - ArmaScriptCompiler.pdb libcsqfvm.dll diff --git a/.hemtt/hooks/post_release/01_rename_zip.rhai b/.hemtt/hooks/post_release/01_rename_zip.rhai new file mode 100644 index 0000000..4681057 --- /dev/null +++ b/.hemtt/hooks/post_release/01_rename_zip.rhai @@ -0,0 +1,9 @@ +let releases = HEMTT_RFS.join("releases"); + +let src = releases.join(HEMTT.project().prefix() + "-" + HEMTT.project().version().to_string() + ".zip"); +let dst = releases.join(HEMTT.project().name().to_lower() + "_" + HEMTT.project().version().to_string() + ".zip"); + +print("Moving zip to " + dst); +if !src.move(dst) { + warn("Failed to move " + src + " to " + dst + " (maybe --no-archive?)"); +} diff --git a/.hemtt/project.toml b/.hemtt/project.toml new file mode 100644 index 0000000..940acc8 --- /dev/null +++ b/.hemtt/project.toml @@ -0,0 +1,45 @@ +name = "BackpackOnChestRedux" +mainprefix = "x" +prefix = "bocr" +author = "DerZade, mjc4wilton" + +[properties] +author = "DerZade, mjc4wilton" +url = "https://github.com/mjc4wilton/BackpackOnChestRedux" + +[files] +include = [ + "*.dll", + "*.so", + "mod.cpp", + "README.md", + "AUTHORS.txt", + "LICENSE", + "logo_bocr_ca.paa", + "meta.cpp" +] +exclude = [ + ".vscode", + "*.sqfc", +] + +[asc] +enabled = true +exclude = [ + "/initsettings.sqf", + "/initkeybinds.sqf", + "/xeh_prep.sqf", + "dev", +] + +[hemtt.config] +preset = "Hemtt" + +[hemtt.release] +folder = "bocr" + +[hemtt.launch.default] +workshop = [ + "450814997", # CBA_A3's Workshop ID + "463939057", # ACE3's Workshop ID +] diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 0000000..c89d47f --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,20 @@ +{ + // See https://go.microsoft.com/fwlink/?LinkId=733558 + // for the documentation about the tasks.json format + "version": "2.0.0", + "tasks": [ + { + "label": "Build", + "type": "shell", + "command": "hemtt build", + "windows": { + "command": "hemtt build" + }, + "problemMatcher": [], + "group": { + "kind": "build", + "isDefault": true + } + } + ] +} diff --git a/addons/main/config.cpp b/addons/main/config.cpp index 9156df2..93711c9 100644 --- a/addons/main/config.cpp +++ b/addons/main/config.cpp @@ -8,8 +8,8 @@ class CfgPatches { requiredVersion = REQUIRED_VERSION; requiredAddons[] = {"ace_common"}; author = ""; - authors[] = {"ACE Team", "Glowbal"}; - authorUrl = "http://ace3mod.com"; + authors[] = {"DerZade", "mjc4wilton"}; + authorUrl = "https://github.com/mjc4wilton/BackpackOnChestRedux"; VERSION_CONFIG; }; }; diff --git a/addons/main/script_mod.hpp b/addons/main/script_mod.hpp index caafe7d..12e0c91 100644 --- a/addons/main/script_mod.hpp +++ b/addons/main/script_mod.hpp @@ -5,7 +5,7 @@ #include "script_version.hpp" -#define VERSION MAJOR.MINOR.PATCHLVL.BUILD +#define VERSION MAJOR.MINOR #define VERSION_AR MAJOR,MINOR,PATCHLVL,BUILD // MINIMAL required version for the Mod. Components can specify others.. diff --git a/hemtt.toml b/hemtt.toml deleted file mode 100644 index bfcc20d..0000000 --- a/hemtt.toml +++ /dev/null @@ -1,55 +0,0 @@ -name = "BackpackOnChestRedux" -prefix = "bocr" -mainprefix = "x" -author = "DerZade, mjc4wilton" -files = [ - "*.dll", - "*.so", - "mod.cpp", - "README.md", - "AUTHORS.txt", - "LICENSE", - "logo_bocr_ca.paa", - "meta.cpp" -] - -include = [ - "./include" -] - -exclude = [ - "*.psd", - "*.png", - "*.tga" -] - -key_name = "{{prefix}}_{{version}}" -authority = "{{prefix}}_{{version}}-{{git \"id 8\"}}" -sig_version = 3 - -# ArmaScriptCompiler steps (Disabled until HEMTT supports signing PBOs with *.sfqc files) -#prebuild = ["!compile_scripts"] -#postbuild = ["!remove_compiled_scripts"] - -releasebuild = [ - "@zip bocr_{{semver.major}}.{{semver.minor}}.{{semver.patch}}" -] - -[header_exts] -version= "{{git \"id 8\"}}" - -[scripts.compile_scripts] -steps_windows = [ - "echo STEP: Compile Arma Scripts", - "ArmaScriptCompiler" -] -only_release = false -show_output = true - -[scripts.remove_compiled_scripts] -steps_windows = [ - "echo STEP: Remove Compiled Scripts (*.sqfc)", - "powershell -Command Remove-Item './addons/*' -Recurse -Include *.sqfc" -] -only_release = false -show_output = true diff --git a/include/x/cba/addons/main/$PBOPREFIX$ b/include/x/cba/addons/main/$PBOPREFIX$ new file mode 100644 index 0000000..835b0c9 --- /dev/null +++ b/include/x/cba/addons/main/$PBOPREFIX$ @@ -0,0 +1 @@ +x\cba\addons\main \ No newline at end of file diff --git a/include/x/cba/addons/main/script_macros.hpp b/include/x/cba/addons/main/script_macros.hpp deleted file mode 100644 index 6f9b78c..0000000 --- a/include/x/cba/addons/main/script_macros.hpp +++ /dev/null @@ -1 +0,0 @@ -#include "script_macros_common.hpp" diff --git a/include/x/cba/addons/main/script_macros_common.hpp b/include/x/cba/addons/main/script_macros_common.hpp index be13021..2683f3b 100644 --- a/include/x/cba/addons/main/script_macros_common.hpp +++ b/include/x/cba/addons/main/script_macros_common.hpp @@ -15,7 +15,7 @@ - Provide a solid structure that can be dynamic and easy editable (Which sometimes means we cannot adhere to Aim #1 ;-) An example is the path that is built from defines. Some available in this file, others in mods and addons. - Follows Standard: + Follows Standard: Object variables: PREFIX_COMPONENT Main-object variables: PREFIX_main Paths: MAINPREFIX\PREFIX\SUBPREFIX\COMPONENT\SCRIPTNAME.sqf @@ -29,6 +29,10 @@ and include your mod's script_macros.hpp In your scripts you can then include the addon's component.hpp with relative path) + use in subcomponents (subconfigs) + define SUBCOMPONENT and include parent component's script_component.hpp + currently only supported by SUBADDON, additional macros may be added in the future + TODO: - Try only to use 1 string type " vs ' - Evaluate double functions, and simplification @@ -54,6 +58,10 @@ #define ADDON DOUBLES(PREFIX,COMPONENT) #define MAIN_ADDON DOUBLES(PREFIX,main) +#ifdef SUBCOMPONENT + #define SUBADDON DOUBLES(ADDON,SUBCOMPONENT) +#endif + /* ------------------------------------------- Macro: VERSION_CONFIG Define CBA Versioning System config entries. @@ -857,15 +865,10 @@ Macro: ISNILS() #define COMPILE_SCRIPT(var1) compileScript ['PATHTO_SYS(PREFIX,COMPONENT_F,var1)'] -#define VERSIONING_SYS(var1) class CfgSettings \ -{ \ - class CBA \ - { \ - class Versioning \ - { \ - class var1 \ - { \ - }; \ +#define VERSIONING_SYS(var1) class CfgSettings { \ + class CBA { \ + class Versioning { \ + class var1 {}; \ }; \ }; \ }; @@ -1032,12 +1035,9 @@ Macro: PATHTO_FNC() #define QQEFUNC(var1,var2) QUOTE(QEFUNC(var1,var2)) #ifndef PRELOAD_ADDONS - #define PRELOAD_ADDONS class CfgAddons \ -{ \ - class PreloadAddons \ - { \ - class ADDON \ - { \ + #define PRELOAD_ADDONS class CfgAddons { \ + class PreloadAddons { \ + class ADDON { \ list[]={ QUOTE(ADDON) }; \ }; \ }; \ @@ -1275,9 +1275,11 @@ Macro: xSTRING() #define ELSTRING(var1,var2) QUOTE(TRIPLES(STR,DOUBLES(PREFIX,var1),var2)) #define CSTRING(var1) QUOTE(TRIPLES($STR,ADDON,var1)) #define ECSTRING(var1,var2) QUOTE(TRIPLES($STR,DOUBLES(PREFIX,var1),var2)) + #define SUBCSTRING(var1) QUOTE(TRIPLES($STR,SUBADDON,var1)) #define LLSTRING(var1) localize QUOTE(TRIPLES(STR,ADDON,var1)) #define LELSTRING(var1,var2) localize QUOTE(TRIPLES(STR,DOUBLES(PREFIX,var1),var2)) + #define LSUBLSTRING(var1) localize QUOTE(TRIPLES(STR,SUBADDON,var1)) #endif diff --git a/include/x/cba/addons/main/script_macros_config.hpp b/include/x/cba/addons/main/script_macros_config.hpp deleted file mode 100644 index 6edf5a0..0000000 --- a/include/x/cba/addons/main/script_macros_config.hpp +++ /dev/null @@ -1,5 +0,0 @@ -#define false 0 -#define true 1 - -#define private 0 -#define public 2 diff --git a/include/x/cba/addons/main/script_macros_mission.hpp b/include/x/cba/addons/main/script_macros_mission.hpp deleted file mode 100644 index b836360..0000000 --- a/include/x/cba/addons/main/script_macros_mission.hpp +++ /dev/null @@ -1,82 +0,0 @@ -#include "\x\cba\addons\main\script_macros_common.hpp" - -/* - Header: script_macros_mission.hpp - - Description: - Modifies script_common_macros.hpp for compatiblity with missions. - Some addon specific functionality might be lost. - - Authors: - Muzzleflash - - Changes from script_macros_mission.hpp: - Follows Standard: - Object variables: PREFIX_COMPONENT - Main-object variables: PREFIX_main - Paths: PREFIX\COMPONENT\SCRIPTNAME.sqf - Or if CUSTOM_FOLDER is defined: - CUSTOM_FOLDER\SCRIPTNAME.sqf - eg. six\sys_menu\fDate.sqf - - Usage: - Define PREFIX and COMPONENT, then include this file: - #include "\x\cba\addons\main\script_macros_mission.hpp" - -*/ - -/* - CUSTOM_FOLDER - - Custom folder to search for files in. Will not change variable names. - Default is PREFIX\COMPONENT - - Example: - (begin example) - #define CUSTOM_FOLDER MyPackage\ScriptA - (end) - - (begin example) - #define CUSTOM_FOLDER COMPONENT\functions - (end) - - -*/ - -#ifdef CUSTOM_FOLDER - #define PATHTO_SYS(var1,var2,var3) ##CUSTOM_FOLDER\##var3.sqf - #define PATHTOF_SYS(var1,var2,var3) ##CUSTOM_FOLDER\##var3 - #define PATHTOF2_SYS(var1,var2,var3) ##CUSTOM_FOLDER\##var3 -#else - #define PATHTO_SYS(var1,var2,var3) ##var1\##var2\##var3.sqf - #define PATHTOF_SYS(var1,var2,var3) ##var1\##var2\##var3 - #define PATHTOF2_SYS(var1,var2,var3) ##var1\##var2\##var3 -#endif - -/************************** REMOVAL OF MACROS ***********************/ - -#undef MAINPREFIX -#undef SUBPREFIX -#undef VERSION_AR -#undef VERSION_CONFIG - -#undef VERSIONING_SYS -#undef VERSIONING - -#undef PRELOAD_ADDONS - -#undef BWC_CONFIG - -#undef XEH_DISABLED -#undef XEH_PRE_INIT -#undef XEH_PRE_CINIT -#undef XEH_PRE_SINIT -#undef XEH_POST_INIT -#undef XEH_POST_CINIT -#undef XEH_POST_SINIT - -#undef PATHTO_FNC -#define PATHTO_FNC(func) class func {\ - file = QUOTE(DOUBLES(fnc,func).sqf);\ - RECOMPILE;\ -} diff --git a/include/x/cba/addons/xeh/$PBOPREFIX$ b/include/x/cba/addons/xeh/$PBOPREFIX$ new file mode 100644 index 0000000..4533938 --- /dev/null +++ b/include/x/cba/addons/xeh/$PBOPREFIX$ @@ -0,0 +1 @@ +x\cba\addons\xeh \ No newline at end of file diff --git a/include/x/cba/addons/xeh/script_eventhandlers.hpp b/include/x/cba/addons/xeh/script_eventhandlers.hpp deleted file mode 100644 index 2e467c8..0000000 --- a/include/x/cba/addons/xeh/script_eventhandlers.hpp +++ /dev/null @@ -1,2 +0,0 @@ -// deprecated - use x\CBA\addons\main\script_eventhandlers.hpp instead -#include "\x\cba\addons\main\script_eventhandlers.hpp" diff --git a/include/x/cba/addons/xeh/script_macros_common.hpp b/include/x/cba/addons/xeh/script_macros_common.hpp deleted file mode 100644 index b4b116e..0000000 --- a/include/x/cba/addons/xeh/script_macros_common.hpp +++ /dev/null @@ -1,2 +0,0 @@ -// deprecated - use x\CBA\addons\main\script_macros_common.hpp instead -#include "\x\cba\addons\main\script_macros_common.hpp" diff --git a/include/x/cba/addons/xeh/script_xeh.hpp b/include/x/cba/addons/xeh/script_xeh.hpp index 2eba000..9b483e8 100644 --- a/include/x/cba/addons/xeh/script_xeh.hpp +++ b/include/x/cba/addons/xeh/script_xeh.hpp @@ -14,23 +14,29 @@ fired = "call cba_xeh_fnc_fired"; \ animChanged = "call cba_xeh_fnc_animChanged"; \ animDone = "call cba_xeh_fnc_animDone"; \ animStateChanged = "call cba_xeh_fnc_animStateChanged"; \ +cargoLoaded = "call cba_xeh_fnc_cargoLoaded"; \ +cargoUnloaded = "call cba_xeh_fnc_cargoUnloaded"; \ containerClosed = "call cba_xeh_fnc_containerClosed"; \ containerOpened = "call cba_xeh_fnc_containerOpened"; \ controlsShifted = "call cba_xeh_fnc_controlsShifted"; \ dammaged = "call cba_xeh_fnc_dammaged"; \ +deleted = "call cba_xeh_fnc_deleted"; \ +disassembled = "call cba_xeh_fnc_disassembled"; \ engine = "call cba_xeh_fnc_engine"; \ epeContact = "call cba_xeh_fnc_epeContact"; \ epeContactEnd = "call cba_xeh_fnc_epeContactEnd"; \ epeContactStart = "call cba_xeh_fnc_epeContactStart"; \ explosion = "call cba_xeh_fnc_explosion"; \ +firedMan = "call cba_xeh_fnc_firedMan"; \ firedNear = "call cba_xeh_fnc_firedNear"; \ fuel = "call cba_xeh_fnc_cba_xeh_fuel"; \ gear = "call cba_xeh_fnc_gear"; \ +gestureChanged = "call cba_xeh_fnc_gestureChanged"; \ +gestureDone = "call cba_xeh_fnc_gestureDone"; \ getIn = "call cba_xeh_fnc_getIn"; \ getInMan = "call cba_xeh_fnc_getInMan"; \ getOut = "call cba_xeh_fnc_getOut"; \ getOutMan = "call cba_xeh_fnc_getOutMan"; \ -handleHeal = "call cba_xeh_fnc_handleHeal"; \ hit = "call cba_xeh_fnc_hit"; \ hitPart = "call cba_xeh_fnc_hitPart"; \ incomingMissile = "call cba_xeh_fnc_incomingMissile"; \ @@ -40,25 +46,27 @@ killed = "call cba_xeh_fnc_killed"; \ landedTouchDown = "call cba_xeh_fnc_landedTouchDown"; \ landedStopped = "call cba_xeh_fnc_landedStopped"; \ local = "call cba_xeh_fnc_local"; \ -respawn = "call cba_xeh_fnc_respawn"; \ +opticsModeChanged = "call cba_xeh_fnc_opticsModeChanged"; \ +opticsSwitch = "call cba_xeh_fnc_opticsSwitch"; \ put = "call cba_xeh_fnc_put"; \ -take = "call cba_xeh_fnc_take"; \ +reloaded = "call cba_xeh_fnc_reloaded"; \ +respawn = "call cba_xeh_fnc_respawn"; \ +ropeAttach = "call cba_xeh_fnc_ropeAttach"; \ +ropeBreak = "call cba_xeh_fnc_ropeBreak"; \ seatSwitched = "call cba_xeh_fnc_seatSwitched"; \ seatSwitchedMan = "call cba_xeh_fnc_seatSwitchedMan"; \ +slotItemChanged = "call cba_xeh_fnc_slotItemChanged"; \ +suppressed = "call cba_xeh_fnc_suppressed"; \ soundPlayed = "call cba_xeh_fnc_soundPlayed"; \ +take = "call cba_xeh_fnc_take"; \ +turnIn = "call cba_xeh_fnc_turnIn"; \ +turnOut = "call cba_xeh_fnc_turnOut"; \ +visionModeChanged = "call cba_xeh_fnc_visionModeChanged"; \ weaponAssembled = "call cba_xeh_fnc_weaponAssembled"; \ weaponDisassembled = "call cba_xeh_fnc_weaponDisassembled"; \ weaponDeployed = "call cba_xeh_fnc_weaponDeployed"; \ -weaponRested = "call cba_xeh_fnc_weaponRested"; \ -reloaded = "call cba_xeh_fnc_reloaded"; \ -firedMan = "call cba_xeh_fnc_firedMan"; \ -turnIn = "call cba_xeh_fnc_turnIn"; \ -turnOut = "call cba_xeh_fnc_turnOut"; \ -deleted = "call cba_xeh_fnc_deleted"; \ -disassembled = "call cba_xeh_fnc_disassembled"; \ -Suppressed = "call cba_xeh_fnc_Suppressed"; \ -gestureChanged = "call cba_xeh_fnc_gestureChanged"; \ -gestureDone = "call cba_xeh_fnc_gestureDone"; +weaponRested = "call cba_xeh_fnc_weaponRested"; + /* MACRO: DELETE_EVENTHANDLERS @@ -71,23 +79,29 @@ fired = ""; \ animChanged = ""; \ animDone = ""; \ animStateChanged = ""; \ +cargoLoaded = ""; \ +cargoUnloaded = ""; \ containerClosed = ""; \ containerOpened = ""; \ controlsShifted = ""; \ dammaged = ""; \ +deleted = ""; \ +disassembled = ""; \ engine = ""; \ epeContact = ""; \ epeContactEnd = ""; \ epeContactStart = ""; \ explosion = ""; \ +firedMan = ""; \ firedNear = ""; \ fuel = ""; \ gear = ""; \ +gestureChanged = ""; \ +gestureDone = "" \ getIn = ""; \ getInMan = ""; \ getOut = ""; \ getOutMan = ""; \ -handleHeal = ""; \ hit = ""; \ hitPart = ""; \ incomingMissile = ""; \ @@ -97,22 +111,22 @@ killed = ""; \ landedTouchDown = ""; \ landedStopped = ""; \ local = ""; \ -respawn = ""; \ +opticsModeChanged = ""; \ +opticsSwitch = ""; \ put = ""; \ -take = ""; \ +reloaded = ""; \ +respawn = ""; \ +ropeAttach = ""; \ +ropeBreak = ""; \ seatSwitched = ""; \ seatSwitchedMan = ""; \ soundPlayed = ""; \ +suppressed = ""; \ +take = ""; \ +turnIn = ""; \ +turnOut = ""; \ +visionModeChanged = ""; \ weaponAssembled = ""; \ weaponDisassembled = ""; \ weaponDeployed = ""; \ -weaponRested = ""; \ -reloaded = ""; \ -firedMan = ""; \ -turnIn = ""; \ -turnOut = ""; \ -deleted = ""; \ -disassembled = ""; \ -Suppressed = ""; \ -gestureChanged = ""; \ -gestureDone = "" +weaponRested = ""; diff --git a/include/z/ace/addons/main/script_debug.hpp b/include/z/ace/addons/main/script_debug.hpp index bb08e34..72b6657 100644 --- a/include/z/ace/addons/main/script_debug.hpp +++ b/include/z/ace/addons/main/script_debug.hpp @@ -10,8 +10,8 @@ Fast Recompiling via function #define PREP_RECOMPILE_END }; call _recomp; ACE_RECOMPILES pushBack _recomp; #else #define LINKFUNC(x) FUNC(x) - #define PREP_RECOMPILE_START /* */ - #define PREP_RECOMPILE_END /* */ + #define PREP_RECOMPILE_START ; /* disabled */ + #define PREP_RECOMPILE_END ; /* disabled */ #endif @@ -32,7 +32,7 @@ STACK TRACING #else #define CALLSTACK(function) function #define CALLSTACK_NAMED(function, functionName) function - #define DUMPSTACK + #define DUMPSTACK ; /* disabled */ #endif @@ -51,8 +51,8 @@ PERFORMANCE COUNTERS SECTION #define DUMP_COUNTERS ([__FILE__, __LINE__] call ACE_DUMPCOUNTERS_FNC) #else - #define CREATE_COUNTER(x) /* disabled */ - #define BEGIN_COUNTER(x) /* disabled */ - #define END_COUNTER(x) /* disabled */ - #define DUMP_COUNTERS /* disabled */ + #define CREATE_COUNTER(x) ; /* disabled */ + #define BEGIN_COUNTER(x) ; /* disabled */ + #define END_COUNTER(x) ; /* disabled */ + #define DUMP_COUNTERS ; /* disabled */ #endif diff --git a/include/z/ace/addons/main/script_macros.hpp b/include/z/ace/addons/main/script_macros.hpp index 58ae338..96d96f5 100644 --- a/include/z/ace/addons/main/script_macros.hpp +++ b/include/z/ace/addons/main/script_macros.hpp @@ -38,6 +38,7 @@ #define GETEGVAR(var1,var2,var3) GETMVAR(EGVAR(var1,var2),var3) #define ARR_SELECT(ARRAY,INDEX,DEFAULT) (if (count ARRAY > INDEX) then {ARRAY select INDEX} else {DEFAULT}) +#define ANY_OF(ARRAY,CONDITION) (ARRAY findIf {CONDITION} != -1) // ACEX Merge #define ACEX_PREFIX acex @@ -147,4 +148,21 @@ #define ZEUS_ACTION_CONDITION ([_target, {QUOTE(QUOTE(ADDON)) in curatorAddons _this}, missionNamespace, QUOTE(QGVAR(zeusCheck)), 1E11, 'ace_interactMenuClosed'] call EFUNC(common,cachedCall)) +#define SUBSKILLS ["aimingAccuracy", "aimingShake", "aimingSpeed", "spotDistance", "spotTime", "courage", "reloadSpeed", "commanding", "general"] + +// macro add a dummy cfgPatch and notLoaded entry +#define ACE_PATCH_NOT_LOADED(NAME,CAUSE) \ +class CfgPatches { \ + class DOUBLES(NAME,notLoaded) { \ + units[] = {}; \ + weapons[] = {}; \ + requiredVersion = REQUIRED_VERSION; \ + requiredAddons[] = {"ace_main"}; \ + VERSION_CONFIG; \ + }; \ +}; \ +class ace_notLoaded { \ + NAME = CAUSE; \ +}; + #include "script_debug.hpp" diff --git a/mod.cpp b/mod.cpp index c6f5b1f..eedf6dc 100644 --- a/mod.cpp +++ b/mod.cpp @@ -9,4 +9,4 @@ tooltip = "Rewrite of the original DerZade BackpackOnChest mod"; tooltipOwned = "Owned by mjc4wilton and DerZade"; overview = "BackpackOnChestRedux"; author = "mjc4wilton"; -overviewPicture = "logo_ace3_ca.paa"; +overviewPicture = "logo_bocr_ca.paa";