From ebd3410bb558aff722c457d967dcc64c8d611754 Mon Sep 17 00:00:00 2001 From: lambdatiger Date: Sat, 8 Feb 2025 12:19:43 -0600 Subject: [PATCH 1/3] Added GM compat and PGO-7 dovetail asdg --- addons/jr/CfgWeapons.hpp | 9 ++++ addons/jr/compat_gm/config.cpp | 31 ++++++++++++ addons/jr/compat_gm/jr_classes.hpp | 61 ++++++++++++++++++++++++ addons/jr/compat_gm/script_component.hpp | 2 + addons/jr/jr_classes.hpp | 6 +++ 5 files changed, 109 insertions(+) create mode 100644 addons/jr/compat_gm/config.cpp create mode 100644 addons/jr/compat_gm/jr_classes.hpp create mode 100644 addons/jr/compat_gm/script_component.hpp diff --git a/addons/jr/CfgWeapons.hpp b/addons/jr/CfgWeapons.hpp index dab86f162b..efbdbb0e4c 100644 --- a/addons/jr/CfgWeapons.hpp +++ b/addons/jr/CfgWeapons.hpp @@ -34,6 +34,15 @@ class CfgWeapons { }; }; + class launch_RPG7_F: Launcher_Base_F { + class WeaponSlotsInfo: WeaponSlotsInfo { + class CowsSlot: asdg_OpticSideRail_RPG7 { + iconPosition[] = {0.45,0.38}; + iconScale = 0.2; + }; + }; + }; + class EBR_base_F: Rifle_Long_Base_F { class WeaponSlotsInfo; }; diff --git a/addons/jr/compat_gm/config.cpp b/addons/jr/compat_gm/config.cpp new file mode 100644 index 0000000000..46cfc6b135 --- /dev/null +++ b/addons/jr/compat_gm/config.cpp @@ -0,0 +1,31 @@ +#include "script_component.hpp" + +class CfgPatches { + class SUBADDON { + name = CSTRING(component); + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = { + "cba_jr", + "gm_weapons_attachments_optics_feroz24", + "gm_weapons_attachments_optics_c79", + "gm_weapons_attachments_optics_lsscope", + "gm_weapons_attachments_optics_lightscope", + "gm_weapons_attachments_optics_rv", + "gm_weapons_attachments_optics_zf10x42", + "gm_weapons_attachments_optics_nspu", + "gm_weapons_attachments_optics_pgo7", + "gm_weapons_attachments_optics_pka", + "gm_weapons_attachments_optics_zfk4x25", + "gm_weapons_attachments_optics_zln1k" + }; + author = "$STR_CBA_Author"; + authors[] = {}; + url = "$STR_CBA_URL"; + skipWhenMissingDependencies = 1; + VERSION_CONFIG; + }; +}; + +#include "jr_classes.hpp" diff --git a/addons/jr/compat_gm/jr_classes.hpp b/addons/jr/compat_gm/jr_classes.hpp new file mode 100644 index 0000000000..c2f9e31461 --- /dev/null +++ b/addons/jr/compat_gm/jr_classes.hpp @@ -0,0 +1,61 @@ +class asdg_OpticRail; + +// Picatinny rails for optic mounts +class asdg_OpticRail1913: asdg_OpticRail { // the "medium" rail, long enough to fit any optic, but not enough to attach a clip-on NVS in front of a long scope. + class compatibleItems { + gm_blits_ris_blk = 1; + gm_c79a1_blk = 1; + gm_c79a1_oli = 1; + gm_feroz24_ris_blk = 1; + gm_feroz51_ris_oli = 1; + gm_ls1500_ir_ris_blk = 1; + gm_ls1500_red_ris_blk = 1; + gm_ls45_ir_ris_blk = 1; + gm_ls45_red_ris_blk = 1; + gm_lsminiv_ir_ris_blk = 1; + gm_lsminiv_red_ris_blk = 1; + gm_maglite_3d_ris_blk = 1; + gm_rv_ris_blk = 1; + gm_streamlight_sl20_ris_blk = 1; + gm_streamlight_sl20_ris_brn = 1; + gm_zf10x42_ris_blk = 1; + gm_zf10x42_ris_oli = 1; + }; +}; + +class asdg_OpticSideMount: asdg_OpticRail { + class compatibleItems {}; +}; + +class asdg_OpticSideRail_AK: asdg_OpticSideMount { + class compatibleItems: compatibleItems { + gm_nspu_dovetail_blk = 1; + gm_nspu_dovetail_gry = 1; + gm_pgo7v_blk = 1; + gm_pka_dovetail_blk = 1; + gm_pka_dovetail_gry = 1; + gm_zfk4x25_blk = 1; + gm_zln1k_grn_dovetail_blk = 1; + gm_zln1k_grn_dovetail_gry = 1; + gm_zln1k_ir_dovetail_blk = 1; + gm_zln1k_ir_dovetail_gry = 1; + }; +}; +class asdg_OpticSideRail_SVD: asdg_OpticSideMount { + class compatibleItems: compatibleItems { + gm_nspu_dovetail_blk = 1; + gm_nspu_dovetail_gry = 1; + gm_pka_dovetail_blk = 1; + gm_pka_dovetail_gry = 1; + gm_pso6x36_1_dovetail_blk = 1; + gm_pso6x36_1_dovetail_gry = 1; + gm_pso1_dovetail_blk = 1; + gm_pso1_dovetail_gry = 1; + }; +}; + +class asdg_OpticSideRail_RPG7: asdg_OpticSideMount { + class compatibleItems: compatibleItems { + gm_pgo7v_blk = 1; + }; +}; diff --git a/addons/jr/compat_gm/script_component.hpp b/addons/jr/compat_gm/script_component.hpp new file mode 100644 index 0000000000..8a807b96cd --- /dev/null +++ b/addons/jr/compat_gm/script_component.hpp @@ -0,0 +1,2 @@ +#define SUBCOMPONENT gm +#include "..\script_component.hpp" diff --git a/addons/jr/jr_classes.hpp b/addons/jr/jr_classes.hpp index 484cb36f49..21a4808e3f 100644 --- a/addons/jr/jr_classes.hpp +++ b/addons/jr/jr_classes.hpp @@ -194,6 +194,12 @@ class asdg_OpticSideRail_AKSVD: asdg_OpticSideMount { }; }; +class asdg_OpticSideRail_RPG7: asdg_OpticSideMount { + class compatibleItems: compatibleItems { + // side plate that fits RPG-7 + }; +}; + // Muzzle slots class asdg_MuzzleSlot_762: asdg_MuzzleSlot { // for 7.62x51 universal mount suppressors From 88d19831926b2828b0b8bd594e464478da67c3dd Mon Sep 17 00:00:00 2001 From: lambdatiger Date: Sat, 8 Feb 2025 12:29:20 -0600 Subject: [PATCH 2/3] removed uncessary comments --- addons/jr/compat_gm/jr_classes.hpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/addons/jr/compat_gm/jr_classes.hpp b/addons/jr/compat_gm/jr_classes.hpp index c2f9e31461..2a8b5131c7 100644 --- a/addons/jr/compat_gm/jr_classes.hpp +++ b/addons/jr/compat_gm/jr_classes.hpp @@ -1,7 +1,6 @@ class asdg_OpticRail; -// Picatinny rails for optic mounts -class asdg_OpticRail1913: asdg_OpticRail { // the "medium" rail, long enough to fit any optic, but not enough to attach a clip-on NVS in front of a long scope. +class asdg_OpticRail1913: asdg_OpticRail { class compatibleItems { gm_blits_ris_blk = 1; gm_c79a1_blk = 1; From 0431fad815838a8b44417b9d647631fb203950e3 Mon Sep 17 00:00:00 2001 From: lambdatiger Date: Sat, 8 Feb 2025 12:33:58 -0600 Subject: [PATCH 3/3] Added missing dependency --- addons/jr/compat_gm/config.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/addons/jr/compat_gm/config.cpp b/addons/jr/compat_gm/config.cpp index 46cfc6b135..204d82f308 100644 --- a/addons/jr/compat_gm/config.cpp +++ b/addons/jr/compat_gm/config.cpp @@ -18,7 +18,8 @@ class CfgPatches { "gm_weapons_attachments_optics_pgo7", "gm_weapons_attachments_optics_pka", "gm_weapons_attachments_optics_zfk4x25", - "gm_weapons_attachments_optics_zln1k" + "gm_weapons_attachments_optics_zln1k", + "gm_weapons_attachments_optics_pso1" }; author = "$STR_CBA_Author"; authors[] = {};