From 450a7110daf6b3890db96ee4f993fd4017764866 Mon Sep 17 00:00:00 2001 From: Fabio Schick <58027418+mrschick@users.noreply.github.com> Date: Wed, 18 Dec 2024 13:26:00 +0100 Subject: [PATCH] Compat - RHS USAF and AFRF (#1355) Co-authored-by: jonpas --- addons/compat_rhs_afrf3/$PBOPREFIX$ | 1 + addons/compat_rhs_afrf3/CfgVehicles.hpp | 331 +++++++++++ addons/compat_rhs_afrf3/config.cpp | 18 + addons/compat_rhs_afrf3/script_component.hpp | 13 + addons/compat_rhs_usf3/$PBOPREFIX$ | 1 + addons/compat_rhs_usf3/CfgVehicles.hpp | 550 +++++++++++++++++++ addons/compat_rhs_usf3/config.cpp | 18 + addons/compat_rhs_usf3/script_component.hpp | 13 + 8 files changed, 945 insertions(+) create mode 100644 addons/compat_rhs_afrf3/$PBOPREFIX$ create mode 100644 addons/compat_rhs_afrf3/CfgVehicles.hpp create mode 100644 addons/compat_rhs_afrf3/config.cpp create mode 100644 addons/compat_rhs_afrf3/script_component.hpp create mode 100644 addons/compat_rhs_usf3/$PBOPREFIX$ create mode 100644 addons/compat_rhs_usf3/CfgVehicles.hpp create mode 100644 addons/compat_rhs_usf3/config.cpp create mode 100644 addons/compat_rhs_usf3/script_component.hpp diff --git a/addons/compat_rhs_afrf3/$PBOPREFIX$ b/addons/compat_rhs_afrf3/$PBOPREFIX$ new file mode 100644 index 000000000..eceed0561 --- /dev/null +++ b/addons/compat_rhs_afrf3/$PBOPREFIX$ @@ -0,0 +1 @@ +idi\acre\addons\compat_rhs_afrf3 diff --git a/addons/compat_rhs_afrf3/CfgVehicles.hpp b/addons/compat_rhs_afrf3/CfgVehicles.hpp new file mode 100644 index 000000000..bf92fc39f --- /dev/null +++ b/addons/compat_rhs_afrf3/CfgVehicles.hpp @@ -0,0 +1,331 @@ +class CfgVehicles { + // Cars + class MRAP_02_base_F; + class rhs_tigr_base: MRAP_02_base_F { + class AcreRacks {}; + }; + + class rhs_tigr_vdv; + class rhs_tigr_sts_vdv: rhs_tigr_vdv { + class AcreRacks { + class Rack_1 { + displayName = ECSTRING(sys_rack,dash); + shortName = ECSTRING(sys_rack,dashShort); + componentName = "ACRE_VRC110"; + allowedPositions[] = {"driver", {"cargo", 0}}; + disabledPositions[] = {}; + isRadioRemovable = 1; + intercom[] = {"intercom_1"}; + }; + }; + }; + + class rhs_tigr_m_vdv: rhs_tigr_vdv { + class AcreRacks { + class Rack_1 { + displayName = ECSTRING(sys_rack,dash); + shortName = ECSTRING(sys_rack,dashShort); + componentName = "ACRE_VRC110"; + allowedPositions[] = {"driver", {"cargo", 1}}; + disabledPositions[] = {}; + isRadioRemovable = 1; + intercom[] = {"intercom_1"}; + }; + }; + }; + + // Trucks + class O_Truck_03_repair_F; + class rhs_typhoon_base: O_Truck_03_repair_F { + attenuationEffectType = "RHS_CarAttenuation"; + }; + + class OTR21_Base; + class rhs_9k79: OTR21_Base { + class AcreRacks { + class Rack_1 { + displayName = ECSTRING(sys_rack,dash); + shortName = ECSTRING(sys_rack,dash); + componentName = "ACRE_VRC103"; + allowedPositions[] = {"inside"}; + mountedRadio = "ACRE_PRC117F"; + intercom[] = {"intercom_1"}; + }; + }; + + attenuationEffectType = "RHS_CarAttenuation"; + }; + + // AFVs + class Wheeled_APC_F; + class rhs_btr_base: Wheeled_APC_F { + class AcreRacks { + class Rack_1 { + displayName = ECSTRING(sys_rack,dash); + shortName = ECSTRING(sys_rack,dashShort); + componentName = "ACRE_VRC103"; + allowedPositions[] = {"driver", "gunner", {"turret", {1}}}; + mountedRadio = "ACRE_PRC117F"; + intercom[] = {"intercom_1"}; + }; + }; + + class AcreIntercoms { + class Intercom_1 { + displayName = ECSTRING(sys_intercom,crewIntercom); + shortName = ECSTRING(sys_intercom,shortCrewIntercom); + allowedPositions[] = {"crew", {"turret", {10}}}; + limitedPositions[] = {{"cargo", "all"}}; + masterPositions[] = {{"turret", {1}, {10}}}; + numLimitedPositions = 1; + connectedByDefault = 1; + }; + }; + }; + + class rhs_btr70_msv; + class rhs_btr80_msv: rhs_btr70_msv { + class AcreIntercoms { + class Intercom_1 { + displayName = ECSTRING(sys_intercom,crewIntercom); + shortName = ECSTRING(sys_intercom,shortCrewIntercom); + allowedPositions[] = {"crew", {"turret", {11}}}; + limitedPositions[] = {{"cargo", "all"}}; + masterPositions[] = {{"turret", {1}, {11}}}; + numLimitedPositions = 1; + connectedByDefault = 1; + }; + }; + }; + + class Tank_F; + class rhs_bmp1tank_base: Tank_F { + class AcreRacks { + class Rack_1 { + displayName = ECSTRING(sys_rack,dash); + shortName = ECSTRING(sys_rack,dashShort); + componentName = "ACRE_VRC103"; + allowedPositions[] = {"driver", "gunner", "commander", {"turret", {1}}}; + mountedRadio = "ACRE_PRC117F"; + intercom[] = {"intercom_1"}; + }; + }; + + class AcreIntercoms { + class Intercom_1 { + displayName = ECSTRING(sys_intercom,crewIntercom); + shortName = ECSTRING(sys_intercom,shortCrewIntercom); + allowedPositions[] = {"crew", {"turret", {1}}}; + limitedPositions[] = {{"cargo", "all"}}; + masterPositions[] = {"commander", {"turret", {1}}}; + numLimitedPositions = 1; + connectedByDefault = 1; + }; + }; + + acre_hasInfantryPhone = 0; + }; + + class rhs_bmp1_vdv; + class rhs_bmp2e_vdv: rhs_bmp1_vdv { + class AcreRacks { + class Rack_1 { + displayName = ECSTRING(sys_rack,dash); + shortName = ECSTRING(sys_rack,dashShort); + componentName = "ACRE_VRC103"; + allowedPositions[] = {"driver", "gunner", {"turret", {1}}}; + mountedRadio = "ACRE_PRC117F"; + intercom[] = {"intercom_1"}; + }; + }; + + class AcreIntercoms { + class Intercom_1 { + displayName = ECSTRING(sys_intercom,crewIntercom); + shortName = ECSTRING(sys_intercom,shortCrewIntercom); + allowedPositions[] = {"crew", {"turret", {0, 0}}}; + limitedPositions[] = {{"cargo", "all"}}; + masterPositions[] = {"commander", {"turret", {1}}}; + numLimitedPositions = 1; + connectedByDefault = 1; + }; + }; + }; + + class rhs_prp3_vdv: rhs_bmp1_vdv { + class AcreRacks { + class Rack_1 { + displayName = ECSTRING(sys_rack,dash); + shortName = ECSTRING(sys_rack,dashShort); + componentName = "ACRE_VRC103"; + allowedPositions[] = {"driver", "gunner", "commander", {"turret", {0}, {1}}}; + mountedRadio = "ACRE_PRC117F"; + intercom[] = {"intercom_1"}; + }; + }; + + class AcreIntercoms { + class Intercom_1 { + displayName = ECSTRING(sys_intercom,crewIntercom); + shortName = ECSTRING(sys_intercom,shortCrewIntercom); + allowedPositions[] = {"crew", {"turret", {0}, {1}}}; + limitedPositions[] = {}; + masterPositions[] = {"commander"}; + numLimitedPositions = 1; + connectedByDefault = 1; + }; + }; + }; + + class rhs_bmp3tank_base: Tank_F { + class AcreIntercoms { + class Intercom_1 { + displayName = ECSTRING(sys_intercom,crewIntercom); + shortName = ECSTRING(sys_intercom,shortCrewIntercom); + allowedPositions[] = {"crew", {"turret", {1}, {2}}}; + limitedPositions[] = {{"cargo", "all"}}; + masterPositions[] = {"commander"}; + numLimitedPositions = 1; + connectedByDefault = 1; + }; + }; + + acre_hasInfantryPhone = 0; + }; + + class rhs_bmd_base: Tank_F { + class AcreRacks { + class Rack_1 { + displayName = ECSTRING(sys_rack,dash); + shortName = ECSTRING(sys_rack,dashShort); + componentName = "ACRE_VRC103"; + allowedPositions[] = {"driver", "gunner", {"turret", {1}}}; + mountedRadio = "ACRE_PRC117F"; + intercom[] = {"intercom_1"}; + }; + }; + + class AcreIntercoms { + class Intercom_1 { + displayName = ECSTRING(sys_intercom,crewIntercom); + shortName = ECSTRING(sys_intercom,shortCrewIntercom); + allowedPositions[] = {"crew"}; + limitedPositions[] = {{"cargo", "all"}}; + masterPositions[] = {"commander", {"turret", {1}}}; + numLimitedPositions = 1; + connectedByDefault = 1; + }; + }; + + acre_hasInfantryPhone = 0; + }; + + class rhs_a3spruttank_base; + class rhs_bmd4_vdv: rhs_a3spruttank_base { + class AcreRacks { + class Rack_1 { + displayName = ECSTRING(sys_rack,dash); + shortName = ECSTRING(sys_rack,dashShort); + componentName = "ACRE_VRC103"; + allowedPositions[] = {"driver", "gunner", {"turret", {0, 0}}}; + mountedRadio = "ACRE_PRC117F"; + intercom[] = {"intercom_1"}; + }; + }; + + class AcreIntercoms { + class Intercom_1 { + displayName = ECSTRING(sys_intercom,crewIntercom); + shortName = ECSTRING(sys_intercom,shortCrewIntercom); + allowedPositions[] = {"crew", {"turret", {0, 0}}}; + limitedPositions[] = {}; + masterPositions[] = {{"turret", {0, 0}}}; + numLimitedPositions = 1; + connectedByDefault = 1; + }; + }; + + acre_hasInfantryPhone = 0; + }; + + class rhs_sprut_vdv: rhs_a3spruttank_base { + acre_hasInfantryPhone = 0; + }; + + class rhs_a3t72tank_base: Tank_F { + acre_hasInfantryPhone = 0; + }; + + class rhs_tank_base; + class rhs_t80b: rhs_tank_base { + acre_hasInfantryPhone = 0; + }; + + class rhs_t14_base: Tank_F { + acre_infantryPhonePosition[] = {-1.39, -5.35, -1.07}; + }; + + class APC_Tracked_02_base_F; + class rhs_zsutank_base: APC_Tracked_02_base_F { + acre_hasInfantryPhone = 0; + }; + + // Aircraft + class Heli_Light_02_base_F; + class RHS_Mi8_base: Heli_Light_02_base_F { + class AcreIntercoms { + class Intercom_1 { + displayName = ECSTRING(sys_intercom,crewIntercom); + shortName = ECSTRING(sys_intercom,shortCrewIntercom); + allowedPositions[] = {"crew"}; + limitedPositions[] = {{"cargo", "all"}, {"ffv", "all"}}; + masterPositions[] = {"driver"}; + numLimitedPositions = 2; + connectedByDefault = 1; + }; + class Intercom_2: Intercom_1 { + displayName = ECSTRING(sys_intercom,passengerIntercom); + shortName = ECSTRING(sys_intercom,shortPassengerIntercom); + allowedPositions[] = {"crew", {"cargo", "all"}, {"ffv", "all"}}; + limitedPositions[] = {}; + numLimitedPositions = 0; + connectedByDefault = 0; + }; + }; + }; + + class Heli_Attack_02_base_F; + class RHS_Mi24_base: Heli_Attack_02_base_F { + class AcreIntercoms { + class Intercom_1 { + displayName = ECSTRING(sys_intercom,crewIntercom); + shortName = ECSTRING(sys_intercom,shortCrewIntercom); + allowedPositions[] = {"crew"}; + limitedPositions[] = {{"cargo", "all"}, {"ffv", "all"}}; + masterPositions[] = {"driver"}; + numLimitedPositions = 2; + connectedByDefault = 1; + }; + class Intercom_2: Intercom_1 { + displayName = ECSTRING(sys_intercom,passengerIntercom); + shortName = ECSTRING(sys_intercom,shortPassengerIntercom); + allowedPositions[] = {"crew", {"cargo", "all"}, {"ffv", "all"}}; + limitedPositions[] = {}; + numLimitedPositions = 0; + connectedByDefault = 0; + }; + }; + }; + + class RHS_Ka52_base: Heli_Attack_02_base_F { + class AcreIntercoms { + class Intercom_1 { + displayName = ECSTRING(sys_intercom,crewIntercom); + shortName = ECSTRING(sys_intercom,shortCrewIntercom); + allowedPositions[] = {"crew"}; + masterPositions[] = {"driver"}; + connectedByDefault = 1; + }; + }; + }; +}; diff --git a/addons/compat_rhs_afrf3/config.cpp b/addons/compat_rhs_afrf3/config.cpp new file mode 100644 index 000000000..a5170bf2f --- /dev/null +++ b/addons/compat_rhs_afrf3/config.cpp @@ -0,0 +1,18 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + name = COMPONENT_NAME; + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"acre_main", "acre_api", "rhs_main_loadorder"}; + skipWhenMissingDependencies = 1; + author = ECSTRING(main,Author); + authors[] = {"mrschick"}; + url = ECSTRING(main,URL); + VERSION_CONFIG; + }; +}; + +#include "CfgVehicles.hpp" diff --git a/addons/compat_rhs_afrf3/script_component.hpp b/addons/compat_rhs_afrf3/script_component.hpp new file mode 100644 index 000000000..785a2c607 --- /dev/null +++ b/addons/compat_rhs_afrf3/script_component.hpp @@ -0,0 +1,13 @@ +#define COMPONENT compat_rhs_afrf3 +#define COMPONENT_BEAUTIFIED RHS AFRF Compatibility +#include "\idi\acre\addons\main\script_mod.hpp" + +#ifdef DEBUG_ENABLED_COMPAT_RHS_AFRF3 + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_ENABLED_COMPAT_RHS_AFRF3 + #define DEBUG_SETTINGS DEBUG_SETTINGS_COMPAT_RHS_AFRF3 +#endif + +#include "\idi\acre\addons\main\script_macros.hpp" diff --git a/addons/compat_rhs_usf3/$PBOPREFIX$ b/addons/compat_rhs_usf3/$PBOPREFIX$ new file mode 100644 index 000000000..49c321ab0 --- /dev/null +++ b/addons/compat_rhs_usf3/$PBOPREFIX$ @@ -0,0 +1 @@ +idi\acre\addons\compat_rhs_usf3 diff --git a/addons/compat_rhs_usf3/CfgVehicles.hpp b/addons/compat_rhs_usf3/CfgVehicles.hpp new file mode 100644 index 000000000..c434360c4 --- /dev/null +++ b/addons/compat_rhs_usf3/CfgVehicles.hpp @@ -0,0 +1,550 @@ +class CfgVehicles { + // Cars + class rhsusf_hmmwe_base; + class rhsusf_m998_w_2dr: rhsusf_hmmwe_base { + class AcreRacks { + class Rack_1 { + displayName = ECSTRING(sys_rack,dash); + shortName = ECSTRING(sys_rack,dashShort); + componentName = "ACRE_VRC110"; + allowedPositions[] = {"driver", {"turret", {2}}}; + isRadioRemovable = 1; + intercom[] = {"intercom_1"}; + }; + }; + + attenuationEffectType = "SemiOpenCarAttenuation"; + }; + + class rhsusf_m998_w_2dr_halftop: rhsusf_m998_w_2dr { + class AcreRacks { + class Rack_1 { + displayName = ECSTRING(sys_rack,dash); + shortName = ECSTRING(sys_rack,dashShort); + componentName = "ACRE_VRC110"; + allowedPositions[] = {"driver", {"cargo", 0}}; + isRadioRemovable = 1; + intercom[] = {"intercom_1"}; + }; + }; + }; + + class rhsusf_m998_w_2dr_fulltop: rhsusf_m998_w_2dr_halftop { + attenuationEffectType = "SemiOpenCarAttenuation"; + }; + + class rhsusf_m998_w_4dr; + class rhsusf_m998_w_4dr_halftop: rhsusf_m998_w_4dr { + class AcreRacks { + class Rack_1 { + displayName = ECSTRING(sys_rack,dash); + shortName = ECSTRING(sys_rack,dashShort); + componentName = "ACRE_VRC110"; + allowedPositions[] = {"driver", {"cargo", 0}}; + isRadioRemovable = 1; + intercom[] = {"intercom_1"}; + }; + }; + }; + + class rhsusf_m998_w_4dr_fulltop: rhsusf_m998_w_4dr_halftop { + attenuationEffectType = "SemiOpenCarAttenuation"; + }; + + class rhsusf_m1025_w: rhsusf_m998_w_4dr_fulltop { + class AcreRacks { + class Rack_1 { + displayName = ECSTRING(sys_rack,dash); + shortName = ECSTRING(sys_rack,dashShort); + componentName = "ACRE_VRC110"; + allowedPositions[] = {"driver", {"turret", {0}}}; + isRadioRemovable = 1; + intercom[] = {"intercom_1"}; + }; + }; + + attenuationEffectType = "RHS_CarAttenuation"; + }; + + class rhsusf_m1025_w_m2: rhsusf_m1025_w { + class AcreRacks { + class Rack_1 { + displayName = ECSTRING(sys_rack,dash); + shortName = ECSTRING(sys_rack,dashShort); + componentName = "ACRE_VRC110"; + allowedPositions[] = {"driver", {"turret", {1}}}; + isRadioRemovable = 1; + intercom[] = {"intercom_1"}; + }; + }; + }; + + class rhsusf_m966_w: rhsusf_m1025_w { + class AcreRacks { + class Rack_1 { + displayName = ECSTRING(sys_rack,dash); + shortName = ECSTRING(sys_rack,dashShort); + componentName = "ACRE_VRC110"; + allowedPositions[] = {"driver", {"turret", {1}}}; + isRadioRemovable = 1; + intercom[] = {"intercom_1"}; + }; + }; + }; + + class MRAP_01_base_F; + class rhsusf_m1151_base: MRAP_01_base_F { + class AcreRacks { + class Rack_1 { + displayName = ECSTRING(sys_rack,dashUpper); + shortName = ECSTRING(sys_rack,dashUpperShort); + componentName = "ACRE_VRC110"; + allowedPositions[] = {"inside"}; + isRadioRemovable = 1; + intercom[] = {"intercom_1"}; + }; + class Rack_2 { + displayName = ECSTRING(sys_rack,dashLower); + shortName = ECSTRING(sys_rack,dashLowerShort); + componentName = "ACRE_VRC103"; + allowedPositions[] = {"inside"}; + mountedRadio = "ACRE_PRC117F"; + intercom[] = {"intercom_1"}; + }; + }; + }; + + class rhsusf_m1151_GPK_base: rhsusf_m1151_base { + class AcreRacks { + class Rack_1 { + displayName = ECSTRING(sys_rack,dashUpper); + shortName = ECSTRING(sys_rack,dashUpperShort); + componentName = "ACRE_VRC110"; + allowedPositions[] = {"inside"}; + disabledPositions[] = {"gunner"}; + isRadioRemovable = 1; + intercom[] = {"intercom_1"}; + }; + class Rack_2 { + displayName = ECSTRING(sys_rack,dashLower); + shortName = ECSTRING(sys_rack,dashLowerShort); + componentName = "ACRE_VRC103"; + allowedPositions[] = {"inside"}; + disabledPositions[] = {"gunner"}; + mountedRadio = "ACRE_PRC117F"; + intercom[] = {"intercom_1"}; + }; + }; + }; + + class rhsusf_m1152_base; + class rhsusf_m1152_sicps_base: rhsusf_m1152_base { + class AcreRacks { + class Rack_1 { + displayName = ECSTRING(sys_rack,dashUpper); + shortName = ECSTRING(sys_rack,dashUpperShort); + componentName = "ACRE_VRC110"; + allowedPositions[] = {"inside"}; + isRadioRemovable = 1; + intercom[] = {"intercom_1"}; + }; + class Rack_2 { + displayName = ECSTRING(sys_rack,dashLower); + shortName = ECSTRING(sys_rack,dashLowerShort); + componentName = "ACRE_VRC103"; + allowedPositions[] = {"inside"}; + mountedRadio = "ACRE_PRC117F"; + intercom[] = {"intercom_1"}; + }; + class Rack_3: Rack_2 { + displayName = ECSTRING(sys_rack,dash); + shortName = ECSTRING(sys_rack,dashShort); + }; + }; + }; + + class rhsusf_mrzr_base: MRAP_01_base_F { + class AcreRacks { + class Rack_1 { + displayName = ECSTRING(sys_rack,dashUpper); + shortName = ECSTRING(sys_rack,dashUpperShort); + componentName = "ACRE_VRC110"; + allowedPositions[] = {"driver", {"turret", {0}}}; + isRadioRemovable = 1; + intercom[] = {"intercom_1"}; + }; + }; + }; + + class rhsusf_M1165A1_GMV_SAG2_base: rhsusf_m1151_base { + class AcreRacks { + class Rack_1 { + displayName = ECSTRING(sys_rack,dashUpper); + shortName = ECSTRING(sys_rack,dashUpperShort); + componentName = "ACRE_VRC110"; + allowedPositions[] = {"driver", {"cargo", "all"}, {"turret", {1}}}; + disabledPositions[] = {"gunner"}; + isRadioRemovable = 1; + intercom[] = {"intercom_1"}; + }; + class Rack_2 { + displayName = ECSTRING(sys_rack,dashLower); + shortName = ECSTRING(sys_rack,dashLowerShort); + componentName = "ACRE_VRC103"; + allowedPositions[] = {"driver", {"cargo", "all"}, {"turret", {1}}}; + disabledPositions[] = {"gunner"}; + mountedRadio = "ACRE_PRC117F"; + intercom[] = {"intercom_1"}; + }; + }; + }; + + // MRAPs + class Truck_01_base_F; + class rhsusf_caiman_base: Truck_01_base_F { + class AcreRacks { + class Rack_1 { + displayName = ECSTRING(sys_rack,dashUpper); + shortName = ECSTRING(sys_rack,dashUpperShort); + componentName = "ACRE_VRC110"; + allowedPositions[] = {"driver", {"cargo", 0}}; + disabledPositions[] = {}; + isRadioRemovable = 1; + intercom[] = {"intercom_1"}; + }; + class Rack_2 { + displayName = ECSTRING(sys_rack,dashLower); + shortName = ECSTRING(sys_rack,dashLowerShort); + componentName = "ACRE_VRC103"; + allowedPositions[] = {"driver", {"cargo", 0}}; + disabledPositions[] = {}; + mountedRadio = "ACRE_PRC117F"; + intercom[] = {"intercom_1"}; + }; + }; + + attenuationEffectType = "RHS_CarAttenuation"; + }; + + class rhsusf_caiman_GPK_base; + class rhsusf_M1220_M153_M2_usarmy_d: rhsusf_caiman_GPK_base { + class AcreRacks { + class Rack_1 { + displayName = ECSTRING(sys_rack,dashUpper); + shortName = ECSTRING(sys_rack,dashUpperShort); + componentName = "ACRE_VRC110"; + allowedPositions[] = {"driver", "gunner"}; + disabledPositions[] = {}; + isRadioRemovable = 1; + intercom[] = {"intercom_1"}; + }; + class Rack_2 { + displayName = ECSTRING(sys_rack,dashLower); + shortName = ECSTRING(sys_rack,dashLowerShort); + componentName = "ACRE_VRC103"; + allowedPositions[] = {"driver", "gunner"}; + disabledPositions[] = {}; + mountedRadio = "ACRE_PRC117F"; + intercom[] = {"intercom_1"}; + }; + }; + }; + + class rhsusf_MATV_base: MRAP_01_base_F { + class AcreRacks { + class Rack_1 { + displayName = ECSTRING(sys_rack,dashUpper); + shortName = ECSTRING(sys_rack,dashUpperShort); + componentName = "ACRE_VRC110"; + allowedPositions[] = {"driver", {"turret", {0}, {1}}}; + disabledPositions[] = {"gunner"}; + isRadioRemovable = 1; + intercom[] = {"intercom_1"}; + }; + class Rack_2 { + displayName = ECSTRING(sys_rack,dashLower); + shortName = ECSTRING(sys_rack,dashLowerShort); + componentName = "ACRE_VRC103"; + allowedPositions[] = {"driver", {"turret", {0}, {1}}}; + disabledPositions[] = {"gunner"}; + mountedRadio = "ACRE_PRC117F"; + intercom[] = {"intercom_1"}; + }; + }; + }; + + class rhsusf_MATV_armed_base; + class rhsusf_MATV_CROWS_base: rhsusf_MATV_armed_base { + class AcreRacks { + class Rack_1 { + displayName = ECSTRING(sys_rack,dashUpper); + shortName = ECSTRING(sys_rack,dashUpperShort); + componentName = "ACRE_VRC110"; + allowedPositions[] = {"driver", "gunner", {"turret", {1}}}; + disabledPositions[] = {}; + isRadioRemovable = 1; + intercom[] = {"intercom_1"}; + }; + class Rack_2 { + displayName = ECSTRING(sys_rack,dashLower); + shortName = ECSTRING(sys_rack,dashLowerShort); + componentName = "ACRE_VRC103"; + allowedPositions[] = {"driver", "gunner", {"turret", {1}}}; + disabledPositions[] = {}; + mountedRadio = "ACRE_PRC117F"; + intercom[] = {"intercom_1"}; + }; + }; + }; + + // Trucks + class rhsusf_himars_base: Truck_01_base_F { + class AcreRacks { + class Rack_1 { + displayName = ECSTRING(sys_rack,dash); + shortName = ECSTRING(sys_rack,dashShort); + componentName = "ACRE_VRC103"; + allowedPositions[] = {"inside"}; + mountedRadio = "ACRE_PRC117F"; + intercom[] = {"intercom_1"}; + }; + }; + + attenuationEffectType = "RHS_CarAttenuation"; + }; + + class rhsusf_M977A4_usarmy_wd; + class rhsusf_M977A4_BKIT_usarmy_wd: rhsusf_M977A4_usarmy_wd { + attenuationEffectType = "MrapAttenuation"; + }; + class rhsusf_M977A4_BKIT_M2_usarmy_wd: rhsusf_M977A4_usarmy_wd { + attenuationEffectType = "MrapAttenuation"; + }; + class rhsusf_M978A4_BKIT_usarmy_wd: rhsusf_M977A4_usarmy_wd { + attenuationEffectType = "MrapAttenuation"; + }; + + // AFVs + class Wheeled_APC_F; + class rhsusf_stryker_base: Wheeled_APC_F { + class AcreIntercoms { + class Intercom_1 { + displayName = ECSTRING(sys_intercom,crewIntercom); + shortName = ECSTRING(sys_intercom,shortCrewIntercom); + allowedPositions[] = {"crew"}; + limitedPositions[] = {{"cargo", "all"}, {"turret", {3}, {4}}}; + masterPositions[] = {"gunner"}; + numLimitedPositions = 1; + connectedByDefault = 1; + }; + class Intercom_2: Intercom_1 { + displayName = ECSTRING(sys_intercom,passengerIntercom); + shortName = ECSTRING(sys_intercom,shortPassengerIntercom); + allowedPositions[] = {"inside"}; + limitedPositions[] = {}; + numLimitedPositions = 0; + connectedByDefault = 0; + }; + }; + }; + + class rhsusf_stryker_m1126_m2_base; + class rhsusf_stryker_m1134_base: rhsusf_stryker_m1126_m2_base { + class AcreIntercoms { + class Intercom_1 { + displayName = ECSTRING(sys_intercom,crewIntercom); + shortName = ECSTRING(sys_intercom,shortCrewIntercom); + allowedPositions[] = {"inside"}; + limitedPositions[] = {}; + masterPositions[] = {{"turret", {1}}}; + numLimitedPositions = 1; + connectedByDefault = 1; + }; + }; + }; + + class APC_Tracked_03_base_F; + class RHS_M2A2_Base: APC_Tracked_03_base_F { + class AcreIntercoms { + class Intercom_1 { + displayName = ECSTRING(sys_intercom,crewIntercom); + shortName = ECSTRING(sys_intercom,shortCrewIntercom); + allowedPositions[] = {"crew"}; + limitedPositions[] = {{"cargo", "all"}}; + masterPositions[] = {"commander"}; + numLimitedPositions = 1; + connectedByDefault = 1; + }; + class Intercom_2: Intercom_1 { + displayName = ECSTRING(sys_intercom,passengerIntercom); + shortName = ECSTRING(sys_intercom,shortPassengerIntercom); + allowedPositions[] = {"inside"}; + limitedPositions[] = {}; + numLimitedPositions = 0; + connectedByDefault = 0; + }; + }; + + acre_hasInfantryPhone = 0; + }; + + class APC_Tracked_02_base_F; + class rhsusf_m113tank_base: APC_Tracked_02_base_F { + acre_hasInfantryPhone = 0; + }; + + class MBT_01_base_F; + class rhsusf_m1a1tank_base: MBT_01_base_F { + class AcreIntercoms { + class Intercom_1 { + displayName = ECSTRING(sys_intercom,crewIntercom); + shortName = ECSTRING(sys_intercom,shortCrewIntercom); + allowedPositions[] = {"inside"}; + limitedPositions[] = {}; + masterPositions[] = {"commander"}; + numLimitedPositions = 0; + connectedByDefault = 1; + }; + }; + + acre_infantryPhonePosition[] = {1.53, -4.87, -0.04}; + }; + + // Aircraft + class Heli_Transport_01_base_F; + class RHS_UH60_Base: Heli_Transport_01_base_F { + class AcreRacks { + class Rack_1 { + displayName = ECSTRING(sys_rack,dash); + shortName = ECSTRING(sys_rack,dashShort); + componentName = "ACRE_VRC103"; + allowedPositions[] = {"driver", "copilot"}; + mountedRadio = "ACRE_PRC117F"; + }; + class Rack_2: Rack_1 { + displayName = ECSTRING(sys_rack,dash2); + shortName = ECSTRING(sys_rack,dashShort); + }; + }; + + class AcreIntercoms { + class Intercom_1 { + displayName = ECSTRING(sys_intercom,crewIntercom); + shortName = ECSTRING(sys_intercom,shortCrewIntercom); + allowedPositions[] = {"crew"}; + limitedPositions[] = {{"cargo", "all"}, {"ffv", "all"}}; + masterPositions[] = {"driver", "copilot"}; + numLimitedPositions = 2; + connectedByDefault = 1; + }; + class Intercom_2: Intercom_1 { + displayName = ECSTRING(sys_intercom,passengerIntercom); + shortName = ECSTRING(sys_intercom,shortPassengerIntercom); + allowedPositions[] = {"crew", {"cargo", "all"}, {"ffv", "all"}}; + limitedPositions[] = {}; + numLimitedPositions = 0; + connectedByDefault = 0; + }; + }; + }; + + class Heli_light_03_base_F; + class RHS_UH1_Base: Heli_light_03_base_F { + class AcreIntercoms { + class Intercom_1 { + displayName = ECSTRING(sys_intercom,crewIntercom); + shortName = ECSTRING(sys_intercom,shortCrewIntercom); + allowedPositions[] = {"crew"}; + limitedPositions[] = {{"cargo", "all"}, {"ffv", "all"}}; + masterPositions[] = {"driver", "gunner"}; + numLimitedPositions = 2; + connectedByDefault = 1; + }; + class Intercom_2: Intercom_1 { + displayName = ECSTRING(sys_intercom,passengerIntercom); + shortName = ECSTRING(sys_intercom,shortPassengerIntercom); + allowedPositions[] = {"crew", {"cargo", "all"}, {"ffv", "all"}}; + limitedPositions[] = {}; + numLimitedPositions = 0; + connectedByDefault = 0; + }; + }; + }; + + class Heli_Transport_02_base_F; + class RHS_CH_47F_base: Heli_Transport_02_base_F { + class AcreRacks { + class Rack_1 { + displayName = ECSTRING(sys_rack,dash); + shortName = ECSTRING(sys_rack,dashShort); + componentName = "ACRE_VRC103"; + allowedPositions[] = {"driver", "copilot"}; + mountedRadio = "ACRE_PRC117F"; + }; + class Rack_2: Rack_1 { + displayName = ECSTRING(sys_rack,dash2); + shortName = ECSTRING(sys_rack,dashShort); + }; + }; + }; + + class Helicopter_Base_H; + class rhsusf_CH53E_USMC: Helicopter_Base_H { + class AcreIntercoms { + class Intercom_1 { + displayName = ECSTRING(sys_intercom,crewIntercom); + shortName = ECSTRING(sys_intercom,shortCrewIntercom); + allowedPositions[] = {"crew"}; + limitedPositions[] = {{"cargo", "all"}}; + masterPositions[] = {"driver", "copilot", "gunner"}; + numLimitedPositions = 2; + connectedByDefault = 1; + }; + class Intercom_2: Intercom_1 { + displayName = ECSTRING(sys_intercom,passengerIntercom); + shortName = ECSTRING(sys_intercom,shortPassengerIntercom); + allowedPositions[] = {"crew", {"cargo", "all"}}; + limitedPositions[] = {}; + numLimitedPositions = 0; + connectedByDefault = 0; + }; + }; + }; + + class Plane_Base_F; + class RHS_C130J_Base: Plane_Base_F { + class AcreIntercoms { + class Intercom_1 { + displayName = ECSTRING(sys_intercom,crewIntercom); + shortName = ECSTRING(sys_intercom,shortCrewIntercom); + allowedPositions[] = {"crew", {"cargo", 0}}; + limitedPositions[] = {{"cargo", "all"}}; + masterPositions[] = {"driver", "copilot", {"cargo", 0}}; + numLimitedPositions = 2; + connectedByDefault = 1; + }; + class Intercom_2: Intercom_1 { + displayName = ECSTRING(sys_intercom,passengerIntercom); + shortName = ECSTRING(sys_intercom,shortPassengerIntercom); + allowedPositions[] = {"crew", {"cargo", "all"}}; + limitedPositions[] = {}; + numLimitedPositions = 0; + connectedByDefault = 0; + }; + }; + }; + + // Boats + class RHS_Ship; + class rhsusf_mkvsoc: RHS_Ship { + class AcreRacks { + class Rack_1 { + displayName = ECSTRING(sys_rack,dash); + shortName = ECSTRING(sys_rack,dash); + componentName = "ACRE_VRC103"; + allowedPositions[] = {"driver", "commander", {"turret", {5}}}; + mountedRadio = "ACRE_PRC117F"; + }; + }; + }; +}; diff --git a/addons/compat_rhs_usf3/config.cpp b/addons/compat_rhs_usf3/config.cpp new file mode 100644 index 000000000..629308632 --- /dev/null +++ b/addons/compat_rhs_usf3/config.cpp @@ -0,0 +1,18 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + name = COMPONENT_NAME; + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"acre_main", "acre_api", "rhsusf_main_loadorder"}; + skipWhenMissingDependencies = 1; + author = ECSTRING(main,Author); + authors[] = {"mrschick"}; + url = ECSTRING(main,URL); + VERSION_CONFIG; + }; +}; + +#include "CfgVehicles.hpp" diff --git a/addons/compat_rhs_usf3/script_component.hpp b/addons/compat_rhs_usf3/script_component.hpp new file mode 100644 index 000000000..9048bc1b0 --- /dev/null +++ b/addons/compat_rhs_usf3/script_component.hpp @@ -0,0 +1,13 @@ +#define COMPONENT compat_rhs_usf3 +#define COMPONENT_BEAUTIFIED RHS USAF Compatibility +#include "\idi\acre\addons\main\script_mod.hpp" + +#ifdef DEBUG_ENABLED_COMPAT_RHS_USF3 + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_ENABLED_COMPAT_RHS_USF3 + #define DEBUG_SETTINGS DEBUG_SETTINGS_COMPAT_RHS_USF3 +#endif + +#include "\idi\acre\addons\main\script_macros.hpp"