Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JAM - Add 1.92 vanilla mag wells #1133

Merged
merged 2 commits into from
May 1, 2019
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 18 additions & 21 deletions addons/jam/CfgWeapons.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -6,76 +6,73 @@ class CfgWeapons {
class Rifle_Short_Base_F;

class mk20_base_F: Rifle_Base_F {
magazineWell[] = {"CBA_556x45_STANAG", "CBA_556x45_STANAG_L", "CBA_556x45_STANAG_XL", "CBA_556x45_STANAG_2D"};
magazineWell[] = {"STANAG_556x45", "CBA_556x45_STANAG", "CBA_556x45_STANAG_L", "CBA_556x45_STANAG_XL", "CBA_556x45_STANAG_2D"};
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe we should just use += ?
Currently we also break any mod that gets loaded before CBA and tries to add magwells.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you even += with all the inheritance going on?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure. If a subclass just uses = that will not be of any use. But that would also break our = in the base class so that doesn't matter.
Just need to make sure that requiredAddons is correct, which is already correct.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+= also fails horribly if the magazineWell token is inherited. I guess I will have to check all classes, but thankfully I have the config dumps.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

wasn't += built to work with inheritance? so that you can just add elements instead of overwriting..

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No. It breaks for inherited tokens, but it works for different config patches adding to the same class.

Copy link
Contributor

@commy2 commy2 May 3, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It even breaks in funny ways like adding the same array element twice overwriting the old ones. It goes completely bonkers. It is a terrible idea to rely on it for this stuff, but whatever rocks their boat. I will quickly eat something and then do what we need to in CBA and ACE PRs. Gimme a minute.

};
class SDAR_base_F: Rifle_Base_F {
magazineWell[] = {"CBA_556x45_STANAG"};
magazineWell[] = {"STANAG_556x45", "CBA_556x45_STANAG"};
};
class Tavor_base_F: Rifle_Base_F {
magazineWell[] = {"CBA_556x45_STANAG", "CBA_556x45_STANAG_L", "CBA_556x45_STANAG_XL", "CBA_556x45_STANAG_2D"};
magazineWell[] = {"STANAG_556x45", "CBA_556x45_STANAG", "CBA_556x45_STANAG_L", "CBA_556x45_STANAG_XL", "CBA_556x45_STANAG_2D"};
};
class arifle_SPAR_01_base_F: Rifle_Base_F {
magazineWell[] = {"CBA_556x45_STANAG", "CBA_556x45_STANAG_L", "CBA_556x45_STANAG_XL", "CBA_556x45_STANAG_2D", "CBA_556x45_STANAG_2D_XL"};
magazineWell[] = {"STANAG_556x45", "CBA_556x45_STANAG", "CBA_556x45_STANAG_L", "CBA_556x45_STANAG_XL", "CBA_556x45_STANAG_2D", "CBA_556x45_STANAG_2D_XL"};
};
class arifle_SPAR_02_base_F: Rifle_Base_F {
magazineWell[] = {"CBA_556x45_STANAG", "CBA_556x45_STANAG_L", "CBA_556x45_STANAG_XL", "CBA_556x45_STANAG_2D", "CBA_556x45_STANAG_2D_XL"};
magazineWell[] = {"STANAG_556x45_Large", "CBA_556x45_STANAG", "CBA_556x45_STANAG_L", "CBA_556x45_STANAG_XL", "CBA_556x45_STANAG_2D", "CBA_556x45_STANAG_2D_XL"};
};

class UGL_F: GrenadeLauncher {
magazineWell[] = {"CBA_40mm_M203", "CBA_40mm_EGLM"};
};

class arifle_MX_Base_F: Rifle_Base_F {
magazineWell[] = {"CBA_65x39_MX"};
magazineWell[] = {"MX_65x39", "MX_65x39_Large", "CBA_65x39_MX", "CBA_65x39_MX_XL"};
class GL_3GL_F: UGL_F {
magazineWell[] = {"CBA_40mm_3GL", "CBA_40mm_M203", "CBA_40mm_EGLM"};
};
};
class arifle_MX_SW_F: arifle_MX_Base_F {
magazineWell[] = {"CBA_65x39_MX", "CBA_65x39_MX_XL"};
};

class arifle_Katiba_Base_F: Rifle_Base_F {
magazineWell[] = {"CBA_65x39_Katiba"};
magazineWell[] = {"Katiba_65x39", "CBA_65x39_Katiba"};
};

class arifle_ARX_base_F: Rifle_Base_F {
magazineWell[] = {"CBA_65x39_Katiba"};
magazineWell[] = {"Katiba_65x39", "CBA_65x39_Katiba"};
};

class EBR_base_F: Rifle_Long_Base_F {
magazineWell[] = {"CBA_762x51_M14"};
magazineWell[] = {"M14_762x51", "CBA_762x51_M14"};
};
class DMR_03_base_F: Rifle_Long_Base_F {
magazineWell[] = {"CBA_762x51_MkI_EMR"};
magazineWell[] = {"M14_762x51", "CBA_762x51_MkI_EMR"};
};
class DMR_06_base_F: Rifle_Long_Base_F {
magazineWell[] = {"CBA_762x51_M14"};
magazineWell[] = {"M14_762x51", "CBA_762x51_M14"};
};
class arifle_SPAR_03_base_F: Rifle_Base_F {
magazineWell[] = {"CBA_762x51_HK417", "CBA_762x51_HK417_L", "CBA_762x51_HK417_XL"};
};

class DMR_01_base_F: Rifle_Long_Base_F {
magazineWell[] = {"CBA_762x54R_SVD"};
magazineWell[] = {"Rahim_762x54", "CBA_762x54R_SVD"};
};

class arifle_CTAR_base_F: Rifle_Base_F {
magazineWell[] = {"CBA_580x42_TYPE95", "CBA_580x42_TYPE95_XL"};
magazineWell[] = {"CTAR_580x42", "CTAR_580x42_Large", "CBA_580x42_TYPE95", "CBA_580x42_TYPE95_XL"};
};
class arifle_CTARS_base_F: Rifle_Base_F {
magazineWell[] = {"CBA_580x42_TYPE95", "CBA_580x42_TYPE95_XL"};
magazineWell[] = {"CTAR_580x42", "CTAR_580x42_Large", "CBA_580x42_TYPE95", "CBA_580x42_TYPE95_XL"};
};

class arifle_AK12_base_F: Rifle_Base_F {
magazineWell[] = {"CBA_762x39_AK", "CBA_762x39_RPK"};
magazineWell[] = {"AK_762x39", "CBA_762x39_AK", "CBA_762x39_RPK"};
};
class arifle_AKM_base_F: Rifle_Base_F {
magazineWell[] = {"CBA_762x39_AK", "CBA_762x39_RPK"};
magazineWell[] = {"AK_762x39", "CBA_762x39_AK", "CBA_762x39_RPK"};
};

class arifle_AKS_base_F: Rifle_Base_F {
magazineWell[] = {"CBA_545x39_AK", "CBA_545x39_RPK"};
magazineWell[] = {"AK_545x39", "CBA_545x39_AK", "CBA_545x39_RPK"};
};

class LMG_03_base_F: Rifle_Long_Base_F {
Expand All @@ -95,7 +92,7 @@ class CfgWeapons {
};

class launch_RPG7_F: Launcher_Base_F {
magazineWell[] = {"CBA_RPG7"};
magazineWell[] = {"RPG7", "CBA_RPG7"};
};

class MMG_01_base_F: Rifle_Long_Base_F {
Expand Down