Compat GM - Make compat autoload when mod is present (#9364)

Co-authored-by: PabstMirror <pabstmirror@gmail.com>
This commit is contained in:
Grim 2023-09-05 20:33:13 -04:00 committed by GitHub
parent 9d745da465
commit 99c7bea6fe
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
24 changed files with 175 additions and 120 deletions

View File

@ -9,11 +9,3 @@ class Extended_PreInit_EventHandlers {
init = QUOTE(call COMPILE_SCRIPT(XEH_preInit)); init = QUOTE(call COMPILE_SCRIPT(XEH_preInit));
}; };
}; };
class Extended_InitPost_EventHandlers {
class gm_jerrycan {
class ADDON {
init = QUOTE(call EFUNC(refuel,makeJerryCan));
};
};
};

View File

@ -0,0 +1,28 @@
class CfgMagazines {
// MG3
class gm_120rnd_762x51mm_mg3_grn;
class gm_120Rnd_762x51mm_B_T_DM21_mg3_grn: gm_120rnd_762x51mm_mg3_grn {
ACE_isBelt = 1;
};
class gm_120Rnd_762x51mm_B_T_DM21A1_mg3_grn: gm_120rnd_762x51mm_mg3_grn {
ACE_isBelt = 1;
};
class gm_120Rnd_762x51mm_B_T_DM21A2_mg3_grn: gm_120rnd_762x51mm_mg3_grn {
ACE_isBelt = 1;
};
// PK
class gm_100rnd_762x54mmR_pk_grn;
class gm_100Rnd_762x54mm_API_b32_pk_grn: gm_100rnd_762x54mmR_pk_grn {
ACE_isBelt = 1;
};
class gm_100Rnd_762x54mm_B_T_t46_pk_grn: gm_100rnd_762x54mmR_pk_grn {
ACE_isBelt = 1;
};
class gm_100Rnd_762x54mmR_API_7bz3_pk_grn: gm_100rnd_762x54mmR_pk_grn {
ACE_isBelt = 1;
};
class gm_100Rnd_762x54mmR_B_T_7t2_pk_grn: gm_100rnd_762x54mmR_pk_grn {
ACE_isBelt = 1;
};
};

View File

