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 = [
|
workshop = [
|
||||||
"450814997", # CBA_A3's Workshop ID
|
"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,hooks)[] = {{0, -0.4, -0.5}};
|
||||||
EGVAR(refuel,fuelCargo) = 2840; // 750 * 3.785
|
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;
|
transportFuel = 0;
|
||||||
EGVAR(refuel,hooks)[] = {{0, 0, 0.5}}; // reference is Land_FlexibleTank_01_F
|
EGVAR(refuel,hooks)[] = {{0, 0, 0.5}}; // reference is Land_FlexibleTank_01_F
|
||||||
EGVAR(refuel,fuelCargo) = 300; // 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(dragging,canDrag) = 0;
|
||||||
|
|
||||||
EGVAR(cargo,canLoad) = 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"
|
#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 CfgPatches {
|
||||||
class ADDON {
|
class ADDON {
|
||||||
name = COMPONENT_NAME;
|
name = COMPONENT_NAME;
|
||||||
@ -36,9 +45,9 @@ class CfgPatches {
|
|||||||
};
|
};
|
||||||
requiredVersion = REQUIRED_VERSION;
|
requiredVersion = REQUIRED_VERSION;
|
||||||
requiredAddons[] = {
|
requiredAddons[] = {
|
||||||
"ace_trenches",
|
|
||||||
"loadorder_f_vietnam"
|
"loadorder_f_vietnam"
|
||||||
};
|
};
|
||||||
|
skipWhenMissingDependencies = 1;
|
||||||
author = ECSTRING(common,ACETeam);
|
author = ECSTRING(common,ACETeam);
|
||||||
authors[] = {"BaerMitUmlaut", "veteran29"};
|
authors[] = {"BaerMitUmlaut", "veteran29"};
|
||||||
url = ECSTRING(main,URL);
|
url = ECSTRING(main,URL);
|
||||||
@ -56,3 +65,5 @@ class CfgPatches {
|
|||||||
#include "CfgVehicles.hpp"
|
#include "CfgVehicles.hpp"
|
||||||
#include "CfgWeapons.hpp"
|
#include "CfgWeapons.hpp"
|
||||||
#include "EMM_mainMenu_CfgMenus.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