mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
Compat SOG - Make compat auto load if DLC is present (#9204)
* Move SOG compat to addons/ * Set component to skip loading when SOG not present * Use skipWhenMissingDependencies for GRAD Trenches compatiblity * Tools - Add SOG dlc launch config * move trenches to sub config, handle grad with 2nd subconfig * fix `Land_vn_b_prop_fueldrum_01` UBC * use ifndef --------- Co-authored-by: PabstMirror <pabstmirror@gmail.com>
This commit is contained in:
parent
1a3bce1a23
commit
a7d8c3eb3a
@ -36,3 +36,11 @@ preset = "Hemtt"
|
||||
workshop = [
|
||||
"450814997", # CBA_A3's Workshop ID
|
||||
]
|
||||
|
||||
[hemtt.launch.vn]
|
||||
workshop = [
|
||||
"450814997", # CBA_A3's Workshop ID
|
||||
]
|
||||
dlc = [
|
||||
"S.O.G. Prairie Fire",
|
||||
]
|
||||
|
@ -24,7 +24,8 @@ class Land_vn_usaf_fueltank_75_01: Land_vn_building_b_base {
|
||||
EGVAR(refuel,hooks)[] = {{0, -0.4, -0.5}};
|
||||
EGVAR(refuel,fuelCargo) = 2840; // 750 * 3.785
|
||||
};
|
||||
class Land_vn_b_prop_fueldrum_01: Land_vn_building_b_base {
|
||||
class Land_vn_object_b_base;
|
||||
class Land_vn_b_prop_fueldrum_01: Land_vn_object_b_base {
|
||||
transportFuel = 0;
|
||||
EGVAR(refuel,hooks)[] = {{0, 0, 0.5}}; // reference is Land_FlexibleTank_01_F
|
||||
EGVAR(refuel,fuelCargo) = 300; // reference is Land_FlexibleTank_01_F
|
@ -505,37 +505,4 @@ class vn_o_vc_spiderhole_01: StaticWeapon {
|
||||
EGVAR(dragging,canDrag) = 0;
|
||||
|
||||
EGVAR(cargo,canLoad) = 0;
|
||||
|
||||
EGVAR(trenches,diggingDuration) = QEGVAR(trenches,smallEnvelopeDigDuration);
|
||||
EGVAR(trenches,removalDuration) = QEGVAR(trenches,smallEnvelopeRemoveDuration);
|
||||
EGVAR(trenches,noGeoClass) = QGVAR(spiderhole_01_nogeo);
|
||||
EGVAR(trenches,placementData)[] = {1.5, 1.5, 0.1};
|
||||
EGVAR(trenches,grassCuttingPoints)[] = {};
|
||||
|
||||
class ACE_Actions: ACE_Actions {
|
||||
class ACE_MainActions: ACE_MainActions {
|
||||
class ACE_ContinueDiggingTrench {
|
||||
displayName = ECSTRING(trenches,ContinueDiggingTrench);
|
||||
condition = QUOTE([ARR_2(_target,_player)] call EFUNC(trenches,canContinueDiggingTrench));
|
||||
statement = QUOTE([ARR_2(_target,_player)] call EFUNC(trenches,continueDiggingTrench););
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
class vn_o_vc_spiderhole_02: vn_o_vc_spiderhole_01 {
|
||||
EGVAR(trenches,noGeoClass) = QGVAR(spiderhole_02_nogeo);
|
||||
};
|
||||
class vn_o_vc_spiderhole_03: vn_o_vc_spiderhole_01 {
|
||||
EGVAR(trenches,noGeoClass) = QGVAR(spiderhole_03_nogeo);
|
||||
EGVAR(trenches,placementData)[] = {1.5, 2.5, 0.1};
|
||||
};
|
||||
|
||||
class GVAR(spiderhole_01_nogeo): vn_o_vc_spiderhole_01 {
|
||||
scope = 1;
|
||||
};
|
||||
class GVAR(spiderhole_02_nogeo): vn_o_vc_spiderhole_02 {
|
||||
scope = 1;
|
||||
};
|
||||
class GVAR(spiderhole_03_nogeo): vn_o_vc_spiderhole_03 {
|
||||
scope = 1;
|
||||
};
|
14
addons/compat_sog/CfgVehicles/units.hpp
Normal file
14
addons/compat_sog/CfgVehicles/units.hpp
Normal file
@ -0,0 +1,14 @@
|
||||
class vn_b_men_aircrew_base;
|
||||
class vn_b_men_jetpilot_01: vn_b_men_aircrew_base {
|
||||
ACE_GForceCoef = 0.55;
|
||||
};
|
||||
|
||||
class vn_o_men_aircrew_01;
|
||||
class vn_o_men_aircrew_05: vn_o_men_aircrew_01 {
|
||||
ACE_GForceCoef = 0.55;
|
||||
};
|
||||
|
||||
class vn_i_men_aircrew_base;
|
||||
class vn_i_men_jetpilot_01: vn_i_men_aircrew_base {
|
||||
ACE_GForceCoef = 0.55;
|
||||
};
|
63
addons/compat_sog/compat_sog_trenches/CfgVehicles.hpp
Normal file
63
addons/compat_sog/compat_sog_trenches/CfgVehicles.hpp
Normal file
@ -0,0 +1,63 @@
|
||||
class CfgVehicles {
|
||||
// Trench Actions
|
||||
class Man;
|
||||
class CAManBase: Man {
|
||||
class ACE_SelfActions {
|
||||
class ACE_Equipment {
|
||||
class EGVAR(trenches,digEnvelopeSmall);
|
||||
class EGVAR(compat_sog,digSpiderhole): EGVAR(trenches,digEnvelopeSmall) {
|
||||
displayName = ECSTRING(compat_sog,Action_DigSpiderhole);
|
||||
statement = QUOTE([ARR_2({_this call EFUNC(trenches,placeTrench)},[ARR_2(_this select 0,'vn_o_vc_spiderhole_01')])] call CBA_fnc_execNextFrame);
|
||||
};
|
||||
class EGVAR(compat_sog,digSpiderholeAngled): EGVAR(trenches,digEnvelopeSmall) {
|
||||
displayName = ECSTRING(compat_sog,Action_DigSpiderholeAngled);
|
||||
statement = QUOTE([ARR_2({_this call EFUNC(trenches,placeTrench)},[ARR_2(_this select 0,'vn_o_vc_spiderhole_02')])] call CBA_fnc_execNextFrame);
|
||||
};
|
||||
class EGVAR(compat_sog,digSpiderholeDual): EGVAR(trenches,digEnvelopeSmall) {
|
||||
displayName = ECSTRING(compat_sog,Action_DigSpiderholeDual);
|
||||
statement = QUOTE([ARR_2({_this call EFUNC(trenches,placeTrench)},[ARR_2(_this select 0,'vn_o_vc_spiderhole_03')])] call CBA_fnc_execNextFrame);
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
// Spiderholes
|
||||
class LandVehicle;
|
||||
class StaticWeapon: LandVehicle {
|
||||
class ACE_Actions {
|
||||
class ACE_MainActions;
|
||||
};
|
||||
};
|
||||
class vn_o_vc_spiderhole_01: StaticWeapon {
|
||||
EGVAR(trenches,diggingDuration) = QEGVAR(trenches,smallEnvelopeDigDuration);
|
||||
EGVAR(trenches,removalDuration) = QEGVAR(trenches,smallEnvelopeRemoveDuration);
|
||||
EGVAR(trenches,noGeoClass) = QEGVAR(compat_sog,spiderhole_01_nogeo);
|
||||
EGVAR(trenches,placementData)[] = {1.5, 1.5, 0.1};
|
||||
EGVAR(trenches,grassCuttingPoints)[] = {};
|
||||
class ACE_Actions: ACE_Actions {
|
||||
class ACE_MainActions: ACE_MainActions {
|
||||
class ACE_ContinueDiggingTrench {
|
||||
displayName = ECSTRING(trenches,ContinueDiggingTrench);
|
||||
condition = QUOTE([ARR_2(_target,_player)] call EFUNC(trenches,canContinueDiggingTrench));
|
||||
statement = QUOTE([ARR_2(_target,_player)] call EFUNC(trenches,continueDiggingTrench););
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
class vn_o_vc_spiderhole_02: vn_o_vc_spiderhole_01 {
|
||||
EGVAR(trenches,noGeoClass) = QEGVAR(compat_sog,spiderhole_02_nogeo);
|
||||
};
|
||||
class vn_o_vc_spiderhole_03: vn_o_vc_spiderhole_01 {
|
||||
EGVAR(trenches,noGeoClass) = QEGVAR(compat_sog,spiderhole_03_nogeo);
|
||||
EGVAR(trenches,placementData)[] = {1.5, 2.5, 0.1};
|
||||
};
|
||||
class EGVAR(compat_sog,spiderhole_01_nogeo): vn_o_vc_spiderhole_01 {
|
||||
scope = 1;
|
||||
};
|
||||
class EGVAR(compat_sog,spiderhole_02_nogeo): vn_o_vc_spiderhole_02 {
|
||||
scope = 1;
|
||||
};
|
||||
class EGVAR(compat_sog,spiderhole_03_nogeo): vn_o_vc_spiderhole_03 {
|
||||
scope = 1;
|
||||
};
|
||||
};
|
38
addons/compat_sog/compat_sog_trenches/config.cpp
Normal file
38
addons/compat_sog/compat_sog_trenches/config.cpp
Normal file
@ -0,0 +1,38 @@
|
||||
#include "script_component.hpp"
|
||||
|
||||
#if __has_include("\vn\weapons_f_vietnam\config.bin")
|
||||
#else
|
||||
#define PATCH_SKIP "SOG-Vietnam"
|
||||
#endif
|
||||
|
||||
#if __has_include("\z\ace\addons\csw\script_component.hpp")
|
||||
#else
|
||||
#ifndef PATCH_SKIP
|
||||
#define PATCH_SKIP "ACE Trenches"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef PATCH_SKIP
|
||||
ACE_PATCH_NOT_LOADED(ADDON,PATCH_SKIP)
|
||||
#else
|
||||
|
||||
class CfgPatches {
|
||||
class ADDON {
|
||||
name = COMPONENT_NAME;
|
||||
units[] = {};
|
||||
weapons[] = {};
|
||||
requiredVersion = REQUIRED_VERSION;
|
||||
requiredAddons[] = {
|
||||
"loadorder_f_vietnam", "ace_trenches"
|
||||
};
|
||||
skipWhenMissingDependencies = 1;
|
||||
author = ECSTRING(common,ACETeam);
|
||||
authors[] = {"BaerMitUmlaut", "veteran29"};
|
||||
url = ECSTRING(main,URL);
|
||||
VERSION_CONFIG;
|
||||
};
|
||||
};
|
||||
|
||||
#include "CfgVehicles.hpp"
|
||||
|
||||
#endif
|
@ -0,0 +1,5 @@
|
||||
#include "\z\ace\addons\compat_sog\script_component.hpp"
|
||||
|
||||
#define SUBCOMPONENT trenches
|
||||
#undef ADDON
|
||||
#define ADDON TRIPLES(PREFIX,COMPONENT,SUBCOMPONENT)
|
20
addons/compat_sog/compat_sog_trenches_grad/CfgVehicles.hpp
Normal file
20
addons/compat_sog/compat_sog_trenches_grad/CfgVehicles.hpp
Normal file
@ -0,0 +1,20 @@
|
||||
class CfgVehicles {
|
||||
// Trench Actions
|
||||
class Man;
|
||||
class CAManBase: Man {
|
||||
class ACE_SelfActions {
|
||||
class ACE_Equipment {
|
||||
// delete in reverse order
|
||||
delete EGVAR(compat_sog,digSpiderholeDual);
|
||||
delete EGVAR(compat_sog,digSpiderholeAngled);
|
||||
delete EGVAR(compat_sog,digSpiderhole);
|
||||
delete EGVAR(trenches,digEnvelopeSmall);
|
||||
};
|
||||
};
|
||||
};
|
||||
|
||||
// Spiderholes
|
||||
delete EGVAR(compat_sog,spiderhole_01_nogeo);
|
||||
delete EGVAR(compat_sog,spiderhole_02_nogeo);
|
||||
delete EGVAR(compat_sog,spiderhole_03_nogeo);
|
||||
};
|
45
addons/compat_sog/compat_sog_trenches_grad/config.cpp
Normal file
45
addons/compat_sog/compat_sog_trenches_grad/config.cpp
Normal file
@ -0,0 +1,45 @@
|
||||
#include "script_component.hpp"
|
||||
|
||||
#if __has_include("\vn\weapons_f_vietnam\config.bin")
|
||||
#else
|
||||
#define PATCH_SKIP "SOG-Vietnam"
|
||||
#endif
|
||||
|
||||
#if __has_include("\z\ace\addons\csw\script_component.hpp")
|
||||
#else
|
||||
#ifndef PATCH_SKIP
|
||||
#define PATCH_SKIP "ACE Trenches"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#if __has_include("\x\grad_trenches\addons\main\script_component.hpp")
|
||||
#else
|
||||
#ifndef PATCH_SKIP
|
||||
#define PATCH_SKIP "Grad Trenches"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#ifdef PATCH_SKIP
|
||||
ACE_PATCH_NOT_LOADED(ADDON,PATCH_SKIP)
|
||||
#else
|
||||
|
||||
class CfgPatches {
|
||||
class ADDON {
|
||||
name = COMPONENT_NAME;
|
||||
units[] = {};
|
||||
weapons[] = {};
|
||||
requiredVersion = REQUIRED_VERSION;
|
||||
requiredAddons[] = {
|
||||
"loadorder_f_vietnam", "ace_compat_sog_trenches", "grad_trenches_main"
|
||||
};
|
||||
skipWhenMissingDependencies = 1;
|
||||
author = ECSTRING(common,ACETeam);
|
||||
authors[] = {"BaerMitUmlaut", "veteran29"};
|
||||
url = ECSTRING(main,URL);
|
||||
VERSION_CONFIG;
|
||||
};
|
||||
};
|
||||
|
||||
#include "CfgVehicles.hpp"
|
||||
|
||||
#endif
|
@ -0,0 +1,5 @@
|
||||
#include "\z\ace\addons\compat_sog\script_component.hpp"
|
||||
|
||||
#define SUBCOMPONENT trenches_grad
|
||||
#undef ADDON
|
||||
#define ADDON TRIPLES(PREFIX,COMPONENT,SUBCOMPONENT)
|
@ -1,5 +1,14 @@
|
||||
#include "script_component.hpp"
|
||||
|
||||
#if __has_include("\vn\weapons_f_vietnam\config.bin")
|
||||
#else
|
||||
#define PATCH_SKIP "SOG-Vietnam"
|
||||
#endif
|
||||
|
||||
#ifdef PATCH_SKIP
|
||||
ACE_PATCH_NOT_LOADED(ADDON,PATCH_SKIP)
|
||||
#else
|
||||
|
||||
class CfgPatches {
|
||||
class ADDON {
|
||||
name = COMPONENT_NAME;
|
||||
@ -36,9 +45,9 @@ class CfgPatches {
|
||||
};
|
||||
requiredVersion = REQUIRED_VERSION;
|
||||
requiredAddons[] = {
|
||||
"ace_trenches",
|
||||
"loadorder_f_vietnam"
|
||||
};
|
||||
skipWhenMissingDependencies = 1;
|
||||
author = ECSTRING(common,ACETeam);
|
||||
authors[] = {"BaerMitUmlaut", "veteran29"};
|
||||
url = ECSTRING(main,URL);
|
||||
@ -56,3 +65,5 @@ class CfgPatches {
|
||||
#include "CfgVehicles.hpp"
|
||||
#include "CfgWeapons.hpp"
|
||||
#include "EMM_mainMenu_CfgMenus.hpp"
|
||||
|
||||
#endif
|
@ -1,38 +0,0 @@
|
||||
#if __has_include("\x\grad_trenches\addons\main\config.bin")
|
||||
#else
|
||||
class Man;
|
||||
class CAManBase: Man {
|
||||
class ACE_SelfActions {
|
||||
class ACE_Equipment {
|
||||
class EGVAR(trenches,digEnvelopeSmall);
|
||||
class GVAR(digSpiderhole): EGVAR(trenches,digEnvelopeSmall) {
|
||||
displayName = CSTRING(Action_DigSpiderhole);
|
||||
statement = QUOTE([ARR_2({_this call EFUNC(trenches,placeTrench)},[ARR_2(_this select 0,'vn_o_vc_spiderhole_01')])] call CBA_fnc_execNextFrame);
|
||||
};
|
||||
class GVAR(digSpiderholeAngled): EGVAR(trenches,digEnvelopeSmall) {
|
||||
displayName = CSTRING(Action_DigSpiderholeAngled);
|
||||
statement = QUOTE([ARR_2({_this call EFUNC(trenches,placeTrench)},[ARR_2(_this select 0,'vn_o_vc_spiderhole_02')])] call CBA_fnc_execNextFrame);
|
||||
};
|
||||
class GVAR(digSpiderholeDual): EGVAR(trenches,digEnvelopeSmall) {
|
||||
displayName = CSTRING(Action_DigSpiderholeDual);
|
||||
statement = QUOTE([ARR_2({_this call EFUNC(trenches,placeTrench)},[ARR_2(_this select 0,'vn_o_vc_spiderhole_03')])] call CBA_fnc_execNextFrame);
|
||||
};
|
||||
};
|
||||
};
|
||||
};
|
||||
#endif
|
||||
|
||||
class vn_b_men_aircrew_base;
|
||||
class vn_b_men_jetpilot_01: vn_b_men_aircrew_base {
|
||||
ACE_GForceCoef = 0.55;
|
||||
};
|
||||
|
||||
class vn_o_men_aircrew_01;
|
||||
class vn_o_men_aircrew_05: vn_o_men_aircrew_01 {
|
||||
ACE_GForceCoef = 0.55;
|
||||
};
|
||||
|
||||
class vn_i_men_aircrew_base;
|
||||
class vn_i_men_jetpilot_01: vn_i_men_aircrew_base {
|
||||
ACE_GForceCoef = 0.55;
|
||||
};
|
Loading…
Reference in New Issue
Block a user