@ -1,72 +1,5 @@
class CfgVehicles { class CfgVehicles {
// EXPLOSIVES
class Items_base_F;
class ACE_Explosives_Place: Items_base_F {
class ACE_Actions {
class ACE_MainActions;
};
};
// CHARGE
class ACE_Explosives_Place_gm_explosive_petn: ACE_Explosives_Place {
displayName = "PETN Charge";
model = "gm\gm_weapons\gm_put\gm_explosive_charge_petn";
class ACE_Actions: ACE_Actions {
class ACE_MainActions: ACE_MainActions {
position = "[-0.002, 0.022, 0.02]";
};
};
};
class ACE_Explosives_Place_gm_explosive_plnp: ACE_Explosives_Place {
displayName = "PLNP Charge";
model = "gm\gm_weapons\gm_put\gm_explosive_charge_plnp";
class ACE_Actions: ACE_Actions {
class ACE_MainActions: ACE_MainActions {
position = "[-0.002, 0.022, 0.02]";
};
};
};
// AT MINE
class ACE_Explosives_Place_gm_mine_tm46: ACE_Explosives_Place {
displayName = "AT Mine TM46";
model = "gm\gm_weapons\gm_put\gm_mine_at_tm46";
class ACE_Actions: ACE_Actions {
class ACE_MainActions: ACE_MainActions {
position = "[-0.002, 0.022, 0.02]";
};
};
};
class ACE_Explosives_Place_gm_explosive_dm21: ACE_Explosives_Place {
displayName = "AT Mine DM21";
model = "gm\gm_weapons\gm_put\gm_mine_at_dm21";
class ACE_Actions: ACE_Actions {
class ACE_MainActions: ACE_MainActions {
position = "[-0.002, 0.022, 0.02]";
};
};
};
class ACE_Explosives_Place_gm_explosive_m111: ACE_Explosives_Place {
displayName = "MN 111";
model = "gm\gm_weapons\gm_launchers\gm_platan\gm_mine_at_mn111_disarmed";
class ACE_Actions: ACE_Actions {
class ACE_MainActions: ACE_MainActions {
position = "[-0.002, 0.022, 0.02]";
};
};
};
// AP
class ACE_Explosives_Place_gm_explosive_dm31: ACE_Explosives_Place {
displayName = "AP Mine DM31";
model = "gm\gm_weapons\gm_put\gm_mine_ap_dm31";
class ACE_Actions: ACE_Actions {
class ACE_MainActions: ACE_MainActions {
position = "[-0.002, 0.022, 0.02]";
};
};
};
// REPAIR, REFUEL, REARM // REPAIR, REFUEL, REARM
class ReammoBox_F; class ReammoBox_F;
@ -164,7 +97,6 @@ class CfgVehicles {
}; };
class gm_ural4320_refuel_base: gm_ural4320_base { class gm_ural4320_refuel_base: gm_ural4320_base {
transportFuel = 0;
EGVAR(refuel,hooks)[] = {{-0.05,-3.6,-0.45}}; EGVAR(refuel,hooks)[] = {{-0.05,-3.6,-0.45}};
EGVAR(refuel,fuelCargo) = 10000; EGVAR(refuel,fuelCargo) = 10000;
}; };
@ -308,6 +240,8 @@ class CfgVehicles {
EGVAR(medical,medicClass) = 1; EGVAR(medical,medicClass) = 1;
}; };
// If any hard edits are made, move to an appropriate subcomponent
// fastroping not needed unlike RHS as no hard edits are made here
// H E L I C O P T E R S // H E L I C O P T E R S
class Helicopter_Base_F; class Helicopter_Base_F;
@ -323,6 +257,7 @@ class CfgVehicles {
EGVAR(refuel,fuelCapacity) = 3700; EGVAR(refuel,fuelCapacity) = 3700;
EGVAR(fastroping,enabled) = 0; EGVAR(fastroping,enabled) = 0;
// TODO: stringtables
class UserActions { class UserActions {
class openDoor_L { class openDoor_L {
displayNameDefault = "Open left Door"; displayNameDefault = "Open left Door";

View File

@ -1,25 +1,25 @@
class CfgAmmo { class CfgAmmo {
class PipeBombBase; class PipeBombBase;
class gm_explosive_petn_charge: PipeBombBase { class gm_explosive_petn_charge: PipeBombBase {
EGVAR(explosive,defuseObjectPosition)[] = {0, 0, 0.02}; EGVAR(explosives,defuseObjectPosition)[] = {0, 0, 0.02};
}; };
class gm_explosive_plnp_charge: PipeBombBase { class gm_explosive_plnp_charge: PipeBombBase {
EGVAR(explosive,defuseObjectPosition)[] = {0, 0, 0.02}; EGVAR(explosives,defuseObjectPosition)[] = {0, 0, 0.02};
}; };
class gm_mine_at_base; class gm_mine_at_base;
class gm_mine_at_mn111: gm_mine_at_base { class gm_mine_at_mn111: gm_mine_at_base {
EGVAR(explosive,defuseObjectPosition)[] = {0, 0, 0.02}; EGVAR(explosives,defuseObjectPosition)[] = {0, 0, 0.02};
}; };
class gm_mine_at_dm21: gm_mine_at_base { class gm_mine_at_dm21: gm_mine_at_base {
EGVAR(explosive,defuseObjectPosition)[] = {0, 0, 0.02}; EGVAR(explosives,defuseObjectPosition)[] = {0, 0, 0.02};
}; };
class gm_mine_at_tm46: gm_mine_at_base { class gm_mine_at_tm46: gm_mine_at_base {
EGVAR(explosive,defuseObjectPosition)[] = {0, 0, 0.02}; EGVAR(explosives,defuseObjectPosition)[] = {0, 0, 0.02};
}; };
class gm_mine_bounce_base; class gm_mine_bounce_base;
class gm_mine_ap_dm31: gm_mine_bounce_base { class gm_mine_ap_dm31: gm_mine_bounce_base {
EGVAR(explosive,defuseObjectPosition)[] = {0, 0, 0.02}; EGVAR(explosives,defuseObjectPosition)[] = {0, 0, 0.02};
}; };
}; };

View File

@ -1,37 +1,10 @@
class cfgMagazines { class CfgMagazines {
// MG3
class gm_120rnd_762x51mm_mg3_grn;
class gm_120Rnd_762x51mm_B_T_DM21_mg3_grn: gm_120rnd_762x51mm_mg3_grn {
ACE_isBelt = 1;
};
class gm_120Rnd_762x51mm_B_T_DM21A1_mg3_grn: gm_120rnd_762x51mm_mg3_grn {
ACE_isBelt = 1;
};
class gm_120Rnd_762x51mm_B_T_DM21A2_mg3_grn: gm_120rnd_762x51mm_mg3_grn {
ACE_isBelt = 1;
};
// PK
class gm_100rnd_762x54mmR_pk_grn;
class gm_100Rnd_762x54mm_API_b32_pk_grn: gm_100rnd_762x54mmR_pk_grn {
ACE_isBelt = 1;
};
class gm_100Rnd_762x54mm_B_T_t46_pk_grn: gm_100rnd_762x54mmR_pk_grn {
ACE_isBelt = 1;
};
class gm_100Rnd_762x54mmR_API_7bz3_pk_grn: gm_100rnd_762x54mmR_pk_grn {
ACE_isBelt = 1;
};
class gm_100Rnd_762x54mmR_B_T_7t2_pk_grn: gm_100rnd_762x54mmR_pk_grn {
ACE_isBelt = 1;
};
// Explosives // Explosives
class gm_explosive_petn_charge_base; class gm_explosive_petn_charge_base;
class gm_explosive_petn_charge: gm_explosive_petn_charge_base { class gm_explosive_petn_charge: gm_explosive_petn_charge_base {
EGVAR(explosives,DelayTime) = 1; EGVAR(explosives,DelayTime) = 1;
EGVAR(explosives,Placeable) = 1; EGVAR(explosives,Placeable) = 1;
EGVAR(explosives,SetupObject) = "ACE_Explosives_Place_gm_explosive_petn"; EGVAR(explosives,SetupObject) =QEGVAR(explosives,Place_gm_explosive_petn);
useAction = 0; useAction = 0;
class ACE_Triggers { class ACE_Triggers {
SupportedTriggers[] = {"Timer", "Command", "MK16_Transmitter", "DeadmanSwitch"}; SupportedTriggers[] = {"Timer", "Command", "MK16_Transmitter", "DeadmanSwitch"};
@ -50,7 +23,7 @@ class cfgMagazines {
class gm_explosive_plnp_charge: gm_explosive_plnp_charge_base { class gm_explosive_plnp_charge: gm_explosive_plnp_charge_base {
EGVAR(explosives,DelayTime) = 1; EGVAR(explosives,DelayTime) = 1;
EGVAR(explosives,Placeable) = 1; EGVAR(explosives,Placeable) = 1;
EGVAR(explosives,SetupObject) = "ACE_Explosives_Place_gm_explosive_plnp"; EGVAR(explosives,SetupObject) =QEGVAR(explosives,Place_gm_explosive_plnp);
useAction = 0; useAction = 0;
class ACE_Triggers { class ACE_Triggers {
SupportedTriggers[] = {"Timer", "Command", "MK16_Transmitter", "DeadmanSwitch"}; SupportedTriggers[] = {"Timer", "Command", "MK16_Transmitter", "DeadmanSwitch"};
@ -68,7 +41,7 @@ class cfgMagazines {
class gm_mine_at_base; class gm_mine_at_base;
class gm_mine_at_tm46: gm_mine_at_base { class gm_mine_at_tm46: gm_mine_at_base {
EGVAR(explosives,Placeable) = 1; EGVAR(explosives,Placeable) = 1;
EGVAR(explosives,SetupObject) = "ACE_Explosives_Place_gm_mine_tm46"; EGVAR(explosives,SetupObject) =QEGVAR(explosives,Place_gm_mine_tm46);
useAction = 0; useAction = 0;
class ACE_Triggers { class ACE_Triggers {
SupportedTriggers[] = {"PressurePlate"}; SupportedTriggers[] = {"PressurePlate"};
@ -79,7 +52,7 @@ class cfgMagazines {
}; };
class gm_mine_at_dm21: gm_mine_at_base { class gm_mine_at_dm21: gm_mine_at_base {
EGVAR(explosives,Placeable) = 1; EGVAR(explosives,Placeable) = 1;
EGVAR(explosives,SetupObject) = "ACE_Explosives_Place_gm_explosive_dm21"; EGVAR(explosives,SetupObject) =QEGVAR(explosives,Place_gm_explosive_dm21);
useAction = 0; useAction = 0;
class ACE_Triggers { class ACE_Triggers {
SupportedTriggers[] = {"PressurePlate"}; SupportedTriggers[] = {"PressurePlate"};
@ -90,7 +63,7 @@ class cfgMagazines {
}; };
class gm_mine_at_mn111: gm_mine_at_base { class gm_mine_at_mn111: gm_mine_at_base {
EGVAR(explosives,Placeable) = 1; EGVAR(explosives,Placeable) = 1;
EGVAR(explosives,SetupObject) = "ACE_Explosives_Place_gm_explosive_m111"; EGVAR(explosives,SetupObject) =QEGVAR(explosives,Place_gm_explosive_m111);
useAction = 0; useAction = 0;
class ACE_Triggers { class ACE_Triggers {
SupportedTriggers[] = {"PressurePlate"}; SupportedTriggers[] = {"PressurePlate"};
@ -102,7 +75,7 @@ class cfgMagazines {
class gm_mine_ap_dm31: gm_mine_at_base { class gm_mine_ap_dm31: gm_mine_at_base {
EGVAR(explosives,Placeable) = 1; EGVAR(explosives,Placeable) = 1;
EGVAR(explosives,SetupObject) = "ACE_Explosives_Place_gm_explosive_dm31"; EGVAR(explosives,SetupObject) =QEGVAR(explosives,Place_gm_explosive_dm31);
useAction = 0; useAction = 0;
class ACE_Triggers { class ACE_Triggers {
SupportedTriggers[] = {"Tripwire"}; SupportedTriggers[] = {"Tripwire"};

View File

@ -0,0 +1,67 @@
class CfgVehicles {
class Items_base_F;
class EGVAR(explosives,Place): Items_base_F {
class ACE_Actions {
class ACE_MainActions;
};
};
// CHARGE
class EGVAR(explosives,Place_gm_explosive_petn): EGVAR(explosives,Place) {
displayName = "PETN Charge";
model = "gm\gm_weapons\gm_put\gm_explosive_charge_petn";
class ACE_Actions: ACE_Actions {
class ACE_MainActions: ACE_MainActions {
position = "[-0.002, 0.022, 0.02]";
};
};
};
class EGVAR(explosives,Place_gm_explosive_plnp): EGVAR(explosives,Place) {
displayName = "PLNP Charge";
model = "gm\gm_weapons\gm_put\gm_explosive_charge_plnp";
class ACE_Actions: ACE_Actions {
class ACE_MainActions: ACE_MainActions {
position = "[-0.002, 0.022, 0.02]";
};
};
};
// AT MINE
class EGVAR(explosives,Place_gm_mine_tm46): EGVAR(explosives,Place) {
displayName = "AT Mine TM46";
model = "gm\gm_weapons\gm_put\gm_mine_at_tm46";
class ACE_Actions: ACE_Actions {
class ACE_MainActions: ACE_MainActions {
position = "[-0.002, 0.022, 0.02]";
};
};
};
class EGVAR(explosives,Place_gm_explosive_dm21): EGVAR(explosives,Place) {
displayName = "AT Mine DM21";
model = "gm\gm_weapons\gm_put\gm_mine_at_dm21";
class ACE_Actions: ACE_Actions {
class ACE_MainActions: ACE_MainActions {
position = "[-0.002, 0.022, 0.02]";
};
};
};
class EGVAR(explosives,Place_gm_explosive_m111): EGVAR(explosives,Place) {
displayName = "MN 111";
model = "gm\gm_weapons\gm_launchers\gm_platan\gm_mine_at_mn111_disarmed";
class ACE_Actions: ACE_Actions {
class ACE_MainActions: ACE_MainActions {
position = "[-0.002, 0.022, 0.02]";
};
};
};
// AP
class EGVAR(explosives,Place_gm_explosive_dm31): EGVAR(explosives,Place) {
displayName = "AP Mine DM31";
model = "gm\gm_weapons\gm_put\gm_mine_ap_dm31";
class ACE_Actions: ACE_Actions {
class ACE_MainActions: ACE_MainActions {
position = "[-0.002, 0.022, 0.02]";
};
};
};
};

View File

@ -0,0 +1,20 @@
#include "script_component.hpp"
class CfgPatches {
class ADDON {
addonRootClass = QUOTE(COMPONENT);
units[] = {};
weapons[] = {};
requiredVersion = REQUIRED_VERSION;
requiredAddons[] = {
"gm_core",
"ace_explosives"
};
skipWhenMissingDependencies = 1;
VERSION_CONFIG;
};
};
#include "CfgAmmo.hpp"
#include "CfgMagazines.hpp"
#include "CfgVehicles.hpp"

View File

@ -0,0 +1,5 @@
#include "\z\ace\addons\compat_gm\script_component.hpp"
#define SUBCOMPONENT explosives
#undef ADDON
#define ADDON TRIPLES(PREFIX,COMPONENT,SUBCOMPONENT)

View File

@ -0,0 +1,7 @@
class Extended_InitPost_EventHandlers {
class gm_jerrycan {
class ADDON {
init = QUOTE(call EFUNC(refuel,makeJerryCan));
};
};
};

View File

@ -0,0 +1,6 @@
class CfgVehicles {
class gm_ural4320_base;
class gm_ural4320_refuel_base: gm_ural4320_base {
transportFuel = 0;
};
};

View File

@ -0,0 +1,19 @@
#include "script_component.hpp"
class CfgPatches {
class ADDON {
addonRootClass = QUOTE(COMPONENT);
units[] = {};
weapons[] = {};
requiredVersion = REQUIRED_VERSION;
requiredAddons[] = {
"gm_core",
"ace_refuel"
};
skipWhenMissingDependencies = 1;
VERSION_CONFIG;
};
};
#include "CfgEventHandlers.hpp"
#include "CfgVehicles.hpp"

View File

@ -0,0 +1,5 @@
#include "\z\ace\addons\compat_gm\script_component.hpp"
#define SUBCOMPONENT refuel
#undef ADDON
#define ADDON TRIPLES(PREFIX,COMPONENT,SUBCOMPONENT)

View File

@ -6,7 +6,8 @@ class CfgPatches {
units[] = {}; units[] = {};
weapons[] = {}; weapons[] = {};
requiredVersion = REQUIRED_VERSION; requiredVersion = REQUIRED_VERSION;
requiredAddons[] = {"ace_csw", "ace_explosives", "ace_refuel", "gm_core"}; requiredAddons[] = {"ace_common", "gm_core"};
skipWhenMissingDependencies = 1;
author = ECSTRING(common,ACETeam); author = ECSTRING(common,ACETeam);
authors[] = {"sancron", "nomisum"}; authors[] = {"sancron", "nomisum"};
url = ECSTRING(main,URL); url = ECSTRING(main,URL);
@ -14,7 +15,6 @@ class CfgPatches {
}; };
}; };
#include "CfgAmmo.hpp"
#include "CfgEventHandlers.hpp" #include "CfgEventHandlers.hpp"
#include "CfgMagazines.hpp" #include "CfgMagazines.hpp"
#include "CfgWeapons.hpp" #include "CfgWeapons.hpp"

View File

@ -3,5 +3,3 @@
#include "\z\ace\addons\main\script_mod.hpp" #include "\z\ace\addons\main\script_mod.hpp"
#include "\z\ace\addons\main\script_macros.hpp" #include "\z\ace\addons\main\script_macros.hpp"
#include "\z\ace\addons\csw\script_config_macros_csw.hpp"