ASDG Joint Rails

Robalo
1
23,465
ASDG Joint Rails is a config addon which defines weapon rails using the new attachment config system available since patch 1.04 came out (31 Oct 2013).

Download from Dev-Heaven

Download from Armaholic. Thanks Foxhound!

The rails are attached by default to all vanilla weapons. The goal is to provide a common system which can be used by weapon and attachment mod makers in order to prevent mod conflicts.

List of mods supporting this system (thanks to the authors for their support !):

FHQ Accessories
FHQ M4 for Arma 3
ASDG Attachments
AV_IndUs (US Army inspired units) - provides optional ASDG JR config by Stiltman
Design Mastery Weapons - config for ASDG JR provided by JonieTurnock. Note: this config also requires RHARD Mk18 - see link below.
EricJ Weapons Pack
Sham's US Armament Pack
NATO SF and Russian Spetsnaz WEAPONS - since v1.2 it includes an updated JR config provided by Massi.
G36 Pack
Toadie's SmallArms and Animations
Purple Famas pack
benelli m4 super 90 pack by Purple
ADF-UNCUT
Sudden's Russians - a config for ASDG JR compatibility is available: lukrop's customized configs
Hellenic Armed Forces
TMR Modular Realism
STI Weapons - Machineguns

As examples of how the system can be used by modders and for the immediate practical value to players, I have bundled a few optional config addons in the opt directory, for use with these mods:

Iansky's scopes
RH M4/M16 pack
RHARD Mk18
Christian.1987's Mp7 ported to A3
TMR Modular Realism - Note: if you have ASDG Attachments (recommended, see link above), don't use the optional config provided here. Use the optional tmr_autorest that comes with ASDG Attachments instead. - no longer needed, use TMR 0.4 or newer instead.

Note: to activate any of these configs in game you have to copy them from @ASDG_JRopt to @ASDG_JRaddons.


Changes
-----------
0.8
Updated for Arma 3 v1.08 (added LRPS compatibility with asdg_OpticRail1913)
LMG_Mk200_F uses the short rail (asdg_OpticRail1913_short)
Updated the bonus config for RH M4-M16 pack v1.05 (added RH_ta31rco_2D compatibility with asdg_OpticRail1913)

0.7
Added new base class: asdg_OpticRail1913_short. It will take all the optics from asdg_OpticRail1913 except those which require a long rail to attach, like the DMS. It is used by default on the Tavor and the Zafir. Thanks to Alwarren for the suggestion !
Updated config for RH M4/M16 pack
Removed config for FHQ Accessories (not needed anymore since the latest version added support for ASDG JR)
Added config for TMR (enables attaching bipod for Rahim rifle)

0.6
Removed all changes to the vanilla slots.
Added bonus configs for a few more mods (RH M4, RHARD Mk18, GvsE's Mp7 and Massi's weapon pack).

0.5
Initial release




Attachment config example:
Code:
class CfgPatches {
	class my_cool_attachments {
		units[] = {};
		weapons[] = {};
		requiredVersion = 1.04;
		requiredAddons[] = {"asdg_jointrails"};
	};
};

class asdg_SlotInfo;

class asdg_FrontSideRail: asdg_SlotInfo {
	class compatibleItems {
		my_cool_flashlight = 1;
		my_cool_bipod = 1;
	};
};

class asdg_OpticRail;

class asdg_OpticRail1913: asdg_OpticRail {
	class compatibleItems {
		my_cool_acog = 1;
		my_cool_aimpoint = 1;
		my_cool_scope_which_needs_a_long_top_rail = 1;
	};
};

class asdg_OpticRail1913_short: asdg_OpticRail1913 {
	class compatibleItems:  compatibleItems {
		my_cool_scope_which_needs_a_long_top_rail = 0;
	};
};

// having the attachments defined compatible with the common rails, they will automatically work on all weapons which use these rails.

// in case some attachments work for most weapons but not for some, I can declare them incompatible as below

class CfgWeapons {
	class Rifle_Base_F;

	class Rifle_Long_Base_F: Rifle_Base_F {
		class WeaponSlotsInfo;
	};

	class EBR_base_F: Rifle_Long_Base_F {
		class WeaponSlotsInfo: WeaponSlotsInfo {
			class asdg_OpticRail_EBR: asdg_OpticRail1913 {
				class compatibleItems: compatibleItems {
					my_cool_aimpoint = 0; // my cool aimpoint's mount doesn't fit here
				};
			};
		};
	};
	class Tavor_base_F: Rifle_Base_F {
		class WeaponSlotsInfo: WeaponSlotsInfo {
			class asdg_FrontSideRail_Tavor: asdg_FrontSideRail {
				class compatibleItems: compatibleItems {
					my_cool_bipod = 0; // my cool bipod doesn't look good on the Tavor
				};
			};
		};
	};
};
Weapon config example:
Code:
class CfgPatches {
	class my_cool_new_rifle {
		units[] = {};
		weapons[] = {};
		requiredVersion = 1.04;
		requiredAddons[] = {"asdg_jointrails"};
	};
};

class asdg_FrontSideRail;
class asdg_OpticRail1913;
class asdg_OpticRail1913_short;

class CfgWeapons {
	class Rifle;
	
	class Rifle_Base_F : Rifle {
		class WeaponSlotsInfo;
	};

	class my_cool_new_rifle_with_a_full_picatinny_top_rail : Rifle_Base_F {
		class WeaponSlotsInfo {
			mass = 60;
			allowedSlots[] = {901};
			class asdg_FrontSideRail_MyRifle: asdg_FrontSideRail {};
			class asdg_OpticRail_MyRifle: asdg_OpticRail1913 {};
		};
	};
	class my_cool_new_rifle_with_short_picattiny_top_rail : Rifle_Base_F {
		class WeaponSlotsInfo {
			mass = 60;
			allowedSlots[] = {901};
			class asdg_FrontSideRail_MyRifle: asdg_FrontSideRail {};
			class asdg_OpticRail_MyRifle: asdg_OpticRail1913_short {};
		};
	};
};
Known limitations

Scripts that rely on hard-coded weapon slot class names (CowsSlot, PointerSlot) will not be able to recognize the compatible attachments properly. They should be adapted to read class names dynamically from the config. If you're using VAS, make sure you have at least version 2.1 which is compatible with ASDG JR (thanks Tonic!).

Comments

Copyright © 2017. APC Technology Group. All Rights Reserved.