mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
Merge pull request #1433 from acemod/fixSettingsFromModules
Delay initialization of modules until settings are properly setup
This commit is contained in:
commit
1c0c73be54
@ -5,7 +5,7 @@ class CfgPatches {
|
|||||||
units[] = {};
|
units[] = {};
|
||||||
weapons[] = {};
|
weapons[] = {};
|
||||||
requiredVersion = REQUIRED_VERSION;
|
requiredVersion = REQUIRED_VERSION;
|
||||||
requiredAddons[] = {"ace_ballistics", "ace_weather", "ace_modules"};
|
requiredAddons[] = {"ace_ballistics", "ace_weather"};
|
||||||
author[] = {"Ruthberg"};
|
author[] = {"Ruthberg"};
|
||||||
authorUrl = "https://github.com/ulteq";
|
authorUrl = "https://github.com/ulteq";
|
||||||
VERSION_CONFIG;
|
VERSION_CONFIG;
|
||||||
|
@ -24,12 +24,12 @@ class CfgVehicles {
|
|||||||
|
|
||||||
// += needs a non inherited entry in that class, otherwise it simply overwrites
|
// += needs a non inherited entry in that class, otherwise it simply overwrites
|
||||||
//#include <DefaultItems.hpp>
|
//#include <DefaultItems.hpp>
|
||||||
|
|
||||||
class Logic;
|
class Logic;
|
||||||
class Module_F: Logic {
|
class Module_F: Logic {
|
||||||
class ModuleDescription {};
|
class ModuleDescription;
|
||||||
};
|
};
|
||||||
class ACE_ModuleCheckPBOs: Module_F {
|
class ACE_Module: Module_F {};
|
||||||
|
class ACE_ModuleCheckPBOs: ACE_Module {
|
||||||
author = "$STR_ACE_Common_ACETeam";
|
author = "$STR_ACE_Common_ACETeam";
|
||||||
category = "ACE";
|
category = "ACE";
|
||||||
displayName = "$STR_ACE_Common_CheckPBO_DisplayName";
|
displayName = "$STR_ACE_Common_CheckPBO_DisplayName";
|
||||||
@ -77,7 +77,7 @@ class CfgVehicles {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
class ACE_ModuleLSDVehicles: Module_F {
|
class ACE_ModuleLSDVehicles: ACE_Module {
|
||||||
author = "$STR_ACE_Common_ACETeam";
|
author = "$STR_ACE_Common_ACETeam";
|
||||||
category = "ACE";
|
category = "ACE";
|
||||||
displayName = "$STR_ACE_Common_LSDVehicles_DisplayName";
|
displayName = "$STR_ACE_Common_LSDVehicles_DisplayName";
|
||||||
|
@ -269,6 +269,9 @@ GVAR(commonPostInited) = true;
|
|||||||
|
|
||||||
diag_log text format["[ACE] Settings received from server"];
|
diag_log text format["[ACE] Settings received from server"];
|
||||||
|
|
||||||
|
// Event so that ACE_Modules have their settings loaded:
|
||||||
|
["InitSettingsFromModules", []] call FUNC(localEvent);
|
||||||
|
|
||||||
// Load user settings from profile
|
// Load user settings from profile
|
||||||
if (hasInterface) then {
|
if (hasInterface) then {
|
||||||
call FUNC(loadSettingsFromProfile);
|
call FUNC(loadSettingsFromProfile);
|
||||||
|
@ -5,7 +5,7 @@ class CfgPatches {
|
|||||||
units[] = {"ACE_Box_Misc", "ACE_bananaItem"};
|
units[] = {"ACE_Box_Misc", "ACE_bananaItem"};
|
||||||
weapons[] = {"ACE_ItemCore","ACE_FakePrimaryWeapon", "ACE_Banana"};
|
weapons[] = {"ACE_ItemCore","ACE_FakePrimaryWeapon", "ACE_Banana"};
|
||||||
requiredVersion = REQUIRED_VERSION;
|
requiredVersion = REQUIRED_VERSION;
|
||||||
requiredAddons[] = {"ace_main"};
|
requiredAddons[] = {"ace_main","ace_modules"};
|
||||||
author[] = {"KoffeinFlummi"};
|
author[] = {"KoffeinFlummi"};
|
||||||
authorUrl = "https://github.com/KoffeinFlummi/";
|
authorUrl = "https://github.com/KoffeinFlummi/";
|
||||||
VERSION_CONFIG;
|
VERSION_CONFIG;
|
||||||
|
@ -1,8 +1,5 @@
|
|||||||
class Logic;
|
class ACE_Module;
|
||||||
class Module_F: Logic {
|
class ACE_ModuleExplosive: ACE_Module {
|
||||||
class ModuleDescription {};
|
|
||||||
};
|
|
||||||
class ACE_ModuleExplosive: Module_F {
|
|
||||||
author = "$STR_ACE_Common_ACETeam";
|
author = "$STR_ACE_Common_ACETeam";
|
||||||
category = "ACE";
|
category = "ACE";
|
||||||
displayName = "$STR_ACE_Explosive_Module_DisplayName";
|
displayName = "$STR_ACE_Explosive_Module_DisplayName";
|
||||||
@ -24,7 +21,7 @@ class ACE_ModuleExplosive: Module_F {
|
|||||||
defaultValue = 1;
|
defaultValue = 1;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
class ModuleDescription: ModuleDescription {
|
class ModuleDescription {
|
||||||
description = "$STR_ACE_Explosive_Module_Description";
|
description = "$STR_ACE_Explosive_Module_Description";
|
||||||
};
|
};
|
||||||
};
|
};
|
@ -94,8 +94,8 @@ class CfgVehicles {
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
class Module_F;
|
class ACE_Module;
|
||||||
class ACE_ModuleHearing: Module_F {
|
class ACE_ModuleHearing: ACE_Module {
|
||||||
author = "$STR_ACE_Common_ACETeam";
|
author = "$STR_ACE_Common_ACETeam";
|
||||||
category = "ACE";
|
category = "ACE";
|
||||||
displayName = "$STR_ACE_Hearing_Module_DisplayName";
|
displayName = "$STR_ACE_Hearing_Module_DisplayName";
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
class CfgVehicles {
|
class CfgVehicles {
|
||||||
|
|
||||||
class Module_F;
|
class ACE_Module;
|
||||||
class ACE_ModuleInteraction: Module_F {
|
class ACE_ModuleInteraction: ACE_Module {
|
||||||
author = "$STR_ACE_Common_ACETeam";
|
author = "$STR_ACE_Common_ACETeam";
|
||||||
category = "ACE";
|
category = "ACE";
|
||||||
displayName = "$STR_ACE_InteractionSystem_Module_DisplayName";
|
displayName = "$STR_ACE_InteractionSystem_Module_DisplayName";
|
||||||
|
@ -1,6 +1,7 @@
|
|||||||
class CfgVehicles {
|
class CfgVehicles {
|
||||||
class Module_F;
|
|
||||||
class ACE_ModuleMap: Module_F {
|
class ACE_Module;
|
||||||
|
class ACE_ModuleMap: ACE_Module {
|
||||||
author = "$STR_ACE_Common_ACETeam";
|
author = "$STR_ACE_Common_ACETeam";
|
||||||
category = "ACE";
|
category = "ACE";
|
||||||
displayName = "$STR_ACE_Map_Module_DisplayName";
|
displayName = "$STR_ACE_Map_Module_DisplayName";
|
||||||
@ -39,6 +40,7 @@ class CfgVehicles {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class Module_F;
|
||||||
class ACE_ModuleBlueForceTracking: Module_F {
|
class ACE_ModuleBlueForceTracking: Module_F {
|
||||||
author = "$STR_ACE_Common_ACETeam";
|
author = "$STR_ACE_Common_ACETeam";
|
||||||
category = "ACE";
|
category = "ACE";
|
||||||
|
@ -5,7 +5,7 @@ class CfgPatches {
|
|||||||
units[] = {"ACE_medicalSupplyCrate", "ACE_medicalSupplyCrate_advanced", "ACE_fieldDressingItem", "ACE_packingBandageItem", "ACE_elasticBandageItem", "ACE_tourniquetItem", "ACE_morphineItem", "ACE_atropineItem", "ACE_epinephrineItem", "ACE_plasmaIVItem", "ACE_bloodIVItem", "ACE_salineIVItem", "ACE_quikclotItem", "ACE_personalAidKitItem", "ACE_surgicalKitItem", "ACE_bodyBagItem", "ACE_bodyBagObject"};
|
units[] = {"ACE_medicalSupplyCrate", "ACE_medicalSupplyCrate_advanced", "ACE_fieldDressingItem", "ACE_packingBandageItem", "ACE_elasticBandageItem", "ACE_tourniquetItem", "ACE_morphineItem", "ACE_atropineItem", "ACE_epinephrineItem", "ACE_plasmaIVItem", "ACE_bloodIVItem", "ACE_salineIVItem", "ACE_quikclotItem", "ACE_personalAidKitItem", "ACE_surgicalKitItem", "ACE_bodyBagItem", "ACE_bodyBagObject"};
|
||||||
weapons[] = {"ACE_fieldDressing", "ACE_packingBandage", "ACE_elasticBandage", "ACE_tourniquet", "ACE_morphine", "ACE_atropine", "ACE_epinephrine", "ACE_plasmaIV", "ACE_plasmaIV_500", "ACE_plasmaIV_250", "ACE_bloodIV", "ACE_bloodIV_500", "ACE_bloodIV_250", "ACE_salineIV", "ACE_salineIV_500", "ACE_salineIV_250", "ACE_quikclot", "ACE_personalAidKit", "ACE_surgicalKit", "ACE_bodyBag"};
|
weapons[] = {"ACE_fieldDressing", "ACE_packingBandage", "ACE_elasticBandage", "ACE_tourniquet", "ACE_morphine", "ACE_atropine", "ACE_epinephrine", "ACE_plasmaIV", "ACE_plasmaIV_500", "ACE_plasmaIV_250", "ACE_bloodIV", "ACE_bloodIV_500", "ACE_bloodIV_250", "ACE_salineIV", "ACE_salineIV_500", "ACE_salineIV_250", "ACE_quikclot", "ACE_personalAidKit", "ACE_surgicalKit", "ACE_bodyBag"};
|
||||||
requiredVersion = REQUIRED_VERSION;
|
requiredVersion = REQUIRED_VERSION;
|
||||||
requiredAddons[] = {"ace_interaction","ace_modules", "ace_apl"};
|
requiredAddons[] = {"ace_interaction", "ace_apl"};
|
||||||
author[] = {"Glowbal", "KoffeinFlummi"};
|
author[] = {"Glowbal", "KoffeinFlummi"};
|
||||||
authorUrl = "";
|
authorUrl = "";
|
||||||
VERSION_CONFIG;
|
VERSION_CONFIG;
|
||||||
|
@ -36,12 +36,8 @@ class CfgVehicles {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
class Logic;
|
class ACE_Module;
|
||||||
class Module_F: Logic {
|
class GVAR(dagrModule): ACE_Module {
|
||||||
class ArgumentsBaseUnits {};
|
|
||||||
class ModuleDescription {};
|
|
||||||
};
|
|
||||||
class GVAR(dagrModule): Module_F {
|
|
||||||
author = "$STR_ACE_Common_ACETeam";
|
author = "$STR_ACE_Common_ACETeam";
|
||||||
category = "ACE";
|
category = "ACE";
|
||||||
displayName = "$STR_ACE_Dagr_Module_DisplayName";
|
displayName = "$STR_ACE_Dagr_Module_DisplayName";
|
||||||
@ -62,7 +58,7 @@ class CfgVehicles {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
class ModuleDescription: ModuleDescription {
|
class ModuleDescription {
|
||||||
description = "$STR_ACE_Dagr_Module_Description";
|
description = "$STR_ACE_Dagr_Module_Description";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -43,11 +43,8 @@ class CfgVehicles {
|
|||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
class Logic;
|
class ACE_Module;
|
||||||
class Module_F: Logic {
|
class GVAR(module): ACE_Module {
|
||||||
class ModuleDescription {};
|
|
||||||
};
|
|
||||||
class GVAR(module): Module_F {
|
|
||||||
author = "$STR_ACE_Common_ACETeam";
|
author = "$STR_ACE_Common_ACETeam";
|
||||||
category = "ACE";
|
category = "ACE";
|
||||||
displayName = "$STR_ACE_mk6mortar_Module_DisplayName";
|
displayName = "$STR_ACE_mk6mortar_Module_DisplayName";
|
||||||
@ -76,7 +73,7 @@ class CfgVehicles {
|
|||||||
defaultValue = 1;
|
defaultValue = 1;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
class ModuleDescription: ModuleDescription {
|
class ModuleDescription {
|
||||||
description = "$STR_ACE_mk6mortar_Module_Description";
|
description = "$STR_ACE_mk6mortar_Module_Description";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -1,9 +1,10 @@
|
|||||||
|
|
||||||
#include "script_component.hpp"
|
#include "script_component.hpp"
|
||||||
|
|
||||||
// TODO This is a basic and limited implementation that mimics some of the functionality from the A3 module framework, but not all of it.
|
["InitSettingsFromModules", {
|
||||||
// We have to execute this in the postInit XEH because on object init, the parameters of the modules are not yet available. They are if we execute it at the start of postInit execution.
|
// TODO This is a basic and limited implementation that mimics some of the functionality from the A3 module framework, but not all of it.
|
||||||
{
|
// We have to execute this in the postInit XEH because on object init, the parameters of the modules are not yet available. They are if we execute it at the start of postInit execution.
|
||||||
|
{
|
||||||
[_x] call {
|
[_x] call {
|
||||||
private ["_logic", "_logicType", "_config", "_isGlobal", "_isDisposable", "_isPersistent","_function"];
|
private ["_logic", "_logicType", "_config", "_isGlobal", "_isDisposable", "_isPersistent","_function"];
|
||||||
_logic = _this select 0;
|
_logic = _this select 0;
|
||||||
@ -41,4 +42,5 @@
|
|||||||
deleteVehicle _logic;
|
deleteVehicle _logic;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
}foreach GVAR(moduleInitCollection);
|
}foreach GVAR(moduleInitCollection);
|
||||||
|
}] call FUNC(addEventhandler);
|
||||||
|
@ -5,7 +5,7 @@ class CfgPatches {
|
|||||||
units[] = {};
|
units[] = {};
|
||||||
weapons[] = {};
|
weapons[] = {};
|
||||||
requiredVersion = REQUIRED_VERSION;
|
requiredVersion = REQUIRED_VERSION;
|
||||||
requiredAddons[] = {"ace_common"};
|
requiredAddons[] = {};
|
||||||
author[] = {"Glowbal"};
|
author[] = {"Glowbal"};
|
||||||
authorUrl = "";
|
authorUrl = "";
|
||||||
VERSION_CONFIG;
|
VERSION_CONFIG;
|
||||||
|
@ -1,9 +1,6 @@
|
|||||||
class CfgVehicles {
|
class CfgVehicles {
|
||||||
class Logic;
|
class ACE_Module;
|
||||||
class Module_F: Logic {
|
class ACE_ModuleNameTags: ACE_Module {
|
||||||
class ModuleDescription {};
|
|
||||||
};
|
|
||||||
class ACE_ModuleNameTags : Module_F {
|
|
||||||
author = "$STR_ACE_Common_ACETeam";
|
author = "$STR_ACE_Common_ACETeam";
|
||||||
category = "ACE";
|
category = "ACE";
|
||||||
displayName = "$STR_ACE_NameTags_Module_DisplayName";
|
displayName = "$STR_ACE_NameTags_Module_DisplayName";
|
||||||
@ -65,7 +62,7 @@ class CfgVehicles {
|
|||||||
defaultValue = 0;
|
defaultValue = 0;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
class ModuleDescription: ModuleDescription {
|
class ModuleDescription {
|
||||||
description = "$STR_ACE_NameTags_Module_Description";
|
description = "$STR_ACE_NameTags_Module_Description";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -1,9 +1,6 @@
|
|||||||
class CfgVehicles {
|
class CfgVehicles {
|
||||||
class Logic;
|
class ACE_Module;
|
||||||
class Module_F: Logic {
|
class ACE_ModuleRespawn: ACE_Module {
|
||||||
class ModuleDescription {};
|
|
||||||
};
|
|
||||||
class ACE_ModuleRespawn: Module_F {
|
|
||||||
author = "$STR_ACE_Common_ACETeam";
|
author = "$STR_ACE_Common_ACETeam";
|
||||||
category = "ACE";
|
category = "ACE";
|
||||||
displayName = "$STR_ACE_Respawn_Module_DisplayName";
|
displayName = "$STR_ACE_Respawn_Module_DisplayName";
|
||||||
@ -27,12 +24,12 @@ class CfgVehicles {
|
|||||||
defaultValue = 1;
|
defaultValue = 1;
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
class ModuleDescription: ModuleDescription {
|
class ModuleDescription {
|
||||||
description = "$STR_ACE_Respawn_Module_Description";
|
description = "$STR_ACE_Respawn_Module_Description";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
class ACE_ModuleFriendlyFire: Module_F {
|
class ACE_ModuleFriendlyFire: ACE_Module {
|
||||||
author = "$STR_ACE_Common_ACETeam";
|
author = "$STR_ACE_Common_ACETeam";
|
||||||
category = "ACE";
|
category = "ACE";
|
||||||
displayName = "$STR_ACE_FriendlyFire_Module_DisplayName";
|
displayName = "$STR_ACE_FriendlyFire_Module_DisplayName";
|
||||||
@ -42,12 +39,12 @@ class CfgVehicles {
|
|||||||
icon = QUOTE(PATHTOF(UI\Icon_Module_FriendlyFire_ca.paa));
|
icon = QUOTE(PATHTOF(UI\Icon_Module_FriendlyFire_ca.paa));
|
||||||
|
|
||||||
class Arguments {};
|
class Arguments {};
|
||||||
class ModuleDescription: ModuleDescription {
|
class ModuleDescription {
|
||||||
description = "$STR_ACE_FriendlyFire_Module_Description";
|
description = "$STR_ACE_FriendlyFire_Module_Description";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
class ACE_ModuleRallypoint: Module_F {
|
class ACE_ModuleRallypoint: ACE_Module {
|
||||||
author = "$STR_ACE_Common_ACETeam";
|
author = "$STR_ACE_Common_ACETeam";
|
||||||
category = "ACE";
|
category = "ACE";
|
||||||
displayName = "$STR_ACE_Rallypoint_Module_DisplayName";
|
displayName = "$STR_ACE_Rallypoint_Module_DisplayName";
|
||||||
@ -57,7 +54,7 @@ class CfgVehicles {
|
|||||||
icon = QUOTE(PATHTOF(UI\Icon_Module_Rallypoint_ca.paa));
|
icon = QUOTE(PATHTOF(UI\Icon_Module_Rallypoint_ca.paa));
|
||||||
|
|
||||||
class Arguments {};
|
class Arguments {};
|
||||||
class ModuleDescription: ModuleDescription {
|
class ModuleDescription {
|
||||||
description = "$STR_ACE_Rallypoint_Module_Description";
|
description = "$STR_ACE_Rallypoint_Module_Description";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
class CfgVehicles {
|
class CfgVehicles {
|
||||||
class Module_F;
|
class ACE_Module;
|
||||||
class ACE_ModuleSwitchUnits: Module_F {
|
class ACE_ModuleSwitchUnits: ACE_Module {
|
||||||
author = "$STR_ACE_Common_ACETeam";
|
author = "$STR_ACE_Common_ACETeam";
|
||||||
category = "ACE";
|
category = "ACE";
|
||||||
displayName = "$STR_ACE_SwitchUnits_Module_DisplayName";
|
displayName = "$STR_ACE_SwitchUnits_Module_DisplayName";
|
||||||
|
@ -64,9 +64,10 @@ class CfgVehicles {
|
|||||||
|
|
||||||
class Logic;
|
class Logic;
|
||||||
class Module_F: Logic {
|
class Module_F: Logic {
|
||||||
class ModuleDescription {};
|
class ModuleDescription;
|
||||||
};
|
};
|
||||||
class ACE_VehicleLock_ModuleSetup: Module_F {
|
class ACE_Module: Module_F {};
|
||||||
|
class ACE_VehicleLock_ModuleSetup: ACE_Module {
|
||||||
author = "$STR_ACE_Common_ACETeam";
|
author = "$STR_ACE_Common_ACETeam";
|
||||||
category = "ACE";
|
category = "ACE";
|
||||||
displayName = "$STR_ACE_VehicleLock_Module_DisplayName";
|
displayName = "$STR_ACE_VehicleLock_Module_DisplayName";
|
||||||
@ -99,12 +100,12 @@ class CfgVehicles {
|
|||||||
defaultValue = "10";
|
defaultValue = "10";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
class ModuleDescription: ModuleDescription {
|
class ModuleDescription {
|
||||||
description = "$STR_ACE_VehicleLock_Module_Description";
|
description = "$STR_ACE_VehicleLock_Module_Description";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
class ACE_VehicleLock_ModuleSyncedAssign: Module_F {
|
class ACE_VehicleLock_ModuleSyncedAssign: ACE_Module {
|
||||||
author = "$STR_ACE_Common_ACETeam";
|
author = "$STR_ACE_Common_ACETeam";
|
||||||
category = "ACE";
|
category = "ACE";
|
||||||
displayName = "$STR_ACE_VehicleLock_VehicleKeyAssign_Module_DisplayName";
|
displayName = "$STR_ACE_VehicleLock_VehicleKeyAssign_Module_DisplayName";
|
||||||
|
@ -5,7 +5,7 @@ class CfgPatches {
|
|||||||
units[] = {};
|
units[] = {};
|
||||||
weapons[] = {};
|
weapons[] = {};
|
||||||
requiredVersion = REQUIRED_VERSION;
|
requiredVersion = REQUIRED_VERSION;
|
||||||
requiredAddons[] = {"ace_common", "ace_modules"};
|
requiredAddons[] = {"ace_common"};
|
||||||
author[] = {"q1184", "Rocko", "esteldunedain", "Ruthberg"};
|
author[] = {"q1184", "Rocko", "esteldunedain", "Ruthberg"};
|
||||||
VERSION_CONFIG;
|
VERSION_CONFIG;
|
||||||
};
|
};
|
||||||
|
@ -5,7 +5,7 @@ class CfgPatches {
|
|||||||
units[] = {};
|
units[] = {};
|
||||||
weapons[] = {};
|
weapons[] = {};
|
||||||
requiredVersion = REQUIRED_VERSION;
|
requiredVersion = REQUIRED_VERSION;
|
||||||
requiredAddons[] = {"ace_common","ace_modules"};
|
requiredAddons[] = {"ace_common"};
|
||||||
author[] = {"SilentSpike"};
|
author[] = {"SilentSpike"};
|
||||||
authorUrl = "https://github.com/SilentSpike";
|
authorUrl = "https://github.com/SilentSpike";
|
||||||
VERSION_CONFIG;
|
VERSION_CONFIG;
|
||||||
|
Loading…
Reference in New Issue
Block a user