From b7f446db82c4740209ffd710c361d6d26447b869 Mon Sep 17 00:00:00 2001 From: johnb432 <58661205+johnb432@users.noreply.github.com> Date: Mon, 13 Jan 2025 13:29:09 -0800 Subject: [PATCH] Compat SOG - Remove hard `ace_hearing` & `ace_refuel` dependencies (#10655) --- addons/compat_sog/CfgVehicles/land.hpp | 49 +----------------- addons/compat_sog/CfgWeapons/helmets.hpp | 26 +--------- .../compat_sog_hearing/CfgWeapons.hpp | 35 +++++++++++++ .../compat_sog/compat_sog_hearing/config.cpp | 23 +++++++++ .../compat_sog_hearing/script_component.hpp | 3 ++ .../compat_sog_refuel/CfgVehicles.hpp | 51 +++++++++++++++++++ .../compat_sog/compat_sog_refuel/config.cpp | 3 ++ addons/compat_sog/config.cpp | 2 - 8 files changed, 117 insertions(+), 75 deletions(-) create mode 100644 addons/compat_sog/compat_sog_hearing/CfgWeapons.hpp create mode 100644 addons/compat_sog/compat_sog_hearing/config.cpp create mode 100644 addons/compat_sog/compat_sog_hearing/script_component.hpp diff --git a/addons/compat_sog/CfgVehicles/land.hpp b/addons/compat_sog/CfgVehicles/land.hpp index 93444837074..2783d3fb337 100644 --- a/addons/compat_sog/CfgVehicles/land.hpp +++ b/addons/compat_sog/CfgVehicles/land.hpp @@ -1,53 +1,5 @@ #define XEH_INHERITED class EventHandlers {class CBA_Extended_EventHandlers: CBA_Extended_EventHandlers {};} -// fuel pumps -class Land_vn_commercial_base; -class Land_vn_fuelstation_01_pump_f: Land_vn_commercial_base { - XEH_INHERITED; - EGVAR(refuel,hooks)[] = {{0, 0.4, -0.5}, {0, -0.4, -0.5}}; - EGVAR(refuel,fuelCargo) = REFUEL_INFINITE_FUEL; -}; -class Land_vn_fuelstation_02_pump_f: Land_vn_commercial_base { - XEH_INHERITED; - EGVAR(refuel,hooks)[] = {{0, 0.4, -0.5}, {0, -0.4, -0.5}}; - EGVAR(refuel,fuelCargo) = REFUEL_INFINITE_FUEL; -}; -class Land_vn_fuelstation_feed_f: Land_vn_commercial_base { - XEH_INHERITED; - EGVAR(refuel,hooks)[] = {{0, 0.4, -0.5}, {0, -0.4, -0.5}}; - EGVAR(refuel,fuelCargo) = REFUEL_INFINITE_FUEL; -}; - -// fuel objects -class Land_vn_building_b_base; -class Land_vn_usaf_fueltank_75_01: Land_vn_building_b_base { - XEH_INHERITED; - EGVAR(refuel,hooks)[] = {{-2.52, -2.2, -2.05}, {2.5, 0, -1.3}}; - EGVAR(refuel,fuelCargo) = 2840; // 750 * 3.785 -}; -class Land_vn_b_prop_fuelbladder_01: Land_vn_usaf_fueltank_75_01 { - EGVAR(refuel,hooks)[] = {{-1.75, -6.7, -1}}; - EGVAR(refuel,fuelCargo) = 3785; // 1000 * 3.785 -}; -class Land_vn_b_prop_fuelbladder_03: Land_vn_b_prop_fuelbladder_01 { - EGVAR(refuel,hooks)[] = {{-1.55, -6.5, -1}}; -}; -class Land_vn_building_industrial_base; -class Land_vn_fuel_tank_stairs: Land_vn_building_industrial_base { - XEH_INHERITED; - EGVAR(refuel,hooks)[] = {{0, 0.4, -1.3}, {0, -0.4, -1.3}}; - EGVAR(refuel,fuelCargo) = 10000; // reference is B_Slingload_01_Fuel_F -}; -class Land_vn_object_b_base; -class Land_vn_b_prop_fueldrum_01: Land_vn_object_b_base { - XEH_INHERITED; - EGVAR(refuel,hooks)[] = {{0, 0, 0}}; - EGVAR(refuel,fuelCargo) = 300; // reference is Land_FlexibleTank_01_F -}; -class Land_vn_b_prop_fueldrum_02: Land_vn_b_prop_fueldrum_01 { - EGVAR(refuel,hooks)[] = {{0, -1.3, -0.15}, {2.3, 1.25, -0.15}}; - EGVAR(refuel,fuelCargo) = 14100; // (23 + 24) * 300 -}; class vn_b_ammobox_supply_07; class vn_b_ammobox_supply_09: vn_b_ammobox_supply_07 { // just a pallet XEH_INHERITED; @@ -67,6 +19,7 @@ class Land_vn_fuelcan: Land_vn_object_c_base { }; // M149 +class Land_vn_object_b_base; class Land_vn_b_prop_m149: Land_vn_object_b_base { XEH_INHERITED; EXGVAR(field_rations,waterSupply) = 1514.16; // 400 US gallons diff --git a/addons/compat_sog/CfgWeapons/helmets.hpp b/addons/compat_sog/CfgWeapons/helmets.hpp index b5fe500fb00..b95935abd7b 100644 --- a/addons/compat_sog/CfgWeapons/helmets.hpp +++ b/addons/compat_sog/CfgWeapons/helmets.hpp @@ -1,39 +1,15 @@ class vn_b_headgear_base; -class vn_b_helmet_aph6_01_01: vn_b_headgear_base { - HEARING_PROTECTION_VICCREW; -}; class vn_b_helmet_aph6_02_01: vn_b_headgear_base { - HEARING_PROTECTION_VICCREW; ACE_Protection = 1; }; -class vn_b_helmet_sph4_01_01: vn_b_headgear_base { - HEARING_PROTECTION_VICCREW; -}; class vn_b_helmet_sph4_02_01: vn_b_headgear_base { - HEARING_PROTECTION_VICCREW; ACE_Protection = 1; }; -class vn_b_helmet_t56_01_01: vn_b_headgear_base { - HEARING_PROTECTION_VICCREW; -}; -class vn_b_helmet_svh4_01_01: vn_b_headgear_base { - HEARING_PROTECTION_VICCREW; -}; class vn_b_helmet_svh4_02_01: vn_b_headgear_base { - HEARING_PROTECTION_VICCREW; ACE_Protection = 1; }; -class vn_o_headgear_base; -class vn_o_helmet_tsh3_01: vn_o_headgear_base { - HEARING_PROTECTION_VICCREW; -}; -class vn_o_helmet_zsh3_01: vn_o_headgear_base { - HEARING_PROTECTION_VICCREW; -}; +class vn_o_helmet_zsh3_01; class vn_o_helmet_zsh3_02: vn_o_helmet_zsh3_01 { ACE_Protection = 1; }; -class vn_o_helmet_shl61_01: vn_o_headgear_base { - HEARING_PROTECTION_VICCREW; -}; diff --git a/addons/compat_sog/compat_sog_hearing/CfgWeapons.hpp b/addons/compat_sog/compat_sog_hearing/CfgWeapons.hpp new file mode 100644 index 00000000000..b8bfa889969 --- /dev/null +++ b/addons/compat_sog/compat_sog_hearing/CfgWeapons.hpp @@ -0,0 +1,35 @@ +class CfgWeapons { + class vn_b_headgear_base; + class vn_b_helmet_aph6_01_01: vn_b_headgear_base { + HEARING_PROTECTION_VICCREW; + }; + class vn_b_helmet_aph6_02_01: vn_b_headgear_base { + HEARING_PROTECTION_VICCREW; + }; + class vn_b_helmet_sph4_01_01: vn_b_headgear_base { + HEARING_PROTECTION_VICCREW; + }; + class vn_b_helmet_sph4_02_01: vn_b_headgear_base { + HEARING_PROTECTION_VICCREW; + }; + class vn_b_helmet_t56_01_01: vn_b_headgear_base { + HEARING_PROTECTION_VICCREW; + }; + class vn_b_helmet_svh4_01_01: vn_b_headgear_base { + HEARING_PROTECTION_VICCREW; + }; + class vn_b_helmet_svh4_02_01: vn_b_headgear_base { + HEARING_PROTECTION_VICCREW; + }; + + class vn_o_headgear_base; + class vn_o_helmet_tsh3_01: vn_o_headgear_base { + HEARING_PROTECTION_VICCREW; + }; + class vn_o_helmet_zsh3_01: vn_o_headgear_base { + HEARING_PROTECTION_VICCREW; + }; + class vn_o_helmet_shl61_01: vn_o_headgear_base { + HEARING_PROTECTION_VICCREW; + }; +}; diff --git a/addons/compat_sog/compat_sog_hearing/config.cpp b/addons/compat_sog/compat_sog_hearing/config.cpp new file mode 100644 index 00000000000..1de2f57a52e --- /dev/null +++ b/addons/compat_sog/compat_sog_hearing/config.cpp @@ -0,0 +1,23 @@ +#include "script_component.hpp" +#include "\z\ace\addons\hearing\script_macros_hearingProtection.hpp" + +class CfgPatches { + class SUBADDON { + name = COMPONENT_NAME; + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = { + "loadorder_f_vietnam", + "ace_hearing" + }; + skipWhenMissingDependencies = 1; + author = ECSTRING(common,ACETeam); + url = ECSTRING(main,URL); + VERSION_CONFIG; + + addonRootClass = QUOTE(ADDON); + }; +}; + +#include "CfgWeapons.hpp" diff --git a/addons/compat_sog/compat_sog_hearing/script_component.hpp b/addons/compat_sog/compat_sog_hearing/script_component.hpp new file mode 100644 index 00000000000..8edb825af34 --- /dev/null +++ b/addons/compat_sog/compat_sog_hearing/script_component.hpp @@ -0,0 +1,3 @@ +#define SUBCOMPONENT hearing +#define SUBCOMPONENT_BEAUTIFIED Hearing +#include "..\script_component.hpp" diff --git a/addons/compat_sog/compat_sog_refuel/CfgVehicles.hpp b/addons/compat_sog/compat_sog_refuel/CfgVehicles.hpp index c3dcfb719e5..9406190303b 100644 --- a/addons/compat_sog/compat_sog_refuel/CfgVehicles.hpp +++ b/addons/compat_sog/compat_sog_refuel/CfgVehicles.hpp @@ -1,4 +1,55 @@ +#define XEH_INHERITED class EventHandlers {class CBA_Extended_EventHandlers: CBA_Extended_EventHandlers {};} + class CfgVehicles { + // fuel pumps + class Land_vn_commercial_base; + class Land_vn_fuelstation_01_pump_f: Land_vn_commercial_base { + XEH_INHERITED; + EGVAR(refuel,hooks)[] = {{0, 0.4, -0.5}, {0, -0.4, -0.5}}; + EGVAR(refuel,fuelCargo) = REFUEL_INFINITE_FUEL; + }; + class Land_vn_fuelstation_02_pump_f: Land_vn_commercial_base { + XEH_INHERITED; + EGVAR(refuel,hooks)[] = {{0, 0.4, -0.5}, {0, -0.4, -0.5}}; + EGVAR(refuel,fuelCargo) = REFUEL_INFINITE_FUEL; + }; + class Land_vn_fuelstation_feed_f: Land_vn_commercial_base { + XEH_INHERITED; + EGVAR(refuel,hooks)[] = {{0, 0.4, -0.5}, {0, -0.4, -0.5}}; + EGVAR(refuel,fuelCargo) = REFUEL_INFINITE_FUEL; + }; + + // fuel objects + class Land_vn_building_b_base; + class Land_vn_usaf_fueltank_75_01: Land_vn_building_b_base { + XEH_INHERITED; + EGVAR(refuel,hooks)[] = {{-2.52, -2.2, -2.05}, {2.5, 0, -1.3}}; + EGVAR(refuel,fuelCargo) = 2840; // 750 * 3.785 + }; + class Land_vn_b_prop_fuelbladder_01: Land_vn_usaf_fueltank_75_01 { + EGVAR(refuel,hooks)[] = {{-1.75, -6.7, -1}}; + EGVAR(refuel,fuelCargo) = 3785; // 1000 * 3.785 + }; + class Land_vn_b_prop_fuelbladder_03: Land_vn_b_prop_fuelbladder_01 { + EGVAR(refuel,hooks)[] = {{-1.55, -6.5, -1}}; + }; + class Land_vn_building_industrial_base; + class Land_vn_fuel_tank_stairs: Land_vn_building_industrial_base { + XEH_INHERITED; + EGVAR(refuel,hooks)[] = {{0, 0.4, -1.3}, {0, -0.4, -1.3}}; + EGVAR(refuel,fuelCargo) = 10000; // reference is B_Slingload_01_Fuel_F + }; + class Land_vn_object_b_base; + class Land_vn_b_prop_fueldrum_01: Land_vn_object_b_base { + XEH_INHERITED; + EGVAR(refuel,hooks)[] = {{0, 0, 0}}; + EGVAR(refuel,fuelCargo) = 300; // reference is Land_FlexibleTank_01_F + }; + class Land_vn_b_prop_fueldrum_02: Land_vn_b_prop_fueldrum_01 { + EGVAR(refuel,hooks)[] = {{0, -1.3, -0.15}, {2.3, 1.25, -0.15}}; + EGVAR(refuel,fuelCargo) = 14100; // (23 + 24) * 300 + }; + // Vehicle animation interactions // BTR-40 class vn_wheeled_car_base; diff --git a/addons/compat_sog/compat_sog_refuel/config.cpp b/addons/compat_sog/compat_sog_refuel/config.cpp index 793cf90fc4e..70002b1ca2a 100644 --- a/addons/compat_sog/compat_sog_refuel/config.cpp +++ b/addons/compat_sog/compat_sog_refuel/config.cpp @@ -1,4 +1,5 @@ #include "script_component.hpp" +#include "\z\ace\addons\refuel\defines.hpp" class CfgPatches { class SUBADDON { @@ -15,4 +16,6 @@ class CfgPatches { }; }; +class CBA_Extended_EventHandlers; + #include "CfgVehicles.hpp" diff --git a/addons/compat_sog/config.cpp b/addons/compat_sog/config.cpp index 04db68293cf..21fa20ccbc7 100644 --- a/addons/compat_sog/config.cpp +++ b/addons/compat_sog/config.cpp @@ -1,6 +1,4 @@ #include "script_component.hpp" -#include "\z\ace\addons\refuel\defines.hpp" -#include "\z\ace\addons\hearing\script_macros_hearingProtection.hpp" class CfgPatches { class ADDON {