diff --git a/TO_MERGE/agm/FireControlSystem/Optics.hpp b/TO_MERGE/agm/FireControlSystem/Optics.hpp deleted file mode 100644 index 0024a9d7ce..0000000000 --- a/TO_MERGE/agm/FireControlSystem/Optics.hpp +++ /dev/null @@ -1,257 +0,0 @@ - -#define MACRO_RANGERFINDER \ - class CA_Distance; \ - class AGM_CA_Distance: CA_Distance { \ - idc = 1713151; \ - text = "----"; \ - }; \ - class AGM_Rangehelper: RscMapControl { \ - onDraw = "((ctrlParent (_this select 0)) displayCtrl 1713151) ctrlShow (cameraView == 'GUNNER');"; \ - w = 0; \ - h = 0; \ - }; - -class RscControlsGroup; -class RscMapControl; - -class RscInGameUI { - class RscUnitInfo; - class RscUnitInfo_AH64D_gunner { - onLoad = ""; - controls[] = {"CA_Distance", "AGM_CA_Distance"}; - MACRO_RANGERFINDER - }; - class RscWeaponRangeFinder { - onLoad = "uiNamespace setVariable ['AGM_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0];"; - controls[] = {"CA_Distance", "AGM_CA_Distance"}; - MACRO_RANGERFINDER - }; - //class RscWeaponRangeArtillery - //class RscWeaponRangeArtilleryAuto - - class RscWeaponRangeFinderPAS13 { - onLoad = "uiNamespace setVariable ['AGM_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0];"; - MACRO_RANGERFINDER - }; - class RscOptics_Rangefinder: RscUnitInfo { - onLoad = "uiNamespace setVariable ['AGM_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGERFINDER - }; - }; - }; - class RscOptics_LaserDesignator { - onLoad = "uiNamespace setVariable ['AGM_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0];"; - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGERFINDER - }; - }; - }; - class RscWeaponRangeFinderMAAWS { - onLoad = "uiNamespace setVariable ['AGM_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0];"; - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGERFINDER - }; - }; - }; - class RscWeaponRangeFinderAbramsCom { - onLoad = "uiNamespace setVariable ['AGM_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0];"; - controls[] = {"CA_Distance", "AGM_CA_Distance"}; - MACRO_RANGERFINDER - }; - class RscWeaponRangeFinderAbramsGun { - onLoad = "uiNamespace setVariable ['AGM_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0];"; - controls[] = {"CA_Distance", "AGM_CA_Distance"}; - MACRO_RANGERFINDER - }; - class RscWeaponRangeFinderStrykerMGSGun { - onLoad = "uiNamespace setVariable ['AGM_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0];"; - controls[] = {"CA_Distance", "AGM_CA_Distance"}; - MACRO_RANGERFINDER - }; - class RscOptics_crows: RscUnitInfo { - onLoad = "uiNamespace setVariable ['AGM_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGERFINDER - }; - }; - }; - class RscOptics_strider_commander { - onLoad = "uiNamespace setVariable ['AGM_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0];"; - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGERFINDER - }; - }; - }; - - class RscWeaponRangeZeroing: RscUnitInfo { - onLoad = "uiNamespace setVariable ['AGM_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; - controls[] = {"CA_Zeroing", "CA_DistanceText", "CA_Distance", "AGM_CA_Distance", "AGM_Rangehelper"}; - MACRO_RANGERFINDER - }; - class RscOptics_sos: RscUnitInfo { - onLoad = "uiNamespace setVariable ['AGM_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGERFINDER - }; - }; - }; - class RscOptics_nightstalker: RscUnitInfo { - onLoad = "uiNamespace setVariable ['AGM_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGERFINDER - }; - }; - }; - class RscOptics_tws: RscUnitInfo { - onLoad = "uiNamespace setVariable ['AGM_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGERFINDER - }; - }; - }; - class RscOptics_punisher { - onLoad = "uiNamespace setVariable ['AGM_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0];"; - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGERFINDER - }; - }; - }; - class RscOptics_tws_sniper: RscUnitInfo { - onLoad = "uiNamespace setVariable ['AGM_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGERFINDER - }; - }; - }; - class RscOptics_SDV_periscope { - onLoad = "uiNamespace setVariable ['AGM_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0];"; - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGERFINDER - }; - }; - }; - class RscOptics_Heli_Attack_02_gunner: RscUnitInfo { - onLoad = "uiNamespace setVariable ['AGM_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGERFINDER - }; - }; - }; - class RscOptics_Heli_Attack_01_gunner: RscUnitInfo { - onLoad = "uiNamespace setVariable ['AGM_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGERFINDER - }; - }; - }; - class RscOptics_UAV_gunner: RscUnitInfo { - onLoad = "uiNamespace setVariable ['AGM_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGERFINDER - }; - }; - }; - class RscOptics_UGV_gunner: RscUnitInfo { - onLoad = "uiNamespace setVariable ['AGM_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGERFINDER - }; - }; - }; - class RscOptics_APC_Tracked_01_gunner: RscUnitInfo { - onLoad = "uiNamespace setVariable ['AGM_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGERFINDER - }; - }; - }; - class RscOptics_APC_Tracked_03_gunner: RscUnitInfo { - onLoad = "uiNamespace setVariable ['AGM_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGERFINDER - }; - }; - }; - class RscOptics_APC_Wheeled_01_gunner: RscUnitInfo { - onLoad = "uiNamespace setVariable ['AGM_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGERFINDER - }; - }; - }; - class RscOptics_APC_Wheeled_03_commander: RscUnitInfo { - onLoad = "uiNamespace setVariable ['AGM_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGERFINDER - }; - }; - }; - class RscOptics_APC_Wheeled_03_gunner: RscUnitInfo { - onLoad = "uiNamespace setVariable ['AGM_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGERFINDER - }; - }; - }; - class RscOptics_MBT_01_commander: RscUnitInfo { - onLoad = "uiNamespace setVariable ['AGM_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGERFINDER - }; - }; - }; - class RscOptics_MBT_01_gunner: RscUnitInfo { - onLoad = "uiNamespace setVariable ['AGM_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGERFINDER - }; - }; - }; - class RscOptics_MBT_02_commander: RscUnitInfo { - onLoad = "uiNamespace setVariable ['AGM_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGERFINDER - }; - }; - }; - class RscOptics_MBT_02_gunner: RscUnitInfo { - onLoad = "uiNamespace setVariable ['AGM_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGERFINDER - }; - }; - }; - class RscOptics_MBT_03_gunner: RscUnitInfo { - onLoad = "uiNamespace setVariable ['AGM_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; - class CA_IGUI_elements_group: RscControlsGroup { - class controls { - MACRO_RANGERFINDER - }; - }; - }; -}; diff --git a/TO_MERGE/agm/FireControlSystem/clientInit.sqf b/TO_MERGE/agm/FireControlSystem/clientInit.sqf deleted file mode 100644 index 291cfeedd5..0000000000 --- a/TO_MERGE/agm/FireControlSystem/clientInit.sqf +++ /dev/null @@ -1,3 +0,0 @@ -AGM_FCSEnabled = true; -AGM_FCSTime = -1; -AGM_FCSPosition = [0,0,0]; diff --git a/TO_MERGE/agm/FireControlSystem/config.cpp b/TO_MERGE/agm/FireControlSystem/config.cpp deleted file mode 100644 index e5e279ef6e..0000000000 --- a/TO_MERGE/agm/FireControlSystem/config.cpp +++ /dev/null @@ -1,899 +0,0 @@ -class CfgPatches { - class AGM_FireControlSystem { - units[] = {}; - weapons[] = {}; - requiredVersion = 0.60; - requiredAddons[] = {AGM_Core, AGM_Interaction}; - version = "0.95"; - versionStr = "0.95"; - versionAr[] = {0,95,0}; - author[] = {"KoffeinFlummi","BadGuy (simon84)"}; - authorUrl = "https://github.com/KoffeinFlummi/"; - }; -}; - -// @todo: clean up inheritance and remove old code - -class CfgFunctions { - class AGM_FCS { - class AGM_FCS { - file = "AGM_FireControlSystem\functions"; - class adjustRange; - class canUseFCS; - class canUseRangefinder; - class firedEH; - class getAngle; - class getImpactPoint; - class getRange; - class keyDown; - class keyUp; - class reset; - class vehicleInit; - }; - }; -}; - -class Extended_PostInit_EventHandlers { - class AGM_FCS { - clientInit = "call compile preprocessFileLineNumbers '\AGM_FireControlSystem\clientInit.sqf'"; - }; -}; - -class Extended_Init_EventHandlers { - class AllVehicles { - class AGM_FCS { - clientInit = "_this call AGM_FCS_fnc_vehicleInit"; - }; - }; -}; - -class AGM_Core_Default_Keys { - class laseTarget { - displayName = "$STR_AGM_FireControlSystem_LaseTarget"; - condition = "call AGM_FCS_fnc_canUseRangefinder || AGM_FCS_fnc_canUseFCS"; - statement = "_range = call AGM_FCS_fnc_getRange; if (call AGM_FCS_fnc_canUseFCS) then {[_vehicle, _range] call AGM_FCS_fnc_keyDown};"; - conditionUp = "AGM_FCSEnabled && AGM_FCS_fnc_canUseFCS"; - statementUp = "_range = call AGM_FCS_fnc_getRange; if (AGM_FCSEnabled && AGM_FCS_fnc_canUseFCS) then {[_vehicle, _range] call AGM_FCS_fnc_keyUp};"; - key = 15; - shift = 0; - control = 0; - alt = 0; - }; - class adjustRangeUp { - displayName = "$STR_AGM_FireControlSystem_AdjustRangeUp"; - condition = "player == gunner _vehicle && {getNumber (configFile >> 'CfgVehicles' >> (typeOf _vehicle) >> 'AGM_FCSEnabled') == 1}"; - statement = "[_vehicle, 50] call AGM_FCS_fnc_adjustRange"; - key = 201; - shift = 0; - control = 0; - alt = 0; - allowHolding = 1; - }; - class adjustRangeDown: adjustRangeUp { - displayName = "$STR_AGM_FireControlSystem_AdjustRangeDown"; - statement = "[_vehicle, -50] call AGM_FCS_fnc_adjustRange"; - key = 209; - }; -}; - -class CfgVehicles { - class All { - class Turrets; - }; - - class AllVehicles: All { - AGM_FCSEnabled = 0; - AGM_FCSMinDistance = 200; - AGM_FCSMaxDistance = 9990; - AGM_FCSDistanceInterval = 5; - class NewTurret { - class Turrets; - }; - class CargoTurret; - }; - - class Land: AllVehicles {}; - - class LandVehicle: Land { - class CommanderOptics; - }; - - class Car: LandVehicle { - class AGM_SelfActions { - class AGM_ResetFCS { - displayName = "$STR_AGM_FireControlSystem_ResetFCS"; - condition = "(count (vehicle _player getVariable ['AGM_FCSMagazines', []]) > 1) and (_player == gunner (vehicle _player))"; - statement = "[vehicle _player] call AGM_FCS_fnc_reset;"; - showDisabled = 0; - priority = -1; - }; - }; - }; - - class Tank: LandVehicle { - AGM_FCSEnabled = 1; // all tracked vehicles get one by default - class AGM_SelfActions { - class AGM_ResetFCS { - displayName = "$STR_AGM_FireControlSystem_ResetFCS"; - enableInside = 1; - condition = "(count (_vehicle getVariable ['AGM_FCSMagazines', []]) > 1) and (_player == gunner _vehicle)"; - statement = "[vehicle _player] call AGM_FCS_fnc_reset;"; - showDisabled = 0; - priority = 1; - icon = ""; - }; - }; - class Turrets { - class MainTurret: NewTurret { - class Turrets { - class CommanderOptics; - }; - }; - }; - }; - - class APC: Tank { - /*class Turrets: Turrets { - class MainTurret: MainTurret {}; - };*/ - }; - - class Air: AllVehicles {}; - - class Helicopter: Air { - class Turrets { - class MainTurret; - }; - }; - - class Plane: Air {}; - - class Ship: AllVehicles { - class Turrets { - class MainTurret; - }; - }; - - class Helicopter_Base_F: Helicopter { - class Turrets: Turrets { - class CopilotTurret; - }; - }; - - class Helicopter_Base_H: Helicopter_Base_F { - class Turrets: Turrets { - class CopilotTurret; - }; - }; - - class Heli_Light_01_base_F: Helicopter_Base_H { - /*class Turrets: Turrets { - class CopilotTurret: CopilotTurret {}; - };*/ - }; - - class B_Heli_Light_01_F: Heli_Light_01_base_F { - /*class Turrets: Turrets { - class CopilotTurret: CopilotTurret {}; - - class CargoTurret_01: CargoTurret {}; - class CargoTurret_02: CargoTurret_01 {}; - class CargoTurret_03: CargoTurret_02 {}; - class CargoTurret_04: CargoTurret_01 {}; - };*/ - }; - - class Heli_Light_01_armed_base_F: Heli_Light_01_base_F { - /*class Turrets: Turrets { - class CopilotTurret: CopilotTurret {}; - };*/ - }; - - class Heli_Light_02_base_F: Helicopter_Base_H { - /*class Turrets: Turrets { - class CopilotTurret: CopilotTurret {}; - };*/ - }; - - class Plane_Base_F: Plane { - class Turrets { - class CopilotTurret; - }; - }; - - class Heli_Attack_01_base_F: Helicopter_Base_F { - AGM_FCSEnabled = 1; - class Turrets: Turrets { - class MainTurret: MainTurret { - discreteDistance[] = {}; - discreteDistanceInitIndex = 0; - }; - }; - }; - - class Heli_Attack_02_base_F: Helicopter_Base_F { - AGM_FCSEnabled = 1; - class Turrets: Turrets { - class MainTurret: MainTurret { - discreteDistance[] = {}; - discreteDistanceInitIndex = 0; - }; - }; - }; - - class Heli_Transport_01_base_F: Helicopter_Base_H { - /*class Turrets: Turrets { - class CopilotTurret: CopilotTurret {}; - class MainTurret: MainTurret {}; - class RightDoorGun: MainTurret {}; - };*/ - }; - - class Heli_Transport_02_base_F: Helicopter_Base_H { - /*class Turrets: Turrets { - class CopilotTurret: CopilotTurret {}; - - class CargoTurret_01: CargoTurret {}; - class CargoTurret_02: CargoTurret_01 {}; - };*/ - }; - - class I_Heli_light_03_base_F: Helicopter_Base_F { - /*class Turrets: Turrets { - class MainTurret: MainTurret {}; - };*/ - }; - - class I_Heli_light_03_F: I_Heli_light_03_base_F { - /*class Turrets: Turrets { - class MainTurret: MainTurret {}; - - class CargoTurret_01: CargoTurret {}; - class CargoTurret_02: CargoTurret_01 {}; - };*/ - }; - - class Plane_CAS_01_base_F: Plane_Base_F { - class Turrets; - }; - - class Plane_CAS_02_base_F: Plane_Base_F { - class Turrets; - }; - - class Plane_Fighter_03_base_F: Plane_Base_F { - class Turrets; - }; - - class Tank_F: Tank { - class Turrets { - class MainTurret: NewTurret { - class Turrets { - class CommanderOptics;//: CommanderOptics {}; - }; - }; - }; - }; - - class Car_F: Car { - class Turrets { - class MainTurret; - }; - }; - - class Wheeled_APC_F: Car_F { - class Turrets { - class MainTurret: NewTurret { - class Turrets { - class CommanderOptics;//: CommanderOptics {}; - }; - }; - }; - }; - - class APC_Tracked_01_base_F: Tank_F { - /*class Turrets: Turrets { - class MainTurret: MainTurret { - class Turrets; - }; - };*/ - }; - - class B_APC_Tracked_01_base_F: APC_Tracked_01_base_F { - /*class Turrets: Turrets { - class MainTurret: MainTurret {}; - };*/ - }; - - class B_APC_Tracked_01_rcws_F: B_APC_Tracked_01_base_F { - AGM_FCSEnabled = 0; - /*class Turrets: Turrets { - class MainTurret: MainTurret {}; - class CommanderOptics: CommanderOptics {}; - };*/ - }; - - class B_APC_Tracked_01_CRV_F: B_APC_Tracked_01_base_F { - AGM_FCSEnabled = 0; - }; - - class B_APC_Tracked_01_AA_F: B_APC_Tracked_01_base_F { - class Turrets: Turrets { - class MainTurret: MainTurret { - discreteDistance[] = {}; - discreteDistanceInitIndex = 0; - magazines[] += {"AGM_120Rnd_35mm_ABM_shells_Tracer_Red"}; - /*class Turrets: Turrets { - class CommanderOptics: CommanderOptics {}; - };*/ - }; - }; - }; - - class APC_Tracked_02_base_F: Tank_F { - /*class Turrets: Turrets { - class MainTurret: MainTurret { - class Turrets: Turrets { - class CommanderOptics: CommanderOptics {}; - }; - }; - };*/ - }; - - class O_APC_Tracked_02_base_F: APC_Tracked_02_base_F {}; - - class O_APC_Tracked_02_cannon_F: O_APC_Tracked_02_base_F { - /*class Turrets: Turrets { - class MainTurret: MainTurret {}; - };*/ - }; - - class O_APC_Tracked_02_AA_F: O_APC_Tracked_02_base_F { - class Turrets: Turrets { - class MainTurret: MainTurret { - magazines[] += {"AGM_120Rnd_35mm_ABM_shells_Tracer_Green"}; - /*class Turrets: Turrets { - class CommanderOptics: CommanderOptics {}; - };*/ - }; - }; - }; - - class APC_Tracked_03_base_F: Tank_F { - class Turrets: Turrets { - class MainTurret: MainTurret { - discreteDistance[] = {}; - discreteDistanceInitIndex = 0; - /*class Turrets: Turrets { - class CommanderOptics: CommanderOptics {}; - };*/ - }; - }; - }; - - class MBT_03_base_F: Tank_F { - class Turrets: Turrets { - class MainTurret: MainTurret { - discreteDistance[] = {}; - discreteDistanceInitIndex = 0; - /*class Turrets: Turrets { - class CommanderOptics: CommanderOptics {}; - };*/ - }; - }; - }; - - class MBT_01_base_F: Tank_F { - class Turrets: Turrets { - class MainTurret: MainTurret { - discreteDistance[] = {}; - discreteDistanceInitIndex = 0; - /*class Turrets: Turrets { - class CommanderOptics: CommanderOptics {}; - };*/ - }; - }; - }; - - class B_MBT_01_base_F: MBT_01_base_F {}; - - class B_MBT_01_cannon_F: B_MBT_01_base_F {}; - - class MBT_01_arty_base_F: MBT_01_base_F { - AGM_FCSEnabled = 0; - /*class Turrets: Turrets { - class MainTurret: MainTurret { - class Turrets: Turrets { - class CommanderOptics: CommanderOptics {}; - }; - }; - };*/ - }; - - class MBT_01_mlrs_base_F: MBT_01_base_F { - AGM_FCSEnabled = 0; - /*class Turrets: Turrets { - class MainTurret: MainTurret { - class Turrets; - }; - };*/ - }; - - class MBT_02_base_F: Tank_F { - class Turrets: Turrets { - class MainTurret: MainTurret { - discreteDistance[] = {}; - discreteDistanceInitIndex = 0; - /*class Turrets: Turrets { - class CommanderOptics: CommanderOptics {}; - };*/ - }; - }; - }; - - class MBT_02_arty_base_F: MBT_02_base_F { - AGM_FCSEnabled = 0; - /*class Turrets: Turrets { - class MainTurret: MainTurret { - class Turrets: Turrets { - class CommanderOptics: CommanderOptics {}; - }; - }; - };*/ - }; - - class Ship_F: Ship {}; - - class Boat_F: Ship_F {}; - - class Boat_Armed_01_base_F: Boat_F { - class Turrets: Turrets { - class FrontTurret; - class RearTurret: FrontTurret {}; - }; - }; - - /*class Boat_Armed_01_minigun_base_F: Boat_Armed_01_base_F { - class Turrets: Turrets { - class FrontTurret: FrontTurret {}; - class RearTurret: RearTurret {}; - }; - };*/ - - class Truck_F: Car_F { - //class Turrets: Turrets {}; - }; - - class MRAP_01_base_F: Car_F {}; - - class MRAP_01_gmg_base_F: MRAP_01_base_F { - /*class Turrets: Turrets { - class MainTurret: MainTurret {}; - };*/ - }; - - class MRAP_01_hmg_base_F: MRAP_01_gmg_base_F { - /*class Turrets: Turrets { - class MainTurret: MainTurret {}; - };*/ - }; - - class B_MRAP_01_F: MRAP_01_base_F { - class Turrets; - }; - - class MRAP_02_base_F: Car_F {}; - - class MRAP_02_hmg_base_F: MRAP_02_base_F { - /*class Turrets: Turrets { - class MainTurret: MainTurret {}; - };*/ - }; - - class MRAP_02_gmg_base_F: MRAP_02_hmg_base_F { - /*class Turrets: Turrets { - class MainTurret: MainTurret {}; - };*/ - }; - - class O_MRAP_02_F: MRAP_02_base_F { - class Turrets; - }; - - class Offroad_01_base_F: Car_F {}; - - class C_Offroad_01_F: Offroad_01_base_F { - /*class Turrets: Turrets { - class CargoTurret_01: CargoTurret {}; - class CargoTurret_02: CargoTurret_01 {}; - class CargoTurret_03: CargoTurret_01 {}; - class CargoTurret_04: CargoTurret_03 {}; - };*/ - }; - - class Offroad_01_repair_base_F: Offroad_01_base_F { - class Turrets; - }; - - class I_G_Offroad_01_F: Offroad_01_base_F { - /*class Turrets: Turrets { - class CargoTurret_01: CargoTurret {}; - class CargoTurret_02: CargoTurret_01 {}; - class CargoTurret_03: CargoTurret_01 {}; - class CargoTurret_04: CargoTurret_03 {}; - };*/ - }; - - class Offroad_01_armed_base_F: Offroad_01_base_F { - /*class Turrets: Turrets { - class M2_Turret: MainTurret {}; - };*/ - }; - - class MRAP_03_base_F: Car_F { - /*class Turrets: Turrets { - class CommanderTurret: MainTurret {}; - };*/ - }; - - class MRAP_03_hmg_base_F: MRAP_03_base_F { - /*class Turrets: Turrets { - class MainTurret: MainTurret {}; - class CommanderTurret: CommanderTurret {}; - };*/ - }; - - class MRAP_03_gmg_base_F: MRAP_03_hmg_base_F { - /*class Turrets: Turrets { - class MainTurret: MainTurret {}; - class CommanderTurret: CommanderTurret {}; - };*/ - }; - - class Truck_01_base_F: Truck_F { - class Turrets; - }; - - class B_Truck_01_transport_F: Truck_01_base_F { - /*class Turrets: Turrets { - class CargoTurret_01: CargoTurret {}; - class CargoTurret_02: CargoTurret_01 {}; - };*/ - }; - - class Truck_02_base_F: Truck_F { - class Turrets; - }; - - class O_Truck_02_covered_F: Truck_02_base_F { - /*class Turrets: Turrets { - class CargoTurret_01: CargoTurret {}; - class CargoTurret_02: CargoTurret_01 {}; - };*/ - }; - - class O_Truck_02_transport_F: Truck_02_base_F { - /*class Turrets: Turrets { - class CargoTurret_01: CargoTurret {}; - class CargoTurret_02: CargoTurret_01 {}; - };*/ - }; - - class I_Truck_02_covered_F: Truck_02_base_F { - /*class Turrets: Turrets { - class CargoTurret_01: CargoTurret {}; - class CargoTurret_02: CargoTurret_01 {}; - };*/ - }; - - class I_Truck_02_transport_F: Truck_02_base_F { - /*class Turrets: Turrets { - class CargoTurret_01: CargoTurret {}; - class CargoTurret_02: CargoTurret_01 {}; - };*/ - }; - - class Truck_03_base_F: Truck_F { - class Turrets; - }; - - class O_Truck_03_transport_F: Truck_03_base_F { - /*class Turrets: Turrets { - class CargoTurret_01: CargoTurret {}; - class CargoTurret_02: CargoTurret_01 {}; - };*/ - }; - - class O_Truck_03_covered_F: Truck_03_base_F { - /*class Turrets: Turrets { - class CargoTurret_01: CargoTurret {}; - class CargoTurret_02: CargoTurret_01 {}; - };*/ - }; - - class Hatchback_01_base_F: Car_F { - class Turrets; - }; - - class SUV_01_base_F: Car_F { - class Turrets; - }; - - class B_Truck_01_mover_F: B_Truck_01_transport_F { - class Turrets; - }; - - class Van_01_base_F: Truck_F { - class Turrets; - }; - - class C_Van_01_transport_F: Van_01_base_F { - //class Turrets: Turrets {}; - }; - - class I_G_Van_01_transport_F: Van_01_base_F { - /*class Turrets: Turrets { - class CargoTurret_L1: CargoTurret {}; - class CargoTurret_L2: CargoTurret_L1 {}; - class CargoTurret_L3: CargoTurret_L1 {}; - class CargoTurret_L4: CargoTurret_L1 {}; - class CargoTurret_L5: CargoTurret_L1 {}; - - class CargoTurret_R1: CargoTurret_L1 {}; - class CargoTurret_R2: CargoTurret_L1 {}; - class CargoTurret_R3: CargoTurret_L1 {}; - class CargoTurret_R4: CargoTurret_L1 {}; - class CargoTurret_R5: CargoTurret_L1 {}; - };*/ - }; - - class Kart_01_Base_F: Car_F { - class Turrets; - }; - - class B_Heli_Transport_03_base_F: Helicopter_Base_H { - /*class Turrets: Turrets { - class CopilotTurret: CopilotTurret {}; - class MainTurret: MainTurret {}; - class RightDoorGun: MainTurret {}; - - class CargoTurret_01: CargoTurret {}; - class CargoTurret_02: CargoTurret_01 {}; - };*/ - }; - - class B_Heli_Transport_03_unarmed_base_F: B_Heli_Transport_03_base_F { - /*class Turrets: Turrets { - class CopilotTurret: CopilotTurret {}; - class MainTurret: MainTurret {}; - class RightDoorGun: MainTurret {}; - - class CargoTurret_01: CargoTurret {}; - class CargoTurret_02: CargoTurret_01 {}; - };*/ - }; - - class Heli_Transport_04_base_F: Helicopter_Base_H { - /*class Turrets: Turrets { - class CopilotTurret: CopilotTurret {}; - class LoadmasterTurret: MainTurret {}; - };*/ - }; - - class O_Heli_Transport_04_bench_F: Heli_Transport_04_base_F { - /*class Turrets: Turrets { - class CopilotTurret: CopilotTurret {}; - class LoadmasterTurret: LoadmasterTurret {}; - - class CargoTurret_01: CargoTurret {}; - class CargoTurret_02: CargoTurret_01 {}; - class CargoTurret_03: CargoTurret_01 {}; - class CargoTurret_04: CargoTurret_01 {}; - class CargoTurret_05: CargoTurret_01 {}; - class CargoTurret_06: CargoTurret_05 {}; - class CargoTurret_07: CargoTurret_05 {}; - class CargoTurret_08: CargoTurret_05 {}; - };*/ - }; - - class O_Heli_Transport_04_covered_F: Heli_Transport_04_base_F { - /*class Turrets: Turrets { - class CopilotTurret: CopilotTurret {}; - class LoadmasterTurret: LoadmasterTurret {}; - - class CargoTurret_01: CargoTurret {}; - class CargoTurret_02: CargoTurret_01 {}; - };*/ - }; - - class APC_Wheeled_01_base_F: Wheeled_APC_F { - /*class Turrets: Turrets { - class MainTurret: MainTurret { - class Turrets: Turrets { - class CommanderOptics: CommanderOptics {}; - }; - }; - };*/ - }; - - class B_APC_Wheeled_01_base_F: APC_Wheeled_01_base_F {}; - - class B_APC_Wheeled_01_cannon_F: B_APC_Wheeled_01_base_F { - AGM_FCSEnabled = 1; - class Turrets: Turrets { - class MainTurret: MainTurret { - discreteDistance[] = {}; - discreteDistanceInitIndex = 0; - }; - }; - }; - - class APC_Wheeled_02_base_F: Wheeled_APC_F { - /*class Turrets: Turrets { - class MainTurret: MainTurret { - class Turrets; - }; - - class CommanderOptics: CommanderOptics {}; - };*/ - }; - - class B_MBT_01_TUSK_F: B_MBT_01_cannon_F { - class Turrets: Turrets { - class MainTurret: MainTurret { - discreteDistance[] = {}; - discreteDistanceInitIndex = 0; - /*class Turrets: Turrets { - class CommanderOptics: CommanderOptics {}; - };*/ - }; - }; - }; - - class APC_Wheeled_03_base_F: Wheeled_APC_F { - AGM_FCSEnabled = 1; - class Turrets: Turrets { - class MainTurret: MainTurret { - discreteDistance[] = {}; - discreteDistanceInitIndex = 0; - /*class Turrets: Turrets { - class CommanderOptics: CommanderOptics {}; - };*/ - }; - }; - }; - - class I_APC_Wheeled_03_base_F: APC_Wheeled_03_base_F {}; - - class I_APC_Wheeled_03_cannon_F: I_APC_Wheeled_03_base_F { - /*class Turrets: Turrets { - class MainTurret: MainTurret {}; - };*/ - }; -}; - -// disable locking, so it doesn't interfere with our system -class CfgWeapons { - class CannonCore; - class cannon_120mm: CannonCore { - canLock = 0; - ballisticsComputer = 0; - }; - class autocannon_Base_F: CannonCore { - canLock = 0; - ballisticsComputer = 0; - }; - class autocannon_35mm: CannonCore { - canLock = 0; - ballisticsComputer = 0; - magazines[] += {"AGM_120Rnd_35mm_ABM_shells","AGM_120Rnd_35mm_ABM_shells_Tracer_Red","AGM_120Rnd_35mm_ABM_shells_Tracer_Green","AGM_120Rnd_35mm_ABM_shells_Tracer_Yellow"}; - }; - /*class Cannon_30mm_Plane_CAS_02_F: CannonCore { - canLock = 0; - ballisticsComputer = 0; - };*/ - - /*class gatling_20mm: CannonCore { - canLock = 0; - ballisticsComputer = 0; - }; - class gatling_25mm: CannonCore { - canLock = 0; - }; - class gatling_30mm: CannonCore { - canLock = 0; - ballisticsComputer = 0; - }; - class Gatling_30mm_Plane_CAS_01_F: CannonCore { - canLock = 0; - ballisticsComputer = 0; - };*/ - - /*class MGunCore; - class M134_minigun: MGunCore { - canLock = 0; - }; - - class MGun: MGunCore {}; - class LMG_RCWS: MGun { - canLock = 0; - ballisticsComputer = 0; - }; - class HMG_127: LMG_RCWS { - ballisticsComputer = 0; - }; - class GMG_F: MGun { - canLock = 0; - ballisticsComputer = 0; - };*/ - - // fix mrco having an invisible rangefinder - class ItemCore; - class optic_MRCO: ItemCore { - weaponInfoType = "RscWeaponZeroing"; - }; -}; - -class CfgMagazines { - class 680Rnd_35mm_AA_shells; - class 680Rnd_35mm_AA_shells_Tracer_Red; - class 680Rnd_35mm_AA_shells_Tracer_Green; - class 680Rnd_35mm_AA_shells_Tracer_Yellow; - - class AGM_120Rnd_35mm_ABM_shells: 680Rnd_35mm_AA_shells { - ammo = "AGM_B_35mm_ABM"; - count = 120; - displayName = "35mm ABM Shells"; - displayNameShort = "35mm ABM"; - }; - class AGM_120Rnd_35mm_ABM_shells_Tracer_Red: 680Rnd_35mm_AA_shells_Tracer_Red { - ammo = "AGM_B_35mm_ABM_Tracer_Red"; - count = 120; - displayName = "35mm ABM Shells"; - displayNameShort = "35mm ABM-T"; - }; - class AGM_120Rnd_35mm_ABM_shells_Tracer_Green: 680Rnd_35mm_AA_shells_Tracer_Green { - ammo = "AGM_B_35mm_ABM_Tracer_Green"; - count = 120; - displayName = "35mm ABM Shells"; - displayNameShort = "35mm ABM-T"; - }; - class AGM_120Rnd_35mm_ABM_shells_Tracer_Yellow: 680Rnd_35mm_AA_shells_Tracer_Yellow { - ammo = "AGM_B_35mm_ABM_Tracer_Yellow"; - count = 120; - displayName = "35mm ABM Shells"; - displayNameShort = "35mm ABM-T"; - }; -}; - -class CfgAmmo { - class B_35mm_AA; - class B_35mm_AA_Tracer_Red; - class B_35mm_AA_Tracer_Green; - class B_35mm_AA_Tracer_Yellow; - - class AGM_B_35mm_ABM: B_35mm_AA { - AGM_Airburst = 1; - deflecting = 0; - }; - class AGM_B_35mm_ABM_Tracer_Red: B_35mm_AA_Tracer_Red { - AGM_Airburst = 1; - deflecting = 0; - }; - class AGM_B_35mm_ABM_Tracer_Green: B_35mm_AA_Tracer_Green { - AGM_Airburst = 1; - deflecting = 0; - }; - class AGM_B_35mm_ABM_Tracer_Yellow: B_35mm_AA_Tracer_Yellow { - AGM_Airburst = 1; - deflecting = 0; - }; - - class AGM_B_35mm_ABM_Helper: B_35mm_AA { - indirectHitRange = 6; - simulation = "shotRocket"; - timeToLive = 0; - }; -}; - -#include diff --git a/TO_MERGE/agm/FireControlSystem/functions/fn_canUseFCS.sqf b/TO_MERGE/agm/FireControlSystem/functions/fn_canUseFCS.sqf deleted file mode 100644 index d988c1b791..0000000000 --- a/TO_MERGE/agm/FireControlSystem/functions/fn_canUseFCS.sqf +++ /dev/null @@ -1,14 +0,0 @@ -/* - * Author: commy2 - * - * Called from config. Returns true if the player is a gunner and the players current vehicle has a FCS. - * - * Argument: - * Nothing - * - * Return value: - * Boolean (Bool) - */ - -_player == gunner _vehicle && {getNumber (configFile >> "CfgVehicles" >> typeOf _vehicle >> "AGM_FCSEnabled") == 1} -&& {cameraView == "GUNNER"} diff --git a/TO_MERGE/agm/FireControlSystem/functions/fn_getImpactPoint.sqf b/TO_MERGE/agm/FireControlSystem/functions/fn_getImpactPoint.sqf deleted file mode 100644 index 68c9cb04bb..0000000000 --- a/TO_MERGE/agm/FireControlSystem/functions/fn_getImpactPoint.sqf +++ /dev/null @@ -1,36 +0,0 @@ -/* - * Author: KoffeinFlummi - * - * Gets the impact point if the given bomb were to be dropped at the - * the current time from the given vehicle. - * - * !!! Experimental !!! - * - * Arguments: - * 0: Vehicle - * 1: Classname of bomb - * - * Return Value: - * Coordinates of hit in ATL - */ - -_vehicle = _this select 0; -_projectile = _this select 1; - -_velocity = velocity (_vehicle); -_position = getPosASL _vehicle; - -_airFriction = getNumber (configFile >> "CfgAmmo" >> _projectile >> "airFriction"); -_simulationStep = getNumber (configFile >> "CfgAmmo" >> _projectile >> "simulationStep"); -_timeToLive = getNumber (configFile >> "CfgAmmo" >> _projectile >> "timeToLive"); - -_time = 0; -while {_time < _timeToLive and (ASLToATL _position) select 2 > 0} do { - _position = _position vectorAdd (_velocity vectorMultiply _simulationStep); - _velMag = vectorMagnitude _velocity; - _velocity = _velocity vectorAdd (_velocity vectorMultiply (_simulationStep * _velMag * _airFriction)); - _velocity set [2, (_velocity select 2) - 9.81 * _simulationStep]; - _time = _time + _simulationStep; -}; - -_position diff --git a/TO_MERGE/agm/FireControlSystem/functions/fn_reset.sqf b/TO_MERGE/agm/FireControlSystem/functions/fn_reset.sqf deleted file mode 100644 index 086826b1af..0000000000 --- a/TO_MERGE/agm/FireControlSystem/functions/fn_reset.sqf +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Author: KoffeinFlummi - * - * Resets the FCS to default. - * - * Arguments: - * 0: Vehicle - * - * Return Value: - * none - */ - -private ["_vehicle"]; - -_vehicle = _this select 0; - -_vehicle setVariable ["AGM_FCSDistance", 0, true]; -_vehicle setVariable ["AGM_FCSMagazines", [], true]; -_vehicle setVariable ["AGM_FCSElevation", 0, true]; -_vehicle setVariable ["AGM_FCSAzimuth", 0, true]; - -[localize "STR_AGM_FireControlSystem_HasBeenReset"] call AGM_Core_fnc_displayTextStructured; diff --git a/TO_MERGE/cse/nametags/CfgEventHandlers.hpp b/TO_MERGE/cse/nametags/CfgEventHandlers.hpp deleted file mode 100644 index ab75a246bb..0000000000 --- a/TO_MERGE/cse/nametags/CfgEventHandlers.hpp +++ /dev/null @@ -1,11 +0,0 @@ -class Extended_PreInit_EventHandlers { - class ADDON { - init = QUOTE( call compile preprocessFileLineNumbers PATHTOF(XEH_preInit.sqf) ); - }; -}; - -class Extended_PostInit_EventHandlers { - class ADDON { - init = QUOTE( call compile preprocessFileLineNumbers PATHTOF(XEH_postInit.sqf) ); - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/nametags/CfgVehicles.hpp b/TO_MERGE/cse/nametags/CfgVehicles.hpp deleted file mode 100644 index a0d8133e8a..0000000000 --- a/TO_MERGE/cse/nametags/CfgVehicles.hpp +++ /dev/null @@ -1,64 +0,0 @@ -// TODO Check what faction classes are available within ACE and move this to a core pbo -class CfgFactionClasses -{ - class NO_CATEGORY; - class ACEMisc: NO_CATEGORY { - displayName = "ACE Misc Modules"; - }; -}; - - -class CfgVehicles -{ - class Logic; - class Module_F: Logic { - class ArgumentsBaseUnits { - }; - }; - class GVAR(Module): Module_F { - scope = 2; - displayName = $STR_ACE_NameTags_Title; - icon = QUOTE(PATHOF(data\module_icon.paa)); - category = "ACEMisc"; - function = QUOTE(FUNC(initalizeModule)); - functionPriority = 1; - isGlobal = 1; - isTriggerActivated = 0; - class Arguments { - class enableModule { - displayName = $STR_ACE_NameTags_Arg_enable; - description = $STR_ACE_NameTags_Arg_enable_Desc; - typeName = "BOOL"; - defaultValue = 0; - }; - class indirectDistance { - displayName = $STR_ACE_NameTags_Arg_indirectDistance; - description = $STR_ACE_NameTags_Arg_indirectDistance_Desc; - typeName = "NUMBER"; - defaultValue = 7.5; - }; - class cursorTargetDistance { - displayName = $STR_ACE_NameTags_Arg_directDistance; - description = $STR_ACE_NameTags_Arg_directDistance_Desc; - typeName = "NUMBER"; - defaultValue = 20; - }; - class allowDifferentSides { - displayName = $STR_ACE_NameTags_Arg_differentSides; - description = $STR_ACE_NameTags_Arg_differentSides_Desc; - typeName = "BOOL"; - defaultValue = 0; - }; - class enableSoundWaves { - displayName = $STR_ACE_NameTags_Arg_soundWaves; - description = $STR_ACE_NameTags_Arg_soundWaves_Desc; - typeName = "BOOL"; - defaultValue = 0; - }; - }; - class ModuleDescription { - description = $STR_ACE_NameTags_ModuleDesc; - sync[] = {}; - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/nametags/XEH_postInit.sqf b/TO_MERGE/cse/nametags/XEH_postInit.sqf deleted file mode 100644 index 97b6926c5b..0000000000 --- a/TO_MERGE/cse/nametags/XEH_postInit.sqf +++ /dev/null @@ -1,66 +0,0 @@ -/** - * XEH_postInit.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -if (!hasInterface) exitwith {}; // No need for this module on HC or dedicated server. - -#include "script_component.hpp" - -// Settings -if (isNil QUOTE(ACE_NameTagsModule)) then { - GVAR(INDIRECT_TAGS_DISTANCE) = 7.5; - GVAR(DIRECT_TAG_DISTANCE) = 20; - GVAR(ENABLE_SOUNDWAVES) = false; - GVAR(ALLOW_OWN_SIDE_ONLY) = true; - GVAR(ENABLE_MODULE) = true; -}; - -// In case the module has been placed and the enable setting has been put to false -if (!GVAR(ENABLE_MODULE)) exitwith {}; - -// Client side options -// TODO Implement a framework for adjusting client side settings. -GVAR(DRAW_TAG_ICONS) = true; -GVAR(ENABLE_INDIRECT) = false; -GVAR(TAG_DISPLAY_COLOR) = [1,1,1,1]; -GVAR(SHOW_SOUNDWAVES) = false; -GVAR(DISPLAY_RANK) = false; - -// If the distance values are set incorrectly, ensure we handle this -if (GVAR(DIRECT_TAG_DISTANCE) < GVAR(INDIRECT_TAGS_DISTANCE)) then { - GVAR(DIRECT_TAG_DISTANCE) = GVAR(INDIRECT_TAGS_DISTANCE); -}; - -// If both are below 1m, exit because they will not show up. -if (GVAR(DIRECT_TAG_DISTANCE) < 1) exitwith {}; - -// Draw the icons for each nametag -// TODO Look into replacement with cutRsc instead of icon3d -addMissionEventHandler ["Draw3D", FUNC(drawNameTags)]; - -if (GVAR(ENABLE_SOUNDWAVES)) then { - - GVAR(SOUNDWAVE_ICONS) = [QUOTE(PATHTOF(data\soundwaves\soundwave1.paa)),QUOTE(PATHTOF(data\soundwaves\soundwave2.paa)), QUOTE(PATHTOF(data\soundwaves\soundwave3.paa)), QUOTE(PATHTOF(data\soundwaves\soundwave4.paa)), QUOTE(PATHTOF(data\soundwaves\soundwave5.paa)), QUOTE(PATHTOF(data\soundwaves\soundwave6.paa)), QUOTE(PATHTOF(data\soundwaves\soundwave7.paa)), QUOTE(PATHTOF(data\soundwaves\soundwave8.paa)), QUOTE(PATHTOF(data\soundwaves\soundwave9.paa)), QUOTE(PATHTOF(data\soundwaves\soundwave_silent.paa))]; - - // TODO Implement function for checking if an addon is loaded - //if (["task_force_radio"] call ace_fnc_isModLoaded_F) then { - if (isnil "TFAR_fnc_isSpeaking") then { - TFAR_fnc_isSpeaking = { if (!isnil "TF_tangent_lr_pressed") then {(TF_tangent_lr_pressed || TF_tangent_sw_pressed || TF_tangent_dd_pressed)} else { false }; }; - }; - //}; - - // TODO Move to unscheduled environment with PFH - [] spawn { - waituntil{ - waituntil {alive player}; - /*ACE_player*/ player call FUNC(handleSpeaking); - !GVAR(ENABLE_SOUNDWAVES); // exit when the soundwaves have been disabled - }; - }; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/nametags/XEH_preInit.sqf b/TO_MERGE/cse/nametags/XEH_preInit.sqf deleted file mode 100644 index 702a785859..0000000000 --- a/TO_MERGE/cse/nametags/XEH_preInit.sqf +++ /dev/null @@ -1,17 +0,0 @@ -/** - * XEH_preInit.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -#include "script_component.hpp" - -PREP(drawNameTags); -PREP(findNearbyUnits); -PREP(handleSpeaking); -PREP(allowSide); -PREP(initalizeModule); diff --git a/TO_MERGE/cse/nametags/config.cpp b/TO_MERGE/cse/nametags/config.cpp deleted file mode 100644 index 8a90482389..0000000000 --- a/TO_MERGE/cse/nametags/config.cpp +++ /dev/null @@ -1,24 +0,0 @@ -#include "script_component.hpp" - -class CfgPatches { - class ADDON { - units[] = {}; - weapons[] = {}; - requiredVersion = REQUIRED_VERSION; - requiredAddons[] = {"ACE_gui","ACE_main"}; - version = VERSION; - author[] = {$STR_ACE_Core_ACETeam}; - authorUrl = "http://ACEmod.com"; // TODO website link? - }; -}; - -class CfgAddons { - class PreloadAddons { - class ADDON { - list[] = {QUOTE(ADDON)}; - }; - }; -}; - -#include "CfgVehicles.hpp" -#include "CfgEventHandlers.hpp" \ No newline at end of file diff --git a/TO_MERGE/cse/nametags/data/empty.paa b/TO_MERGE/cse/nametags/data/empty.paa deleted file mode 100644 index a354c7eb38..0000000000 Binary files a/TO_MERGE/cse/nametags/data/empty.paa and /dev/null differ diff --git a/TO_MERGE/cse/nametags/data/module_icon.paa b/TO_MERGE/cse/nametags/data/module_icon.paa deleted file mode 100644 index 1710ef74c9..0000000000 Binary files a/TO_MERGE/cse/nametags/data/module_icon.paa and /dev/null differ diff --git a/TO_MERGE/cse/nametags/data/soundwaves/soundwave1.paa b/TO_MERGE/cse/nametags/data/soundwaves/soundwave1.paa deleted file mode 100644 index ce4f85eb69..0000000000 Binary files a/TO_MERGE/cse/nametags/data/soundwaves/soundwave1.paa and /dev/null differ diff --git a/TO_MERGE/cse/nametags/data/soundwaves/soundwave2.paa b/TO_MERGE/cse/nametags/data/soundwaves/soundwave2.paa deleted file mode 100644 index 0bc59cde24..0000000000 Binary files a/TO_MERGE/cse/nametags/data/soundwaves/soundwave2.paa and /dev/null differ diff --git a/TO_MERGE/cse/nametags/data/soundwaves/soundwave3.paa b/TO_MERGE/cse/nametags/data/soundwaves/soundwave3.paa deleted file mode 100644 index 39f3e8e95b..0000000000 Binary files a/TO_MERGE/cse/nametags/data/soundwaves/soundwave3.paa and /dev/null differ diff --git a/TO_MERGE/cse/nametags/data/soundwaves/soundwave4.paa b/TO_MERGE/cse/nametags/data/soundwaves/soundwave4.paa deleted file mode 100644 index 7ab8b6d944..0000000000 Binary files a/TO_MERGE/cse/nametags/data/soundwaves/soundwave4.paa and /dev/null differ diff --git a/TO_MERGE/cse/nametags/data/soundwaves/soundwave5.paa b/TO_MERGE/cse/nametags/data/soundwaves/soundwave5.paa deleted file mode 100644 index f3e98d47aa..0000000000 Binary files a/TO_MERGE/cse/nametags/data/soundwaves/soundwave5.paa and /dev/null differ diff --git a/TO_MERGE/cse/nametags/data/soundwaves/soundwave6.paa b/TO_MERGE/cse/nametags/data/soundwaves/soundwave6.paa deleted file mode 100644 index 3f29976c9f..0000000000 Binary files a/TO_MERGE/cse/nametags/data/soundwaves/soundwave6.paa and /dev/null differ diff --git a/TO_MERGE/cse/nametags/data/soundwaves/soundwave7.paa b/TO_MERGE/cse/nametags/data/soundwaves/soundwave7.paa deleted file mode 100644 index e705c70b42..0000000000 Binary files a/TO_MERGE/cse/nametags/data/soundwaves/soundwave7.paa and /dev/null differ diff --git a/TO_MERGE/cse/nametags/data/soundwaves/soundwave8.paa b/TO_MERGE/cse/nametags/data/soundwaves/soundwave8.paa deleted file mode 100644 index e6027d878a..0000000000 Binary files a/TO_MERGE/cse/nametags/data/soundwaves/soundwave8.paa and /dev/null differ diff --git a/TO_MERGE/cse/nametags/data/soundwaves/soundwave9.paa b/TO_MERGE/cse/nametags/data/soundwaves/soundwave9.paa deleted file mode 100644 index 91ddfd02df..0000000000 Binary files a/TO_MERGE/cse/nametags/data/soundwaves/soundwave9.paa and /dev/null differ diff --git a/TO_MERGE/cse/nametags/data/soundwaves/soundwave_silent.paa b/TO_MERGE/cse/nametags/data/soundwaves/soundwave_silent.paa deleted file mode 100644 index 27f34b38ab..0000000000 Binary files a/TO_MERGE/cse/nametags/data/soundwaves/soundwave_silent.paa and /dev/null differ diff --git a/TO_MERGE/cse/nametags/functions/fnc_allowSide.sqf b/TO_MERGE/cse/nametags/functions/fnc_allowSide.sqf deleted file mode 100644 index d28c9a336d..0000000000 --- a/TO_MERGE/cse/nametags/functions/fnc_allowSide.sqf +++ /dev/null @@ -1,15 +0,0 @@ -/** - * fn_allowSide_TAGS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: side - * @Return: - * @PublicAPI: false - */ -#include "script_component.hpp" - -if (GVAR(ALLOW_OWN_SIDE_ONLY)) exitwith { - _this == playerSide; /* side ACE_player */ -}; -((_this getFriend playerSide /* side ACE_player */ ) >= 0.6); \ No newline at end of file diff --git a/TO_MERGE/cse/nametags/functions/fnc_drawNameTags.sqf b/TO_MERGE/cse/nametags/functions/fnc_drawNameTags.sqf deleted file mode 100644 index da05c477e4..0000000000 --- a/TO_MERGE/cse/nametags/functions/fnc_drawNameTags.sqf +++ /dev/null @@ -1,71 +0,0 @@ -/** - * fn_drawNameTags_TAGS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ -#include "script_component.hpp" -#define FONT "EtelkaMonospacePro" - -private ["_cursor","_soundWaves", "_nameOfUnit","_pos","_color", "_nearbyUnits", "_iconOptions", "_iconSets", "_unit", "_colorOfIcon", "_nearObj"]; -if (visibleMap || !GVAR(DRAW_TAG_ICONS)) exitwith {}; - -_nearObj = if (isNull curatorCamera) then {/* ACE_player */ if (isNull (missionnamespace getvariable ["bis_fnc_moduleRemoteControl_unit",objnull])) then { player} else {(missionnamespace getvariable ["bis_fnc_moduleRemoteControl_unit",objnull]) }; } else { curatorCamera }; - -if (GVAR(ENABLE_INDIRECT)) then { - { - _nameOfUnit = _x select 0; - _pos = _x select 1; - _color = _x select 2; - _unit = _x select 3; - _iconDrawn = QUOTE(PATHTOF(data\empty.paa)); - if (_unit getvariable [QGVAR(isSpeaking),false] && GVAR(SHOW_SOUNDWAVES)) then { - _iconDrawn = (GVAR(SOUNDWAVE_ICONS) select ((round(random (count GVAR(SOUNDWAVE_ICONS) - 1))))); - }; - drawIcon3D [_iconDrawn,_color, _pos, 2, 2, 1 ,toUpper _nameOfUnit, 1, 0.03, FONT]; - false; - }count (_nearObj call FUNC(findNearbyUnits)); -}; - -_cursor = cursortarget; -if (_cursor == _cursor && isTouchingGround _cursor) then { - if (_cursor isKindOf "CAManBase" && ((_cursor distance _nearObj) < GVAR(DIRECT_TAG_DISTANCE)) && ((side _cursor) call FUNC(allowSide))) then { - - // TODO Improve this switch statement - _pos = visiblePositionASL _cursor; - switch (stance _cursor) do { - case "STAND": { - _pos set [2, ((_cursor modelToWorld [0,0,0]) select 2)+2]; - }; - case "CROUCH": { - _pos set [2, ((_cursor modelToWorld [0,0,0]) select 2)+1.5]; - }; - case "PRONE": { - _pos set [2, ((_cursor modelToWorld [0,0,0]) select 2)+0.5]; - }; - default { - _pos set [2, ((_cursor modelToWorld [0,0,0]) select 2) + 1.5]; - }; - }; - _color = +GVAR(TAG_DISPLAY_COLOR); - - _nameOfUnit = name _cursor; //[_cursor] call FUNC(getName); // TODO Implement a getName function - // TODO implement module checking - /*if (ACE_NameTags_SYS_MEDICAL_SYSTEM_ENABLED_TAGS) then { - _status = [_cursor] call FUNC(getTriageStatus_CMS); - if ((_status select 1) >0) then { - _nameOfUnit = _nameOfUnit + " ["+ (_status select 0) + "]"; - _color = _status select 2; - }; - };*/ - _iconDrawn = QUOTE(PATHTOF(data\empty.paa)); - if (_unit getvariable [QGVAR(isSpeaking),false] && GVAR(SHOW_SOUNDWAVES)) then { - _iconDrawn = (GVAR(SOUNDWAVE_ICONS) select ((round(random (count GVAR(SOUNDWAVE_ICONS) - 1))))); - }; - drawIcon3D [_iconDrawn,_color, _pos, 2, 2, 1 ,toUpper _nameOfUnit, 1, 0.03, FONT]; - - }; -}; diff --git a/TO_MERGE/cse/nametags/functions/fnc_findNearbyUnits.sqf b/TO_MERGE/cse/nametags/functions/fnc_findNearbyUnits.sqf deleted file mode 100644 index 122823c46c..0000000000 --- a/TO_MERGE/cse/nametags/functions/fnc_findNearbyUnits.sqf +++ /dev/null @@ -1,65 +0,0 @@ -/** - * fn_findNearbyUnits_TAGS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -#include "script_component.hpp" - -private ["_info", "_nameOfUnit", "_color", "_isTalking", "_pos", "_nearest"]; -_info = []; -if (alive player) then { - _nearest = (_this nearEntities [["CAManBase"], GVAR(INDIRECT_TAGS_DISTANCE)]); - { - if (_x != _this && (vehicle _x == _x) && isTouchingGround _X) then { - if (lineIntersects [eyePos _this, eyePos _x, _x, _this]) exitwith{}; - if ((side _x) call FUNC(allowSide) && !(_x == cursortarget)) then { - _nameOfUnit = name _x; - if (_x getvariable ["ACE_isDead",false]) then { // TODO, how do we check for dead units? - _nameOfUnit = _unit getvariable ["ACE_name","Unknown"]; // TODO is there are function to get the name of a unit? - }; - _pos = visiblePositionASL _x; - - // TODO This can be done better - switch (stance _x) do { - case "STAND": { - _pos set [2, ((_x modelToWorld [0,0,0]) select 2)+2]; - }; - case "CROUCH": { - _pos set [2, ((_x modelToWorld [0,0,0]) select 2)+1.5]; - }; - case "PRONE": { - _pos set [2, ((_x modelToWorld [0,0,0]) select 2) + 0.5]; - }; - default { - _pos set [2, ((_x modelToWorld [0,0,0]) select 2) + 1.5]; - }; - }; - - _color = +GVAR(TAG_DISPLAY_COLOR); - _color set [3, 0]; - _isTalking = (_x getvariable [QGVAR(isSpeaking),false]); - - // TODO implement module checking - /*if (ACE_NameTags_SYS_MEDICAL_SYSTEM_ENABLED_TAGS) then { - _status = [_x] call FUNC(getTriageStatus_CMS; - if ((_status select 1) >0) then { - _nameOfUnit = _nameOfUnit + " ["+ (_status select 0) + "]"; - _color = _status select 2; - }; - };*/ - if (GVAR(DISPLAY_RANK)) then { - _nameOfUnit = (rank _x) + " " + _nameOfUnit; - }; - _color set [3,(1-((_x distance _this) / GVAR(INDIRECT_TAGS_DISTANCE))) + 0.05]; - _info pushback [_nameOfUnit, _pos, _color, _x]; - }; - }; - }foreach _nearest; -}; - -_info; \ No newline at end of file diff --git a/TO_MERGE/cse/nametags/functions/fnc_handleSpeaking.sqf b/TO_MERGE/cse/nametags/functions/fnc_handleSpeaking.sqf deleted file mode 100644 index a61f810969..0000000000 --- a/TO_MERGE/cse/nametags/functions/fnc_handleSpeaking.sqf +++ /dev/null @@ -1,40 +0,0 @@ -/** - * fn_handleSpeaking_TAGS.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ -#include "script_component.hpp" - -// TODO Implement a check mod loaded function -#define ACTION_PUSH_TO_TALK_PRESSED (inputAction "PushToTalk" > 0) -#define ACTION_TFAR_RADIO_ACTIVE false // [] call {if (["task_force_radio"] call FUNC(isModLoaded_F)) then {player call TFAR_fnc_isSpeaking} else { false };} -#define ACTION_ACRE_RADIO_ACTIVE false // [] call {if (["acre_api"] call FUNC(isModLoaded_F)) then {[player] call ACRE_api_fnc_isBroadcasting} else { false };} - -private ["_unit"]; -_unit = _this select 0; - -if (_unit != player /* _unit != ACE_Player */) exitwith {}; - -// TODO check mod loaded function -/*if (["task_force_radio"] call FUNC(isModLoaded_F)) then { - waituntil {!isnil "TF_tangent_lr_pressed"}; -};*/ - -waituntil { - if (ACTION_TFAR_RADIO_ACTIVE || ACTION_PUSH_TO_TALK_PRESSED || ACTION_ACRE_RADIO_ACTIVE) then { - if !(_unit getvariable [QGVAR(isSpeaking), false]) then { - _unit setvariable [QGVAR(isSpeaking), true, true]; - }; - } else { - if (_unit getvariable [QGVAR(isSpeaking), false]) then { - _unit setvariable [QGVAR(isSpeaking), false, true]; - }; - }; - !(alive _unit) /* _unit != ACE_Player */ -}; - -_unit setvariable [QGVAR(isSpeaking),nil,true]; \ No newline at end of file diff --git a/TO_MERGE/cse/nametags/functions/fnc_initalizeModule.sqf b/TO_MERGE/cse/nametags/functions/fnc_initalizeModule.sqf deleted file mode 100644 index 7db37789db..0000000000 --- a/TO_MERGE/cse/nametags/functions/fnc_initalizeModule.sqf +++ /dev/null @@ -1,24 +0,0 @@ -/** - * fnc_initalizeModule.sqf - * @Descr: N/A - * @Author: Glowbal - * - * @Arguments: [] - * @Return: - * @PublicAPI: false - */ - -#include "script_component.hpp" - -if (!hasInterface) exitwith {}; // No need for this module on HC or dedicated server. - -private ["_logic"]; -_logic = [_this,0,objNull,[objNull]] call BIS_fnc_param; -if (!isNull _logic) then { - // TODO default values should be defined somewhere through an include, so they are the same in CfgVehicles and here. - GVAR(ENABLE_MODULE) = _logic getvariable ["enableModule", false]; - GVAR(INDIRECT_TAGS_DISTANCE) = _logic getvariable ["indirectDistance", 7.5]; - GVAR(DIRECT_TAG_DISTANCE) = _logic getvariable ["cursorTargetDistance", 20]; - GVAR(ALLOW_OWN_SIDE_ONLY) = !(_logic getvariable ["allowDifferentSides", false]); - GVAR(ENABLE_SOUNDWAVES) = _logic getvariable ["enableSoundWaves", false]; -}; \ No newline at end of file diff --git a/TO_MERGE/cse/nametags/script_component.hpp b/TO_MERGE/cse/nametags/script_component.hpp deleted file mode 100644 index 4637f8de75..0000000000 --- a/TO_MERGE/cse/nametags/script_component.hpp +++ /dev/null @@ -1,12 +0,0 @@ -#define COMPONENT nametags -#include "\z\ace\addons\main\script_mod.hpp" - -#ifdef DEBUG_ENABLED_NAMETAGS - #define DEBUG_MODE_FULL -#endif - -#ifdef DEBUG_SETTINGS_NAMETAGS - #define DEBUG_SETTINGS DEBUG_SETTINGS_NAMETAGS -#endif - -#include "\z\ace\addons\main\script_macros.hpp" \ No newline at end of file diff --git a/TO_MERGE/cse/nametags/stringtable.xml b/TO_MERGE/cse/nametags/stringtable.xml deleted file mode 100644 index 53100d4ceb..0000000000 --- a/TO_MERGE/cse/nametags/stringtable.xml +++ /dev/null @@ -1,43 +0,0 @@ - - - - - - Name Tags [ACE] - - - Enable Name Tags - - - Enable the name tags - - - Indirect Distance - - - Distance for indirect Tags - - - Target Distance - - - Distance for the direct Tag (Cursortarget) - - - Enable Soundwaves - - - Enable Soundwaves when a player is speaking - - - Allow Different sides - - - Allow name tags for all friendly sides, instead of only player side - - - Adjust the name tags settings. - - - - \ No newline at end of file diff --git a/addons/attach/CfgEventHandlers.hpp b/addons/attach/CfgEventHandlers.hpp index 8af0265fe2..5eca7fa129 100644 --- a/addons/attach/CfgEventHandlers.hpp +++ b/addons/attach/CfgEventHandlers.hpp @@ -1,5 +1,5 @@ class Extended_PreInit_EventHandlers { class ADDON { - init = QUOTE( call compile preprocessFileLineNumbers PATHTOF(XEH_preInit.sqf) ); + init = QUOTE( call COMPILE_FILE(XEH_preInit) ); }; }; \ No newline at end of file diff --git a/addons/attach/CfgMagazines.hpp b/addons/attach/CfgMagazines.hpp new file mode 100644 index 0000000000..293a075d70 --- /dev/null +++ b/addons/attach/CfgMagazines.hpp @@ -0,0 +1,10 @@ +class CfgMagazines { + class CA_Magazine; + class B_IR_Grenade: CA_Magazine { + ACE_Attachable = 1; + }; + class SmokeShell; + class Chemlight_green: SmokeShell { + ACE_Attachable = 1; + }; +}; \ No newline at end of file diff --git a/addons/attach/CfgVehicles.hpp b/addons/attach/CfgVehicles.hpp new file mode 100644 index 0000000000..a8653b9e06 --- /dev/null +++ b/addons/attach/CfgVehicles.hpp @@ -0,0 +1,104 @@ +#define MACRO_ADDITEM(ITEM,COUNT) class _xx_##ITEM { \ + name = #ITEM; \ + count = COUNT; \ +}; + +class CfgVehicles { + class Man; + class CAManBase: Man { + class ACE_SelfActions { + class ACE_Equipment { + class GVAR(Attach) { + displayName = "$STR_ACE_Attach_AttachDetach"; + condition = QUOTE( [_player, ''] call FUNC(canAttach) ); + statement = QUOTE( [_player] call FUNC(openAttachUI); ); + exceptions[] = {"ACE_Drag_isNotDragging"}; + showDisabled = 0; + priority = 5; + icon = PATHTOF(UI\attach_ca.paa); + hotkey = "T"; + }; + class GVAR(Detach) { + displayName = "$STR_ACE_Attach_Detach"; + condition = QUOTE( [_player] call FUNC(canDetach) ); + statement = QUOTE( [_player] call FUNC(detach) ); + exceptions[] = {"ACE_Drag_isNotDragging"}; + showDisabled = 0; + priority = 5; + icon = PATHTOF(UI\detach_ca.paa); + hotkey = "T"; + }; + }; + }; + }; + + class All; + class ACE_IR_Strobe_Effect: All { + scope = 1; + displayName = "IR Strobe"; + model = "\A3\Weapons_F\empty.p3d"; + simulation = "nvmarker"; + + class NVGMarker { + diffuse[] = {0,0,0}; + ambient[] = {0,0,0}; + brightness = 0.004; + name = "pozicni blik"; + drawLight = 1; + drawLightSize = 0.005; + drawLightCenterSize = 0.003; + activeLight = 0; + blinking=1; + dayLight = 0; + onlyInNvg = 1; + useFlare = 0; + }; + side = 7;//-1=NO_SIDE yellow box,3=CIV grey box,4=NEUTRAL yellow box,6=FRIENDLY green box,7=LOGIC no radar signature + accuracy = 1000; + cost = 0; + armor = 500; + threat[] = {0,0,0}; + nameSound = ""; + type = 0; + weapons[] = {}; + magazines[] = {}; + nvTarget = 1; + destrType = "DestructNo"; + brightness = 20; + }; + + class NATO_Box_Base; + class EAST_Box_Base; + class IND_Box_Base; + class FIA_Box_Base_F; + + class Box_NATO_Support_F: NATO_Box_Base { + class TransportItems { + MACRO_ADDITEM(ACE_IR_Strobe_Item,12) + }; + }; + + class Box_East_Support_F: EAST_Box_Base { + class TransportItems { + MACRO_ADDITEM(ACE_IR_Strobe_Item,12) + }; + }; + + class Box_IND_Support_F: IND_Box_Base { + class TransportItems { + MACRO_ADDITEM(ACE_IR_Strobe_Item,12) + }; + }; + + class Box_FIA_Support_F: FIA_Box_Base_F { + class TransportItems { + MACRO_ADDITEM(ACE_IR_Strobe_Item,12) + }; + }; + + class ACE_Box_Misc: Box_NATO_Support_F { + class TransportItems { + MACRO_ADDITEM(ACE_IR_Strobe_Item,12) + }; + }; +}; \ No newline at end of file diff --git a/addons/attach/CfgWeapons.hpp b/addons/attach/CfgWeapons.hpp new file mode 100644 index 0000000000..65ca397ec9 --- /dev/null +++ b/addons/attach/CfgWeapons.hpp @@ -0,0 +1,16 @@ +class CfgWeapons { + class ACE_ItemCore; + class InventoryItem_Base_F; + + class ACE_IR_Strobe_Item: ACE_ItemCore { + displayName = "$STR_ACE_IrStrobe_Name"; + descriptionShort = "$STR_ACE_IrStrobe_Description"; + model = "\A3\weapons_F\ammo\mag_univ.p3d"; + picture = PATHTOF(UI\irstrobe_item.paa); + scope = 2; + ACE_attachable = 1; + class ItemInfo: InventoryItem_Base_F { + mass = 1; + }; + }; +}; \ No newline at end of file diff --git a/addons/attach/XEH_preInit.sqf b/addons/attach/XEH_preInit.sqf index 311aa874ec..5efadc1f68 100644 --- a/addons/attach/XEH_preInit.sqf +++ b/addons/attach/XEH_preInit.sqf @@ -1,7 +1,8 @@ #include "script_component.hpp" -PREPF(attach); -PREPF(canAttach); -PREPF(canDetach); -PREPF(detach); -PREPF(openAttachUI); \ No newline at end of file +PREP(attach); +PREP(canAttach); +PREP(canDetach); +PREP(detach); +PREP(detachDelayFix); +PREP(openAttachUI); \ No newline at end of file diff --git a/addons/attach/config.cpp b/addons/attach/config.cpp index f27d675efb..e3db2b64e6 100644 --- a/addons/attach/config.cpp +++ b/addons/attach/config.cpp @@ -3,9 +3,9 @@ class CfgPatches { class ADDON { units[] = {}; - weapons[] = {"AGM_IR_Strobe_Item"}; + weapons[] = {"ACE_IR_Strobe_Item"}; requiredVersion = 0.60; - requiredAddons[] = {AGM_Core, AGM_Interaction}; + requiredAddons[] = {"ace_common", "ace_interaction"}; version = "0.95"; versionStr = "0.95"; versionAr[] = {0,95,0}; @@ -16,150 +16,8 @@ class CfgPatches { #include "CfgEventHandlers.hpp" -/* -class CfgFunctions { - class ADDON { - class ADDON { - file = PATHTOF(functions); - class attach; - class canAttach; - class canDetach; - class detach; - class openAttachUI; - }; - }; -}; -*/ +#include "CfgVehicles.hpp" -#define MACRO_ADDITEM(ITEM,COUNT) class _xx_##ITEM { \ - name = #ITEM; \ - count = COUNT; \ -}; +#include "CfgWeapons.hpp" -class CfgVehicles { - class Man; - class CAManBase: Man { - class AGM_SelfActions { - class AGM_Equipment { - class GVAR(Attach) { - displayName = "$STR_AGM_Attach_AttachDetach"; - condition = QUOTE( [_player, ''] call FUNC(canAttach) ); - statement = QUOTE( [_player] call FUNC(openAttachUI); ); - exceptions[] = {"AGM_Drag_isNotDragging"}; - showDisabled = 0; - priority = 5; - icon = PATHTOF(UI\attach_ca.paa); - hotkey = "T"; - }; - class GVAR(Detach) { - displayName = "$STR_AGM_Attach_Detach"; - condition = QUOTE( [_player] call FUNC(canDetach) ); - statement = QUOTE( [_player] call FUNC(detach) ); - exceptions[] = {"AGM_Drag_isNotDragging"}; - showDisabled = 0; - priority = 5; - icon = PATHTOF(UI\detach_ca.paa); - hotkey = "T"; - }; - }; - }; - }; - - class All; - class AGM_IR_Strobe_Effect: All { - scope = 1; - displayName = "IR Strobe"; - model = "\A3\Weapons_F\empty.p3d"; - simulation = "nvmarker"; - - class NVGMarker { - diffuse[] = {0,0,0}; - ambient[] = {0,0,0}; - brightness = 0.004; - name = "pozicni blik"; - drawLight = 1; - drawLightSize = 0.005; - drawLightCenterSize = 0.003; - activeLight = 0; - blinking=1; - dayLight = 0; - onlyInNvg = 1; - useFlare = 0; - }; - side = 7;//-1=NO_SIDE yellow box,3=CIV grey box,4=NEUTRAL yellow box,6=FRIENDLY green box,7=LOGIC no radar signature - accuracy = 1000; - cost = 0; - armor = 500; - threat[] = {0,0,0}; - nameSound = ""; - type = 0; - weapons[] = {}; - magazines[] = {}; - nvTarget = 1; - destrType = "DestructNo"; - brightness = 20; - }; - - class NATO_Box_Base; - class EAST_Box_Base; - class IND_Box_Base; - class FIA_Box_Base_F; - - class Box_NATO_Support_F: NATO_Box_Base { - class TransportItems { - MACRO_ADDITEM(AGM_IR_Strobe_Item,12) - }; - }; - - class Box_East_Support_F: EAST_Box_Base { - class TransportItems { - MACRO_ADDITEM(AGM_IR_Strobe_Item,12) - }; - }; - - class Box_IND_Support_F: IND_Box_Base { - class TransportItems { - MACRO_ADDITEM(AGM_IR_Strobe_Item,12) - }; - }; - - class Box_FIA_Support_F: FIA_Box_Base_F { - class TransportItems { - MACRO_ADDITEM(AGM_IR_Strobe_Item,12) - }; - }; - - class AGM_Box_Misc: Box_NATO_Support_F { - class TransportItems { - MACRO_ADDITEM(AGM_IR_Strobe_Item,12) - }; - }; -}; - -class CfgWeapons { - class AGM_ItemCore; - class InventoryItem_Base_F; - - class AGM_IR_Strobe_Item: AGM_ItemCore { - displayName = "$STR_AGM_IrStrobe_Name"; - descriptionShort = "$STR_AGM_IrStrobe_Description"; - model = "\A3\weapons_F\ammo\mag_univ.p3d"; - picture = PATHTOF(UI\irstrobe_item.paa); - scope = 2; - AGM_attachable = 1; - class ItemInfo: InventoryItem_Base_F { - mass = 1; - }; - }; -}; - -class CfgMagazines { - class CA_Magazine; - class B_IR_Grenade: CA_Magazine { - AGM_Attachable = 1; - }; - class SmokeShell; - class Chemlight_green: SmokeShell { - AGM_Attachable = 1; - }; -}; +#include "CfgMagazines.hpp" diff --git a/addons/attach/functions/fnc_attach.sqf b/addons/attach/functions/fnc_attach.sqf index b4cf675096..ab920c6428 100644 --- a/addons/attach/functions/fnc_attach.sqf +++ b/addons/attach/functions/fnc_attach.sqf @@ -26,30 +26,30 @@ if !((_itemName in items _unit) or (_itemName in magazines _unit)) exitWith {}; // Attach item switch true do { - case (_itemName == "AGM_IR_Strobe_Item") : { - _attachedItem = "AGM_IR_Strobe_Effect" createVehicle [0,0,0]; + case (_itemName == "ACE_IR_Strobe_Item") : { + _attachedItem = "ACE_IR_Strobe_Effect" createVehicle [0,0,0]; _attachedItem attachTo [_unit,[0,-0.11,0.16],"pilot"];//makes it attach to the head a bit better, shoulder is not good for visibility - eRazeri - [localize "STR_AGM_Attach_IrStrobe_Attached"] call EFUNC(core,displayTextStructured); + [localize "STR_ACE_Attach_IrStrobe_Attached"] call EFUNC(common,displayTextStructured); }; case (_itemName == "B_IR_Grenade") : { _attachedItem = "B_IRStrobe" createVehicle [0,0,0]; _attachedItem attachTo [_unit,[-0.05,0,0.12],"rightshoulder"]; - [localize "STR_AGM_Attach_IrGrenade_Attached"] call EFUNC(core,displayTextStructured); + [localize "STR_ACE_Attach_IrGrenade_Attached"] call EFUNC(common,displayTextStructured); }; case (_itemName == "O_IR_Grenade") : { _attachedItem = "O_IRStrobe" createVehicle [0,0,0]; _attachedItem attachTo [_unit,[-0.05,0,0.12],"rightshoulder"]; - [localize "STR_AGM_Attach_IrGrenade_Attached"] call EFUNC(core,displayTextStructured); + [localize "STR_ACE_Attach_IrGrenade_Attached"] call EFUNC(common,displayTextStructured); }; case (_itemName == "I_IR_Grenade") : { _attachedItem = "I_IRStrobe" createVehicle [0,0,0]; _attachedItem attachTo [_unit,[-0.05,0,0.12],"rightshoulder"]; - [localize "STR_AGM_Attach_IrGrenade_Attached"] call EFUNC(core,displayTextStructured); + [localize "STR_ACE_Attach_IrGrenade_Attached"] call EFUNC(common,displayTextStructured); }; case (_itemName == "Chemlight_blue" or {_itemName == "Chemlight_green"} or {_itemName == "Chemlight_red"} or {_itemName == "Chemlight_yellow"}) : { _attachedItem = _itemName createVehicle [0,0,0]; _attachedItem attachTo [_unit,[-0.05,0,0.12],"rightshoulder"]; - [localize "STR_AGM_Attach_Chemlight_Attached"] call EFUNC(core,displayTextStructured);; + [localize "STR_ACE_Attach_Chemlight_Attached"] call EFUNC(common,displayTextStructured);; }; default { if (true) exitWith {}; diff --git a/addons/attach/functions/fnc_detach.sqf b/addons/attach/functions/fnc_detach.sqf index 415429440b..b55d6e1b70 100644 --- a/addons/attach/functions/fnc_detach.sqf +++ b/addons/attach/functions/fnc_detach.sqf @@ -16,6 +16,7 @@ private ["_unit", "_itemName", "_count", "_attachedItem"]; _unit = _this select 0; _itemName = _unit getVariable [QGVAR(ItemName), ""]; +_attachedItem = _unit getVariable [QGVAR(Item), objNull]; // Check if unit has an attached item if (_itemName == "") exitWith {}; @@ -24,24 +25,18 @@ if (_itemName == "") exitWith {}; _count = (count items _unit) + (count magazines _unit); _unit addItem _itemName; if ((count items _unit) + (count magazines _unit) <= _count) exitWith { - [localize "STR_AGM_Attach_Inventory_Full"] call EFUNC(core,displayTextStructured); + [localize "STR_ACE_Attach_Inventory_Full"] call EFUNC(common,displayTextStructured); }; if (_itemName == "B_IR_Grenade" or _itemName == "O_IR_Grenade" or _itemName == "I_IR_Grenade") then { // Hack for dealing with X_IR_Grenade effect not dissapearing on deleteVehicle - [_unit getVariable QGVAR(Item), _unit] spawn { - _attachedItem = _this select 0; - _unit = _this select 1; - detach _attachedItem; - _attachedItem setPos [getPos _unit select 0, getPos _unit select 1, (getPos _unit select 2) -1000]; - sleep 0.5; - deleteVehicle _attachedItem; - }; -} -else -{ + detach _attachedItem; + _attachedItem setPos [getPos _unit select 0, getPos _unit select 1, ((getPos _unit select 2) - 1000)]; + // Delete attached item after 0.5 seconds + [FUNC(detachFix), 0.5, [_attachedItem, (time + 0.5)]] call CBA_fnc_addPerFrameHandler; +} else { // Delete attached item - deleteVehicle (_unit getVariable QGVAR(Item)); + deleteVehicle _attachedItem; }; // Reset unit variables @@ -50,14 +45,14 @@ _unit setVariable [QGVAR(Item),nil, true]; // Display message switch true do { - case (_itemName == "AGM_IR_Strobe_Item") : { - [localize "STR_AGM_Attach_IrStrobe_Detached"] call EFUNC(core,displayTextStructured); + case (_itemName == "ACE_IR_Strobe_Item") : { + [localize "STR_ACE_Attach_IrStrobe_Detached"] call EFUNC(common,displayTextStructured); }; case (_itemName == "B_IR_Grenade" or _itemName == "O_IR_Grenade" or _itemName == "I_IR_Grenade") : { - [localize "STR_AGM_Attach_IrGrenade_Detached"] call EFUNC(core,displayTextStructured); + [localize "STR_ACE_Attach_IrGrenade_Detached"] call EFUNC(common,displayTextStructured); }; case (_itemName == "Chemlight_blue" or {_itemName == "Chemlight_green"} or {_itemName == "Chemlight_red"} or {_itemName == "Chemlight_yellow"}) : { - [localize "STR_AGM_Attach_Chemlight_Detached"] call EFUNC(core,displayTextStructured); + [localize "STR_ACE_Attach_Chemlight_Detached"] call EFUNC(common,displayTextStructured); }; default { if (true) exitWith {}; diff --git a/addons/attach/functions/fnc_detachDelayFix.sqf b/addons/attach/functions/fnc_detachDelayFix.sqf new file mode 100644 index 0000000000..ac4ef0b276 --- /dev/null +++ b/addons/attach/functions/fnc_detachDelayFix.sqf @@ -0,0 +1,20 @@ +/* + Author: Pabst Mirror + + Description: + Waits then deletes the object. Fixes IR_Grenade's effect not disapearing. + + Parameters: + 0: ARRAY - [OBJECT - item, NUMBER - time to wait until] + 1: NUMBER - CBA's PerFrameHandler ID +*/ + +_attachedItem = (_this select 0) select 0; +_waitUntilTime = (_this select 0) select 1; + +if (time < _waitUntilTime) exitWith {}; + +deleteVehicle _attachedItem; + +//Remove the frame handler +[(_this select 1)] call cba_fnc_removePerFrameHandler; diff --git a/addons/attach/functions/fnc_openAttachUI.sqf b/addons/attach/functions/fnc_openAttachUI.sqf index 5af80d2c9e..97046fa80b 100644 --- a/addons/attach/functions/fnc_openAttachUI.sqf +++ b/addons/attach/functions/fnc_openAttachUI.sqf @@ -1,8 +1,6 @@ #include "script_component.hpp" /* - Name: AGM_Attach_fnc_openAttachUI - Author: Garth de Wet (LH) Description: @@ -15,17 +13,17 @@ Nothing Example: - [player] call AGM_Attach_fnc_openAttachUI; + [player] call ACE_Attach_fnc_openAttachUI; */ private ["_unit", "_actions", "_attachables", "_item"]; _unit = _this select 0; _listed = []; _attachables = magazines _unit; -_actions = [localize "STR_AGM_Attach_AttachDetach", localize "STR_AGM_Attach_Attach"] call EFUNC(interaction,prepareSelectMenu); +_actions = [localize "STR_ACE_Attach_AttachDetach", localize "STR_ACE_Attach_Attach"] call EFUNC(interaction,prepareSelectMenu); { if !(_x in _listed) then { _item = ConfigFile >> "CfgMagazines" >> _x; - if (getNumber (_item >> "AGM_Attachable") == 1) then { + if (getNumber (_item >> "ACE_Attachable") == 1) then { _actions = [ _actions, getText(_item >> "displayName"), @@ -40,7 +38,7 @@ _attachables = items _unit; { if !(_x in _listed) then { _item = ConfigFile >> "CfgWeapons" >> _x; - if (getNumber (_item >> "AGM_Attachable") == 1) then { + if (getNumber (_item >> "ACE_Attachable") == 1) then { _actions = [ _actions, getText(_item >> "displayName"), @@ -55,11 +53,11 @@ _attachables = items _unit; [ _actions, { - [AGM_player, _this] call FUNC(attach); + [ACE_player, _this] call FUNC(attach); call EFUNC(interaction,hideMenu); }, { call EFUNC(interaction,hideMenu); - if !(profileNamespace getVariable [EQGVAR(interaction,AutoCloseMenu), false]) then {"Default" call EFUNC(interaction,openMenuSelf)}; + if !(profileNamespace getVariable [QEGVAR(interaction,AutoCloseMenu), false]) then {"Default" call EFUNC(interaction,openMenuSelf)}; } ] call EFUNC(interaction,openSelectMenu); diff --git a/addons/attach/functions/script_component.hpp b/addons/attach/functions/script_component.hpp new file mode 100644 index 0000000000..b28de85182 --- /dev/null +++ b/addons/attach/functions/script_component.hpp @@ -0,0 +1 @@ +#include "\z\ace\addons\attach\script_component.hpp" \ No newline at end of file diff --git a/addons/attach/stringtable.xml b/addons/attach/stringtable.xml index 895dff95c7..877f26e623 100644 --- a/addons/attach/stringtable.xml +++ b/addons/attach/stringtable.xml @@ -1,8 +1,8 @@  - + - + Attach item >> Gegenstand befestigen >> Acoplar objeto >> @@ -14,7 +14,7 @@ Tárgy hozzácsatolása >> Добавить приспособления - + Attach Befestigen Acoplar @@ -26,7 +26,7 @@ Hozzácsatolás Присоединить - + Detach item Gegenstand entfernen Quitar objeto @@ -38,7 +38,7 @@ Tárgy lecsatolása Отсоединить - + IR Strobe Attached IR-Stroboskop befestigt Marcador IR acoplado @@ -50,7 +50,7 @@ Infravörös jeladó hozzácsatolva ИК строб присоединён - + IR Strobe Detached IR-Stroboskop entfernt Marcador IR quitado @@ -62,7 +62,7 @@ Infravörös jeladó lecsatolva ИК строб отсоединён - + IR Grenade Attached IR-Granate befestigt Granada IR acoplada @@ -74,7 +74,7 @@ Infravörös gránát hozzácsatolva ИК граната присоединена - + IR Grenade Detached IR-Granate entfernt Granada IR quitada @@ -86,7 +86,7 @@ Infravörös gránát lecsatolva ИК граната отсоединена - + Chemlight Attached Leuchtstab befestigt Barra de luz acoplada @@ -98,7 +98,7 @@ Chemlight hozzácsatolva Химсвет присоединён - + Chemlight Detached Leuchtstab entfernt Barra de luz quitada @@ -110,7 +110,7 @@ Chemlight hozzácsatolva Химсвет отсоединён - + No inventory space Kein Platz im Inventar Sin espacio en inventario @@ -122,7 +122,7 @@ Nincs több hely В инвентаре нет места - + IR Strobe IR-Stroboskop Marcador IR @@ -134,7 +134,7 @@ Infravörös jeladó ИК строб - + IR Strobe allows you to signal your position through a pulsating beacon only visible with NVGs. Das IR-Stroboskop erlaubt es dir deine Position mit einem blinkenden Leuchtfeuer zu signalisieren, welches nur mit Nachtsichtgerät zu erkennen ist. Stroboskop światła podczerwieni umożliwia oznaczenie swojej pozycji pulsacyjnym światłem widocznym tylko przez optykę noktowizyjną i gogle noktowizyjne. diff --git a/addons/common/CfgVehicles.hpp b/addons/common/CfgVehicles.hpp index ee78ad3924..d54dec7150 100644 --- a/addons/common/CfgVehicles.hpp +++ b/addons/common/CfgVehicles.hpp @@ -15,8 +15,8 @@ class CfgVehicles { showIn3D = 0; onlyForPlayer = 1; shortcut = "DefaultAction"; - condition = "call ACE_Common_UserActionFireCondition"; - statement = "call ACE_Common_UserActionFire"; + condition = QUOTE(call GVAR(UserActionFireCondition)); + statement = QUOTE(call GVAR(UserActionFire)); userActionID = 100; }; }; @@ -30,10 +30,10 @@ class CfgVehicles { author = "$STR_ACE_Common_ACETeam"; category = "ACE"; displayName = "Check PBOs"; - function = "ACE_Common_fnc_moduleCheckPBOs"; + function = QFUNC(moduleCheckPBOs); scope = 2; isGlobal = 1; - icon = PATHTOF(UI\IconCheckPBO_ca.paa); + icon = QUOTE(PATHTOF(UI\IconCheckPBO_ca.paa)); class Arguments { class Action { displayName = "Action"; diff --git a/addons/common/MainMenu.hpp b/addons/common/MainMenu.hpp index d10ff5deda..1f1a1dc547 100644 --- a/addons/common/MainMenu.hpp +++ b/addons/common/MainMenu.hpp @@ -29,7 +29,7 @@ class ACE_Tile_Base { right = 0; bottom = 0; }; - action = "(findDisplay 49) closeDisplay 0; 0 spawn ACE_Common_openMenu;"; + action = QUOTE((findDisplay 49) closeDisplay 0; 0 spawn GVAR(openMenu);); animTextureDefault = "#(argb,8,8,3)color(1,1,1,1)"; animTextureDisabled = "#(argb,8,8,3)color(1,1,1,1)"; animTextureFocused = "#(argb,8,8,3)color(1,1,1,1)"; diff --git a/addons/common/MenuConfig.hpp b/addons/common/MenuConfig.hpp index 418a7cb849..370a62c30a 100644 --- a/addons/common/MenuConfig.hpp +++ b/addons/common/MenuConfig.hpp @@ -3,7 +3,7 @@ #define VSPACE 0.3 #define BORDER 0.1 -class ACE_Common_Interactive_Button_Base { +class GVAR(Interactive_Button_Base) { tooltip = ""; action = ""; @@ -46,7 +46,7 @@ class ACE_Common_Interactive_Button_Base { #define VSPACE2 0.05 #define BORDER 0.1 -class ACE_Common_Text_Button_Base { +class GVAR(Text_Button_Base) { idc = 2; moving = 0; text = ""; @@ -65,10 +65,10 @@ class ACE_Common_Text_Button_Base { h = 0; }; -class ACE_Common_OptionsMenu_Dialog { +class GVAR(OptionsMenu_Dialog) { idd = -1; movingEnable = true; - onLoad = "_dlgMenuDialog = _this select 0; for '_a' from 20 to 32 do {(_dlgMenuDialog displayCtrl _a) ctrlShow false}; for '_a' from 100 to 119 do {(_dlgMenuDialog displayCtrl _a) ctrlShow false}; for '_a' from 200 to 219 do {(_dlgMenuDialog displayCtrl _a) ctrlShow false}; for '_a' from 300 to 319 do {(_dlgMenuDialog displayCtrl _a) ctrlShow false}; for '_a' from 400 to 419 do {(_dlgMenuDialog displayCtrl _a) ctrlShow false}; for '_a' from 500 to 519 do {(_dlgMenuDialog displayCtrl _a) ctrlShow false}; uiNamespace setVariable ['ACE_Common_MenuDialog', _dlgMenuDialog];"; + onLoad = QUOTE(_dlgMenuDialog = _this select 0; for '_a' from 20 to 32 do {(_dlgMenuDialog displayCtrl _a) ctrlShow false}; for '_a' from 100 to 119 do {(_dlgMenuDialog displayCtrl _a) ctrlShow false}; for '_a' from 200 to 219 do {(_dlgMenuDialog displayCtrl _a) ctrlShow false}; for '_a' from 300 to 319 do {(_dlgMenuDialog displayCtrl _a) ctrlShow false}; for '_a' from 400 to 419 do {(_dlgMenuDialog displayCtrl _a) ctrlShow false}; for '_a' from 500 to 519 do {(_dlgMenuDialog displayCtrl _a) ctrlShow false}; uiNamespace setVariable [ARR_2(QUOTE(QGVAR(MenuDialog)),_dlgMenuDialog)];); objects[] = {}; class controlsBackground { @@ -112,7 +112,7 @@ class ACE_Common_OptionsMenu_Dialog { h = 0.3 / 9 * safezoneH; }; - class ACE_Logo : ACE_Common_Interactive_Button_Base { + class ACE_Logo: GVAR(Interactive_Button_Base) { action = "closeDialog 0;"; type = 0; style = 48; @@ -128,7 +128,7 @@ class ACE_Common_OptionsMenu_Dialog { }; class controls { - class Text_Button0 : ACE_Common_Text_Button_Base { + class Text_Button0: GVAR(Text_Button_Base) { idc = 100; style = 0 + 0x800; x = (HSPACE2 + 0 * 0.1) * safezoneW + safezoneX; @@ -137,105 +137,105 @@ class ACE_Common_OptionsMenu_Dialog { h = 0.3 / 9 * safezoneH; }; - class Text_Button1 : Text_Button0 { + class Text_Button1: Text_Button0 { idc = 101; y = (VSPACE2 + 3 * 0.04) * safezoneH + safezoneY; }; - class Text_Button2 : Text_Button0 { + class Text_Button2: Text_Button0 { idc = 102; y = (VSPACE2 + 4 * 0.04) * safezoneH + safezoneY; }; - class Text_Button3 : Text_Button0 { + class Text_Button3: Text_Button0 { idc = 103; y = (VSPACE2 + 5 * 0.04) * safezoneH + safezoneY; }; - class Text_Button4 : Text_Button0 { + class Text_Button4: Text_Button0 { idc = 104; y = (VSPACE2 + 6 * 0.04) * safezoneH + safezoneY; }; - class Text_Button5 : Text_Button0 { + class Text_Button5: Text_Button0 { idc = 105; y = (VSPACE2 + 7 * 0.04) * safezoneH + safezoneY; }; - class Text_Button6 : Text_Button0 { + class Text_Button6: Text_Button0 { idc = 106; y = (VSPACE2 + 8 * 0.04) * safezoneH + safezoneY; }; - class Text_Button7 : Text_Button0 { + class Text_Button7: Text_Button0 { idc = 107; y = (VSPACE2 + 9 * 0.04) * safezoneH + safezoneY; }; - class Text_Button8 : Text_Button0 { + class Text_Button8: Text_Button0 { idc = 108; y = (VSPACE2 + 10 * 0.04) * safezoneH + safezoneY; }; - class Text_Button9 : Text_Button0 { + class Text_Button9: Text_Button0 { idc = 109; y = (VSPACE2 + 11 * 0.04) * safezoneH + safezoneY; }; - class Text_Button10 : Text_Button0 { + class Text_Button10: Text_Button0 { idc = 110; y = (VSPACE2 + 12 * 0.04) * safezoneH + safezoneY; }; - class Text_Button11 : Text_Button0 { + class Text_Button11: Text_Button0 { idc = 111; y = (VSPACE2 + 13 * 0.04) * safezoneH + safezoneY; }; - class Text_Button12 : Text_Button0 { + class Text_Button12: Text_Button0 { idc = 112; y = (VSPACE2 + 14 * 0.04) * safezoneH + safezoneY; }; - class Text_Button13 : Text_Button0 { + class Text_Button13: Text_Button0 { idc = 113; y = (VSPACE2 + 15 * 0.04) * safezoneH + safezoneY; }; - class Text_Button14 : Text_Button0 { + class Text_Button14: Text_Button0 { idc = 114; y = (VSPACE2 + 16 * 0.04) * safezoneH + safezoneY; }; - class Text_Button15 : Text_Button0 { + class Text_Button15: Text_Button0 { idc = 115; y = (VSPACE2 + 17 * 0.04) * safezoneH + safezoneY; }; - class Text_Button16 : Text_Button0 { + class Text_Button16: Text_Button0 { idc = 116; y = (VSPACE2 + 18 * 0.04) * safezoneH + safezoneY; }; - class Text_Button17 : Text_Button0 { + class Text_Button17: Text_Button0 { idc = 117; y = (VSPACE2 + 19 * 0.04) * safezoneH + safezoneY; }; - class Text_Button18 : Text_Button0 { + class Text_Button18: Text_Button0 { idc = 118; y = (VSPACE2 + 20 * 0.04) * safezoneH + safezoneY; }; - class Text_Button19 : Text_Button0 { + class Text_Button19: Text_Button0 { idc = 119; y = (VSPACE2 + 21 * 0.04) * safezoneH + safezoneY; }; ////////////////////////////////////////////////// - class Interactive_Button0 : ACE_Common_Interactive_Button_Base { - action = "ACE_Common_keySet = -1; [0] spawn ACE_Common_editKey"; + class Interactive_Button0: GVAR(Interactive_Button_Base) { + action = QUOTE(GVAR(keySet) = -1; [0] spawn GVAR(editKey)); sizeEx = "0.8 / 40 / (getResolution select 5)";// * safezoneX / safezoneXAbs"; idc = 200; style = 2 + 0x800; @@ -245,128 +245,128 @@ class ACE_Common_OptionsMenu_Dialog { h = 0.3 / 9 * safezoneH; }; - class Interactive_Button1 : Interactive_Button0 { - action = "ACE_Common_keySet = -1; [1] spawn ACE_Common_editKey"; + class Interactive_Button1: Interactive_Button0 { + action = QUOTE(GVAR(keySet) = -1; [1] spawn GVAR(editKey)); idc = 201; y = (VSPACE2 + 3 * 0.04) * safezoneH + safezoneY; }; - class Interactive_Button2 : Interactive_Button0 { - action = "ACE_Common_keySet = -1; [2] spawn ACE_Common_editKey"; + class Interactive_Button2: Interactive_Button0 { + action = QUOTE(GVAR(keySet) = -1; [2] spawn GVAR(editKey)); idc = 202; y = (VSPACE2 + 4 * 0.04) * safezoneH + safezoneY; }; - class Interactive_Button3 : Interactive_Button0 { - action = "ACE_Common_keySet = -1; [3] spawn ACE_Common_editKey"; + class Interactive_Button3: Interactive_Button0 { + action = QUOTE(GVAR(keySet) = -1; [3] spawn GVAR(editKey)); idc = 203; y = (VSPACE2 + 5 * 0.04) * safezoneH + safezoneY; }; - class Interactive_Button4 : Interactive_Button0 { - action = "ACE_Common_keySet = -1; [4] spawn ACE_Common_editKey"; + class Interactive_Button4: Interactive_Button0 { + action = QUOTE(GVAR(keySet) = -1; [4] spawn GVAR(editKey)); idc = 204; y = (VSPACE2 + 6 * 0.04) * safezoneH + safezoneY; }; - class Interactive_Button5 : Interactive_Button0 { - action = "ACE_Common_keySet = -1; [5] spawn ACE_Common_editKey"; + class Interactive_Button5: Interactive_Button0 { + action = QUOTE(GVAR(keySet) = -1; [5] spawn GVAR(editKey)); idc = 205; y = (VSPACE2 + 7 * 0.04) * safezoneH + safezoneY; }; - class Interactive_Button6 : Interactive_Button0 { - action = "ACE_Common_keySet = -1; [6] spawn ACE_Common_editKey"; + class Interactive_Button6: Interactive_Button0 { + action = QUOTE(GVAR(keySet) = -1; [6] spawn GVAR(editKey)); idc = 206; y = (VSPACE2 + 8 * 0.04) * safezoneH + safezoneY; }; - class Interactive_Button7 : Interactive_Button0 { - action = "ACE_Common_keySet = -1; [7] spawn ACE_Common_editKey"; + class Interactive_Button7: Interactive_Button0 { + action = QUOTE(GVAR(keySet) = -1; [7] spawn GVAR(editKey)); idc = 207; y = (VSPACE2 + 9 * 0.04) * safezoneH + safezoneY; }; - class Interactive_Button8 : Interactive_Button0 { - action = "ACE_Common_keySet = -1; [8] spawn ACE_Common_editKey"; + class Interactive_Button8: Interactive_Button0 { + action = QUOTE(GVAR(keySet) = -1; [8] spawn GVAR(editKey)); idc = 208; y = (VSPACE2 + 10 * 0.04) * safezoneH + safezoneY; }; - class Interactive_Button9 : Interactive_Button0 { - action = "ACE_Common_keySet = -1; [9] spawn ACE_Common_editKey"; + class Interactive_Button9: Interactive_Button0 { + action = QUOTE(GVAR(keySet) = -1; [9] spawn GVAR(editKey)); idc = 209; y = (VSPACE2 + 11 * 0.04) * safezoneH + safezoneY; }; - class Interactive_Button10 : Interactive_Button0 { - action = "ACE_Common_keySet = -1; [10] spawn ACE_Common_editKey"; + class Interactive_Button10: Interactive_Button0 { + action = QUOTE(GVAR(keySet) = -1; [10] spawn GVAR(editKey)); idc = 210; y = (VSPACE2 + 12 * 0.04) * safezoneH + safezoneY; }; - class Interactive_Button11 : Interactive_Button0 { - action = "ACE_Common_keySet = -1; [11] spawn ACE_Common_editKey"; + class Interactive_Button11: Interactive_Button0 { + action = QUOTE(GVAR(keySet) = -1; [11] spawn GVAR(editKey)); idc = 211; y = (VSPACE2 + 13 * 0.04) * safezoneH + safezoneY; }; - class Interactive_Button12 : Interactive_Button0 { - action = "ACE_Common_keySet = -1; [12] spawn ACE_Common_editKey"; + class Interactive_Button12: Interactive_Button0 { + action = QUOTE(GVAR(keySet) = -1; [12] spawn GVAR(editKey)); idc = 212; y = (VSPACE2 + 14 * 0.04) * safezoneH + safezoneY; }; - class Interactive_Button13 : Interactive_Button0 { - action = "ACE_Common_keySet = -1; [13] spawn ACE_Common_editKey"; + class Interactive_Button13: Interactive_Button0 { + action = QUOTE(GVAR(keySet) = -1; [13] spawn GVAR(editKey)); idc = 213; y = (VSPACE2 + 15 * 0.04) * safezoneH + safezoneY; }; - class Interactive_Button14 : Interactive_Button0 { - action = "ACE_Common_keySet = -1; [14] spawn ACE_Common_editKey"; + class Interactive_Button14: Interactive_Button0 { + action = QUOTE(GVAR(keySet) = -1; [14] spawn GVAR(editKey)); idc = 214; y = (VSPACE2 + 16 * 0.04) * safezoneH + safezoneY; }; - class Interactive_Button15 : Interactive_Button0 { - action = "ACE_Common_keySet = -1; [15] spawn ACE_Common_editKey"; + class Interactive_Button15: Interactive_Button0 { + action = QUOTE(GVAR(keySet) = -1; [15] spawn GVAR(editKey)); idc = 215; y = (VSPACE2 + 17 * 0.04) * safezoneH + safezoneY; }; - class Interactive_Button16 : Interactive_Button0 { - action = "ACE_Common_keySet = -1; [16] spawn ACE_Common_editKey"; + class Interactive_Button16: Interactive_Button0 { + action = QUOTE(GVAR(keySet) = -1; [16] spawn GVAR(editKey)); idc = 216; y = (VSPACE2 + 18 * 0.04) * safezoneH + safezoneY; }; - class Interactive_Button17 : Interactive_Button0 { - action = "ACE_Common_keySet = -1; [17] spawn ACE_Common_editKey"; + class Interactive_Button17: Interactive_Button0 { + action = QUOTE(GVAR(keySet) = -1; [17] spawn GVAR(editKey)); idc = 217; y = (VSPACE2 + 19 * 0.04) * safezoneH + safezoneY; }; - class Interactive_Button18 : Interactive_Button0 { - action = "ACE_Common_keySet = -1; [18] spawn ACE_Common_editKey"; + class Interactive_Button18: Interactive_Button0 { + action = QUOTE(GVAR(keySet) = -1; [18] spawn GVAR(editKey)); idc = 218; y = (VSPACE2 + 20 * 0.04) * safezoneH + safezoneY; }; - class Interactive_Button19 : Interactive_Button0 { - action = "ACE_Common_keySet = -1; [19] spawn ACE_Common_editKey"; + class Interactive_Button19: Interactive_Button0 { + action = QUOTE(GVAR(keySet) = -1; [19] spawn GVAR(editKey)); idc = 219; y = (VSPACE2 + 21 * 0.04) * safezoneH + safezoneY; }; ////////////////////////////////////////////////// - class Interactive_Checkbox0 : Text_Button0 { + class Interactive_Checkbox0: Text_Button0 { action = "hint '0'"; idc = 300; //type = 0; style = 48; - text = PATHTOF(UI\box_unchecked_ca.paa); + text = QUOTE(PATHTOF(UI\box_unchecked_ca.paa)); colorBackground[] = {0, 0, 0, 0}; colorText[] = {1, 1, 1, 1}; x = (HSPACE2 + 3 * 0.1) * safezoneW + safezoneX; @@ -375,115 +375,115 @@ class ACE_Common_OptionsMenu_Dialog { h = 0.3 / 9 * safezoneH; }; - class Interactive_Checkbox1 : Interactive_Checkbox0 { + class Interactive_Checkbox1: Interactive_Checkbox0 { action = ""; idc = 301; y = (VSPACE2 + 3 * 0.04) * safezoneH + safezoneY; }; - class Interactive_Checkbox2 : Interactive_Checkbox0 { + class Interactive_Checkbox2: Interactive_Checkbox0 { action = ""; idc = 302; y = (VSPACE2 + 4 * 0.04) * safezoneH + safezoneY; }; - class Interactive_Checkbox3 : Interactive_Checkbox0 { + class Interactive_Checkbox3: Interactive_Checkbox0 { action = ""; idc = 303; y = (VSPACE2 + 5 * 0.04) * safezoneH + safezoneY; }; - class Interactive_Checkbox4 : Interactive_Checkbox0 { + class Interactive_Checkbox4: Interactive_Checkbox0 { action = ""; idc = 304; y = (VSPACE2 + 6 * 0.04) * safezoneH + safezoneY; }; - class Interactive_Checkbox5 : Interactive_Checkbox0 { + class Interactive_Checkbox5: Interactive_Checkbox0 { action = ""; idc = 305; y = (VSPACE2 + 7 * 0.04) * safezoneH + safezoneY; }; - class Interactive_Checkbox6 : Interactive_Checkbox0 { + class Interactive_Checkbox6: Interactive_Checkbox0 { action = ""; idc = 306; y = (VSPACE2 + 8 * 0.04) * safezoneH + safezoneY; }; - class Interactive_Checkbox7 : Interactive_Checkbox0 { + class Interactive_Checkbox7: Interactive_Checkbox0 { action = ""; idc = 307; y = (VSPACE2 + 9 * 0.04) * safezoneH + safezoneY; }; - class Interactive_Checkbox8 : Interactive_Checkbox0 { + class Interactive_Checkbox8: Interactive_Checkbox0 { action = ""; idc = 308; y = (VSPACE2 + 10 * 0.04) * safezoneH + safezoneY; }; - class Interactive_Checkbox9 : Interactive_Checkbox0 { + class Interactive_Checkbox9: Interactive_Checkbox0 { action = ""; idc = 309; y = (VSPACE2 + 11 * 0.04) * safezoneH + safezoneY; }; - class Interactive_Checkbox10 : Interactive_Checkbox0 { + class Interactive_Checkbox10: Interactive_Checkbox0 { action = ""; idc = 310; y = (VSPACE2 + 12 * 0.04) * safezoneH + safezoneY; }; - class Interactive_Checkbox11 : Interactive_Checkbox0 { + class Interactive_Checkbox11: Interactive_Checkbox0 { action = ""; idc = 311; y = (VSPACE2 + 13 * 0.04) * safezoneH + safezoneY; }; - class Interactive_Checkbox12 : Interactive_Checkbox0 { + class Interactive_Checkbox12: Interactive_Checkbox0 { action = ""; idc = 312; y = (VSPACE2 + 14 * 0.04) * safezoneH + safezoneY; }; - class Interactive_Checkbox13 : Interactive_Checkbox0 { + class Interactive_Checkbox13: Interactive_Checkbox0 { action = ""; idc = 313; y = (VSPACE2 + 15 * 0.04) * safezoneH + safezoneY; }; - class Interactive_Checkbox14 : Interactive_Checkbox0 { + class Interactive_Checkbox14: Interactive_Checkbox0 { action = ""; idc = 314; y = (VSPACE2 + 16 * 0.04) * safezoneH + safezoneY; }; - class Interactive_Checkbox15 : Interactive_Checkbox0 { + class Interactive_Checkbox15: Interactive_Checkbox0 { action = ""; idc = 315; y = (VSPACE2 + 17 * 0.04) * safezoneH + safezoneY; }; - class Interactive_Checkbox16 : Interactive_Checkbox0 { + class Interactive_Checkbox16: Interactive_Checkbox0 { action = ""; idc = 316; y = (VSPACE2 + 18 * 0.04) * safezoneH + safezoneY; }; - class Interactive_Checkbox17 : Interactive_Checkbox0 { + class Interactive_Checkbox17: Interactive_Checkbox0 { action = ""; idc = 317; y = (VSPACE2 + 19 * 0.04) * safezoneH + safezoneY; }; - class Interactive_Checkbox18 : Interactive_Checkbox0 { + class Interactive_Checkbox18: Interactive_Checkbox0 { action = ""; idc = 318; y = (VSPACE2 + 20 * 0.04) * safezoneH + safezoneY; }; - class Interactive_Checkbox19 : Interactive_Checkbox0 { + class Interactive_Checkbox19: Interactive_Checkbox0 { action = ""; idc = 319; y = (VSPACE2 + 21 * 0.04) * safezoneH + safezoneY; @@ -491,7 +491,7 @@ class ACE_Common_OptionsMenu_Dialog { ////////////////////////////////////////////////// - class Text_Checkbox0 : Text_Button0 { + class Text_Checkbox0: Text_Button0 { idc = 400; x = (HSPACE2 + 0 * 0.1) * safezoneW + safezoneX; y = (VSPACE2 + 2 * 0.04) * safezoneH + safezoneY; @@ -499,105 +499,105 @@ class ACE_Common_OptionsMenu_Dialog { h = 0.3 / 9 * safezoneH; }; - class Text_Checkbox1 : Text_Checkbox0 { + class Text_Checkbox1: Text_Checkbox0 { idc = 401; y = (VSPACE2 + 3 * 0.04) * safezoneH + safezoneY; }; - class Text_Checkbox2 : Text_Checkbox0 { + class Text_Checkbox2: Text_Checkbox0 { idc = 402; y = (VSPACE2 + 4 * 0.04) * safezoneH + safezoneY; }; - class Text_Checkbox3 : Text_Checkbox0 { + class Text_Checkbox3: Text_Checkbox0 { idc = 403; y = (VSPACE2 + 5 * 0.04) * safezoneH + safezoneY; }; - class Text_Checkbox4 : Text_Checkbox0 { + class Text_Checkbox4: Text_Checkbox0 { idc = 404; y = (VSPACE2 + 6 * 0.04) * safezoneH + safezoneY; }; - class Text_Checkbox5 : Text_Checkbox0 { + class Text_Checkbox5: Text_Checkbox0 { idc = 405; y = (VSPACE2 + 7 * 0.04) * safezoneH + safezoneY; }; - class Text_Checkbox6 : Text_Checkbox0 { + class Text_Checkbox6: Text_Checkbox0 { idc = 406; y = (VSPACE2 + 8 * 0.04) * safezoneH + safezoneY; }; - class Text_Checkbox7 : Text_Checkbox0 { + class Text_Checkbox7: Text_Checkbox0 { idc = 407; y = (VSPACE2 + 9 * 0.04) * safezoneH + safezoneY; }; - class Text_Checkbox8 : Text_Checkbox0 { + class Text_Checkbox8: Text_Checkbox0 { idc = 408; y = (VSPACE2 + 10 * 0.04) * safezoneH + safezoneY; }; - class Text_Checkbox9 : Text_Checkbox0 { + class Text_Checkbox9: Text_Checkbox0 { idc = 409; y = (VSPACE2 + 11 * 0.04) * safezoneH + safezoneY; }; - class Text_Checkbox10 : Text_Checkbox0 { + class Text_Checkbox10: Text_Checkbox0 { idc = 410; y = (VSPACE2 + 12 * 0.04) * safezoneH + safezoneY; }; - class Text_Checkbox11 : Text_Checkbox0 { + class Text_Checkbox11: Text_Checkbox0 { idc = 411; y = (VSPACE2 + 13 * 0.04) * safezoneH + safezoneY; }; - class Text_Checkbox12 : Text_Checkbox0 { + class Text_Checkbox12: Text_Checkbox0 { idc = 412; y = (VSPACE2 + 14 * 0.04) * safezoneH + safezoneY; }; - class Text_Checkbox13 : Text_Checkbox0 { + class Text_Checkbox13: Text_Checkbox0 { idc = 413; y = (VSPACE2 + 15 * 0.04) * safezoneH + safezoneY; }; - class Text_Checkbox14 : Text_Checkbox0 { + class Text_Checkbox14: Text_Checkbox0 { idc = 414; y = (VSPACE2 + 16 * 0.04) * safezoneH + safezoneY; }; - class Text_Checkbox15 : Text_Checkbox0 { + class Text_Checkbox15: Text_Checkbox0 { idc = 415; y = (VSPACE2 + 17 * 0.04) * safezoneH + safezoneY; }; - class Text_Checkbox16 : Text_Checkbox0 { + class Text_Checkbox16: Text_Checkbox0 { idc = 416; y = (VSPACE2 + 18 * 0.04) * safezoneH + safezoneY; }; - class Text_Checkbox17 : Text_Checkbox0 { + class Text_Checkbox17: Text_Checkbox0 { idc = 417; y = (VSPACE2 + 19 * 0.04) * safezoneH + safezoneY; }; - class Text_Checkbox18 : Text_Checkbox0 { + class Text_Checkbox18: Text_Checkbox0 { idc = 418; y = (VSPACE2 + 20 * 0.04) * safezoneH + safezoneY; }; - class Text_Checkbox19 : Text_Checkbox0 { + class Text_Checkbox19: Text_Checkbox0 { idc = 419; y = (VSPACE2 + 21 * 0.04) * safezoneH + safezoneY; }; ////////////////////////////////////////////////// - class Interactive_CheckboxButton0 : ACE_Common_Interactive_Button_Base { - action = "[0] call ACE_Common_toggleState"; + class Interactive_CheckboxButton0: GVAR(Interactive_Button_Base) { + action = QUOTE([0] call GVAR(toggleState)); idc = 500; colorBackground[] = {0, 0, 0, 0}; colorBackgroundActive[] = {0, 0, 0, 0}; @@ -608,123 +608,123 @@ class ACE_Common_OptionsMenu_Dialog { h = 0.3 / 9 * safezoneH; }; - class Interactive_CheckboxButton1 : Interactive_CheckboxButton0 { - action = "[1] call ACE_Common_toggleState"; + class Interactive_CheckboxButton1: Interactive_CheckboxButton0 { + action = QUOTE([1] call GVAR(toggleState)); idc = 501; y = (VSPACE2 + 3 * 0.04) * safezoneH + safezoneY; }; - class Interactive_CheckboxButton2 : Interactive_CheckboxButton0 { - action = "[2] call ACE_Common_toggleState"; + class Interactive_CheckboxButton2: Interactive_CheckboxButton0 { + action = QUOTE([2] call GVAR(toggleState)); idc = 502; y = (VSPACE2 + 4 * 0.04) * safezoneH + safezoneY; }; - class Interactive_CheckboxButton3 : Interactive_CheckboxButton0 { - action = "[3] call ACE_Common_toggleState"; + class Interactive_CheckboxButton3: Interactive_CheckboxButton0 { + action = QUOTE([3] call GVAR(toggleState)); idc = 503; y = (VSPACE2 + 5 * 0.04) * safezoneH + safezoneY; }; - class Interactive_CheckboxButton4 : Interactive_CheckboxButton0 { - action = "[4] call ACE_Common_toggleState"; + class Interactive_CheckboxButton4: Interactive_CheckboxButton0 { + action = QUOTE([4] call GVAR(toggleState)); idc = 504; y = (VSPACE2 + 6 * 0.04) * safezoneH + safezoneY; }; - class Interactive_CheckboxButton5 : Interactive_CheckboxButton0 { - action = "[5] call ACE_Common_toggleState"; + class Interactive_CheckboxButton5: Interactive_CheckboxButton0 { + action = QUOTE([5] call GVAR(toggleState)); idc = 505; y = (VSPACE2 + 7 * 0.04) * safezoneH + safezoneY; }; - class Interactive_CheckboxButton6 : Interactive_CheckboxButton0 { - action = "[6] call ACE_Common_toggleState"; + class Interactive_CheckboxButton6: Interactive_CheckboxButton0 { + action = QUOTE([6] call GVAR(toggleState)); idc = 506; y = (VSPACE2 + 8 * 0.04) * safezoneH + safezoneY; }; - class Interactive_CheckboxButton7 : Interactive_CheckboxButton0 { - action = "[7] call ACE_Common_toggleState"; + class Interactive_CheckboxButton7: Interactive_CheckboxButton0 { + action = QUOTE([7] call GVAR(toggleState)); idc = 507; y = (VSPACE2 + 9 * 0.04) * safezoneH + safezoneY; }; - class Interactive_CheckboxButton8 : Interactive_CheckboxButton0 { - action = "[8] call ACE_Common_toggleState"; + class Interactive_CheckboxButton8: Interactive_CheckboxButton0 { + action = QUOTE([8] call GVAR(toggleState)); idc = 508; y = (VSPACE2 + 10 * 0.04) * safezoneH + safezoneY; }; - class Interactive_CheckboxButton9 : Interactive_CheckboxButton0 { - action = "[9] call ACE_Common_toggleState"; + class Interactive_CheckboxButton9: Interactive_CheckboxButton0 { + action = QUOTE([9] call GVAR(toggleState)); idc = 509; y = (VSPACE2 + 11 * 0.04) * safezoneH + safezoneY; }; - class Interactive_CheckboxButton10 : Interactive_CheckboxButton0 { - action = "[10] call ACE_Common_toggleState"; + class Interactive_CheckboxButton10: Interactive_CheckboxButton0 { + action = QUOTE([10] call GVAR(toggleState)); idc = 510; y = (VSPACE2 + 12 * 0.04) * safezoneH + safezoneY; }; - class Interactive_CheckboxButton11 : Interactive_CheckboxButton0 { - action = "[11] call ACE_Common_toggleState"; + class Interactive_CheckboxButton11: Interactive_CheckboxButton0 { + action = QUOTE([11] call GVAR(toggleState)); idc = 511; y = (VSPACE2 + 13 * 0.04) * safezoneH + safezoneY; }; - class Interactive_CheckboxButton12 : Interactive_CheckboxButton0 { - action = "[12] call ACE_Common_toggleState"; + class Interactive_CheckboxButton12: Interactive_CheckboxButton0 { + action = QUOTE([12] call GVAR(toggleState)); idc = 512; y = (VSPACE2 + 14 * 0.04) * safezoneH + safezoneY; }; - class Interactive_CheckboxButton13 : Interactive_CheckboxButton0 { - action = "[13] call ACE_Common_toggleState"; + class Interactive_CheckboxButton13: Interactive_CheckboxButton0 { + action = QUOTE([13] call GVAR(toggleState)); idc = 513; y = (VSPACE2 + 15 * 0.04) * safezoneH + safezoneY; }; - class Interactive_CheckboxButton14 : Interactive_CheckboxButton0 { - action = "[14] call ACE_Common_toggleState"; + class Interactive_CheckboxButton14: Interactive_CheckboxButton0 { + action = QUOTE([14] call GVAR(toggleState)); idc = 514; y = (VSPACE2 + 16 * 0.04) * safezoneH + safezoneY; }; - class Interactive_CheckboxButton15 : Interactive_CheckboxButton0 { - action = "[15] call ACE_Common_toggleState"; + class Interactive_CheckboxButton15: Interactive_CheckboxButton0 { + action = QUOTE([15] call GVAR(toggleState)); idc = 515; y = (VSPACE2 + 17 * 0.04) * safezoneH + safezoneY; }; - class Interactive_CheckboxButton16 : Interactive_CheckboxButton0 { - action = "[16] call ACE_Common_toggleState"; + class Interactive_CheckboxButton16: Interactive_CheckboxButton0 { + action = QUOTE([16] call GVAR(toggleState)); idc = 516; y = (VSPACE2 + 18 * 0.04) * safezoneH + safezoneY; }; - class Interactive_CheckboxButton17 : Interactive_CheckboxButton0 { - action = "[17] call ACE_Common_toggleState"; + class Interactive_CheckboxButton17: Interactive_CheckboxButton0 { + action = QUOTE([17] call GVAR(toggleState)); idc = 517; y = (VSPACE2 + 19 * 0.04) * safezoneH + safezoneY; }; - class Interactive_CheckboxButton18 : Interactive_CheckboxButton0 { - action = "[18] call ACE_Common_toggleState"; + class Interactive_CheckboxButton18: Interactive_CheckboxButton0 { + action = QUOTE([18] call GVAR(toggleState)); idc = 518; y = (VSPACE2 + 20 * 0.04) * safezoneH + safezoneY; }; - class Interactive_CheckboxButton19 : Interactive_CheckboxButton0 { - action = "[19] call ACE_Common_toggleState"; + class Interactive_CheckboxButton19: Interactive_CheckboxButton0 { + action = QUOTE([19] call GVAR(toggleState)); idc = 519; y = (VSPACE2 + 21 * 0.04) * safezoneH + safezoneY; }; ////////////////////////////////////////////////// - class TextBox_KeyChange : Text_Button0 { + class TextBox_KeyChange: Text_Button0 { text = ""; idc = 20; style = 2 + 0x800; @@ -734,7 +734,7 @@ class ACE_Common_OptionsMenu_Dialog { h = (3.0 / 9 - VSPACE2 / 2) * safezoneH; }; - /*class TextBox_Key_Shift : TextBox_KeyChange { + /*class TextBox_Key_Shift: TextBox_KeyChange { text = "$STR_ACE_Common_Shift"; idc = 21; colorText[] = {0.25,0.25,0.25,1}; @@ -745,22 +745,22 @@ class ACE_Common_OptionsMenu_Dialog { h = 0.3 / 9 * safezoneH; }; - class TextBox_Key_Control : TextBox_Key_Shift { + class TextBox_Key_Control: TextBox_Key_Shift { text = "$STR_ACE_Common_Ctrl"; idc = 22; x = (3 / 4 * HSPACE2 + 6.75 * 0.1) * safezoneW + safezoneX; y = (VSPACE2 + 10 * 0.04) * safezoneH + safezoneY; }; - class TextBox_Key_Alt : TextBox_Key_Shift { + class TextBox_Key_Alt: TextBox_Key_Shift { text = "$STR_ACE_Common_Alt"; idc = 23; x = (3 / 4 * HSPACE2 + 7.75 * 0.1) * safezoneW + safezoneX; y = (VSPACE2 + 10 * 0.04) * safezoneH + safezoneY; };*/ - class TextBox_Key_Shift : Interactive_Button0 { - action = "ACE_Common_keyNewTemp = [42, [false, false, false], 42];"; + class TextBox_Key_Shift: Interactive_Button0 { + action = QUOTE(GVAR(keyNewTemp) = [ARR_3(42,[ARR_3(false,false,false)],42)];); text = "$STR_ACE_Common_Shift"; sizeEx = "0.7 / 40 / (getResolution select 5)";// * safezoneX / safezoneXAbs"; idc = 21; @@ -772,47 +772,47 @@ class ACE_Common_OptionsMenu_Dialog { h = 0.3 / 9 * safezoneH; }; - class TextBox_Key_Control : TextBox_Key_Shift { - action = "ACE_Common_keyNewTemp = [29, [false, false, false], 29];"; + class TextBox_Key_Control: TextBox_Key_Shift { + action = QUOTE(GVAR(keyNewTemp) = [ARR_3(29,[ARR_3(false,false,false)],29)];); text = "$STR_ACE_Common_Ctrl"; idc = 22; x = (3 / 4 * HSPACE2 + 6.75 * 0.1) * safezoneW + safezoneX; y = (VSPACE2 + 10 * 0.04) * safezoneH + safezoneY; }; - class TextBox_Key_Alt : TextBox_Key_Shift { - action = "ACE_Common_keyNewTemp = [56, [false, false, false], 56];"; + class TextBox_Key_Alt: TextBox_Key_Shift { + action = QUOTE(GVAR(keyNewTemp) = [ARR_3(56,[ARR_3(false,false,false)],56)];); text = "$STR_ACE_Common_Alt"; idc = 23; x = (3 / 4 * HSPACE2 + 7.5 * 0.1) * safezoneW + safezoneX; y = (VSPACE2 + 10 * 0.04) * safezoneH + safezoneY; }; - class TextBox_Key_Shift_Right : TextBox_Key_Shift { - action = "ACE_Common_keyNewTemp = [54, [false, false, false], 54];"; + class TextBox_Key_Shift_Right: TextBox_Key_Shift { + action = QUOTE(GVAR(keyNewTemp) = [ARR_3(54,[ARR_3(false,false,false)],54)];); text = "$STR_ACE_Common_Shift_Right"; idc = 27; x = (3 / 4 * HSPACE2 + 6 * 0.1) * safezoneW + safezoneX; y = (VSPACE2 + 11 * 0.04) * safezoneH + safezoneY; }; - class TextBox_Key_Control_Right : TextBox_Key_Shift { - action = "ACE_Common_keyNewTemp = [157, [false, false, false], 157];"; + class TextBox_Key_Control_Right: TextBox_Key_Shift { + action = QUOTE(GVAR(keyNewTemp) = [ARR_3(157,[ARR_3(false,false,false)],157)];); text = "$STR_ACE_Common_Ctrl_Right"; idc = 28; x = (3 / 4 * HSPACE2 + 6.75 * 0.1) * safezoneW + safezoneX; y = (VSPACE2 + 11 * 0.04) * safezoneH + safezoneY; }; - class TextBox_Key_Alt_Right : TextBox_Key_Shift { - action = "ACE_Common_keyNewTemp = [184, [false, false, false], 184];"; + class TextBox_Key_Alt_Right: TextBox_Key_Shift { + action = QUOTE(GVAR(keyNewTemp) = [ARR_3(184,[ARR_3(false,false,false)],184)];); text = "$STR_ACE_Common_Alt_Right"; idc = 29; x = (3 / 4 * HSPACE2 + 7.5 * 0.1) * safezoneW + safezoneX; y = (VSPACE2 + 11 * 0.04) * safezoneH + safezoneY; }; - class TextBox_Action : TextBox_KeyChange { + class TextBox_Action: TextBox_KeyChange { text = ""; idc = 30; colorText[] = {1,1,1,1}; @@ -824,23 +824,23 @@ class ACE_Common_OptionsMenu_Dialog { h = 0.3 / 9 * safezoneH; }; - class TextBox_Key_Default : TextBox_Key_Shift { - action = "call ACE_Common_keysetDefault"; + class TextBox_Key_Default: TextBox_Key_Shift { + action = QUOTE(call GVAR(keysetDefault)); text = "$STR_ACE_Common_KeyDefault"; idc = 31; x = (3 / 4 * HSPACE2 + 8.25 * 0.1) * safezoneW + safezoneX; y = (VSPACE2 + 10 * 0.04) * safezoneH + safezoneY; }; - class TextBox_Key_None : TextBox_Key_Shift { - action = "ACE_Common_keyNewTemp = [0, [false, false, false], 0];"; + class TextBox_Key_None: TextBox_Key_Shift { + action = QUOTE(GVAR(keyNewTemp) = [ARR_3(0,[ARR_3(false,false,false)],0)];); text = "$STR_ACE_Common_KeyNone"; idc = 32; x = (3 / 4 * HSPACE2 + 8.25 * 0.1) * safezoneW + safezoneX; y = (VSPACE2 + 11 * 0.04) * safezoneH + safezoneY; }; - class TextBox_Key : TextBox_KeyChange { + class TextBox_Key: TextBox_KeyChange { text = ""; idc = 24; colorText[] = {1,1,1,1}; @@ -852,8 +852,8 @@ class ACE_Common_OptionsMenu_Dialog { h = 0.3 / 9 * safezoneH; }; - class Interactive_ButtonV : Interactive_Button0 { - action = "ACE_Common_keySet = 1"; + class Interactive_ButtonV: Interactive_Button0 { + action = QUOTE(ACE_Common_keySet = 1); text = "$STR_ACE_Common_Save"; sizeEx = "1 / 40 / (getResolution select 5)";// * safezoneX / safezoneXAbs"; idc = 25; @@ -864,8 +864,8 @@ class ACE_Common_OptionsMenu_Dialog { h = 0.3 / 9 * safezoneH; }; - class Interactive_ButtonW : Interactive_ButtonV { - action = "ACE_Common_keySet = -1"; + class Interactive_ButtonW: Interactive_ButtonV { + action = QUOTE(GVAR(keySet) = -1); text = "$STR_ACE_Common_Cancel"; idc = 26; x = (HSPACE2 + 7.5 * 0.1) * safezoneW + safezoneX; @@ -874,8 +874,8 @@ class ACE_Common_OptionsMenu_Dialog { h = 0.3 / 9 * safezoneH; }; - class Interactive_ButtonX : Interactive_Button0 { - action = "ACE_Common_keySave = 1; closeDialog 0"; + class Interactive_ButtonX: Interactive_Button0 { + action = QUOTE(GVAR(keySave) = 1; closeDialog 0); text = "$STR_ACE_Common_Save"; sizeEx = "1 / 40 / (getResolution select 5)";// * safezoneX / safezoneXAbs"; idc = 10; @@ -885,8 +885,8 @@ class ACE_Common_OptionsMenu_Dialog { h = 0.3 / 9 * safezoneH; }; - class Interactive_ButtonY : Interactive_Button0 { - action = "ACE_Common_keySave = -1; closeDialog 0"; + class Interactive_ButtonY: Interactive_Button0 { + action = QUOTE(GVAR(keySave) = -1; closeDialog 0); text = "$STR_ACE_Common_Cancel"; sizeEx = "1 / 40 / (getResolution select 5)";// * safezoneX / safezoneXAbs"; idc = 11; @@ -896,8 +896,8 @@ class ACE_Common_OptionsMenu_Dialog { h = 0.3 / 9 * safezoneH; }; - class Interactive_ButtonA : ACE_Common_Interactive_Button_Base { - action = "false call ACE_Common_nextKeys"; + class Interactive_ButtonA: GVAR(Interactive_Button_Base) { + action = QUOTE(false call GVAR(nextKeys)); text = "$STR_ACE_Common_Prev"; idc = 12; style = 2 + 0x800; @@ -907,14 +907,14 @@ class ACE_Common_OptionsMenu_Dialog { h = 0.3 / 9 * safezoneH; }; - class Interactive_ButtonB : Interactive_ButtonA { - action = "true call ACE_Common_nextKeys"; + class Interactive_ButtonB: Interactive_ButtonA { + action = QUOTE(true call GVAR(nextKeys)); text = "$STR_ACE_Common_Next"; idc = 13; x = (HSPACE2 + 3 * 0.1 + 2.0 / 16) * safezoneW + safezoneX; }; - class Interactive_ButtonC : ACE_Common_Text_Button_Base { + class Interactive_ButtonC: GVAR(Text_Button_Base) { text = ""; idc = 14; style = 2 + 0x800; diff --git a/addons/common/ProgressScreen.hpp b/addons/common/ProgressScreen.hpp index 873aeac73c..95133bec0f 100644 --- a/addons/common/ProgressScreen.hpp +++ b/addons/common/ProgressScreen.hpp @@ -1,8 +1,8 @@ -class ACE_Common_ProgressBar_Dialog { +class GVAR(ProgressBar_Dialog) { idd = -1; movingEnable = false; - onLoad = "uiNamespace setVariable ['ACE_Common_ctrlProgressBar', (_this select 0) displayCtrl 1]; uiNamespace setVariable ['ACE_Common_ctrlProgressBarTitle', (_this select 0) displayCtrl 2];"; + onLoad = QUOTE(uiNamespace setVariable [ARR_2(QUOTE(QGVAR(ctrlProgressBar)),(_this select 0) displayCtrl 1)]; uiNamespace setVariable [ARR_2(QUOTE(QGVAR(ctrlProgressBarTitle)),(_this select 0) displayCtrl 2)];); objects[] = {}; class controlsBackground { @@ -66,10 +66,10 @@ class ACE_Common_ProgressBar_Dialog { }; }; -class ACE_Common_DisableMouse_Dialog { +class GVAR(DisableMouse_Dialog) { idd = -1; movingEnable = false; - onLoad = "uiNamespace setVariable ['ACE_Common_dlgDisableMouse', _this select 0];"; + onLoad = QUOTE(uiNamespace setVariable [ARR_2(QUOTE(QGVAR(dlgDisableMouse)),_this select 0)];); objects[] = {}; class controlsBackground { class Background { diff --git a/addons/common/XEH_postInit.sqf b/addons/common/XEH_postInit.sqf index 1476f775c0..5c37862c7b 100644 --- a/addons/common/XEH_postInit.sqf +++ b/addons/common/XEH_postInit.sqf @@ -8,7 +8,7 @@ QGVAR(remoteFnc) addPublicVariableEventHandler { [missionNamespace] call FUNC(executePersistent); // check previous version number from profile -_currentVersion = getText (configFile >> "CfgPatches" >> "ACE_Common" >> "version"); +_currentVersion = getText (configFile >> "CfgPatches" >> ADDON >> "version"); _previousVersion = profileNamespace getVariable ["ACE_VersionNumberString", ""]; if (_currentVersion != _previousVersion) then { diff --git a/addons/common/XEH_preInit.sqf b/addons/common/XEH_preInit.sqf index e59894c370..52ccdff4d4 100644 --- a/addons/common/XEH_preInit.sqf +++ b/addons/common/XEH_preInit.sqf @@ -134,7 +134,7 @@ PREP(monitor); PREP(showUser); // ACE_CuratorFix -PREP(addUnloadEventhandler); +PREP(addCuratorUnloadEventhandler); PREP(fixCrateContent); // Loop to update the ACE_player variable diff --git a/addons/common/config.cpp b/addons/common/config.cpp index 771511ac04..a11bbc80b7 100644 --- a/addons/common/config.cpp +++ b/addons/common/config.cpp @@ -51,13 +51,13 @@ class ACE_Rsc_Control_Base { h = 0; }; -class GVAR(canInteractConditions) { +class ACE_canInteractConditions { class GVAR(notOnMap) { condition = "!visibleMap"; }; }; -class GVAR(Options) { +class ACE_Options { class enableNumberHotkeys { displayName = "$STR_ACE_Common_EnableNumberHotkeys"; default = 1; @@ -72,7 +72,7 @@ class GVAR(Options) { /* class RscControlsGroupNoScrollbars; class RscAttributeInventory: RscControlsGroupNoScrollbars { - onSetFocus = "[_this,""RscAttributeInventory"",'CuratorCommon'] call (uinamespace getvariable ""BIS_fnc_initCuratorAttribute""); _this select 0 call ACE_CuratorFix_fnc_addUnloadEventhandler;"; + onSetFocus = QUOTE([ARR_3(_this,""RscAttributeInventory"",'CuratorCommon')] call (uinamespace getvariable ""BIS_fnc_initCuratorAttribute""); _this select 0 call DFUNC(addCuratorUnloadEventhandler);); }; */ diff --git a/addons/common/functions/fnc_addActionEventHandler.sqf b/addons/common/functions/fnc_addActionEventHandler.sqf index e540bde53f..a75b1537d1 100644 --- a/addons/common/functions/fnc_addActionEventHandler.sqf +++ b/addons/common/functions/fnc_addActionEventHandler.sqf @@ -12,7 +12,7 @@ * Return value: * ID of the action (used to remove it later). */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_unit", "_action", "_condition", "_statement", "_name", "_actionsVar", "_actionID", "_actions", "_id", "_actionIDs"]; diff --git a/addons/common/functions/fnc_addActionMenuEventHandler.sqf b/addons/common/functions/fnc_addActionMenuEventHandler.sqf index 6878f78575..249ee7e1cd 100644 --- a/addons/common/functions/fnc_addActionMenuEventHandler.sqf +++ b/addons/common/functions/fnc_addActionMenuEventHandler.sqf @@ -16,7 +16,7 @@ * Return value: * ID of the action (used to remove it later). */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_unit", "_displayName", "_action", "_condition", "_statement", "_condition2", "_statement2", "_priority", "_name", "_actionsVar", "_id", "_actionIDs", "_actions", "_nameVar", "_addAction", "_actionID"]; diff --git a/addons/common/functions/fnc_addCameraEventHandler.sqf b/addons/common/functions/fnc_addCameraEventHandler.sqf index b0aaeac8e0..45fdb3bdca 100644 --- a/addons/common/functions/fnc_addCameraEventHandler.sqf +++ b/addons/common/functions/fnc_addCameraEventHandler.sqf @@ -10,7 +10,7 @@ * Return value: * ID of the event script (used to remove it later). */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_statement", "_actionsVar", "_id", "_actionIDs", "_actions"]; diff --git a/addons/common/functions/fnc_addUnloadEventhandler.sqf b/addons/common/functions/fnc_addCuratorUnloadEventhandler.sqf similarity index 83% rename from addons/common/functions/fnc_addUnloadEventhandler.sqf rename to addons/common/functions/fnc_addCuratorUnloadEventhandler.sqf index 4d279c0f7a..0d1606aaf6 100644 --- a/addons/common/functions/fnc_addUnloadEventhandler.sqf +++ b/addons/common/functions/fnc_addCuratorUnloadEventhandler.sqf @@ -1,5 +1,5 @@ // by commy2 -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private "_dlg"; diff --git a/addons/common/functions/fnc_addCustomEventHandler.sqf b/addons/common/functions/fnc_addCustomEventHandler.sqf index 975a191942..e31730dbb3 100644 --- a/addons/common/functions/fnc_addCustomEventHandler.sqf +++ b/addons/common/functions/fnc_addCustomEventHandler.sqf @@ -11,7 +11,7 @@ * Return value: * ID of the event script (used to remove it later). */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_object", "_type", "_statement", "_name", "_actionsVar", "_id", "_actionIDs", "_actions"]; diff --git a/addons/common/functions/fnc_addInfoDisplayEventHandler.sqf b/addons/common/functions/fnc_addInfoDisplayEventHandler.sqf index 08258db97d..d80c8b7fec 100644 --- a/addons/common/functions/fnc_addInfoDisplayEventHandler.sqf +++ b/addons/common/functions/fnc_addInfoDisplayEventHandler.sqf @@ -10,7 +10,7 @@ * Return value: * ID of the event script (used to remove it later). */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_type", "_statement", "_actionsVar", "_id", "_actionIDs", "_actions"]; diff --git a/addons/common/functions/fnc_addInventoryDisplayLoadedEventHandler.sqf b/addons/common/functions/fnc_addInventoryDisplayLoadedEventHandler.sqf index a7b83c1f1b..60681e066c 100644 --- a/addons/common/functions/fnc_addInventoryDisplayLoadedEventHandler.sqf +++ b/addons/common/functions/fnc_addInventoryDisplayLoadedEventHandler.sqf @@ -9,7 +9,7 @@ * Return value: * ID of the event script (used to remove it later). */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_statement", "_actionsVar", "_id", "_actionIDs", "_actions"]; diff --git a/addons/common/functions/fnc_addMapMarkerCreatedEventHandler.sqf b/addons/common/functions/fnc_addMapMarkerCreatedEventHandler.sqf index 10631265bc..64ce3e9735 100644 --- a/addons/common/functions/fnc_addMapMarkerCreatedEventHandler.sqf +++ b/addons/common/functions/fnc_addMapMarkerCreatedEventHandler.sqf @@ -9,7 +9,7 @@ * Return value: * ID of the event script (used to remove it later). */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_statement", "_actionsVar", "_id", "_actionIDs", "_actions"]; diff --git a/addons/common/functions/fnc_addScrollWheelEventHandler.sqf b/addons/common/functions/fnc_addScrollWheelEventHandler.sqf index 07ff213133..98444a160d 100644 --- a/addons/common/functions/fnc_addScrollWheelEventHandler.sqf +++ b/addons/common/functions/fnc_addScrollWheelEventHandler.sqf @@ -9,7 +9,7 @@ * Return value: * ID of the event script (used to remove it later). */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_statement", "_actionsVar", "_id", "_actionIDs", "_actions"]; diff --git a/addons/common/functions/fnc_adminKick.sqf b/addons/common/functions/fnc_adminKick.sqf index ad8b133064..bc9afd9fcb 100644 --- a/addons/common/functions/fnc_adminKick.sqf +++ b/addons/common/functions/fnc_adminKick.sqf @@ -1,5 +1,5 @@ // by commy2 -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private "_name"; diff --git a/addons/common/functions/fnc_ambientBrightness.sqf b/addons/common/functions/fnc_ambientBrightness.sqf index 2ab3be4834..034129735a 100644 --- a/addons/common/functions/fnc_ambientBrightness.sqf +++ b/addons/common/functions/fnc_ambientBrightness.sqf @@ -9,6 +9,6 @@ * Return value: * Ambient brightness (Number) */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" sunOrMoon * sunOrMoon + moonIntensity/5 min 1 diff --git a/addons/common/functions/fnc_applyForceWalkStatus.sqf b/addons/common/functions/fnc_applyForceWalkStatus.sqf index c090c236db..0f8ffb58ea 100644 --- a/addons/common/functions/fnc_applyForceWalkStatus.sqf +++ b/addons/common/functions/fnc_applyForceWalkStatus.sqf @@ -15,7 +15,7 @@ Returns: Example: [ACE_Player] call FUNC(applyForceWalkStatus) */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_unit", "_forceWalkNumber"]; diff --git a/addons/common/functions/fnc_binarizeNumber.sqf b/addons/common/functions/fnc_binarizeNumber.sqf index bba135b9b9..11334083f8 100644 --- a/addons/common/functions/fnc_binarizeNumber.sqf +++ b/addons/common/functions/fnc_binarizeNumber.sqf @@ -10,7 +10,7 @@ * Return value: * Booleans (Array) */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_number", "_minLength", "_array", "_index", "_rest"]; diff --git a/addons/common/functions/fnc_callCustomEventHandlers.sqf b/addons/common/functions/fnc_callCustomEventHandlers.sqf index 9d2b7c2370..4b822e0754 100644 --- a/addons/common/functions/fnc_callCustomEventHandlers.sqf +++ b/addons/common/functions/fnc_callCustomEventHandlers.sqf @@ -11,7 +11,7 @@ * Return value: * None. */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_object", "_type", "_argument", "_name", "_actions"]; diff --git a/addons/common/functions/fnc_callCustomEventHandlersGlobal.sqf b/addons/common/functions/fnc_callCustomEventHandlersGlobal.sqf index 5333a2e065..e1dddd5916 100644 --- a/addons/common/functions/fnc_callCustomEventHandlersGlobal.sqf +++ b/addons/common/functions/fnc_callCustomEventHandlersGlobal.sqf @@ -11,6 +11,6 @@ * Return value: * None. */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" [_this, QUOTE(FUNC(callCustomEventHandlers)), 2] call FUNC(execRemoteFnc); diff --git a/addons/common/functions/fnc_canGetInPosition.sqf b/addons/common/functions/fnc_canGetInPosition.sqf index 9aaaa4518a..859d8ed461 100644 --- a/addons/common/functions/fnc_canGetInPosition.sqf +++ b/addons/common/functions/fnc_canGetInPosition.sqf @@ -14,7 +14,7 @@ * Return Value: * Nothing */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" #define CANGETINDRIVER (isNull (driver _vehicle) || {!alive driver _vehicle}) && {!lockedDriver _vehicle} && {getNumber (_config >> "isUav") != 1} #define CANGETINTURRETINDEX (isNull (_vehicle turretUnit _turret) || {!alive (_vehicle turretUnit _turret)}) && {!(_vehicle lockedTurret _turret)} && {getNumber (_config >> "isUav") != 1} diff --git a/addons/common/functions/fnc_canInteractWith.sqf b/addons/common/functions/fnc_canInteractWith.sqf index 741c1474b4..9c5405452e 100644 --- a/addons/common/functions/fnc_canInteractWith.sqf +++ b/addons/common/functions/fnc_canInteractWith.sqf @@ -1,5 +1,5 @@ // by commy2 -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_unit", "_target", "_owner"]; diff --git a/addons/common/functions/fnc_canUseWeapon.sqf b/addons/common/functions/fnc_canUseWeapon.sqf index 4c686089df..cbb33f1905 100644 --- a/addons/common/functions/fnc_canUseWeapon.sqf +++ b/addons/common/functions/fnc_canUseWeapon.sqf @@ -1,5 +1,5 @@ // by commy2 -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" // returns true if the unit is on foot or in a ffv position diff --git a/addons/common/functions/fnc_changeProjectileDirection.sqf b/addons/common/functions/fnc_changeProjectileDirection.sqf index 43ff5243de..04154da9c1 100644 --- a/addons/common/functions/fnc_changeProjectileDirection.sqf +++ b/addons/common/functions/fnc_changeProjectileDirection.sqf @@ -12,7 +12,7 @@ * Return value: * None. */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_projectile", "_adjustDir", "_adjustUp", "_adjustSpeed", "_vdir", "_dir", "_up", "_l", "_r", "_vup", "_vel"]; diff --git a/addons/common/functions/fnc_checkPBOs.sqf b/addons/common/functions/fnc_checkPBOs.sqf index 42f71ba8bd..7c4aaeba13 100644 --- a/addons/common/functions/fnc_checkPBOs.sqf +++ b/addons/common/functions/fnc_checkPBOs.sqf @@ -14,7 +14,7 @@ * Return value: * None. */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_mode", "_checkAll", "_whitelist", "_logic"]; diff --git a/addons/common/functions/fnc_claim.sqf b/addons/common/functions/fnc_claim.sqf index 3da556fe9f..cf960ac462 100644 --- a/addons/common/functions/fnc_claim.sqf +++ b/addons/common/functions/fnc_claim.sqf @@ -1,5 +1,5 @@ // by commy2 -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_unit", "_target", "_lockTarget", "_owner"]; diff --git a/addons/common/functions/fnc_closeDialogIfTargetMoves.sqf b/addons/common/functions/fnc_closeDialogIfTargetMoves.sqf index 417adffdf3..c701db6a02 100644 --- a/addons/common/functions/fnc_closeDialogIfTargetMoves.sqf +++ b/addons/common/functions/fnc_closeDialogIfTargetMoves.sqf @@ -10,7 +10,7 @@ * Return Value: * None */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" _this spawn { _target = _this select 0; diff --git a/addons/common/functions/fnc_codeToLetter.sqf b/addons/common/functions/fnc_codeToLetter.sqf index 31e7241e16..8e8a9c8a3e 100644 --- a/addons/common/functions/fnc_codeToLetter.sqf +++ b/addons/common/functions/fnc_codeToLetter.sqf @@ -1,4 +1,4 @@ // by commy2 -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" ["", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"] select ([2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 30, 48, 46, 32, 18, 33, 34, 35, 23, 36, 37, 38, 50, 49, 24, 25, 16, 19, 31, 20, 22, 47, 17, 45, 44, 21] find (_this select 0)) + 1 diff --git a/addons/common/functions/fnc_codeToString.sqf b/addons/common/functions/fnc_codeToString.sqf index fa7187cae9..440cacc5a3 100644 --- a/addons/common/functions/fnc_codeToString.sqf +++ b/addons/common/functions/fnc_codeToString.sqf @@ -9,7 +9,7 @@ * Return value: * Code (String) */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private "_function"; diff --git a/addons/common/functions/fnc_convertKeyCode.sqf b/addons/common/functions/fnc_convertKeyCode.sqf index 67c316fda8..a8af25401c 100644 --- a/addons/common/functions/fnc_convertKeyCode.sqf +++ b/addons/common/functions/fnc_convertKeyCode.sqf @@ -12,7 +12,7 @@ * Return value: * Key code (Number) */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" #define KEY_MODIFIERS [42, 54, 29, 157, 56, 184] diff --git a/addons/common/functions/fnc_currentChannel.sqf b/addons/common/functions/fnc_currentChannel.sqf index 15fd89a464..115364fb24 100644 --- a/addons/common/functions/fnc_currentChannel.sqf +++ b/addons/common/functions/fnc_currentChannel.sqf @@ -9,7 +9,7 @@ * Return value: * The current channel. Can be "group", "side", "global", "command", "vehicle" or "direct" (String) */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" #define CHANNELS ["group", "side", "global", "command", "vehicle", "direct"] #define CHANNELS_LOCALIZED [localize "str_channel_group", localize "str_channel_side", localize "str_channel_global", localize "str_channel_command", localize "str_channel_vehicle", localize "str_channel_direct"] diff --git a/addons/common/functions/fnc_disableUserInput.sqf b/addons/common/functions/fnc_disableUserInput.sqf index 324f02d1b1..923575dd97 100644 --- a/addons/common/functions/fnc_disableUserInput.sqf +++ b/addons/common/functions/fnc_disableUserInput.sqf @@ -9,7 +9,7 @@ * Return value: * Nothing */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_state", "_dlg"]; diff --git a/addons/common/functions/fnc_displayText.sqf b/addons/common/functions/fnc_displayText.sqf index 36feff14c0..c6a68cbab2 100644 --- a/addons/common/functions/fnc_displayText.sqf +++ b/addons/common/functions/fnc_displayText.sqf @@ -12,7 +12,7 @@ * Return value: * Nothing */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" #define DEFAULT_PLAY_SOUND false #define DEFAULT_DELAY 2 diff --git a/addons/common/functions/fnc_displayTextPicture.sqf b/addons/common/functions/fnc_displayTextPicture.sqf index 4b9a0255af..8d46d8d38e 100644 --- a/addons/common/functions/fnc_displayTextPicture.sqf +++ b/addons/common/functions/fnc_displayTextPicture.sqf @@ -10,7 +10,7 @@ * Return value: * Nothing */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_text", "_image"]; diff --git a/addons/common/functions/fnc_displayTextStructured.sqf b/addons/common/functions/fnc_displayTextStructured.sqf index aed3f0555a..62db6a829f 100644 --- a/addons/common/functions/fnc_displayTextStructured.sqf +++ b/addons/common/functions/fnc_displayTextStructured.sqf @@ -10,7 +10,7 @@ * Return value: * Nothing */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_text", "_size", "_isShown", "_ctrlHint"]; diff --git a/addons/common/functions/fnc_doAnimation.sqf b/addons/common/functions/fnc_doAnimation.sqf index fb1483fcd1..969a57fd6d 100644 --- a/addons/common/functions/fnc_doAnimation.sqf +++ b/addons/common/functions/fnc_doAnimation.sqf @@ -14,7 +14,7 @@ * Return value: * Nothing */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_unit", "_animation", "_priority", "_force"]; diff --git a/addons/common/functions/fnc_endRadioTransmission.sqf b/addons/common/functions/fnc_endRadioTransmission.sqf index 5d6ffe19b0..990d4e03d8 100644 --- a/addons/common/functions/fnc_endRadioTransmission.sqf +++ b/addons/common/functions/fnc_endRadioTransmission.sqf @@ -10,7 +10,7 @@ * None. * */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" // ACRE if (isClass (configFile >> "CfgPatches" >> "acre_main")) then { diff --git a/addons/common/functions/fnc_execPersistentFnc.sqf b/addons/common/functions/fnc_execPersistentFnc.sqf index 542466d60c..248d35636e 100644 --- a/addons/common/functions/fnc_execPersistentFnc.sqf +++ b/addons/common/functions/fnc_execPersistentFnc.sqf @@ -12,7 +12,7 @@ * Return value: * Nothing. */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_arguments", "_function", "_unit", "_name"]; diff --git a/addons/common/functions/fnc_execRemoteFnc.sqf b/addons/common/functions/fnc_execRemoteFnc.sqf index e4091bf2f6..111dbbdc0c 100644 --- a/addons/common/functions/fnc_execRemoteFnc.sqf +++ b/addons/common/functions/fnc_execRemoteFnc.sqf @@ -15,7 +15,7 @@ * Return value: * Nothing */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_arguments", "_function", "_unit", "_id"]; diff --git a/addons/common/functions/fnc_executePersistent.sqf b/addons/common/functions/fnc_executePersistent.sqf index 8e8f7375b0..80f29f35ad 100644 --- a/addons/common/functions/fnc_executePersistent.sqf +++ b/addons/common/functions/fnc_executePersistent.sqf @@ -1,5 +1,5 @@ // by commy2 -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private "_target"; diff --git a/addons/common/functions/fnc_exportConfig.sqf b/addons/common/functions/fnc_exportConfig.sqf index 3b157f0a81..10c88d6bca 100644 --- a/addons/common/functions/fnc_exportConfig.sqf +++ b/addons/common/functions/fnc_exportConfig.sqf @@ -4,7 +4,7 @@ (configFile >> "CfgAmmo") call FUNC(exportConfig); */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private "_fnc_logEntries"; diff --git a/addons/common/functions/fnc_filter.sqf b/addons/common/functions/fnc_filter.sqf index 3d61c7559e..23e28c5fc5 100644 --- a/addons/common/functions/fnc_filter.sqf +++ b/addons/common/functions/fnc_filter.sqf @@ -13,7 +13,7 @@ * Usage: * [[0,1,2,3,4], {_this > 2}] call FUNC(filter) ==> [3,4] */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_array", "_code", "_newArray", "_index"]; diff --git a/addons/common/functions/fnc_fixCrateContent.sqf b/addons/common/functions/fnc_fixCrateContent.sqf index d6e7f91cc6..3128f783d5 100644 --- a/addons/common/functions/fnc_fixCrateContent.sqf +++ b/addons/common/functions/fnc_fixCrateContent.sqf @@ -1,5 +1,5 @@ // by commy2 -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_crate", "_weapons", "_items"]; diff --git a/addons/common/functions/fnc_fixLoweredRifleAnimation.sqf b/addons/common/functions/fnc_fixLoweredRifleAnimation.sqf index 2a5a5d1224..55bc6865b0 100644 --- a/addons/common/functions/fnc_fixLoweredRifleAnimation.sqf +++ b/addons/common/functions/fnc_fixLoweredRifleAnimation.sqf @@ -1,5 +1,5 @@ // by commy2 -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private "_unit"; diff --git a/addons/common/functions/fnc_getCaptivityStatus.sqf b/addons/common/functions/fnc_getCaptivityStatus.sqf index 857d78d5b1..dcd3d6b0ff 100644 --- a/addons/common/functions/fnc_getCaptivityStatus.sqf +++ b/addons/common/functions/fnc_getCaptivityStatus.sqf @@ -9,7 +9,7 @@ * Return value: * Reasons, why the unit is a captive. An empty array is returned if the unit is not a captive (Array of Strings) */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_unit", "_captivityReasons", "_unitCaptivityStatus", "_unitCaptivityReasons"]; diff --git a/addons/common/functions/fnc_getChildren.sqf b/addons/common/functions/fnc_getChildren.sqf index 4fcf7af2fb..057b14ff40 100644 --- a/addons/common/functions/fnc_getChildren.sqf +++ b/addons/common/functions/fnc_getChildren.sqf @@ -1,5 +1,5 @@ // by commy2 -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_name", "_cfgClass", "_classes"]; diff --git a/addons/common/functions/fnc_getConfigCommander.sqf b/addons/common/functions/fnc_getConfigCommander.sqf index bb65331228..5fca3af81c 100644 --- a/addons/common/functions/fnc_getConfigCommander.sqf +++ b/addons/common/functions/fnc_getConfigCommander.sqf @@ -9,7 +9,7 @@ * Return value: * Commander config (Config) */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_vehicle", "_config", "_turret"]; diff --git a/addons/common/functions/fnc_getConfigGunner.sqf b/addons/common/functions/fnc_getConfigGunner.sqf index e4708599d8..0c09461a04 100644 --- a/addons/common/functions/fnc_getConfigGunner.sqf +++ b/addons/common/functions/fnc_getConfigGunner.sqf @@ -9,7 +9,7 @@ * Return value: * Gunner config (Config) */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_vehicle", "_config", "_turret"]; diff --git a/addons/common/functions/fnc_getDefaultAnim.sqf b/addons/common/functions/fnc_getDefaultAnim.sqf index 99636e36e7..fd53668396 100644 --- a/addons/common/functions/fnc_getDefaultAnim.sqf +++ b/addons/common/functions/fnc_getDefaultAnim.sqf @@ -1,5 +1,5 @@ // by commy2 -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_unit", "_anim", "_stance"]; diff --git a/addons/common/functions/fnc_getDisplayConfigName.sqf b/addons/common/functions/fnc_getDisplayConfigName.sqf index 38623ff333..3ffc20de2f 100644 --- a/addons/common/functions/fnc_getDisplayConfigName.sqf +++ b/addons/common/functions/fnc_getDisplayConfigName.sqf @@ -1,5 +1,5 @@ // by commy2 -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_configName", "_index"]; diff --git a/addons/common/functions/fnc_getDoorTurrets.sqf b/addons/common/functions/fnc_getDoorTurrets.sqf index 02d9dd6978..eadaeb2000 100644 --- a/addons/common/functions/fnc_getDoorTurrets.sqf +++ b/addons/common/functions/fnc_getDoorTurrets.sqf @@ -9,7 +9,7 @@ * Return value: * Turret indexes of the door gunner. Empty array means no gunner position. (Array) */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_vehicleType", "_turrets", "_doorTurrets", "_config"]; diff --git a/addons/common/functions/fnc_getForceWalkStatus.sqf b/addons/common/functions/fnc_getForceWalkStatus.sqf index 3d762b1cdd..10a70546fb 100644 --- a/addons/common/functions/fnc_getForceWalkStatus.sqf +++ b/addons/common/functions/fnc_getForceWalkStatus.sqf @@ -15,7 +15,7 @@ Returns: Example: [ACE_Player] call FUNC(getForceWalkStatus) */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_unit", "_forceWalkReasons", "_unitForceWalkNumber", "_unitForceWalkStatus", "_unitForceWalkReasons"]; diff --git a/addons/common/functions/fnc_getHitPoints.sqf b/addons/common/functions/fnc_getHitPoints.sqf index 2b6c157891..a6d75e41b9 100644 --- a/addons/common/functions/fnc_getHitPoints.sqf +++ b/addons/common/functions/fnc_getHitPoints.sqf @@ -9,7 +9,7 @@ * Return Value: * The hitpoints (Array) */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_vehicle", "_config", "_hitpoints"]; diff --git a/addons/common/functions/fnc_getHitPointsWithSelections.sqf b/addons/common/functions/fnc_getHitPointsWithSelections.sqf index f48489b130..e9a7a8fac5 100644 --- a/addons/common/functions/fnc_getHitPointsWithSelections.sqf +++ b/addons/common/functions/fnc_getHitPointsWithSelections.sqf @@ -9,7 +9,7 @@ * Return Value: * The hitpoints with selections. Format: [hitpoints, selections]. They correspond by index. (Array) */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_vehicle", "_config", "_hitpoints", "_selections"]; diff --git a/addons/common/functions/fnc_getInPosition.sqf b/addons/common/functions/fnc_getInPosition.sqf index 4cc7705b3c..0cfce1e124 100644 --- a/addons/common/functions/fnc_getInPosition.sqf +++ b/addons/common/functions/fnc_getInPosition.sqf @@ -13,7 +13,7 @@ * Return Value: * Nothing */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" #define CANGETINDRIVER (isNull (driver _vehicle) || {!alive driver _vehicle}) && {!lockedDriver _vehicle} && {getNumber (_config >> "isUav") != 1} #define CANGETINTURRETINDEX (isNull (_vehicle turretUnit _turret) || {!alive (_vehicle turretUnit _turret)}) && {!(_vehicle lockedTurret _turret)} && {getNumber (_config >> "isUav") != 1} diff --git a/addons/common/functions/fnc_getMarkerType.sqf b/addons/common/functions/fnc_getMarkerType.sqf index cfcfcc420d..0324bf0ede 100644 --- a/addons/common/functions/fnc_getMarkerType.sqf +++ b/addons/common/functions/fnc_getMarkerType.sqf @@ -9,7 +9,7 @@ * Return Value: * Marker Type (string) */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" _group = _this select 0; _leader = leader _group; diff --git a/addons/common/functions/fnc_getName.sqf b/addons/common/functions/fnc_getName.sqf index 3bc0663f51..4d10ce052c 100644 --- a/addons/common/functions/fnc_getName.sqf +++ b/addons/common/functions/fnc_getName.sqf @@ -10,7 +10,7 @@ * Return value: * The name. */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_unit", "_showEffective", "_name"]; diff --git a/addons/common/functions/fnc_getNumberFromMissionSQM.sqf b/addons/common/functions/fnc_getNumberFromMissionSQM.sqf index 7251a253a6..1c9fbda77d 100644 --- a/addons/common/functions/fnc_getNumberFromMissionSQM.sqf +++ b/addons/common/functions/fnc_getNumberFromMissionSQM.sqf @@ -9,7 +9,7 @@ * Return value: * Value of the entry. Note: If the entry does not exist, it might return 0 or an entry with the same name of another class! (Number) */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private "_number"; diff --git a/addons/common/functions/fnc_getPitchBankYaw.sqf b/addons/common/functions/fnc_getPitchBankYaw.sqf index 3758b42931..2a9b0bacd1 100644 --- a/addons/common/functions/fnc_getPitchBankYaw.sqf +++ b/addons/common/functions/fnc_getPitchBankYaw.sqf @@ -9,6 +9,6 @@ * Return Value: * [pitch, bank, yaw] */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" ((_this select 0) call BIS_fnc_getPitchBank) + [getDir (_this select 0)] diff --git a/addons/common/functions/fnc_getStringFromMissionSQM.sqf b/addons/common/functions/fnc_getStringFromMissionSQM.sqf index 1fb22e51c8..a19e3490aa 100644 --- a/addons/common/functions/fnc_getStringFromMissionSQM.sqf +++ b/addons/common/functions/fnc_getStringFromMissionSQM.sqf @@ -9,7 +9,7 @@ * Return value: * Value of the entry. Note: If the entry does not exist, it might return an empty string or an entry with the same name of another class! (String) */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_path", "_mission", "_a", "_class", "_index", "_array", "_b", "_entry"]; diff --git a/addons/common/functions/fnc_getTargetAzimuthAndInclination.sqf b/addons/common/functions/fnc_getTargetAzimuthAndInclination.sqf index 0327a38f5d..396a3ec85e 100644 --- a/addons/common/functions/fnc_getTargetAzimuthAndInclination.sqf +++ b/addons/common/functions/fnc_getTargetAzimuthAndInclination.sqf @@ -10,7 +10,7 @@ * 0: Azimuth (Number) * 1: Inclination or 'slope' (Number) */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_position", "_direction", "_azimuth", "_inclination"]; diff --git a/addons/common/functions/fnc_getTargetDistance.sqf b/addons/common/functions/fnc_getTargetDistance.sqf index d30e880d21..79ef273fad 100644 --- a/addons/common/functions/fnc_getTargetDistance.sqf +++ b/addons/common/functions/fnc_getTargetDistance.sqf @@ -11,7 +11,7 @@ * Return value: * Measured distance in meters. Can return maximal or minimal distance (Number) */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_interval", "_maxDistance", "_minDistance", "_position", "_laser", "_line", "_distance", "_iteration"]; diff --git a/addons/common/functions/fnc_getTargetObject.sqf b/addons/common/functions/fnc_getTargetObject.sqf index 5ad46b4f85..c00a0e2340 100644 --- a/addons/common/functions/fnc_getTargetObject.sqf +++ b/addons/common/functions/fnc_getTargetObject.sqf @@ -9,7 +9,7 @@ * Return value: * Nearest object directly in line of sight, if none objNull (Object) */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_maxDistance", "_position", "_laser", "_intersects"]; diff --git a/addons/common/functions/fnc_getTurretCommander.sqf b/addons/common/functions/fnc_getTurretCommander.sqf index ed68cbd7c5..4c2b1139c8 100644 --- a/addons/common/functions/fnc_getTurretCommander.sqf +++ b/addons/common/functions/fnc_getTurretCommander.sqf @@ -9,7 +9,7 @@ * Return value: * Turret index of the vehicles commander. Empty array means no observer position. (Array) */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_vehicle", "_turrets", "_turret", "_config"]; diff --git a/addons/common/functions/fnc_getTurretConfigPath.sqf b/addons/common/functions/fnc_getTurretConfigPath.sqf index 2d8f099ac8..aab3433a4f 100644 --- a/addons/common/functions/fnc_getTurretConfigPath.sqf +++ b/addons/common/functions/fnc_getTurretConfigPath.sqf @@ -10,7 +10,7 @@ * Return value: * Turret config (Config) */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_config", "_turretIndex", "_index", "_offset", "_config2", "_foundClasses"]; diff --git a/addons/common/functions/fnc_getTurretCopilot.sqf b/addons/common/functions/fnc_getTurretCopilot.sqf index ab31245777..c2a7e81778 100644 --- a/addons/common/functions/fnc_getTurretCopilot.sqf +++ b/addons/common/functions/fnc_getTurretCopilot.sqf @@ -9,7 +9,7 @@ * Return value: * Turret index of the vehicles gunner. Empty array means no copilot position. (Array) */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_vehicle", "_turrets", "_turret", "_config"]; diff --git a/addons/common/functions/fnc_getTurretGunner.sqf b/addons/common/functions/fnc_getTurretGunner.sqf index 4aeac062bc..fd1134dc83 100644 --- a/addons/common/functions/fnc_getTurretGunner.sqf +++ b/addons/common/functions/fnc_getTurretGunner.sqf @@ -9,7 +9,7 @@ * Return value: * Turret index of the vehicles gunner. Empty array means no gunner position. (Array) */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_vehicle", "_turrets", "_turret", "_config"]; diff --git a/addons/common/functions/fnc_getTurretIndex.sqf b/addons/common/functions/fnc_getTurretIndex.sqf index dca0581279..7e62c78848 100644 --- a/addons/common/functions/fnc_getTurretIndex.sqf +++ b/addons/common/functions/fnc_getTurretIndex.sqf @@ -9,7 +9,7 @@ * Return value: * Turret index array or config path. E.g: [0] for gunner or [0,0] for commander. Returns empty array if unit is not in a turret. (Array) */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_unit", "_vehicle", "_turrets", "_units", "_index"]; diff --git a/addons/common/functions/fnc_getTurrets.sqf b/addons/common/functions/fnc_getTurrets.sqf index 2fa93678c3..47ffcde090 100644 --- a/addons/common/functions/fnc_getTurrets.sqf +++ b/addons/common/functions/fnc_getTurrets.sqf @@ -9,7 +9,7 @@ * Return value: * All turret index arrays of the vehicle. E.g: [[0], [0,0]] (Array) */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_type", "_config", "_turrets", "_fnc_addTurret"]; diff --git a/addons/common/functions/fnc_getTurretsFFV.sqf b/addons/common/functions/fnc_getTurretsFFV.sqf index f4c800a5b0..b09dfed027 100644 --- a/addons/common/functions/fnc_getTurretsFFV.sqf +++ b/addons/common/functions/fnc_getTurretsFFV.sqf @@ -9,7 +9,7 @@ * Return value: * Turret index of the vehicles gunner. Empty array means no ffv turrets. (Array) */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_vehicle", "_turrets", "_turret", "_config"]; diff --git a/addons/common/functions/fnc_getTurretsOther.sqf b/addons/common/functions/fnc_getTurretsOther.sqf index ccb16f1102..53673b5a8d 100644 --- a/addons/common/functions/fnc_getTurretsOther.sqf +++ b/addons/common/functions/fnc_getTurretsOther.sqf @@ -9,7 +9,7 @@ * Return value: * Turret index of the vehicles gunner. Empty array means no other turrets. (Array) */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_vehicle", "_turrets", "_turret", "_config"]; diff --git a/addons/common/functions/fnc_getUavControlPosition.sqf b/addons/common/functions/fnc_getUavControlPosition.sqf index 9e255efea3..82b04e2928 100644 --- a/addons/common/functions/fnc_getUavControlPosition.sqf +++ b/addons/common/functions/fnc_getUavControlPosition.sqf @@ -18,7 +18,7 @@ Returns: Example: [ACE_Player] call FUNC(getUavControlPosition) */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_unit", "_uav", "_positionArray", "_playerIndex"]; diff --git a/addons/common/functions/fnc_getVehicleCargo.sqf b/addons/common/functions/fnc_getVehicleCargo.sqf index e5b0f235e7..e0483e8487 100644 --- a/addons/common/functions/fnc_getVehicleCargo.sqf +++ b/addons/common/functions/fnc_getVehicleCargo.sqf @@ -9,7 +9,7 @@ * Return value: * Vehicle cargo positions. (Array) */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_vehicle", "_config", "_cargo", "_codrivers"]; diff --git a/addons/common/functions/fnc_getVehicleCodriver.sqf b/addons/common/functions/fnc_getVehicleCodriver.sqf index 901a40ea2f..4fd8058d1e 100644 --- a/addons/common/functions/fnc_getVehicleCodriver.sqf +++ b/addons/common/functions/fnc_getVehicleCodriver.sqf @@ -9,7 +9,7 @@ * Return value: * Vehicle codriver positions. (Array) */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_vehicle", "_config", "_cargo", "_codrivers"]; diff --git a/addons/common/functions/fnc_getVehicleCrew.sqf b/addons/common/functions/fnc_getVehicleCrew.sqf index bdbeb1cf22..b14fbe561e 100644 --- a/addons/common/functions/fnc_getVehicleCrew.sqf +++ b/addons/common/functions/fnc_getVehicleCrew.sqf @@ -10,7 +10,7 @@ * Return value: * Crew (Array) */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_vehicle", "_types", "_crew"]; diff --git a/addons/common/functions/fnc_getWeaponAzimuthAndInclination.sqf b/addons/common/functions/fnc_getWeaponAzimuthAndInclination.sqf index 13b94d607d..7433991e29 100644 --- a/addons/common/functions/fnc_getWeaponAzimuthAndInclination.sqf +++ b/addons/common/functions/fnc_getWeaponAzimuthAndInclination.sqf @@ -10,7 +10,7 @@ * 0: Azimuth (Number) * 1: Inclination or 'slope' (Number) */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_weapon", "_direction", "_azimuth", "_inclination"]; diff --git a/addons/common/functions/fnc_getWeaponType.sqf b/addons/common/functions/fnc_getWeaponType.sqf index b95a4c389f..89ee46427b 100644 --- a/addons/common/functions/fnc_getWeaponType.sqf +++ b/addons/common/functions/fnc_getWeaponType.sqf @@ -9,7 +9,7 @@ * Return value: * Slot index of the given class name, 1: primary, 2: secondary, 3: handgun, else: -1 (Number) */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_weapon", "_type", "_index"]; diff --git a/addons/common/functions/fnc_getWindDirection.sqf b/addons/common/functions/fnc_getWindDirection.sqf index c6618d9958..5bd4ff12ff 100644 --- a/addons/common/functions/fnc_getWindDirection.sqf +++ b/addons/common/functions/fnc_getWindDirection.sqf @@ -9,7 +9,7 @@ * Return value: * Wind direction. (String) */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" switch (round (windDir / 360 * 16)) do { case 1 : {localize QUOTE(DOUBLES(STR,GVAR(SSW)))}; diff --git a/addons/common/functions/fnc_goKneeling.sqf b/addons/common/functions/fnc_goKneeling.sqf index 846aac4712..fbe7c3b8f3 100644 --- a/addons/common/functions/fnc_goKneeling.sqf +++ b/addons/common/functions/fnc_goKneeling.sqf @@ -9,7 +9,7 @@ * Return value: * None. */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private "_unit"; diff --git a/addons/common/functions/fnc_hadamardProduct.sqf b/addons/common/functions/fnc_hadamardProduct.sqf index c7011db943..dd614f8dd0 100644 --- a/addons/common/functions/fnc_hadamardProduct.sqf +++ b/addons/common/functions/fnc_hadamardProduct.sqf @@ -11,7 +11,7 @@ * Return Value: * Hadamard Product */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" _vector1 = _this select 0; _vector2 = _this select 1; diff --git a/addons/common/functions/fnc_inTransitionAnim.sqf b/addons/common/functions/fnc_inTransitionAnim.sqf index 8dad063660..4ce16aebf9 100644 --- a/addons/common/functions/fnc_inTransitionAnim.sqf +++ b/addons/common/functions/fnc_inTransitionAnim.sqf @@ -1,4 +1,4 @@ // by commy2 -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" getNumber (configFile >> "CfgMovesMaleSdr" >> "States" >> animationState (_this select 0) >> "looped") == 0 diff --git a/addons/common/functions/fnc_interpolateFromArray.sqf b/addons/common/functions/fnc_interpolateFromArray.sqf index 79b5f2eff3..8c0c8daa36 100644 --- a/addons/common/functions/fnc_interpolateFromArray.sqf +++ b/addons/common/functions/fnc_interpolateFromArray.sqf @@ -1,5 +1,5 @@ // by commy2 -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_array", "_value", "_min", "_max"]; diff --git a/addons/common/functions/fnc_isAutoWind.sqf b/addons/common/functions/fnc_isAutoWind.sqf index 87099a23e7..50933e40a2 100644 --- a/addons/common/functions/fnc_isAutoWind.sqf +++ b/addons/common/functions/fnc_isAutoWind.sqf @@ -9,6 +9,6 @@ * Return value: * This mission has automatic wind? (Bool) */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" ["Mission", "Intel", "windForced"] call FUNC(getNumberFromMissionSQM) != 1 diff --git a/addons/common/functions/fnc_isEOD.sqf b/addons/common/functions/fnc_isEOD.sqf index 7cc185c773..6149dfa37b 100644 --- a/addons/common/functions/fnc_isEOD.sqf +++ b/addons/common/functions/fnc_isEOD.sqf @@ -18,7 +18,7 @@ Example: _isSpecialist = [player] call FUNC(isEOD); */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private "_unit"; diff --git a/addons/common/functions/fnc_isEngineer.sqf b/addons/common/functions/fnc_isEngineer.sqf index fa4d12cef6..2bdb62df4c 100644 --- a/addons/common/functions/fnc_isEngineer.sqf +++ b/addons/common/functions/fnc_isEngineer.sqf @@ -9,7 +9,7 @@ * Return Value: * Bool: is the unit an engineer? */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private "_unit"; diff --git a/addons/common/functions/fnc_isInBuilding.sqf b/addons/common/functions/fnc_isInBuilding.sqf index 0b69318f8a..0989db42da 100644 --- a/addons/common/functions/fnc_isInBuilding.sqf +++ b/addons/common/functions/fnc_isInBuilding.sqf @@ -9,7 +9,7 @@ * Return value: * Is the unit in a building? (Bool) */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" #define DISTANCE 10 diff --git a/addons/common/functions/fnc_isMedic.sqf b/addons/common/functions/fnc_isMedic.sqf index dec244d0c0..d4efdca5b6 100644 --- a/addons/common/functions/fnc_isMedic.sqf +++ b/addons/common/functions/fnc_isMedic.sqf @@ -9,7 +9,7 @@ * Return Value: * Bool: is unit medic? */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_unit"]; diff --git a/addons/common/functions/fnc_isPlayer.sqf b/addons/common/functions/fnc_isPlayer.sqf index 05b8484a0c..772fae1746 100644 --- a/addons/common/functions/fnc_isPlayer.sqf +++ b/addons/common/functions/fnc_isPlayer.sqf @@ -10,6 +10,6 @@ * Return Value: * Bool: is unit a player? */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" isPlayer (_this select 0) || {_this select 0 == call FUNC(player)} diff --git a/addons/common/functions/fnc_isTurnedOut.sqf b/addons/common/functions/fnc_isTurnedOut.sqf index b467df6e1a..8f722ed733 100644 --- a/addons/common/functions/fnc_isTurnedOut.sqf +++ b/addons/common/functions/fnc_isTurnedOut.sqf @@ -9,7 +9,7 @@ * Return value: * Is the unit turned out or not? Will return false if there is no option to turn out in the first place. (Bool) */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_unit", "_vehicle", "_config", "_animation", "_action", "_inAction", "_turretIndex"]; diff --git a/addons/common/functions/fnc_letterToCode.sqf b/addons/common/functions/fnc_letterToCode.sqf index d50f6b87df..59243915f5 100644 --- a/addons/common/functions/fnc_letterToCode.sqf +++ b/addons/common/functions/fnc_letterToCode.sqf @@ -1,4 +1,4 @@ // by commy2 -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" [-1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 30, 48, 46, 32, 18, 33, 34, 35, 23, 36, 37, 38, 50, 49, 24, 25, 16, 19, 31, 20, 22, 47, 17, 45, 44, 21] select (["1", "2", "3", "4", "5", "6", "7", "8", "9", "0", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V", "W", "X", "Y", "Z"] find toUpper (_this select 0)) + 1 diff --git a/addons/common/functions/fnc_log.sqf b/addons/common/functions/fnc_log.sqf index b778269845..43a5a27682 100644 --- a/addons/common/functions/fnc_log.sqf +++ b/addons/common/functions/fnc_log.sqf @@ -1,5 +1,5 @@ // by commy2 -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" if ((_this select 0) in (missionNamespace getVariable ["ACE_Debug", []])) then { private ["_type", "_argument", "_function", "_showInGame"]; diff --git a/addons/common/functions/fnc_logControls.sqf b/addons/common/functions/fnc_logControls.sqf index 39f611aa25..5a0a17c317 100644 --- a/addons/common/functions/fnc_logControls.sqf +++ b/addons/common/functions/fnc_logControls.sqf @@ -1,5 +1,5 @@ // by commy2 -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_array", "_index"]; diff --git a/addons/common/functions/fnc_logDisplays.sqf b/addons/common/functions/fnc_logDisplays.sqf index 2e1bbb4634..81598facf4 100644 --- a/addons/common/functions/fnc_logDisplays.sqf +++ b/addons/common/functions/fnc_logDisplays.sqf @@ -1,5 +1,5 @@ // by commy2 -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_array", "_index"]; diff --git a/addons/common/functions/fnc_map.sqf b/addons/common/functions/fnc_map.sqf index 07062a795b..99c52ae742 100644 --- a/addons/common/functions/fnc_map.sqf +++ b/addons/common/functions/fnc_map.sqf @@ -13,7 +13,7 @@ * Usage: * [["2", "gobblecock", "25"], {parseNumber _this}] call FUNC(map) ==> [2, 0, 25] */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_array", "_code"]; diff --git a/addons/common/functions/fnc_moduleCheckPBOs.sqf b/addons/common/functions/fnc_moduleCheckPBOs.sqf index 5bb95ec463..4b5ea2374a 100644 --- a/addons/common/functions/fnc_moduleCheckPBOs.sqf +++ b/addons/common/functions/fnc_moduleCheckPBOs.sqf @@ -9,7 +9,7 @@ * Return Value: * None */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" _logic = _this select 0; _units = _this select 1; diff --git a/addons/common/functions/fnc_moduleLSDVehicles.sqf b/addons/common/functions/fnc_moduleLSDVehicles.sqf index 0eba43a974..f06c1cf2ea 100644 --- a/addons/common/functions/fnc_moduleLSDVehicles.sqf +++ b/addons/common/functions/fnc_moduleLSDVehicles.sqf @@ -9,7 +9,7 @@ * Return Value: * None */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" _logic = _this select 0; _units = _this select 1; diff --git a/addons/common/functions/fnc_monitor.sqf b/addons/common/functions/fnc_monitor.sqf index 325deeff14..dcb9e5163f 100644 --- a/addons/common/functions/fnc_monitor.sqf +++ b/addons/common/functions/fnc_monitor.sqf @@ -1,5 +1,5 @@ // by commy2 -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" terminate (missionNamespace getVariable [QGVAR(MonitorFnc), scriptNull]); diff --git a/addons/common/functions/fnc_muteUnit.sqf b/addons/common/functions/fnc_muteUnit.sqf index d0b21b777c..8edf9df391 100644 --- a/addons/common/functions/fnc_muteUnit.sqf +++ b/addons/common/functions/fnc_muteUnit.sqf @@ -9,7 +9,7 @@ * Return value: * Nothing */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_unit", "_speaker"]; diff --git a/addons/common/functions/fnc_numberToDigits.sqf b/addons/common/functions/fnc_numberToDigits.sqf index a95b051249..465955b455 100644 --- a/addons/common/functions/fnc_numberToDigits.sqf +++ b/addons/common/functions/fnc_numberToDigits.sqf @@ -10,7 +10,7 @@ * Return value: * Digits. The maximum count is six digits. (Array) */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_number", "_minLength", "_length", "_digits", "_index", "_count"]; diff --git a/addons/common/functions/fnc_numberToDigitsString.sqf b/addons/common/functions/fnc_numberToDigitsString.sqf index 88b457c0d8..db4e33e6cb 100644 --- a/addons/common/functions/fnc_numberToDigitsString.sqf +++ b/addons/common/functions/fnc_numberToDigitsString.sqf @@ -10,7 +10,7 @@ * Return value: * Digits. The maximum length is six digits. (String) */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_digits", "_count", "_string", "_index"]; diff --git a/addons/common/functions/fnc_onLoadRscDisplayChannel.sqf b/addons/common/functions/fnc_onLoadRscDisplayChannel.sqf index b853dcfeeb..2a2fbfc9a4 100644 --- a/addons/common/functions/fnc_onLoadRscDisplayChannel.sqf +++ b/addons/common/functions/fnc_onLoadRscDisplayChannel.sqf @@ -13,7 +13,7 @@ Returns: Nothing */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" uiNamespace setVariable ["ACE_ctrlChannel", (_this select 0) displayCtrl 101]; diff --git a/addons/common/functions/fnc_owned.sqf b/addons/common/functions/fnc_owned.sqf index feeb223109..4fa1dbeb98 100644 --- a/addons/common/functions/fnc_owned.sqf +++ b/addons/common/functions/fnc_owned.sqf @@ -1,5 +1,5 @@ // by commy2 -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private "_object"; diff --git a/addons/common/functions/fnc_player.sqf b/addons/common/functions/fnc_player.sqf index 7aba5a4c24..3e5990f84b 100644 --- a/addons/common/functions/fnc_player.sqf +++ b/addons/common/functions/fnc_player.sqf @@ -10,6 +10,6 @@ * Return Value: * Player controlled unit (object) */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" missionNamespace getVariable ["bis_fnc_moduleRemoteControl_unit", player] diff --git a/addons/common/functions/fnc_playerSide.sqf b/addons/common/functions/fnc_playerSide.sqf index e1ee07750f..632cf11abf 100644 --- a/addons/common/functions/fnc_playerSide.sqf +++ b/addons/common/functions/fnc_playerSide.sqf @@ -1,4 +1,4 @@ // by commy2 -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" side group ACE_player diff --git a/addons/common/functions/fnc_progressBar.sqf b/addons/common/functions/fnc_progressBar.sqf index 59323bc3f3..a50b1ecfdd 100644 --- a/addons/common/functions/fnc_progressBar.sqf +++ b/addons/common/functions/fnc_progressBar.sqf @@ -13,7 +13,7 @@ * Return value: * Nothing */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" closeDialog 0; createDialog QGVAR(ProgressBar_Dialog); diff --git a/addons/common/functions/fnc_queueAnimation.sqf b/addons/common/functions/fnc_queueAnimation.sqf index 73535e1d54..a489a46174 100644 --- a/addons/common/functions/fnc_queueAnimation.sqf +++ b/addons/common/functions/fnc_queueAnimation.sqf @@ -1,5 +1,5 @@ // by commy2 -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" terminate (missionNamespace getVariable [QGVAR(waitForAnimationHandle), scriptNull]); diff --git a/addons/common/functions/fnc_readBooleanParameterFromModule.sqf b/addons/common/functions/fnc_readBooleanParameterFromModule.sqf index a4cf2b6bc0..9ee2faa001 100644 --- a/addons/common/functions/fnc_readBooleanParameterFromModule.sqf +++ b/addons/common/functions/fnc_readBooleanParameterFromModule.sqf @@ -11,7 +11,7 @@ * Return Value: * None */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_logic", "_parameterName", "_moduleParameterName"]; diff --git a/addons/common/functions/fnc_readNumericParameterFromModule.sqf b/addons/common/functions/fnc_readNumericParameterFromModule.sqf index cdb2f2a409..a9c35f5b46 100644 --- a/addons/common/functions/fnc_readNumericParameterFromModule.sqf +++ b/addons/common/functions/fnc_readNumericParameterFromModule.sqf @@ -11,7 +11,7 @@ * Return Value: * None */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_logic", "_parameterName", "_moduleParameterName", "_value"]; diff --git a/addons/common/functions/fnc_removeActionEventHandler.sqf b/addons/common/functions/fnc_removeActionEventHandler.sqf index 5e5783dcc3..7d92b3de75 100644 --- a/addons/common/functions/fnc_removeActionEventHandler.sqf +++ b/addons/common/functions/fnc_removeActionEventHandler.sqf @@ -11,7 +11,7 @@ * Return value: * None. */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_unit", "_action", "_id", "_name", "_actionsVar", "_actionID", "_actions", "_currentID", "_actionIDs", "_count"]; diff --git a/addons/common/functions/fnc_removeActionMenuEventHandler.sqf b/addons/common/functions/fnc_removeActionMenuEventHandler.sqf index 5614752aba..7c45bae112 100644 --- a/addons/common/functions/fnc_removeActionMenuEventHandler.sqf +++ b/addons/common/functions/fnc_removeActionMenuEventHandler.sqf @@ -11,7 +11,7 @@ * Return value: * None. */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_unit", "_action", "_id", "_name", "_actionsVar", "_currentID", "_actionIDs", "_actions", "_actionID", "_nameVar"]; diff --git a/addons/common/functions/fnc_removeCameraEventHandler.sqf b/addons/common/functions/fnc_removeCameraEventHandler.sqf index 66c2382481..0fe8953078 100644 --- a/addons/common/functions/fnc_removeCameraEventHandler.sqf +++ b/addons/common/functions/fnc_removeCameraEventHandler.sqf @@ -9,7 +9,7 @@ * Return value: * None. */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_id", "_actionsVar", "_currentId", "_actionIDs", "_actions"]; diff --git a/addons/common/functions/fnc_removeCustomEventHandler.sqf b/addons/common/functions/fnc_removeCustomEventHandler.sqf index 419a349a72..771ea9f5bf 100644 --- a/addons/common/functions/fnc_removeCustomEventHandler.sqf +++ b/addons/common/functions/fnc_removeCustomEventHandler.sqf @@ -11,7 +11,7 @@ * Return value: * None. */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_object", "_type", "_id", "_name", "_actionsVar", "_currentId", "_actionIDs", "_actions"]; diff --git a/addons/common/functions/fnc_removeInfoDisplayEventHandler.sqf b/addons/common/functions/fnc_removeInfoDisplayEventHandler.sqf index 002c75364c..160002990c 100644 --- a/addons/common/functions/fnc_removeInfoDisplayEventHandler.sqf +++ b/addons/common/functions/fnc_removeInfoDisplayEventHandler.sqf @@ -10,7 +10,7 @@ * Return value: * None. */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_type", "_id", "_actionsVar", "_currentId", "_actionIDs", "_actions"]; diff --git a/addons/common/functions/fnc_removeInventoryDisplayLoadedEventHandler.sqf b/addons/common/functions/fnc_removeInventoryDisplayLoadedEventHandler.sqf index 64e6263d8b..f022d7d228 100644 --- a/addons/common/functions/fnc_removeInventoryDisplayLoadedEventHandler.sqf +++ b/addons/common/functions/fnc_removeInventoryDisplayLoadedEventHandler.sqf @@ -9,7 +9,7 @@ * Return value: * None. */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_id", "_actionsVar", "_currentId", "_actionIDs", "_actions"]; diff --git a/addons/common/functions/fnc_removeMapMarkerCreatedEventHandler.sqf b/addons/common/functions/fnc_removeMapMarkerCreatedEventHandler.sqf index aaba83a56c..0f31b5e886 100644 --- a/addons/common/functions/fnc_removeMapMarkerCreatedEventHandler.sqf +++ b/addons/common/functions/fnc_removeMapMarkerCreatedEventHandler.sqf @@ -9,7 +9,7 @@ * Return value: * None. */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_id", "_actionsVar", "_currentId", "_actionIDs", "_actions"]; diff --git a/addons/common/functions/fnc_removeScrollWheelEventHandler.sqf b/addons/common/functions/fnc_removeScrollWheelEventHandler.sqf index 4246360666..914064538d 100644 --- a/addons/common/functions/fnc_removeScrollWheelEventHandler.sqf +++ b/addons/common/functions/fnc_removeScrollWheelEventHandler.sqf @@ -9,7 +9,7 @@ * Return value: * None. */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_id", "_actionsVar", "_currentId", "_actionIDs", "_actions"]; diff --git a/addons/common/functions/fnc_restoreVariablesJIP.sqf b/addons/common/functions/fnc_restoreVariablesJIP.sqf index 2aaad78c81..2c173a054c 100644 --- a/addons/common/functions/fnc_restoreVariablesJIP.sqf +++ b/addons/common/functions/fnc_restoreVariablesJIP.sqf @@ -9,7 +9,7 @@ * Return value: * Nothing. */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_unit", "_respawnVariables"]; diff --git a/addons/common/functions/fnc_revertKeyCodeLocalized.sqf b/addons/common/functions/fnc_revertKeyCodeLocalized.sqf index f30bf2bc82..bdffb3a6c9 100644 --- a/addons/common/functions/fnc_revertKeyCodeLocalized.sqf +++ b/addons/common/functions/fnc_revertKeyCodeLocalized.sqf @@ -9,7 +9,7 @@ * Return value: * What input will result in the given key code? (String) */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_keyCode", "_key", "_alt", "_ctrl", "_shft"]; diff --git a/addons/common/functions/fnc_sanitizeString.sqf b/addons/common/functions/fnc_sanitizeString.sqf index 29809f4dca..44717915db 100644 --- a/addons/common/functions/fnc_sanitizeString.sqf +++ b/addons/common/functions/fnc_sanitizeString.sqf @@ -10,7 +10,7 @@ * Return Value: * Sanitized string */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_string", "_removeTags", "_array", "_arrayNew"]; diff --git a/addons/common/functions/fnc_serverLog.sqf b/addons/common/functions/fnc_serverLog.sqf index fedeb4fe88..e2c981302d 100644 --- a/addons/common/functions/fnc_serverLog.sqf +++ b/addons/common/functions/fnc_serverLog.sqf @@ -1,5 +1,5 @@ // by CAA-Picard -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" if (isServer) then { diag_log _this; diff --git a/addons/common/functions/fnc_setCaptivityStatus.sqf b/addons/common/functions/fnc_setCaptivityStatus.sqf index 4c95926960..b943fce4ab 100644 --- a/addons/common/functions/fnc_setCaptivityStatus.sqf +++ b/addons/common/functions/fnc_setCaptivityStatus.sqf @@ -11,7 +11,7 @@ * Return value: * None. */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_unit", "_reason", "_status", "_captivityReasons", "_unitCaptivityReasons", "_captivityReasonsBooleans", "_bitmask"]; diff --git a/addons/common/functions/fnc_setForceWalkStatus.sqf b/addons/common/functions/fnc_setForceWalkStatus.sqf index 45aa6715ed..52b674015f 100644 --- a/addons/common/functions/fnc_setForceWalkStatus.sqf +++ b/addons/common/functions/fnc_setForceWalkStatus.sqf @@ -18,7 +18,7 @@ Returns: Example: [ACE_Player, "BrokenLeg", true] call FUNC(setForceWalkStatus) */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_unit", "_reason", "_status", "_forceWalkReasons", "_unitForceWalkReasons", "_forceWalkReasonsBooleans", "_bitmaskNumber"]; diff --git a/addons/common/functions/fnc_setKeyDefault.sqf b/addons/common/functions/fnc_setKeyDefault.sqf index 210e18e1c7..3c93eb6ba7 100644 --- a/addons/common/functions/fnc_setKeyDefault.sqf +++ b/addons/common/functions/fnc_setKeyDefault.sqf @@ -9,7 +9,7 @@ * Return value: * None. */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_overwrite", "_saveProfile", "_config", "_count", "_index", "_configFile", "_name", "_key", "_shft", "_ctrl", "_alt", "_keyCode", "_state"]; @@ -17,7 +17,7 @@ _overwrite = _this select 0; _saveProfile = false; -_config = configFile >> QGVAR(Default_Keys); +_config = configFile >> "ACE_Default_Keys"; _count = count _config; for "_index" from 0 to (_count - 1) do { @@ -38,7 +38,7 @@ for "_index" from 0 to (_count - 1) do { }; }; -_config = configFile >> QGVAR(Options); +_config = configFile >> "ACE_Options"; _count = count _config; for "_index" from 0 to (_count - 1) do { diff --git a/addons/common/functions/fnc_setName.sqf b/addons/common/functions/fnc_setName.sqf index 3dfe18650a..d50d5b1987 100644 --- a/addons/common/functions/fnc_setName.sqf +++ b/addons/common/functions/fnc_setName.sqf @@ -9,7 +9,7 @@ * Return value: * Nothing. */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_unit", "_name"]; diff --git a/addons/common/functions/fnc_setParameter.sqf b/addons/common/functions/fnc_setParameter.sqf index 8ecccd9d71..889c242bb3 100644 --- a/addons/common/functions/fnc_setParameter.sqf +++ b/addons/common/functions/fnc_setParameter.sqf @@ -10,7 +10,7 @@ * Return Value: * None */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_name", "_value"]; diff --git a/addons/common/functions/fnc_setPitchBankYaw.sqf b/addons/common/functions/fnc_setPitchBankYaw.sqf index 8e8696d2b9..f5d13eb6fe 100644 --- a/addons/common/functions/fnc_setPitchBankYaw.sqf +++ b/addons/common/functions/fnc_setPitchBankYaw.sqf @@ -13,7 +13,7 @@ * Return Value: * None */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_object", "_aroundX", "_aroundY", "_aroundZ", "_dirX", "_dirY", "_dirZ", "_upX", "_upY", "_upZ", "_dir", "_up", "_dirXTemp", "_upXTemp"]; diff --git a/addons/common/functions/fnc_setVariableJIP.sqf b/addons/common/functions/fnc_setVariableJIP.sqf index 6f932079c5..8e790353f4 100644 --- a/addons/common/functions/fnc_setVariableJIP.sqf +++ b/addons/common/functions/fnc_setVariableJIP.sqf @@ -11,7 +11,7 @@ * Return value: * Nothing. */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_unit", "_varName", "_value", "_respawnVariables"]; diff --git a/addons/common/functions/fnc_showUser.sqf b/addons/common/functions/fnc_showUser.sqf index 3510cdc93f..a5d602251d 100644 --- a/addons/common/functions/fnc_showUser.sqf +++ b/addons/common/functions/fnc_showUser.sqf @@ -1,5 +1,5 @@ // by commy2 -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private "_object"; diff --git a/addons/common/functions/fnc_stringToColoredText.sqf b/addons/common/functions/fnc_stringToColoredText.sqf index 90a8912f49..4f6b1e7143 100644 --- a/addons/common/functions/fnc_stringToColoredText.sqf +++ b/addons/common/functions/fnc_stringToColoredText.sqf @@ -10,7 +10,7 @@ * Return value: * Text */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_string", "_color"]; diff --git a/addons/common/functions/fnc_subString.sqf b/addons/common/functions/fnc_subString.sqf index bf3cfa0156..2389dbed00 100644 --- a/addons/common/functions/fnc_subString.sqf +++ b/addons/common/functions/fnc_subString.sqf @@ -11,7 +11,7 @@ * Return Value: * String when successfull / False when not */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" _string = _this select 0; _index = _this select 1; diff --git a/addons/common/functions/fnc_toBin.sqf b/addons/common/functions/fnc_toBin.sqf index 0bfaf399ac..4fdcded607 100644 --- a/addons/common/functions/fnc_toBin.sqf +++ b/addons/common/functions/fnc_toBin.sqf @@ -10,7 +10,7 @@ A number Return Value: A binary number, String */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_number", "_minLength", "_sign", "_bin", "_rest"]; diff --git a/addons/common/functions/fnc_toBitmask.sqf b/addons/common/functions/fnc_toBitmask.sqf index c628700645..eb69e67621 100644 --- a/addons/common/functions/fnc_toBitmask.sqf +++ b/addons/common/functions/fnc_toBitmask.sqf @@ -9,7 +9,7 @@ * Return value: * Bitmask (Number) */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_array", "_result"]; diff --git a/addons/common/functions/fnc_toHex.sqf b/addons/common/functions/fnc_toHex.sqf index 521cf1ddce..df8f3654de 100644 --- a/addons/common/functions/fnc_toHex.sqf +++ b/addons/common/functions/fnc_toHex.sqf @@ -10,7 +10,7 @@ A number Return Value: A hexadecimal number, String */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_number", "_minLength", "_sign", "_hex", "_rest"]; diff --git a/addons/common/functions/fnc_toNumber.sqf b/addons/common/functions/fnc_toNumber.sqf index c9c0169b9d..fc481398d3 100644 --- a/addons/common/functions/fnc_toNumber.sqf +++ b/addons/common/functions/fnc_toNumber.sqf @@ -16,7 +16,7 @@ Example: _number = ["102"] call FUNC(toNumber); */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" if (typeName (_this select 0) == "SCALAR") exitWith { (_this select 0) diff --git a/addons/common/functions/fnc_unmuteUnit.sqf b/addons/common/functions/fnc_unmuteUnit.sqf index ed8cff1032..8de7708d4b 100644 --- a/addons/common/functions/fnc_unmuteUnit.sqf +++ b/addons/common/functions/fnc_unmuteUnit.sqf @@ -9,7 +9,7 @@ * Return value: * Nothing */ -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_unit", "_speaker"]; diff --git a/addons/common/functions/script_component.hpp b/addons/common/functions/script_component.hpp new file mode 100644 index 0000000000..23da62b05c --- /dev/null +++ b/addons/common/functions/script_component.hpp @@ -0,0 +1 @@ +#include "\z\ace\addons\common\script_component.hpp" \ No newline at end of file diff --git a/addons/common/scripts/KeyInput/initCanInteractFunction.sqf b/addons/common/scripts/KeyInput/initCanInteractFunction.sqf index ed99ad18c8..d718be04fe 100644 --- a/addons/common/scripts/KeyInput/initCanInteractFunction.sqf +++ b/addons/common/scripts/KeyInput/initCanInteractFunction.sqf @@ -1,5 +1,5 @@ // by commy2 -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" private ["_function", "_configFile", "_count", "_index", "_config", "_configName", "_condition"]; diff --git a/addons/common/scripts/KeyInput/initKeys.sqf b/addons/common/scripts/KeyInput/initKeys.sqf index c4a88ede68..5097cfd89e 100644 --- a/addons/common/scripts/KeyInput/initKeys.sqf +++ b/addons/common/scripts/KeyInput/initKeys.sqf @@ -1,7 +1,7 @@ // by commy2 -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" -_config = configFile >> QGVAR(Default_Keys); +_config = configFile >> "ACE_Default_Keys"; _count = count _config; _header = format ["_keyCode = [_this select 1, _this select 2, _this select 3, _this select 4] call %1; _keyIndex = floor _keyCode; if (_keyIndex == 0) exitWith {false}; if (!(profileNamespace getVariable ['ACE_enableNumberHotkeys', true]) && {_keyIndex < 12} && {_keyIndex > 1} && {_keyCode mod 1 == 0}) exitWith {false}; _time = time; _player = ACE_player; _vehicle = vehicle _player; _isInput = false;", QUOTE(FUNC(convertKeyCode))]; @@ -26,7 +26,7 @@ for "_index" from 0 to (_count - 1) do { _statement = getText (_configFile >> "statement"); _exceptions = getArray (_configFile >> "exceptions"); - _canInteract = format ["%1 call GVAR(canInteract)", _exceptions]; + _canInteract = format [QUOTE(%1 call GVAR(canInteract)), _exceptions]; _conditionName = format ["ACE_Key_%1_Condition", _keyName]; _statementName = format ["ACE_Key_%1_Statement", _keyName]; diff --git a/addons/common/scripts/KeyInput/initScrollWheel.sqf b/addons/common/scripts/KeyInput/initScrollWheel.sqf index a55ebafa43..5a8bf57d79 100644 --- a/addons/common/scripts/KeyInput/initScrollWheel.sqf +++ b/addons/common/scripts/KeyInput/initScrollWheel.sqf @@ -1,5 +1,5 @@ // by commy2 -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" GVAR(ScrollWheelFrame) = diag_frameno; diff --git a/addons/common/scripts/KeyInput/script_component.hpp b/addons/common/scripts/KeyInput/script_component.hpp new file mode 100644 index 0000000000..23da62b05c --- /dev/null +++ b/addons/common/scripts/KeyInput/script_component.hpp @@ -0,0 +1 @@ +#include "\z\ace\addons\common\script_component.hpp" \ No newline at end of file diff --git a/addons/common/scripts/Version/checkVersionNumber.sqf b/addons/common/scripts/Version/checkVersionNumber.sqf index d89200c3e1..80527b0954 100644 --- a/addons/common/scripts/Version/checkVersionNumber.sqf +++ b/addons/common/scripts/Version/checkVersionNumber.sqf @@ -1,5 +1,5 @@ // by commy2 -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" sleep 1; //wait for module @@ -19,7 +19,7 @@ if (missionNamespace getVariable ["ACE_Version_CheckAll", false]) then { } forEach activatedAddons; }; -_versionMain = parseNumber getText (configFile >> "CfgPatches" >> "ACE_Common" >> "version"); +_versionMain = parseNumber getText (configFile >> "CfgPatches" >> QUOTE(ADDON) >> "version"); _versions = []; { diff --git a/addons/common/scripts/Version/script_component.hpp b/addons/common/scripts/Version/script_component.hpp new file mode 100644 index 0000000000..23da62b05c --- /dev/null +++ b/addons/common/scripts/Version/script_component.hpp @@ -0,0 +1 @@ +#include "\z\ace\addons\common\script_component.hpp" \ No newline at end of file diff --git a/addons/common/scripts/assignedItemFix.sqf b/addons/common/scripts/assignedItemFix.sqf index 77a1c410df..bf8dc193ec 100644 --- a/addons/common/scripts/assignedItemFix.sqf +++ b/addons/common/scripts/assignedItemFix.sqf @@ -1,5 +1,5 @@ // by commy2 -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" if (isNil "ACE_itemFix") then { ACE_isMapEnabled = call {_config = missionConfigFile >> "showMap"; !isNumber _config || {getNumber _config == 1}}; diff --git a/addons/common/scripts/closeMenu.sqf b/addons/common/scripts/closeMenu.sqf index 88c8db10a0..86206f2c93 100644 --- a/addons/common/scripts/closeMenu.sqf +++ b/addons/common/scripts/closeMenu.sqf @@ -1,5 +1,5 @@ // by commy2 -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" closeDialog 0; [localize QUOTE(DOUBLES(STR,GVAR(ProfileNotSaved)))] call FUNC(displayTextStructured); diff --git a/addons/common/scripts/editKey.sqf b/addons/common/scripts/editKey.sqf index 0f7518c758..53bdbede56 100644 --- a/addons/common/scripts/editKey.sqf +++ b/addons/common/scripts/editKey.sqf @@ -1,5 +1,5 @@ // by commy2 -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" #define GRAY [0.25, 0.25, 0.25, 1] #define WHITE [1, 1, 1, 1] diff --git a/addons/common/scripts/keyInput.sqf b/addons/common/scripts/keyInput.sqf index eab0e56448..5e06d23bd5 100644 --- a/addons/common/scripts/keyInput.sqf +++ b/addons/common/scripts/keyInput.sqf @@ -1,5 +1,5 @@ // by commy2 -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" #define FORBIDDEN_KEYS [42, 54, 29, 157, 56, 184, 0, 183, 197, 1] diff --git a/addons/common/scripts/keyRelease.sqf b/addons/common/scripts/keyRelease.sqf index 0d5542241d..d0d1b736a0 100644 --- a/addons/common/scripts/keyRelease.sqf +++ b/addons/common/scripts/keyRelease.sqf @@ -1,5 +1,5 @@ // by commy2 -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" _keyIndex = _this select 1; diff --git a/addons/common/scripts/nextKeys.sqf b/addons/common/scripts/nextKeys.sqf index 004c3de992..b2b0079a41 100644 --- a/addons/common/scripts/nextKeys.sqf +++ b/addons/common/scripts/nextKeys.sqf @@ -1,5 +1,5 @@ // by commy2 -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" #define OFFSET_1 100 #define OFFSET_2 200 diff --git a/addons/common/scripts/openMenu.sqf b/addons/common/scripts/openMenu.sqf index 018c9f8ccb..6e68a59482 100644 --- a/addons/common/scripts/openMenu.sqf +++ b/addons/common/scripts/openMenu.sqf @@ -1,5 +1,5 @@ // by commy2 -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" #define OFFSET_1 100 #define OFFSET_2 200 diff --git a/addons/common/scripts/readParameters.sqf b/addons/common/scripts/readParameters.sqf index 505776abd0..3b17ea7f1f 100644 --- a/addons/common/scripts/readParameters.sqf +++ b/addons/common/scripts/readParameters.sqf @@ -1,5 +1,5 @@ // by CAA-Picard -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" // Read ACE_Parameters from config and set them on the mission namespace _config = configFile >> "ACE_Parameters_Numeric"; diff --git a/addons/common/scripts/script_component.hpp b/addons/common/scripts/script_component.hpp new file mode 100644 index 0000000000..23da62b05c --- /dev/null +++ b/addons/common/scripts/script_component.hpp @@ -0,0 +1 @@ +#include "\z\ace\addons\common\script_component.hpp" \ No newline at end of file diff --git a/addons/common/scripts/toggleState.sqf b/addons/common/scripts/toggleState.sqf index 3643b00c19..58e59e851a 100644 --- a/addons/common/scripts/toggleState.sqf +++ b/addons/common/scripts/toggleState.sqf @@ -1,5 +1,5 @@ // by commy2 -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" _index = _this select 0; diff --git a/addons/fcs/$PBOPREFIX$ b/addons/fcs/$PBOPREFIX$ new file mode 100644 index 0000000000..9e5f231f8f --- /dev/null +++ b/addons/fcs/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\fcs diff --git a/addons/fcs/CfgEventHandlers.hpp b/addons/fcs/CfgEventHandlers.hpp new file mode 100644 index 0000000000..69ef4a3057 --- /dev/null +++ b/addons/fcs/CfgEventHandlers.hpp @@ -0,0 +1,19 @@ +class Extended_PreInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preInit) ); + }; +}; + +class Extended_PostInit_EventHandlers { + class ADDON { + clientInit = QUOTE(call COMPILE_FILE(XEH_clientInit) ); + }; +}; + +class Extended_Init_EventHandlers { + class AllVehicles { + class ADDON { + clientInit = QUOTE(_this call FUNC(vehicleInit)); + }; + }; +}; diff --git a/addons/fcs/CfgOptics.hpp b/addons/fcs/CfgOptics.hpp new file mode 100644 index 0000000000..a5af4d175d --- /dev/null +++ b/addons/fcs/CfgOptics.hpp @@ -0,0 +1,254 @@ +#define MACRO_RANGEFINDER \ + class CA_Distance; \ + class ACE_CA_Distance: CA_Distance { \ + idc = 1713151; \ + text = "----"; \ + }; \ + class ACE_Rangehelper: RscMapControl { \ + onDraw = "((ctrlParent (_this select 0)) displayCtrl 1713151) ctrlShow (cameraView == 'GUNNER');"; \ + w = 0; \ + h = 0; \ + }; + +class RscControlsGroup; +class RscMapControl; + +class RscInGameUI { + class RscUnitInfo; + class RscUnitInfo_AH64D_gunner { + onLoad = ""; + controls[] = {"CA_Distance", "ACE_CA_Distance"}; + MACRO_RANGEFINDER + }; + class RscWeaponRangeFinder { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0];"; + controls[] = {"CA_Distance", "ACE_CA_Distance"}; + MACRO_RANGEFINDER + }; + + class RscWeaponRangeFinderPAS13 { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0];"; + MACRO_RANGEFINDER + }; + class RscOptics_Rangefinder: RscUnitInfo { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; + class CA_IGUI_elements_group: RscControlsGroup { + class controls { + MACRO_RANGEFINDER + }; + }; + }; + class RscOptics_LaserDesignator { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0];"; + class CA_IGUI_elements_group: RscControlsGroup { + class controls { + MACRO_RANGEFINDER + }; + }; + }; + class RscWeaponRangeFinderMAAWS { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0];"; + class CA_IGUI_elements_group: RscControlsGroup { + class controls { + MACRO_RANGEFINDER + }; + }; + }; + class RscWeaponRangeFinderAbramsCom { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0];"; + controls[] = {"CA_Distance", "ACE_CA_Distance"}; + MACRO_RANGEFINDER + }; + class RscWeaponRangeFinderAbramsGun { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0];"; + controls[] = {"CA_Distance", "ACE_CA_Distance"}; + MACRO_RANGEFINDER + }; + class RscWeaponRangeFinderStrykerMGSGun { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0];"; + controls[] = {"CA_Distance", "ACE_CA_Distance"}; + MACRO_RANGEFINDER + }; + class RscOptics_crows: RscUnitInfo { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; + class CA_IGUI_elements_group: RscControlsGroup { + class controls { + MACRO_RANGEFINDER + }; + }; + }; + class RscOptics_strider_commander { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0];"; + class CA_IGUI_elements_group: RscControlsGroup { + class controls { + MACRO_RANGEFINDER + }; + }; + }; + + class RscWeaponRangeZeroing: RscUnitInfo { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; + controls[] = {"CA_Zeroing", "CA_DistanceText", "CA_Distance", "ACE_CA_Distance", "ACE_Rangehelper"}; + MACRO_RANGEFINDER + }; + class RscOptics_sos: RscUnitInfo { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; + class CA_IGUI_elements_group: RscControlsGroup { + class controls { + MACRO_RANGEFINDER + }; + }; + }; + class RscOptics_nightstalker: RscUnitInfo { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; + class CA_IGUI_elements_group: RscControlsGroup { + class controls { + MACRO_RANGEFINDER + }; + }; + }; + class RscOptics_tws: RscUnitInfo { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; + class CA_IGUI_elements_group: RscControlsGroup { + class controls { + MACRO_RANGEFINDER + }; + }; + }; + class RscOptics_punisher { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0];"; + class CA_IGUI_elements_group: RscControlsGroup { + class controls { + MACRO_RANGEFINDER + }; + }; + }; + class RscOptics_tws_sniper: RscUnitInfo { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; + class CA_IGUI_elements_group: RscControlsGroup { + class controls { + MACRO_RANGEFINDER + }; + }; + }; + class RscOptics_SDV_periscope { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0];"; + class CA_IGUI_elements_group: RscControlsGroup { + class controls { + MACRO_RANGEFINDER + }; + }; + }; + class RscOptics_Heli_Attack_02_gunner: RscUnitInfo { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; + class CA_IGUI_elements_group: RscControlsGroup { + class controls { + MACRO_RANGEFINDER + }; + }; + }; + class RscOptics_Heli_Attack_01_gunner: RscUnitInfo { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; + class CA_IGUI_elements_group: RscControlsGroup { + class controls { + MACRO_RANGEFINDER + }; + }; + }; + class RscOptics_UAV_gunner: RscUnitInfo { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; + class CA_IGUI_elements_group: RscControlsGroup { + class controls { + MACRO_RANGEFINDER + }; + }; + }; + class RscOptics_UGV_gunner: RscUnitInfo { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; + class CA_IGUI_elements_group: RscControlsGroup { + class controls { + MACRO_RANGEFINDER + }; + }; + }; + class RscOptics_APC_Tracked_01_gunner: RscUnitInfo { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; + class CA_IGUI_elements_group: RscControlsGroup { + class controls { + MACRO_RANGEFINDER + }; + }; + }; + class RscOptics_APC_Tracked_03_gunner: RscUnitInfo { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; + class CA_IGUI_elements_group: RscControlsGroup { + class controls { + MACRO_RANGEFINDER + }; + }; + }; + class RscOptics_APC_Wheeled_01_gunner: RscUnitInfo { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; + class CA_IGUI_elements_group: RscControlsGroup { + class controls { + MACRO_RANGEFINDER + }; + }; + }; + class RscOptics_APC_Wheeled_03_commander: RscUnitInfo { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; + class CA_IGUI_elements_group: RscControlsGroup { + class controls { + MACRO_RANGEFINDER + }; + }; + }; + class RscOptics_APC_Wheeled_03_gunner: RscUnitInfo { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; + class CA_IGUI_elements_group: RscControlsGroup { + class controls { + MACRO_RANGEFINDER + }; + }; + }; + class RscOptics_MBT_01_commander: RscUnitInfo { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; + class CA_IGUI_elements_group: RscControlsGroup { + class controls { + MACRO_RANGEFINDER + }; + }; + }; + class RscOptics_MBT_01_gunner: RscUnitInfo { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; + class CA_IGUI_elements_group: RscControlsGroup { + class controls { + MACRO_RANGEFINDER + }; + }; + }; + class RscOptics_MBT_02_commander: RscUnitInfo { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; + class CA_IGUI_elements_group: RscControlsGroup { + class controls { + MACRO_RANGEFINDER + }; + }; + }; + class RscOptics_MBT_02_gunner: RscUnitInfo { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; + class CA_IGUI_elements_group: RscControlsGroup { + class controls { + MACRO_RANGEFINDER + }; + }; + }; + class RscOptics_MBT_03_gunner: RscUnitInfo { + onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; + class CA_IGUI_elements_group: RscControlsGroup { + class controls { + MACRO_RANGEFINDER + }; + }; + }; +}; diff --git a/addons/fcs/XEH_clientInit.sqf b/addons/fcs/XEH_clientInit.sqf new file mode 100644 index 0000000000..527e5a9d36 --- /dev/null +++ b/addons/fcs/XEH_clientInit.sqf @@ -0,0 +1,5 @@ +#include "script_component.hpp" + +GVAR(enabled) = True; +GVAR(time) = 0; +GVAR(position) = [0,0,0]; diff --git a/addons/fcs/XEH_preInit.sqf b/addons/fcs/XEH_preInit.sqf new file mode 100644 index 0000000000..ce6f5c99dd --- /dev/null +++ b/addons/fcs/XEH_preInit.sqf @@ -0,0 +1,13 @@ +#include "script_component.hpp" + +PREP(adjustRange); +PREP(canResetFCS); +PREP(canUseFCS); +PREP(canUseRangefinder); +PREP(firedEH); +PREP(getAngle); +PREP(getRange); +PREP(keyDown); +PREP(keyUp); +PREP(reset); +PREP(vehicleInit); diff --git a/addons/fcs/config.cpp b/addons/fcs/config.cpp new file mode 100644 index 0000000000..ddd490e674 --- /dev/null +++ b/addons/fcs/config.cpp @@ -0,0 +1,373 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + units[] = {}; + weapons[] = {}; + requiredVersion = 0.60; + requiredAddons[] = {ace_common, ace_interaction}; + version = QUOTE(VERSION); + versionStr = QUOTE(VERSION); + versionAr[] = {VERSION_AR}; + author[] = {"KoffeinFlummi","BadGuy (simon84)"}; + authorUrl = "https://github.com/KoffeinFlummi/"; + }; +}; + +#include "CfgEventHandlers.hpp" + +class ACE_Default_Keys { + class laseTarget { + displayName = $STR_ACE_FCS_LaseTarget; + condition = QUOTE(call FUNC(canUseRangefinder) || FUNC(canUseFCS)); + statement = QUOTE([_vehicle] call FUNC(keyDown)); + conditionUp = QUOTE(GVAR(enabled) && FUNC(canUseFCS)); + statementUp = QUOTE([_vehicle] call FUNC(keyUp)); + key = 15; + shift = 0; + control = 0; + alt = 0; + }; + class adjustRangeUp { + displayName = $STR_ACE_FCS_AdjustRangeUp; + condition = QUOTE(call FUNC(canUseRangefinder) || FUNC(canUseFCS)); + statement = QUOTE([_vehicle, 50] call FUNC(adjustRange)); + key = 201; + shift = 0; + control = 0; + alt = 0; + allowHolding = 1; + }; + class adjustRangeDown: adjustRangeUp { + displayName = $STR_ACE_FCS_AdjustRangeDown; + statement = QUOTE([_vehicle, -50] call FUNC(adjustRange)); + key = 209; + }; +}; + +class CfgVehicles { + class All { + class Turrets; + }; + + class AllVehicles: All { + GVAR(Enabled) = 0; + GVAR(MinDistance) = 200; + GVAR(MaxDistance) = 9990; + GVAR(DistanceInterval) = 5; + class NewTurret { + class Turrets; + }; + class CargoTurret; + }; + + class Land: AllVehicles {}; + + class LandVehicle: Land { + class CommanderOptics; + }; + + // WHEELED + class Car: LandVehicle { + class ACE_SelfActions { + class ResetFCS { + displayName = $STR_ACE_FCS_ResetFCS; + enableInside = 1; + condition = QUOTE(call FUNC(canResetFCS)); + statement = QUOTE([vehicle _player] call FUNC(reset);); + showDisabled = 0; + priority = 1; + icon = ""; + }; + }; + }; + + class Car_F: Car { + class Turrets { + class MainTurret; + }; + }; + + class Wheeled_APC_F: Car_F { + class Turrets { + class MainTurret: NewTurret { + class Turrets { + class CommanderOptics; + }; + }; + }; + }; + + class APC_Wheeled_01_base_F: Wheeled_APC_F {}; + class B_APC_Wheeled_01_base_F: APC_Wheeled_01_base_F {}; + class B_APC_Wheeled_01_cannon_F: B_APC_Wheeled_01_base_F { + GVAR(Enabled) = 1; + class Turrets: Turrets { + class MainTurret: MainTurret { + discreteDistance[] = {}; + discreteDistanceInitIndex = 0; + }; + }; + }; + + class APC_Wheeled_03_base_F: Wheeled_APC_F { + GVAR(Enabled) = 1; + class Turrets: Turrets { + class MainTurret: MainTurret { + discreteDistance[] = {}; + discreteDistanceInitIndex = 0; + }; + }; + }; + + // TRACKED + class Tank: LandVehicle { + GVAR(Enabled) = 1; // all tracked vehicles get one by default + class ACE_SelfActions { + class ResetFCS { + displayName = $STR_ACE_FCS_ResetFCS; + enableInside = 1; + condition = QUOTE(call FUNC(canResetFCS)); + statement = QUOTE([vehicle _player] call FUNC(reset);); + showDisabled = 0; + priority = 1; + icon = ""; + }; + }; + class Turrets { + class MainTurret: NewTurret { + class Turrets { + class CommanderOptics; + }; + }; + }; + }; + + class Tank_F: Tank { + class Turrets { + class MainTurret: NewTurret { + class Turrets { + class CommanderOptics; + }; + }; + }; + }; + + class MBT_01_base_F: Tank_F { + class Turrets: Turrets { + class MainTurret: MainTurret { + discreteDistance[] = {}; + discreteDistanceInitIndex = 0; + }; + }; + }; + + class B_MBT_01_base_F: MBT_01_base_F {}; + class B_MBT_01_cannon_F: B_MBT_01_base_F {}; + class B_MBT_01_TUSK_F: B_MBT_01_cannon_F { + class Turrets: Turrets { + class MainTurret: MainTurret { + discreteDistance[] = {}; + discreteDistanceInitIndex = 0; + }; + }; + }; + class MBT_01_arty_base_F: MBT_01_base_F { + GVAR(Enabled) = 0; + }; + class MBT_01_mlrs_base_F: MBT_01_base_F { + GVAR(Enabled) = 0; + }; + + class MBT_02_base_F: Tank_F { + class Turrets: Turrets { + class MainTurret: MainTurret { + discreteDistance[] = {}; + discreteDistanceInitIndex = 0; + }; + }; + }; + class MBT_02_arty_base_F: MBT_02_base_F { + GVAR(Enabled) = 0; + }; + + class MBT_03_base_F: Tank_F { + class Turrets: Turrets { + class MainTurret: MainTurret { + discreteDistance[] = {}; + discreteDistanceInitIndex = 0; + }; + }; + }; + + class APC_Tracked_01_base_F: Tank_F {}; + class B_APC_Tracked_01_base_F: APC_Tracked_01_base_F {}; + class B_APC_Tracked_01_rcws_F: B_APC_Tracked_01_base_F { + GVAR(Enabled) = 0; + }; + class B_APC_Tracked_01_CRV_F: B_APC_Tracked_01_base_F { + GVAR(Enabled) = 0; + }; + class B_APC_Tracked_01_AA_F: B_APC_Tracked_01_base_F { + class Turrets: Turrets { + class MainTurret: MainTurret { + discreteDistance[] = {}; + discreteDistanceInitIndex = 0; + magazines[] += {"ACE_120Rnd_35mm_ABM_shells_Tracer_Red"}; + }; + }; + }; + + class APC_Tracked_02_base_F: Tank_F {}; + class O_APC_Tracked_02_base_F: APC_Tracked_02_base_F {}; + class O_APC_Tracked_02_AA_F: O_APC_Tracked_02_base_F { + class Turrets: Turrets { + class MainTurret: MainTurret { + magazines[] += {"ACE_120Rnd_35mm_ABM_shells_Tracer_Green"}; + }; + }; + }; + + class APC_Tracked_03_base_F: Tank_F { + class Turrets: Turrets { + class MainTurret: MainTurret { + discreteDistance[] = {}; + discreteDistanceInitIndex = 0; + }; + }; + }; + + // HELICOPTERS + class Air: AllVehicles {}; + + class Helicopter: Air { + class ACE_SelfActions { + class ResetFCS { + displayName = $STR_ACE_FCS_ResetFCS; + enableInside = 1; + condition = QUOTE(call FUNC(canResetFCS)); + statement = QUOTE([vehicle _player] call FUNC(reset);); + showDisabled = 0; + priority = 1; + icon = ""; + }; + }; + class Turrets { + class MainTurret; + }; + }; + + class Helicopter_Base_F: Helicopter { + class Turrets: Turrets { + class CopilotTurret; + }; + }; + + class Heli_Attack_01_base_F: Helicopter_Base_F { + GVAR(Enabled) = 1; + class Turrets: Turrets { + class MainTurret: MainTurret { + discreteDistance[] = {}; + discreteDistanceInitIndex = 0; + }; + }; + }; + + class Heli_Attack_02_base_F: Helicopter_Base_F { + GVAR(Enabled) = 1; + class Turrets: Turrets { + class MainTurret: MainTurret { + discreteDistance[] = {}; + discreteDistanceInitIndex = 0; + }; + }; + }; +}; + +class CfgWeapons { + // disable locking, so it doesn't interfere with our system + class CannonCore; + class cannon_120mm: CannonCore { + canLock = 0; + ballisticsComputer = 0; + }; + class autocannon_Base_F: CannonCore { + canLock = 0; + ballisticsComputer = 0; + }; + class autocannon_35mm: CannonCore { + canLock = 0; + ballisticsComputer = 0; + magazines[] += {"ACE_120Rnd_35mm_ABM_shells","ACE_120Rnd_35mm_ABM_shells_Tracer_Red","ACE_120Rnd_35mm_ABM_shells_Tracer_Green","ACE_120Rnd_35mm_ABM_shells_Tracer_Yellow"}; + }; + + // fix mrco having an invisible rangefinder + class ItemCore; + class optic_MRCO: ItemCore { + weaponInfoType = "RscWeaponZeroing"; + }; +}; + +class CfgMagazines { + class 680Rnd_35mm_AA_shells; + class 680Rnd_35mm_AA_shells_Tracer_Red; + class 680Rnd_35mm_AA_shells_Tracer_Green; + class 680Rnd_35mm_AA_shells_Tracer_Yellow; + + class ACE_120Rnd_35mm_ABM_shells: 680Rnd_35mm_AA_shells { + ammo = "ACE_B_35mm_ABM"; + count = 120; + displayName = "35mm ABM Shells"; + displayNameShort = "35mm ABM"; + }; + class ACE_120Rnd_35mm_ABM_shells_Tracer_Red: 680Rnd_35mm_AA_shells_Tracer_Red { + ammo = "ACE_B_35mm_ABM_Tracer_Red"; + count = 120; + displayName = "35mm ABM Shells"; + displayNameShort = "35mm ABM-T"; + }; + class ACE_120Rnd_35mm_ABM_shells_Tracer_Green: 680Rnd_35mm_AA_shells_Tracer_Green { + ammo = "ACE_B_35mm_ABM_Tracer_Green"; + count = 120; + displayName = "35mm ABM Shells"; + displayNameShort = "35mm ABM-T"; + }; + class ACE_120Rnd_35mm_ABM_shells_Tracer_Yellow: 680Rnd_35mm_AA_shells_Tracer_Yellow { + ammo = "ACE_B_35mm_ABM_Tracer_Yellow"; + count = 120; + displayName = "35mm ABM Shells"; + displayNameShort = "35mm ABM-T"; + }; +}; + +class CfgAmmo { + class B_35mm_AA; + class B_35mm_AA_Tracer_Red; + class B_35mm_AA_Tracer_Green; + class B_35mm_AA_Tracer_Yellow; + + class ACE_B_35mm_ABM: B_35mm_AA { + GVAR(Airburst) = 1; + deflecting = 0; + }; + class ACE_B_35mm_ABM_Tracer_Red: B_35mm_AA_Tracer_Red { + GVAR(Airburst) = 1; + deflecting = 0; + }; + class ACE_B_35mm_ABM_Tracer_Green: B_35mm_AA_Tracer_Green { + GVAR(Airburst) = 1; + deflecting = 0; + }; + class ACE_B_35mm_ABM_Tracer_Yellow: B_35mm_AA_Tracer_Yellow { + GVAR(Airburst) = 1; + deflecting = 0; + }; + + class ACE_B_35mm_ABM_Helper: B_35mm_AA { + indirectHitRange = 6; + simulation = "shotRocket"; + timeToLive = 0; + }; +}; + +#include diff --git a/TO_MERGE/agm/FireControlSystem/functions/fn_adjustRange.sqf b/addons/fcs/functions/fnc_adjustRange.sqf similarity index 74% rename from TO_MERGE/agm/FireControlSystem/functions/fn_adjustRange.sqf rename to addons/fcs/functions/fnc_adjustRange.sqf index 485e9585e7..1620c53375 100644 --- a/TO_MERGE/agm/FireControlSystem/functions/fn_adjustRange.sqf +++ b/addons/fcs/functions/fnc_adjustRange.sqf @@ -1,6 +1,6 @@ /* * Author: KoffeinFlummi - * + * * Adjusts the currently zeroed distance. * * Arguments: @@ -11,17 +11,19 @@ * None */ +#include "script_component.hpp" + private ["_vehicle", "_delta", "_min", "_max", "_distance"]; _vehicle = _this select 0; _delta = _this select 1; -_min = getNumber (configFile >> "CfgVehicles" >> (typeOf _vehicle) >> "AGM_FCSMinDistance"); -_max = getNumber (configFile >> "CfgVehicles" >> (typeOf _vehicle) >> "AGM_FCSMaxDistance"); -_distance = _vehicle getVariable ["AGM_FCSDistance", _min]; +_min = getNumber (configFile >> "CfgVehicles" >> (typeOf _vehicle) >> QGVAR(MinDistance)); +_max = getNumber (configFile >> "CfgVehicles" >> (typeOf _vehicle) >> QGVAR(MaxDistance)); +_distance = _vehicle getVariable [QGVAR(Distance), _min]; _distance = _distance + _delta; _distance = _distance min _max; _distance = _distance max _min; -[_vehicle, 0, _distance] call AGM_FCS_fnc_keyUp; +[_vehicle, 0, _distance] call FUNC(keyUp); diff --git a/addons/fcs/functions/fnc_canResetFCS.sqf b/addons/fcs/functions/fnc_canResetFCS.sqf new file mode 100644 index 0000000000..0aa281bd85 --- /dev/null +++ b/addons/fcs/functions/fnc_canResetFCS.sqf @@ -0,0 +1,16 @@ +/* + * Author: KoffeinFlummi + * + * Called from config. Can player reset FCS? + * + * Argument: + * Nothing + * + * Return value: + * Boolean (Bool) + */ + +#include "script_component.hpp" + +_player == gunner _vehicle +&& (count (_vehicle getVariable [QGVAR(Magazines), []]) > 1) diff --git a/addons/fcs/functions/fnc_canUseFCS.sqf b/addons/fcs/functions/fnc_canUseFCS.sqf new file mode 100644 index 0000000000..e75efd44cf --- /dev/null +++ b/addons/fcs/functions/fnc_canUseFCS.sqf @@ -0,0 +1,17 @@ +/* + * Author: commy2 + * + * Called from config. Returns true if the player is a gunner and the players current vehicle has a FCS. + * + * Argument: + * Nothing + * + * Return value: + * Boolean (Bool) + */ + +#include "script_component.hpp" + +_player == gunner _vehicle +&& {getNumber (configFile >> "CfgVehicles" >> typeOf _vehicle >> QGVAR(Enabled)) == 1} +&& {cameraView == "GUNNER"} diff --git a/TO_MERGE/agm/FireControlSystem/functions/fn_canUseRangefinder.sqf b/addons/fcs/functions/fnc_canUseRangefinder.sqf similarity index 68% rename from TO_MERGE/agm/FireControlSystem/functions/fn_canUseRangefinder.sqf rename to addons/fcs/functions/fnc_canUseRangefinder.sqf index d96211bc5f..f6bb3b2e52 100644 --- a/TO_MERGE/agm/FireControlSystem/functions/fn_canUseRangefinder.sqf +++ b/addons/fcs/functions/fnc_canUseRangefinder.sqf @@ -2,13 +2,15 @@ * Author: commy2 * * Returns true if the laser distance measurement can be read from the engine. - * + * * Argument: * Nothing - * + * * Return value: * Boolean (Bool) */ -!isNull ((uiNamespace getVariable ["AGM_dlgRangefinder", displayNull]) displayCtrl 1713151) +#include "script_component.hpp" + +!isNull ((uiNamespace getVariable ["ACE_dlgRangefinder", displayNull]) displayCtrl 1713151) && {cameraView == "GUNNER"} diff --git a/TO_MERGE/agm/FireControlSystem/functions/fn_firedEH.sqf b/addons/fcs/functions/fnc_firedEH.sqf similarity index 68% rename from TO_MERGE/agm/FireControlSystem/functions/fn_firedEH.sqf rename to addons/fcs/functions/fnc_firedEH.sqf index bf03327127..235e4531b8 100644 --- a/TO_MERGE/agm/FireControlSystem/functions/fn_firedEH.sqf +++ b/addons/fcs/functions/fnc_firedEH.sqf @@ -10,6 +10,8 @@ * None */ +#include "script_component.hpp" + private ["_unit", "_weaponType", "_ammoType", "_magazineType", "_round", "_FCSMagazines", "_FCSElevation", "_offset"]; _unit = _this select 0; @@ -18,10 +20,10 @@ _ammoType = _this select 4; _magazineType = _this select 5; _round = _this select 6; -_FCSMagazines = _unit getVariable "AGM_FCSMagazines"; -_FCSElevation = _unit getVariable "AGM_FCSElevation"; +_FCSMagazines = _unit getVariable QGVAR(Magazines); +_FCSElevation = _unit getVariable QGVAR(Elevation); -if (AGM_player != gunner _unit) exitWith {}; +if (ACE_player != gunner _unit) exitWith {}; if !(_magazineType in _FCSMagazines) exitWith {}; // GET ELEVATION OFFSET OF CURRENT MAGAZINE @@ -32,15 +34,16 @@ _offset = 0; }; } forEach _FCSMagazines; -[_round, (_unit getVariable "AGM_FCSAzimuth"), _offset, 0] call AGM_Core_fnc_changeProjectileDirection; +[_round, (_unit getVariable QGVAR(Azimuth)), _offset, 0] call EFUNC(common,changeProjectileDirection); // Air burst missile -if (getNumber (configFile >> "CfgAmmo" >> _ammoType >> "AGM_Airburst") == 1) then { +// may need to get rewritten +if (getNumber (configFile >> "CfgAmmo" >> _ammoType >> "ACE_Airburst") == 1) then { _this spawn { _vehicle = _this select 0; _projectile = _this select 6; - _distance = _vehicle getVariable ["AGM_FCSDistance", currentZeroing _vehicle]; + _distance = _vehicle getVariable [QGVAR(Distance), currentZeroing _vehicle]; if (_distance < 50) exitWith {}; if (_distance > 1500) exitWith {}; @@ -50,7 +53,7 @@ if (getNumber (configFile >> "CfgAmmo" >> _ammoType >> "AGM_Airburst") == 1) the _position = getPosATL _projectile; - _subMunition = createVehicle ["AGM_B_35mm_ABM_Helper", _position, [], 0, "FLY"]; + _subMunition = createVehicle ["ACE_B_35mm_ABM_Helper", _position, [], 0, "FLY"]; _subMunition setPosATL _position; _subMunition setVelocity [0, 0, -10]; diff --git a/TO_MERGE/agm/FireControlSystem/functions/fn_getAngle.sqf b/addons/fcs/functions/fnc_getAngle.sqf similarity index 91% rename from TO_MERGE/agm/FireControlSystem/functions/fn_getAngle.sqf rename to addons/fcs/functions/fnc_getAngle.sqf index 922ef92d86..b1f743e8cc 100644 --- a/TO_MERGE/agm/FireControlSystem/functions/fn_getAngle.sqf +++ b/addons/fcs/functions/fnc_getAngle.sqf @@ -16,6 +16,7 @@ * offset from the current angle necessary to hit the target */ +#include "script_component.hpp" #define PRECISION 0.1 private ["_distance","_angleTarget","_maxElev","_initSpeed","_airFriction","_timeToLive","_timeToLive","_simulationStep","_angle","_posTargetX","_posTargetY","_posX","_posY","_velocityX","_velocityY","_velocityMagnitude"]; @@ -30,7 +31,7 @@ _simulationStep = _this select 6; if (_simulationStep == 0) exitWith {_angleTarget}; -AGM_FCS_traceBullet = { +FUNC(traceBullet) = { private ["_distance", "_angleTarget", "_maxElev", "_initSpeed", "_airFriction", "_timeToLive", "_simulationStep", "_angle", "_posTargetX", "_posTargetY", "_posX", "_posY", "_velocityX", "_velocityY", "_velocityMagnitude"]; _distance = _this select 0; @@ -67,17 +68,17 @@ AGM_FCS_traceBullet = { _posY - _posTargetY }; -if ((_this + [_maxElev]) call AGM_FCS_traceBullet < 0) exitWith {_maxElev - _angleTarget}; +if ((_this + [_maxElev]) call FUNC(traceBullet) < 0) exitWith {_maxElev - _angleTarget}; // Newton Method / Secand Method _angle1 = _angleTarget; _angle2 = _maxElev; _it2 = 0; -_f1 = (_this + [_angle1]) call AGM_FCS_traceBullet; +_f1 = (_this + [_angle1]) call FUNC(traceBullet); if ((abs _f1) <= PRECISION) exitWith {0}; while {(abs _f1) > PRECISION} do { - _f2 = (_this + [_angle2]) call AGM_FCS_traceBullet; + _f2 = (_this + [_angle2]) call FUNC(traceBullet); _temp = _angle2-_f2*(_angle2-_angle1)/(_f2-_f1); _angle1 = _angle2; _angle2 = _temp; diff --git a/TO_MERGE/agm/FireControlSystem/functions/fn_getRange.sqf b/addons/fcs/functions/fnc_getRange.sqf similarity index 75% rename from TO_MERGE/agm/FireControlSystem/functions/fn_getRange.sqf rename to addons/fcs/functions/fnc_getRange.sqf index 84814e677d..3618fa446e 100644 --- a/TO_MERGE/agm/FireControlSystem/functions/fn_getRange.sqf +++ b/addons/fcs/functions/fnc_getRange.sqf @@ -1,19 +1,21 @@ /* * Author: commy2 * - * Read laser distance measurement from engine and update compatible info elements. - * + * Read laser distance measurement from engine and update compatible info elements. + * * Argument: * Nothing - * + * * Return value: * Measured distance (Number) */ +#include "script_component.hpp" + private ["_dlgRangefinder", "_range"]; disableSerialization; -_dlgRangefinder = uiNamespace getVariable ["AGM_dlgRangefinder", displayNull]; +_dlgRangefinder = uiNamespace getVariable ["ACE_dlgRangefinder", displayNull]; _range = ctrlText (_dlgRangefinder displayCtrl 151); (_dlgRangefinder displayCtrl 1713151) ctrlSetText _range; diff --git a/TO_MERGE/agm/FireControlSystem/functions/fn_keyDown.sqf b/addons/fcs/functions/fnc_keyDown.sqf similarity index 65% rename from TO_MERGE/agm/FireControlSystem/functions/fn_keyDown.sqf rename to addons/fcs/functions/fnc_keyDown.sqf index fb6a9f4baf..e0c6cd35f9 100644 --- a/TO_MERGE/agm/FireControlSystem/functions/fn_keyDown.sqf +++ b/addons/fcs/functions/fnc_keyDown.sqf @@ -4,27 +4,31 @@ * Starts watching the target for sideways correction. * * Arguments: - * none + * 0: Vehicle * * Return Value: * none */ +#include "script_component.hpp" + private ["_vehicle", "_distance", "_weaponDirection"]; _vehicle = _this select 0; -_distance = _this select 1; +_distance = call FUNC(getRange); -AGM_FCSEnabled = true; -AGM_FCSTime = time; +if !(call FUNC(canUseFCS)) exitWith {}; + +GVAR(Enabled) = true; +GVAR(Time) = time; if (_distance == 0) then { - _distance = [5, 5000, 0] call AGM_Core_fnc_getTargetDistance; // maximum distance: 5000m, 5m precision + _distance = [5, 5000, 0] call EFUNC(common,getTargetDistance); // maximum distance: 5000m, 5m precision }; _weaponDirection = _vehicle weaponDirection currentWeapon _vehicle; -AGM_FCSPosition = [ +GVAR(Position) = [ (getPos _vehicle select 0) + _distance * (_weaponDirection select 0), (getPos _vehicle select 1) + _distance * (_weaponDirection select 1), (getPos _vehicle select 2) + _distance * (_weaponDirection select 2) diff --git a/TO_MERGE/agm/FireControlSystem/functions/fn_keyUp.sqf b/addons/fcs/functions/fnc_keyUp.sqf similarity index 79% rename from TO_MERGE/agm/FireControlSystem/functions/fn_keyUp.sqf rename to addons/fcs/functions/fnc_keyUp.sqf index a73b23390b..69c11137cf 100644 --- a/TO_MERGE/agm/FireControlSystem/functions/fn_keyUp.sqf +++ b/addons/fcs/functions/fnc_keyUp.sqf @@ -5,25 +5,28 @@ * * Arguments: * 0: The vehicle - * 1: Range Override (Optional) * * Return Value: * none */ +#include "script_component.hpp" + private ["_ammoType", "_viewDiff", "_posArrival", "_airFriction", "_timeToLive", "_maxElev", "_vehicle", "_posTarget", "_distance", "_simulationStep", "_posX", "_velocityMagnitude", "_magazines", "_movingAzimuth", "_FCSElevation", "_velocityX", "_velocityY", "_weaponDirection", "_velocityTarget", "_FCSAzimuth", "_FCSMagazines", "_dirArrival", "_i", "_magazineType", "_angleTarget", "_offset", "_timeToTarget", "_initSpeed"]; _vehicle = _this select 0; -_distance = _this select 1; +_distance = call FUNC(getRange); + +if !(GVAR(enabled) && FUNC(canUseFCS)) exitWith {}; _magazines = magazines _vehicle; if (_distance == 0) then { _distance = [ - getNumber (configFile >> "CfgVehicles" >> typeOf _vehicle >> "AGM_FCSDistanceInterval"), - getNumber (configFile >> "CfgVehicles" >> typeOf _vehicle >> "AGM_FCSMaxDistance"), - getNumber (configFile >> "CfgVehicles" >> typeOf _vehicle >> "AGM_FCSMinDistance") - ] call AGM_Core_fnc_getTargetDistance; // maximum distance: 5000m, 5m precision + getNumber (configFile >> "CfgVehicles" >> typeOf _vehicle >> QGVAR(DistanceInterval)), + getNumber (configFile >> "CfgVehicles" >> typeOf _vehicle >> QGVAR(MaxDistance)), + getNumber (configFile >> "CfgVehicles" >> typeOf _vehicle >> QGVAR(MinDistance)) + ] call EFUNC(common,getTargetDistance); // maximum distance: 5000m, 5m precision }; _weaponDirection = _vehicle weaponDirection currentWeapon _vehicle; @@ -33,13 +36,13 @@ if (count _this > 2) then { _distance = _this select 2; }; -if (!(isNil "AGM_FCS_backgroundCalculation") and {!(scriptDone AGM_FCS_backgroundCalculation)}) then { - terminate AGM_FCS_backgroundCalculation; +if (!(isNil QGVAR(backgroundCalculation)) and {!(scriptDone GVAR(backgroundCalculation))}) then { + terminate GVAR(backgroundCalculation); }; // MOVING TARGETS _movingAzimuth = 0; -if (time - AGM_FCSTime > 1 and AGM_FCSTime != -1 and count _this < 3) then { +if (time - GVAR(time) > 1 and GVAR(time) != -1 and count _this < 3) then { // calculate speed of target _posTarget = [ (getPos _vehicle select 0) + _distance * (_weaponDirection select 0), @@ -47,9 +50,9 @@ if (time - AGM_FCSTime > 1 and AGM_FCSTime != -1 and count _this < 3) then { (getPos _vehicle select 2) + _distance * (_weaponDirection select 2) ]; _velocityTarget = [ - ((_posTarget select 0) - (AGM_FCSPosition select 0)) / (time - AGM_FCSTime), - ((_posTarget select 1) - (AGM_FCSPosition select 1)) / (time - AGM_FCSTime), - ((_posTarget select 2) - (AGM_FCSPosition select 2)) / (time - AGM_FCSTime) + ((_posTarget select 0) - (GVAR(position) select 0)) / (time - GVAR(time)), + ((_posTarget select 1) - (GVAR(position) select 1)) / (time - GVAR(time)), + ((_posTarget select 2) - (GVAR(position) select 2)) / (time - GVAR(time)) ]; // estimate time to target @@ -92,11 +95,11 @@ if (time - AGM_FCSTime > 1 and AGM_FCSTime != -1 and count _this < 3) then { _distance = floor (_posArrival distance (getPos _vehicle)); }; }; -AGM_FCSEnabled = false; -AGM_FCSTime = -1; +GVAR(enabled) = false; +GVAR(time) = -1; // CALCULATE AZIMUTH CORRECTION -_viewDiff = _vehicle getVariable "AGM_FCSViewDiff"; +_viewDiff = _vehicle getVariable QGVAR(ViewDiff); _FCSAzimuth = _movingAzimuth; if (_viewDiff != 0) then { _FCSAzimuth = (atan (_distance / _viewDiff) - (abs _viewDiff / _viewDiff) * 90) + _movingAzimuth; @@ -115,19 +118,19 @@ if !(getText (configFile >> "CfgAmmo" >> _ammoType >> "simulation") == "shotMiss _timeToLive = getNumber (configFile >> "CfgAmmo" >> _ammoType >> "timeToLive"); _simulationStep = getNumber (configFile >> "CfgAmmo" >> _ammoType >> "simulationStep"); - _offset = [_distance, _angleTarget, _maxElev, _initSpeed, _airFriction, _timeToLive, _simulationStep] call AGM_FCS_fnc_getAngle; + _offset = [_distance, _angleTarget, _maxElev, _initSpeed, _airFriction, _timeToLive, _simulationStep] call FUNC(getAngle); _FCSMagazines = _FCSMagazines + [_magazineType]; _FCSElevation = _FCSElevation + [_offset]; }; -_vehicle setVariable ["AGM_FCSDistance", _distance, true]; -_vehicle setVariable ["AGM_FCSMagazines", _FCSMagazines, true]; -_vehicle setVariable ["AGM_FCSElevation", _FCSElevation, true]; -_vehicle setVariable ["AGM_FCSAzimuth", _FCSAzimuth, true]; +_vehicle setVariable [QGVAR(Distance), _distance, true]; +_vehicle setVariable [QGVAR(Magazines), _FCSMagazines, true]; +_vehicle setVariable [QGVAR(Elevation), _FCSElevation, true]; +_vehicle setVariable [QGVAR(Azimuth), _FCSAzimuth, true]; // CALCULATE OFFSETS FOR OTHER WEAPONS IN THE BACKGROUND -AGM_FCS_backgroundCalculation = [_vehicle, _magazines, _distance, _angleTarget, _FCSMagazines, _FCSElevation] spawn { +GVAR(backgroundCalculation) = [_vehicle, _magazines, _distance, _angleTarget, _FCSMagazines, _FCSElevation] spawn { _vehicle = _this select 0; _magazines = _this select 1; _distance = _this select 2; @@ -145,7 +148,7 @@ AGM_FCS_backgroundCalculation = [_vehicle, _magazines, _distance, _angleTarget, _timeToLive = getNumber (configFile >> "CfgAmmo" >> _ammoType >> "timeToLive"); _simulationStep = getNumber (configFile >> "CfgAmmo" >> _ammoType >> "simulationStep"); - _offset = [_distance, _angleTarget, _maxElev, _initSpeed, _airFriction, _timeToLive, _simulationStep] call AGM_FCS_fnc_getAngle; + _offset = [_distance, _angleTarget, _maxElev, _initSpeed, _airFriction, _timeToLive, _simulationStep] call FUNC(getAngle); _FCSMagazines = _FCSMagazines + [_x]; _FCSElevation = _FCSElevation + [_offset]; @@ -153,8 +156,8 @@ AGM_FCS_backgroundCalculation = [_vehicle, _magazines, _distance, _angleTarget, }; } forEach _magazines; - _vehicle setVariable ["AGM_FCSMagazines", _FCSMagazines, true]; - _vehicle setVariable ["AGM_FCSElevation", _FCSElevation, true]; + _vehicle setVariable [QGVAR(Magazines), _FCSMagazines, true]; + _vehicle setVariable [QGVAR(Elevation), _FCSElevation, true]; }; -[format ["%1: %2", localize "STR_AGM_FireControlSystem_ZeroedTo", _distance]] call AGM_Core_fnc_displayTextStructured; +[format ["%1: %2", localize "STR_ACE_FCS_ZeroedTo", _distance]] call EFUNC(common,displayTextStructured); diff --git a/addons/fcs/functions/fnc_reset.sqf b/addons/fcs/functions/fnc_reset.sqf new file mode 100644 index 0000000000..f49c4c9589 --- /dev/null +++ b/addons/fcs/functions/fnc_reset.sqf @@ -0,0 +1,24 @@ +/* + * Author: KoffeinFlummi + * + * Resets the FCS to default. + * + * Arguments: + * 0: Vehicle + * + * Return Value: + * none + */ + +#include "script_component.hpp" + +private ["_vehicle"]; + +_vehicle = _this select 0; + +_vehicle setVariable [QGVAR(Distance), 0, true]; +_vehicle setVariable [QGVAR(Magazines), [], true]; +_vehicle setVariable [QGVAR(Elevation), 0, true]; +_vehicle setVariable [QGVAR(Azimuth), 0, true]; + +[localize "STR_ACE_FCS_HasBeenReset"] call EFUNC(common,displayTextStructured); diff --git a/TO_MERGE/agm/FireControlSystem/functions/fn_vehicleInit.sqf b/addons/fcs/functions/fnc_vehicleInit.sqf similarity index 62% rename from TO_MERGE/agm/FireControlSystem/functions/fn_vehicleInit.sqf rename to addons/fcs/functions/fnc_vehicleInit.sqf index ca2b2d5aab..f65ce6dc7d 100644 --- a/TO_MERGE/agm/FireControlSystem/functions/fn_vehicleInit.sqf +++ b/addons/fcs/functions/fnc_vehicleInit.sqf @@ -4,21 +4,23 @@ * Checks if a vehicle is equipped with an FCS and if so, adds the fired event handler * * Arguments: - * 0: Vehicle + * 0: Vehicle * * Return Value: * none */ +#include "script_component.hpp" + private ["_gunBeg", "_gunnerView", "_gunBegPos", "_gunnerViewPos", "_viewDiff"]; -if (getNumber (configFile >> "CfgVehicles" >> (typeOf (_this select 0)) >> "AGM_FCSEnabled") == 1) then { - (_this select 0) addEventHandler ["Fired", {_this call AGM_FCS_fnc_firedEH}]; +if (getNumber (configFile >> "CfgVehicles" >> (typeOf (_this select 0)) >> QGVAR(Enabled)) == 1) then { + (_this select 0) addEventHandler ["Fired", {_this call FUNC(firedEH)}]; - (_this select 0) setVariable ["AGM_FCSDistance", 0, true]; - (_this select 0) setVariable ["AGM_FCSMagazines", [], true]; - (_this select 0) setVariable ["AGM_FCSElevation", [], true]; - (_this select 0) setVariable ["AGM_FCSAzimuth", 0, true]; + (_this select 0) setVariable [QGVAR(Distance), 0, true]; + (_this select 0) setVariable [QGVAR(Magazines), [], true]; + (_this select 0) setVariable [QGVAR(Elevation), [], true]; + (_this select 0) setVariable [QGVAR(Azimuth), 0, true]; // calculate offset between gunner camera and muzzle position if !((_this select 0) isKindOf "Air") then { @@ -27,8 +29,8 @@ if (getNumber (configFile >> "CfgVehicles" >> (typeOf (_this select 0)) >> "AGM_ _gunBegPos = ((_this select 0) selectionPosition _gunBeg) select 0; _gunnerViewPos = ((_this select 0) selectionPosition _gunnerView) select 0; _viewDiff = _gunBegPos - _gunnerViewPos; - (_this select 0) setVariable ["AGM_FCSViewDiff", _viewDiff, true]; + (_this select 0) setVariable [QGVAR(ViewDiff), _viewDiff, true]; } else { - (_this select 0) setVariable ["AGM_FCSViewDiff", 0, true]; + (_this select 0) setVariable [QGVAR(ViewDiff), 0, true]; }; }; diff --git a/addons/fcs/functions/script_component.hpp b/addons/fcs/functions/script_component.hpp new file mode 100644 index 0000000000..153cad41b2 --- /dev/null +++ b/addons/fcs/functions/script_component.hpp @@ -0,0 +1,12 @@ +#define COMPONENT fcs +#include "\z\ace\Addons\main\script_mod.hpp" + +#ifdef DEBUG_ENABLED_FCS + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_SETTINGS_FCS + #define DEBUG_SETTINGS DEBUG_SETTINGS_FCS +#endif + +#include "\z\ace\Addons\main\script_macros.hpp" diff --git a/addons/fcs/script_component.hpp b/addons/fcs/script_component.hpp new file mode 100644 index 0000000000..153cad41b2 --- /dev/null +++ b/addons/fcs/script_component.hpp @@ -0,0 +1,12 @@ +#define COMPONENT fcs +#include "\z\ace\Addons\main\script_mod.hpp" + +#ifdef DEBUG_ENABLED_FCS + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_SETTINGS_FCS + #define DEBUG_SETTINGS DEBUG_SETTINGS_FCS +#endif + +#include "\z\ace\Addons\main\script_macros.hpp" diff --git a/TO_MERGE/agm/FireControlSystem/stringtable.xml b/addons/fcs/stringtable.xml similarity index 89% rename from TO_MERGE/agm/FireControlSystem/stringtable.xml rename to addons/fcs/stringtable.xml index 67b905b0d9..7427b87d52 100644 --- a/TO_MERGE/agm/FireControlSystem/stringtable.xml +++ b/addons/fcs/stringtable.xml @@ -1,8 +1,8 @@  - - - + + + Lase Target / Measure Distance Ziel anlasern / Entfernung Messen Télémétrer la cible @@ -17,7 +17,7 @@ --> Подсветить цель / Измерить расстояние - + Zeroed To Haltepunkt Fijado a @@ -29,7 +29,7 @@ Fixado em Azzeramento a - + Adjust FCS Range (Up) Entfernung des FLS erhöhen Zwiększ zasięg FCS @@ -41,7 +41,7 @@ Aumentare la distanza dell'FCS Диапазон СУО (Выше) - + Adjust FCS Range (Down) Entfernung des FLS verringern Zmniejsz zasięg FCS @@ -53,7 +53,7 @@ Ridurre la distanza dell'FCS Диапазон СУО (Ниже) - + Reset FCS FLS zurücksetzen Reiniciar FCS @@ -65,7 +65,7 @@ Azzeramento dell'FCS Обнулить СУО - + FCS has been reset. FLS wurde zurückgesetzt. FCS reiniciado @@ -78,4 +78,4 @@ СУО обнулен - \ No newline at end of file + diff --git a/addons/frag/fnc_BIS_ARTY_WRAPPER.sqf b/addons/frag/functions/fnc_BIS_ARTY_WRAPPER.sqf similarity index 100% rename from addons/frag/fnc_BIS_ARTY_WRAPPER.sqf rename to addons/frag/functions/fnc_BIS_ARTY_WRAPPER.sqf diff --git a/addons/frag/fnc_addBlackList.sqf b/addons/frag/functions/fnc_addBlackList.sqf similarity index 100% rename from addons/frag/fnc_addBlackList.sqf rename to addons/frag/functions/fnc_addBlackList.sqf diff --git a/addons/frag/fnc_addManualTrack.sqf b/addons/frag/functions/fnc_addManualTrack.sqf similarity index 100% rename from addons/frag/fnc_addManualTrack.sqf rename to addons/frag/functions/fnc_addManualTrack.sqf diff --git a/addons/frag/fnc_addTrack.sqf b/addons/frag/functions/fnc_addTrack.sqf similarity index 100% rename from addons/frag/fnc_addTrack.sqf rename to addons/frag/functions/fnc_addTrack.sqf diff --git a/addons/frag/fnc_clearTraces.sqf b/addons/frag/functions/fnc_clearTraces.sqf similarity index 100% rename from addons/frag/fnc_clearTraces.sqf rename to addons/frag/functions/fnc_clearTraces.sqf diff --git a/addons/frag/fnc_denyFrag.sqf b/addons/frag/functions/fnc_denyFrag.sqf similarity index 100% rename from addons/frag/fnc_denyFrag.sqf rename to addons/frag/functions/fnc_denyFrag.sqf diff --git a/addons/frag/fnc_doSpall.sqf b/addons/frag/functions/fnc_doSpall.sqf similarity index 100% rename from addons/frag/fnc_doSpall.sqf rename to addons/frag/functions/fnc_doSpall.sqf diff --git a/addons/frag/fnc_drawTraces.sqf b/addons/frag/functions/fnc_drawTraces.sqf similarity index 100% rename from addons/frag/fnc_drawTraces.sqf rename to addons/frag/functions/fnc_drawTraces.sqf diff --git a/addons/frag/fnc_fired.sqf b/addons/frag/functions/fnc_fired.sqf similarity index 100% rename from addons/frag/fnc_fired.sqf rename to addons/frag/functions/fnc_fired.sqf diff --git a/addons/frag/fnc_frag_trace.sqf b/addons/frag/functions/fnc_frag_trace.sqf similarity index 100% rename from addons/frag/fnc_frag_trace.sqf rename to addons/frag/functions/fnc_frag_trace.sqf diff --git a/addons/frag/fnc_frago.sqf b/addons/frag/functions/fnc_frago.sqf similarity index 100% rename from addons/frag/fnc_frago.sqf rename to addons/frag/functions/fnc_frago.sqf diff --git a/addons/frag/fnc_removeTrack.sqf b/addons/frag/functions/fnc_removeTrack.sqf similarity index 100% rename from addons/frag/fnc_removeTrack.sqf rename to addons/frag/functions/fnc_removeTrack.sqf diff --git a/addons/frag/fnc_spallHP.sqf b/addons/frag/functions/fnc_spallHP.sqf similarity index 100% rename from addons/frag/fnc_spallHP.sqf rename to addons/frag/functions/fnc_spallHP.sqf diff --git a/addons/frag/fnc_spallTrack.sqf b/addons/frag/functions/fnc_spallTrack.sqf similarity index 100% rename from addons/frag/fnc_spallTrack.sqf rename to addons/frag/functions/fnc_spallTrack.sqf diff --git a/addons/frag/fnc_startTracing.sqf b/addons/frag/functions/fnc_startTracing.sqf similarity index 100% rename from addons/frag/fnc_startTracing.sqf rename to addons/frag/functions/fnc_startTracing.sqf diff --git a/addons/frag/fnc_stopTracing.sqf b/addons/frag/functions/fnc_stopTracing.sqf similarity index 100% rename from addons/frag/fnc_stopTracing.sqf rename to addons/frag/functions/fnc_stopTracing.sqf diff --git a/addons/frag/fnc_trackFragRound.sqf b/addons/frag/functions/fnc_trackFragRound.sqf similarity index 100% rename from addons/frag/fnc_trackFragRound.sqf rename to addons/frag/functions/fnc_trackFragRound.sqf diff --git a/addons/frag/fnc_trackTrace.sqf b/addons/frag/functions/fnc_trackTrace.sqf similarity index 100% rename from addons/frag/fnc_trackTrace.sqf rename to addons/frag/functions/fnc_trackTrace.sqf diff --git a/addons/frag/fnc_vectorDiffFast.sqf b/addons/frag/functions/fnc_vectorDiffFast.sqf similarity index 100% rename from addons/frag/fnc_vectorDiffFast.sqf rename to addons/frag/functions/fnc_vectorDiffFast.sqf diff --git a/addons/frag/functions/script_component.hpp b/addons/frag/functions/script_component.hpp new file mode 100644 index 0000000000..8312313751 --- /dev/null +++ b/addons/frag/functions/script_component.hpp @@ -0,0 +1 @@ +#include "\z\ace\addons\frag\script_component.hpp" \ No newline at end of file diff --git a/addons/interaction/CfgEventHandlers.hpp b/addons/interaction/CfgEventHandlers.hpp index 359983754f..17200056b8 100644 --- a/addons/interaction/CfgEventHandlers.hpp +++ b/addons/interaction/CfgEventHandlers.hpp @@ -1,12 +1,12 @@ class Extended_PreInit_EventHandlers { class ADDON { - init = QUOTE( call compile preprocessFileLineNumbers PATHTOF(XEH_preInit.sqf) ); + init = QUOTE( call COMPILE_FILE(XEH_preInit) ); }; }; class Extended_PostInit_EventHandlers { class ADDON { - clientInit = QUOTE( call compile preprocessFileLineNumbers PATHTOF(XEH_clientInit.sqf) ); + clientInit = QUOTE( call COMPILE_FILE(XEH_clientInit) ); }; }; diff --git a/addons/interaction/XEH_preInit.sqf b/addons/interaction/XEH_preInit.sqf index e5093f77f2..e455223783 100644 --- a/addons/interaction/XEH_preInit.sqf +++ b/addons/interaction/XEH_preInit.sqf @@ -2,13 +2,13 @@ PREP(addInteraction); PREP(addInteractionSelf); -PREP(AddSelectableItem); +PREP(addSelectableItem); PREP(addToTooltip); PREP(applyButtons); PREP(canInteractWith); PREP(canTapShoulder); +PREP(getActions); PREP(getActions2); -PREP(GetActions); PREP(getDoor); PREP(getDoorAnimations); PREP(getDown); @@ -43,4 +43,4 @@ PREP(showMenu); PREP(showMouseHint); PREP(sortOptionsByPriority); PREP(tapShoulder); -PREP(updateTooltipPosition); \ No newline at end of file +PREP(updateTooltipPosition); diff --git a/addons/interaction/config.cpp b/addons/interaction/config.cpp index f4e2f2c423..ac9c38e88c 100644 --- a/addons/interaction/config.cpp +++ b/addons/interaction/config.cpp @@ -5,7 +5,7 @@ class CfgPatches { units[] = {}; weapons[] = {}; requiredVersion = 0.60; - requiredAddons[] = {ACE_Core}; + requiredAddons[] = {"ace_common"}; version = "0.95"; versionStr = "0.95"; versionAr[] = {0,95,0}; @@ -16,13 +16,13 @@ class CfgPatches { #include "CfgEventHandlers.hpp" -class ACE_Core_Default_Keys { +class ACE_Default_Keys { class openInteractionMenuNew { displayName = "$STR_ACE_Interaction_InteractionMenu"; condition = "true"; - statement = QUOTE( call FUNC(onButtonDown) ); - conditionUp = QUOTE( !isNull (findDisplay 1713999) && {profileNamespace getVariable [QUOTE(QGVAR(AutoCloseMenu)), false]} ); - statementUp = QUOTE( if (GVAR(MenuType) mod 2 == 0) then {call FUNC(onButtonUp)}; ); + statement = QUOTE(call FUNC(onButtonDown)); + conditionUp = QUOTE(!isNull (findDisplay 1713999) && {profileNamespace getVariable [ARR_2(QUOTE(QGVAR(AutoCloseMenu)), false)]}); + statementUp = QUOTE(if (GVAR(MenuType) mod 2 == 0) then {call FUNC(onButtonUp)};); exceptions[] = {"ACE_Drag_isNotDragging", "ACE_Medical_canTreat", "ACE_Interaction_isNotEscorting", "ACE_Interaction_isNotSwimming"}; key = 219; shift = 0; @@ -32,9 +32,9 @@ class ACE_Core_Default_Keys { class openInteractionMenuSelfNew { displayName = "$STR_ACE_Interaction_InteractionMenuSelf"; condition = "true"; - statement = QUOTE( call FUNC(onButtonDownSelf) ); - conditionUp = QUOTE( !isNull (findDisplay 1713999) && {profileNamespace getVariable [QUOTE(QGVAR(AutoCloseMenu)), false]} ); - statementUp = QUOTE( if (EGVAR(interaction,MenuType) mod 2 == 1) then {call FUNC(onButtonUp)}; ); + statement = QUOTE(call FUNC(onButtonDownSelf)); + conditionUp = QUOTE(!isNull (findDisplay 1713999) && {profileNamespace getVariable [ARR_2(QUOTE(QGVAR(AutoCloseMenu)), false)]}); + statementUp = QUOTE(if (EGVAR(interaction,MenuType) mod 2 == 1) then {call FUNC(onButtonUp)};); exceptions[] = {"ACE_Drag_isNotDragging", "ACE_Medical_canTreat", "ACE_Interaction_isNotEscorting", "ACE_Interaction_isNotSwimming", "ACE_Core_notOnMap"}; key = 219; shift = 0; @@ -43,8 +43,8 @@ class ACE_Core_Default_Keys { }; class openDoor { displayName = "$STR_ACE_Interaction_OpenDoor"; - condition = QUOTE( !GVAR(isOpeningDoor) && {[2] call FUNC(getDoor) select 1 != ''} ); - statement = QUOTE( call ACE_Interaction_fnc_openDoor ); + condition = QUOTE(!GVAR(isOpeningDoor) && {[2] call FUNC(getDoor) select 1 != ''}); + statement = QUOTE(call ACE_Interaction_fnc_openDoor); conditionUp = QUOTE( GVAR(isOpeningDoor) ); statementUp = QUOTE( GVAR(isOpeningDoor) = false;); key = 57; @@ -54,8 +54,8 @@ class ACE_Core_Default_Keys { }; class tapShoulder { displayName = "$STR_ACE_Interaction_TapShoulder"; - condition = QUOTE( [_player, cursorTarget] call FUNC(canTapShoulder) ); - statement = QUOTE( [_player, cursorTarget] call FUNC(tapShoulder); ); + condition = QUOTE([_player, cursorTarget] call FUNC(canTapShoulder)); + statement = QUOTE([_player, cursorTarget] call FUNC(tapShoulder);); key = 20; shift = 1; control = 0; @@ -64,9 +64,9 @@ class ACE_Core_Default_Keys { class modifierKey { displayName = "$STR_ACE_Interaction_ModifierKey"; condition = ""; - statement = QUOTE( GVAR(Modifier) = 1; ); + statement = QUOTE(GVAR(Modifier) = 1;); conditionUp = ""; - statementUp = QUOTE( GVAR(Modifier) = 0; ); + statementUp = QUOTE(GVAR(Modifier) = 0;); exceptions[] = {"ACE_Drag_isNotDragging"}; key = 29; shift = 0; @@ -75,7 +75,7 @@ class ACE_Core_Default_Keys { }; }; -class ACE_Core_Options { +class ACE_Options { class Interaction_FlowMenu { displayName = "$STR_ACE_Interaction_FlowMenu"; default = 0; @@ -97,7 +97,7 @@ class ACE_Parameters_Boolean { ACE_Interaction_EnableTeamManagement = 1; }; -class ACE_Core_canInteractConditions { +class ACE_canInteractConditions { class ACE_Interaction_isNotEscorting { condition = QUOTE( !(_player getVariable ['ACE_isEscorting', false]) ); }; @@ -147,11 +147,11 @@ class CfgVehicles { class ACE_TeamManagement { displayName = "$STR_ACE_Interaction_TeamManagement"; distance = 4; - condition = QUOTE( alive _target && {!isPlayer _target} && {_target in units group _player} && {GVAR(EnableTeamManagement)} ); + condition = QUOTE(alive _target && {!isPlayer _target} && {_target in units group _player} && {GVAR(EnableTeamManagement)}); statement = ""; showDisabled = 0; priority = 3.2; - icon = PATHOF(UI\team\team_management_ca.paa); + icon = PATHTOF(UI\team\team_management_ca.paa); subMenu[] = {"ACE_TeamManagement", 0}; hotkey = "M"; enableInside = 1; @@ -159,10 +159,10 @@ class CfgVehicles { class ACE_JoinTeamRed { displayName = "$STR_ACE_Interaction_JoinTeamRed"; distance = 4; - condition = QUOTE( alive _target && {!isPlayer _target} && {_target in units group _player} ); - statement = QUOTE( [_target, 'RED'] call FUNC(joinTeam) ); + condition = QUOTE(alive _target && {!isPlayer _target} && {_target in units group _player}); + statement = QUOTE([ARR_2(_target,'RED')] call DFUNC(joinTeam)); showDisabled = 1; - icon = PATHOF(UI\team\team_red_ca.paa); + icon = PATHTOF(UI\team\team_red_ca.paa); priority = 2.4; hotkey = "R"; enableInside = 1; @@ -170,10 +170,10 @@ class CfgVehicles { class ACE_JoinTeamGreen { displayName = "$STR_ACE_Interaction_JoinTeamGreen"; distance = 4; - condition = QUOTE( alive _target && {!isPlayer _target} && {_target in units group _player} ); - statement = QUOTE( [_target, 'GREEN'] call FUNC(joinTeam) ); + condition = QUOTE(alive _target && {!isPlayer _target} && {_target in units group _player}); + statement = QUOTE([ARR_2(_target,'GREEN')] call DFUNC(joinTeam)); showDisabled = 1; - icon = PATHOF(UI\team\team_green_ca.paa); + icon = PATHTOF(UI\team\team_green_ca.paa); priority = 2.3; hotkey = "G"; enableInside = 1; @@ -181,10 +181,10 @@ class CfgVehicles { class ACE_JoinTeamBlue { displayName = "$STR_ACE_Interaction_JoinTeamBlue"; distance = 4; - condition = QUOTE( alive _target && {!isPlayer _target} && {_target in units group _player} ); - statement = QUOTE( [_target, 'BLUE'] call FUNC(joinTeam) ); + condition = QUOTE(alive _target && {!isPlayer _target} && {_target in units group _player}); + statement = QUOTE([ARR_2(_target,'BLUE')] call DFUNC(joinTeam)); showDisabled = 1; - icon = PATHOF(UI\team\team_blue_ca.paa); + icon = PATHTOF(UI\team\team_blue_ca.paa); priority = 2.2; hotkey = "B"; enableInside = 1; @@ -192,10 +192,10 @@ class CfgVehicles { class ACE_JoinTeamYellow { displayName = "$STR_ACE_Interaction_JoinTeamYellow"; distance = 4; - condition = QUOTE( alive _target && {!isPlayer _target} && {_target in units group _player} ); - statement = QUOTE( [_target, 'YELLOW'] call FUNC(joinTeam) ); + condition = QUOTE(alive _target && {!isPlayer _target} && {_target in units group _player}); + statement = QUOTE([ARR_2(_target,'YELLOW')] call DFUNC(joinTeam)); showDisabled = 1; - icon = PATHOF(UI\team\team_yellow_ca.paa); + icon = PATHTOF(UI\team\team_yellow_ca.paa); priority = 2.1; hotkey = "Y"; enableInside = 1; @@ -204,10 +204,10 @@ class CfgVehicles { class ACE_LeaveTeam { displayName = "$STR_ACE_Interaction_LeaveTeam"; distance = 4; - condition = QUOTE( alive _target && {!isPlayer _target} && {_target in units group _player} && {assignedTeam _player != 'MAIN'} ); - statement = QUOTE( [_target, 'MAIN'] call FUNC(joinTeam) ); + condition = QUOTE(alive _target && {!isPlayer _target} && {_target in units group _player} && {assignedTeam _player != 'MAIN'}); + statement = QUOTE([ARR_2(_target,'MAIN')] call DFUNC(joinTeam)); showDisabled = 1; - icon = PATHOF(UI\team\team_white_ca.paa); + icon = PATHTOF(UI\team\team_white_ca.paa); priority = 2.5; hotkey = "N"; enableInside = 1; @@ -217,8 +217,8 @@ class CfgVehicles { class ACE_TapShoulder { displayName = "$STR_ACE_Interaction_TapShoulder"; distance = 4; - condition = QUOTE( [_player, _target] call FUNC(canTapShoulder) ); - statement = QUOTE( [_player, _target] call FUNC(tapShoulder) ); + condition = QUOTE([ARR_2(_player, _target)] call DFUNC(canTapShoulder)); + statement = QUOTE([ARR_2(_player, _target)] call DFUNC(tapShoulder)); showDisabled = 1; priority = 2.8; hotkey = "Q"; @@ -227,11 +227,11 @@ class CfgVehicles { class ACE_JoinGroup { displayName = "$STR_ACE_Interaction_JoinGroup"; distance = 4; - condition = QUOTE( side group _player == side group _target && {group _player != group _target} ); - statement = QUOTE( [_player] joinSilent group _target; ); + condition = QUOTE(side group _player == side group _target && {group _player != group _target}); + statement = QUOTE([_player] joinSilent group _target;); showDisabled = 0; priority = 2.6; - icon = PATHOF(UI\team\team_management_ca.paa); + icon = PATHTOF(UI\team\team_management_ca.paa); hotkey = "J"; enableInside = 1; }; @@ -239,24 +239,24 @@ class CfgVehicles { class ACE_GetDown { displayName = "$STR_ACE_Interaction_GetDown"; distance = 4; - condition = QUOTE( [_target] call FUNC(canInteractWith) ); - statement = QUOTE( [_target] call FUNC(getDown) ); + condition = QUOTE([_target] call DFUNC(canInteractWith)); + statement = QUOTE([_target] call DFUNC(getDown)); showDisabled = 0; priority = 2.2; }; class ACE_SendAway { displayName = "$STR_ACE_Interaction_SendAway"; distance = 4; - condition = QUOTE( [_target] call FUNC(canInteractWith) ); - statement = QUOTE( [_target] call FUNC(sendAway) ); + condition = QUOTE([_target] call DFUNC(canInteractWith)); + statement = QUOTE([_target] call DFUNC(sendAway)); showDisabled = 0; priority = 2.0; }; class ACE_Pardon { displayName = "$STR_ACE_Interaction_Pardon"; distance = 4; - condition = QUOTE( rating _target < -2000 && {alive _target} && {side group _player == side group _target} ); - statement = QUOTE( [_target, '{_this addRating -rating _this}', _target] call EFUNC(core,execRemoteFnc) ); + condition = QUOTE(rating _target < -2000 && {alive _target} && {side group _player == side group _target}); + statement = QUOTE([ARR_3(_target,'{_this addRating -rating _this}',_target)] call DEFUNC(common,execRemoteFnc)); showDisabled = 0; priority = 2.5; enableInside = 1; @@ -266,84 +266,84 @@ class CfgVehicles { class ACE_SelfActions { class ACE_TeamManagement { displayName = "$STR_ACE_Interaction_TeamManagement"; - condition = QUOTE( GVAR(EnableTeamManagement) ); + condition = QUOTE(GVAR(EnableTeamManagement)); statement = ""; showDisabled = 1; priority = 3.2; - icon = PATHOF(UI\team\team_management_ca.paa); + icon = PATHTOF(UI\team\team_management_ca.paa); subMenu[] = {"ACE_TeamManagement", 1}; enableInside = 1; hotkey = "M"; class ACE_JoinTeamRed { displayName = "$STR_ACE_Interaction_JoinTeamRed"; - condition = QUOTE( true ); - statement = QUOTE( [_player, 'RED'] call FUNC(joinTeam) ); + condition = QUOTE(true); + statement = QUOTE([ARR_2(_player,'RED')] call DFUNC(joinTeam)); showDisabled = 1; priority = 2.4; - icon = PATHOF(UI\team\team_red_ca.paa); + icon = PATHTOF(UI\team\team_red_ca.paa); enableInside = 1; hotkey = "R"; }; class ACE_JoinTeamGreen { displayName = "$STR_ACE_Interaction_JoinTeamGreen"; - condition = QUOTE( true ); - statement = QUOTE( [_player, 'GREEN'] call FUNC(joinTeam) ); + condition = QUOTE(true); + statement = QUOTE([ARR_2(_player,'GREEN')] call DFUNC(joinTeam)); showDisabled = 1; priority = 2.3; - icon = PATHOF(UI\team\team_green_ca.paa); + icon = PATHTOF(UI\team\team_green_ca.paa); enableInside = 1; hotkey = "G"; }; class ACE_JoinTeamBlue { displayName = "$STR_ACE_Interaction_JoinTeamBlue"; - condition = QUOTE( true ); - statement = QUOTE( [_player, 'BLUE'] call FUNC(joinTeam) ); + condition = QUOTE(true); + statement = QUOTE([ARR_2(_player,'BLUE')] call FUNC(joinTeam)); showDisabled = 1; priority = 2.2; - icon = PATHOF(UI\team\team_blue_ca.paa); + icon = PATHTOF(UI\team\team_blue_ca.paa); enableInside = 1; hotkey = "B"; }; class ACE_JoinTeamYellow { displayName = "$STR_ACE_Interaction_JoinTeamYellow"; - condition = QUOTE( true ); - statement = QUOTE( [_player, 'YELLOW'] call FUNC(joinTeam) ); + condition = QUOTE(true); + statement = QUOTE([ARR_2(_player,'YELLOW')] call FUNC(joinTeam)); showDisabled = 1; priority = 2.1; - icon = PATHOF(UI\team\team_yellow_ca.paa); + icon = PATHTOF(UI\team\team_yellow_ca.paa); enableInside = 1; hotkey = "Y"; }; class ACE_LeaveTeam { displayName = "$STR_ACE_Interaction_LeaveTeam"; - condition = QUOTE( assignedTeam _player != 'MAIN' ); - statement = QUOTE( [_player, 'MAIN'] call FUNC(joinTeam) ); + condition = QUOTE(assignedTeam _player != 'MAIN'); + statement = QUOTE([ARR_2(_player,'MAIN')] call FUNC(joinTeam)); showDisabled = 1; priority = 2.5; - icon = PATHOF(UI\team\team_white_ca.paa); + icon = PATHTOF(UI\team\team_white_ca.paa); enableInside = 1; hotkey = "N"; }; class ACE_BecomeLeader { displayName = "$STR_ACE_Interaction_BecomeLeader"; - condition = QUOTE( count (units group _player) > 1 && {leader group _player != _player} ); - statement = QUOTE( _newGroup = createGroup side group _player; (units group _player) joinSilent _newGroup; _newGroup selectLeader _player; ); + condition = QUOTE(count (units group _player) > 1 && {leader group _player != _player}); + statement = QUOTE(_newGroup = createGroup side group _player; (units group _player) joinSilent _newGroup; _newGroup selectLeader _player;); showDisabled = 1; priority = 1.0; - icon = PATHOF(UI\team\team_white_ca.paa); + icon = PATHTOF(UI\team\team_white_ca.paa); enableInside = 1; hotkey = "L"; }; class ACE_LeaveGroup { displayName = "$STR_ACE_Interaction_LeaveGroup"; - condition = QUOTE( count (units group _player) > 1 ); - statement = QUOTE( _oldGroup = units group _player; _newGroup = createGroup side _player; [_player] joinSilent _newGroup; {_player reveal _x} forEach _oldGroup; ); + condition = QUOTE(count (units group _player) > 1); + statement = QUOTE(_oldGroup = units group _player; _newGroup = createGroup side _player; [_player] joinSilent _newGroup; {_player reveal _x} forEach _oldGroup;); showDisabled = 1; priority = 1.2; - icon = PATHOF(UI\team\team_management_ca.paa); + icon = PATHTOF(UI\team\team_management_ca.paa); enableInside = 1; hotkey = "M"; }; @@ -373,7 +373,7 @@ class CfgVehicles { showDisabled = 1; priority = 3.5; subMenu[] = {"ACE_Gestures", 1}; - icon = "ACE_Interaction\UI\gestures_ca.paa"; + icon = PATHTOF(UI\gestures_ca.paa); hotkey = "G"; /*class ACE_Gesture_Advance { @@ -385,87 +385,87 @@ class CfgVehicles { };*/ class ACE_Gesture_Advance { displayName = "$STR_ACE_Interaction_Gestures_Advance"; - condition = "canStand _target"; - statement = "_target playActionNow 'gestureAdvance';"; + condition = QUOTE(canStand _target); + statement = QUOTE(_target playActionNow 'gestureAdvance';); showDisabled = 1; priority = 1.9; hotkey = "1"; }; class ACE_Gesture_Go { displayName = "$STR_ACE_Interaction_Gestures_Go"; - condition = "canStand _target"; - statement = "_target playActionNow (['gestureGo', 'gestureGoB'] select (floor random 2));"; + condition = QUOTE(canStand _target); + statement = QUOTE(_target playActionNow ([ARR_2('gestureGo','gestureGoB')] select floor random 2);); showDisabled = 1; priority = 1.8; hotkey = "2"; }; class ACE_Gesture_Follow { displayName = "$STR_ACE_Interaction_Gestures_Follow"; - condition = "canStand _target"; - statement = "_target playActionNow 'gestureFollow';"; + condition = QUOTE(canStand _target); + statement = QUOTE(_target playActionNow 'gestureFollow';); showDisabled = 1; priority = 1.7; hotkey = "3"; }; /*class ACE_Gesture_Point { displayName = "$STR_ACE_Interaction_Gestures_Point"; - condition = "canStand _target"; - statement = "_target playActionNow 'gesturePoint';"; + condition = QUOTE(canStand _target); + statement = QUOTE(_target playActionNow 'gesturePoint';); showDisabled = 1; priority = 1.6; };*/ class ACE_Gesture_Up { displayName = "$STR_ACE_Interaction_Gestures_Up"; - condition = "canStand _target"; - statement = "_target playActionNow 'gestureUp';"; + condition = QUOTE(canStand _target); + statement = QUOTE(_target playActionNow 'gestureUp';); showDisabled = 1; priority = 1.5; hotkey = "4"; }; class ACE_Gesture_Cover { displayName = "$STR_ACE_Interaction_Gestures_Cover"; - condition = "canStand _target"; - statement = "_target playActionNow 'gestureCover';"; + condition = QUOTE(canStand _target); + statement = QUOTE(_target playActionNow 'gestureCover';); showDisabled = 1; priority = 1.4; hotkey = "5"; }; class ACE_Gesture_CeaseFire { displayName = "$STR_ACE_Interaction_Gestures_Cease_Fire"; - condition = "canStand _target"; - statement = "_target playActionNow 'gestureCeaseFire';"; + condition = QUOTE(canStand _target); + statement = QUOTE(_target playActionNow 'gestureCeaseFire';); showDisabled = 1; priority = 1.3; hotkey = "6"; }; class ACE_Gesture_Freeze { displayName = "$STR_ACE_Interaction_Gestures_Freeze"; - condition = "canStand _target"; - statement = "_target playActionNow 'gestureFreeze';"; + condition = QUOTE(canStand _target); + statement = QUOTE(_target playActionNow 'gestureFreeze';); showDisabled = 1; priority = 1.2; hotkey = "7"; }; class ACE_Gesture_Yes { displayName = "$STR_ACE_Interaction_Gestures_Yes"; - condition = "canStand _target"; - statement = "_target playActionNow (['gestureYes', 'gestureNod'] select (floor random 2));"; + condition = QUOTE(canStand _target); + statement = QUOTE(_target playActionNow ([ARR_2('gestureYes','gestureNod')] select floor random 2);); showDisabled = 1; priority = 1.1; hotkey = "8"; }; class ACE_Gesture_No { displayName = "$STR_ACE_Interaction_Gestures_No"; - condition = "canStand _target"; - statement = "_target playActionNow 'gestureNo';"; + condition = QUOTE(canStand _target); + statement = QUOTE(_target playActionNow 'gestureNo';); showDisabled = 1; priority = 1.0; hotkey = "9"; }; class ACE_Gesture_Hi { displayName = "$STR_ACE_Interaction_Gestures_Hi"; - condition = "canStand _target"; - statement = "_target playActionNow (['gestureHi', 'gestureHiB', 'gestureHiC'] select (floor random 3));"; + condition = QUOTE(canStand _target); + statement = QUOTE(_target playActionNow ([ARR_3('gestureHi','gestureHiB','gestureHiC')] select floor random 3);); showDisabled = 1; priority = 0.9; hotkey = "0"; @@ -474,7 +474,7 @@ class CfgVehicles { class ACE_Equipment { displayName = "$STR_ACE_Interaction_Equipment"; - condition = "true"; + condition = QUOTE(true); statement = ""; showDisabled = 1; priority = 4.5; @@ -485,11 +485,11 @@ class CfgVehicles { class ACE_Dummy { displayName = ""; - condition = "false"; + condition = QUOTE(false); statement = ""; showDisabled = 1; priority = -99; - icon = PATHOF(UI\blank_CO.paa); + icon = PATHTOEF(common,UI\blank_CO.paa); enableInside = 1; }; }; @@ -522,8 +522,8 @@ class CfgVehicles { class ACE_Push { displayName = "$STR_ACE_Interaction_Push"; distance = 4; - condition = QUOTE( getMass _target < 1000 and alive _target ); - //statement = QUOTE( [_target, [2 * (vectorDir _player select 0), 2 * (vectorDir _player select 1), 0.5]] call FUNC(push); ); + condition = QUOTE(getMass _target < 1000 && {alive _target}); + statement = QUOTE([ARR_2(_target, [ARR_3(2 * (vectorDir _player select 0), 2 * (vectorDir _player select 1), 0.5)])] call FUNC(push);); showDisabled = 0; priority = -1; }; @@ -557,8 +557,8 @@ class CfgWeapons { class ACE_CableTie: ACE_ItemCore { displayName = "$STR_ACE_Interaction_CableTie_Name"; descriptionShort = "$STR_ACE_Interaction_CableTie_Description"; - model = PATHOF(ACE_cabletie.p3d); - picture = PATHOF(UI\ACE_cabletie_x_ca.paa); + model = PATHTOF(ACE_cabletie.p3d); + picture = PATHTOF(UI\ACE_cabletie_x_ca.paa); scope = 2; class ItemInfo: InventoryItem_Base_F { mass = 1; diff --git a/addons/interaction/functions/fn_getCaptivityStatus.sqf b/addons/interaction/functions/fn_getCaptivityStatus.sqf deleted file mode 100644 index d904000e24..0000000000 --- a/addons/interaction/functions/fn_getCaptivityStatus.sqf +++ /dev/null @@ -1,4 +0,0 @@ -// by commy2 -#include "script_component.hpp" - -_this call EFUNC(core,getCaptivityStatus); diff --git a/addons/interaction/functions/fn_setCaptivityStatus.sqf b/addons/interaction/functions/fn_setCaptivityStatus.sqf deleted file mode 100644 index 4de294c674..0000000000 --- a/addons/interaction/functions/fn_setCaptivityStatus.sqf +++ /dev/null @@ -1,4 +0,0 @@ -// by commy2 -#include "script_component.hpp" - -_this call EFUNC(core,setCaptivityStatus); diff --git a/addons/interaction/functions/fn_AddSelectableItem.sqf b/addons/interaction/functions/fnc_AddSelectableItem.sqf similarity index 95% rename from addons/interaction/functions/fn_AddSelectableItem.sqf rename to addons/interaction/functions/fnc_AddSelectableItem.sqf index 8b7eb1da5a..1e3065d234 100644 --- a/addons/interaction/functions/fn_AddSelectableItem.sqf +++ b/addons/interaction/functions/fnc_AddSelectableItem.sqf @@ -26,7 +26,7 @@ _picture = _this select 2; _data = _this select 3; if (_picture == "" || _picture == "PictureThing") then { - _picture = PATHTOF(UI\dot_ca.paa); + _picture = QUOTE(PATHTOF(UI\dot_ca.paa)); }; if ((profileNamespace getVariable [QGVAR(FlowMenu), false])) then { diff --git a/addons/interaction/functions/fn_GetActions.sqf b/addons/interaction/functions/fnc_GetActions.sqf similarity index 95% rename from addons/interaction/functions/fn_GetActions.sqf rename to addons/interaction/functions/fnc_GetActions.sqf index 41938c7faa..67386331c1 100644 --- a/addons/interaction/functions/fn_GetActions.sqf +++ b/addons/interaction/functions/fnc_GetActions.sqf @@ -25,7 +25,7 @@ */ #include "script_component.hpp" -#define DEFAULT_ICON PATHTOF(UI\dot_ca.paa) +#define DEFAULT_ICON QUOTE(PATHTOF(UI\dot_ca.paa)) private ["_target", "_parents", "_actions", "_patches", "_baseConfig", "_actionType", "_i","_index", "_missionConfig", "_stdConfig"]; _target = _this select 0; _parents = _this select 1; @@ -77,7 +77,7 @@ for "_i" from 0 to (_count - 1) do { _condition = getText (_action >> "condition"); if (_condition == "") then {_condition = "true"}; - _condition = _condition + format [QUOTE( && {%1 call EGVAR(core,canInteract)} && {[ACE_player, GVAR(Target)] call EFUNC(core,canInteractWith)} ), getArray (_action >> "exceptions")]; + _condition = _condition + format [QUOTE( && {%1 call EGVAR(common,canInteract)} && {[ARR_2(ACE_player, GVAR(Target))] call EFUNC(common,canInteractWith)} ), getArray (_action >> "exceptions")]; if (_enableInside != 1) then {_condition = _condition + " && {_player == _vehicle}"}; _condition = compile _condition; @@ -129,9 +129,9 @@ for "_i" from 0 to (_count - 1) do { _cacheIndices pushBack _indexCache; _cache = [_cacheConfigs, _cacheActions, _cacheIndices]; - ["InteractionMenu", _action, {format ["%1 loaded into cache", _this]}] call EFUNC(debug, log); + ["InteractionMenu", _action, {format ["%1 loaded into cache", _this]}] call EFUNC(common,log); } else { - ["InteractionMenu", _action, {format ["%1 loaded from cache", _this]}] call EFUNC(debug, log); + ["InteractionMenu", _action, {format ["%1 loaded from cache", _this]}] call EFUNC(common,log); _cachedAction = _cacheActions select (_cacheIndices select _indexCache); diff --git a/addons/interaction/functions/fn_MoveDown.sqf b/addons/interaction/functions/fnc_MoveDown.sqf similarity index 100% rename from addons/interaction/functions/fn_MoveDown.sqf rename to addons/interaction/functions/fnc_MoveDown.sqf diff --git a/addons/interaction/functions/fn_addInteraction.sqf b/addons/interaction/functions/fnc_addInteraction.sqf similarity index 100% rename from addons/interaction/functions/fn_addInteraction.sqf rename to addons/interaction/functions/fnc_addInteraction.sqf diff --git a/addons/interaction/functions/fn_addInteractionSelf.sqf b/addons/interaction/functions/fnc_addInteractionSelf.sqf similarity index 100% rename from addons/interaction/functions/fn_addInteractionSelf.sqf rename to addons/interaction/functions/fnc_addInteractionSelf.sqf diff --git a/addons/interaction/functions/fn_addToTooltip.sqf b/addons/interaction/functions/fnc_addToTooltip.sqf similarity index 100% rename from addons/interaction/functions/fn_addToTooltip.sqf rename to addons/interaction/functions/fnc_addToTooltip.sqf diff --git a/addons/interaction/functions/fn_applyButtons.sqf b/addons/interaction/functions/fnc_applyButtons.sqf similarity index 100% rename from addons/interaction/functions/fn_applyButtons.sqf rename to addons/interaction/functions/fnc_applyButtons.sqf diff --git a/addons/interaction/functions/fn_canInteractWith.sqf b/addons/interaction/functions/fnc_canInteractWith.sqf similarity index 100% rename from addons/interaction/functions/fn_canInteractWith.sqf rename to addons/interaction/functions/fnc_canInteractWith.sqf diff --git a/addons/interaction/functions/fn_canTapShoulder.sqf b/addons/interaction/functions/fnc_canTapShoulder.sqf similarity index 100% rename from addons/interaction/functions/fn_canTapShoulder.sqf rename to addons/interaction/functions/fnc_canTapShoulder.sqf diff --git a/addons/interaction/functions/fn_getActions2.sqf b/addons/interaction/functions/fnc_getActions2.sqf similarity index 94% rename from addons/interaction/functions/fn_getActions2.sqf rename to addons/interaction/functions/fnc_getActions2.sqf index 84c720cfbb..ab64d8d390 100644 --- a/addons/interaction/functions/fn_getActions2.sqf +++ b/addons/interaction/functions/fnc_getActions2.sqf @@ -45,7 +45,7 @@ _cacheIndices = _cache select 2; _condition = getText (_action >> "condition"); if (_condition == "") then {_condition = "true"}; - _condition = _condition + format [QUOTE( && {%1 call EFUNC(core,canInteract)} && {[ACE_player, GVAR(Target)] call FUNC(canInteractWith)} ), getArray (_action >> "exceptions")]; + _condition = _condition + format [QUOTE(&& {%1 call EFUNC(common,canInteract)} && {[ARR_2(ACE_player, GVAR(Target))] call FUNC(canInteractWith)}), getArray (_action >> "exceptions")]; if (_enableInside != 1) then {_condition = _condition + " && {_player == _vehicle}"}; _condition = compile _condition; @@ -97,9 +97,9 @@ _cacheIndices = _cache select 2; _cacheIndices pushBack _indexCache; _cache = [_cacheConfigs, _cacheActions, _cacheIndices]; - ["InteractionMenu", _action, {format ["%1 loaded into cache", _this]}] call EFUNC(debug, log); + ["InteractionMenu", _action, {format ["%1 loaded into cache", _this]}] call EFUNC(common,log); } else { - ["InteractionMenu", _action, {format ["%1 loaded from cache", _this]}] call EFUNC(debug, log); + ["InteractionMenu", _action, {format ["%1 loaded from cache", _this]}] call EFUNC(common,log); private ["_cachedAction", "_showDisabled"]; _cachedAction = _cacheActions select (_cacheIndices select _indexCache); diff --git a/addons/interaction/functions/fn_getDoor.sqf b/addons/interaction/functions/fnc_getDoor.sqf similarity index 100% rename from addons/interaction/functions/fn_getDoor.sqf rename to addons/interaction/functions/fnc_getDoor.sqf diff --git a/addons/interaction/functions/fn_getDoorAnimations.sqf b/addons/interaction/functions/fnc_getDoorAnimations.sqf similarity index 100% rename from addons/interaction/functions/fn_getDoorAnimations.sqf rename to addons/interaction/functions/fnc_getDoorAnimations.sqf diff --git a/addons/interaction/functions/fn_getDown.sqf b/addons/interaction/functions/fnc_getDown.sqf similarity index 100% rename from addons/interaction/functions/fn_getDown.sqf rename to addons/interaction/functions/fnc_getDown.sqf diff --git a/addons/interaction/functions/fn_getSelectedButton.sqf b/addons/interaction/functions/fnc_getSelectedButton.sqf similarity index 100% rename from addons/interaction/functions/fn_getSelectedButton.sqf rename to addons/interaction/functions/fnc_getSelectedButton.sqf diff --git a/addons/interaction/functions/fn_hideMenu.sqf b/addons/interaction/functions/fnc_hideMenu.sqf similarity index 100% rename from addons/interaction/functions/fn_hideMenu.sqf rename to addons/interaction/functions/fnc_hideMenu.sqf diff --git a/addons/interaction/functions/fn_hideMouseHint.sqf b/addons/interaction/functions/fnc_hideMouseHint.sqf similarity index 100% rename from addons/interaction/functions/fn_hideMouseHint.sqf rename to addons/interaction/functions/fnc_hideMouseHint.sqf diff --git a/addons/interaction/functions/fn_initialiseInteraction.sqf b/addons/interaction/functions/fnc_initialiseInteraction.sqf similarity index 90% rename from addons/interaction/functions/fn_initialiseInteraction.sqf rename to addons/interaction/functions/fnc_initialiseInteraction.sqf index c951ea88d6..f0ca6e85e6 100644 --- a/addons/interaction/functions/fn_initialiseInteraction.sqf +++ b/addons/interaction/functions/fnc_initialiseInteraction.sqf @@ -31,7 +31,7 @@ _player = ACE_player; _vehicle = vehicle _player; //_object = [GVAR(Target), _player] select (GVAR(MenuType) % 2 == 1); -if !([_target, 5] call GVAR(isInRange)) exitWith {}; +if !([_target, 5] call FUNC(isInRange)) exitWith {}; GVAR(Shortcuts) = [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1]; @@ -41,10 +41,10 @@ if (_this select 2) then { ACE_Interaction_SelectedButton = 0; (findDisplay 1713999) closeDisplay 1; if (_player getVariable ["ACE_AcceptAction", -1] == -1) then { - [{if(isNil {GVAR(MainButton)} || {!(profileNamespace getVariable [QGVAR(FlowMenu), false])})exitWith{false};(-(_this select 0) / 1.2) call FUNC(MoveDown);true}] call EFUNC(core,addScrollWheelEventHandler); + [{if(isNil {GVAR(MainButton)} || {!(profileNamespace getVariable [QGVAR(FlowMenu), false])})exitWith{false};(-(_this select 0) / 1.2) call FUNC(MoveDown);true}] call EFUNC(common,addScrollWheelEventHandler); - _player setVariable ["ACE_AcceptAction", [_player, "DefaultAction", {(!isNil {GVAR(MainButton)}) && {(profileNamespace getVariable [QGVAR(FlowMenu), false])}}, {_action = GVAR(Buttons) select ACE_Interaction_SelectedButton;_target = GVAR(Target);_player = ACE_player;_vehicle = vehicle _player;if ([_target, _player] call (_action select 2)) then {call FUNC(hideMenu);if(count _action == 12) then{(_action select 11) call (_action select 1);}else{[_target, _player] call (_action select 1);};};}] call EFUNC(core,addActionEventHandler)]; - _player setVariable ["ACE_AcceptAction", [_player, "menuBack", {(!isNil {GVAR(MainButton)}) && {(profileNamespace getVariable [QGVAR(FlowMenu), false])}}, {call GVAR(MainButton);}] call EFUNC(core,addActionEventHandler)]; + _player setVariable ["ACE_AcceptAction", [_player, "DefaultAction", {(!isNil {GVAR(MainButton)}) && {(profileNamespace getVariable [QGVAR(FlowMenu), false])}}, {_action = GVAR(Buttons) select ACE_Interaction_SelectedButton;_target = GVAR(Target);_player = ACE_player;_vehicle = vehicle _player;if ([_target, _player] call (_action select 2)) then {call FUNC(hideMenu);if(count _action == 12) then{(_action select 11) call (_action select 1);}else{[_target, _player] call (_action select 1);};};}] call EFUNC(common,addActionEventHandler)]; + _player setVariable ["ACE_AcceptAction", [_player, "menuBack", {(!isNil {GVAR(MainButton)}) && {(profileNamespace getVariable [QGVAR(FlowMenu), false])}}, {call GVAR(MainButton);}] call EFUNC(common,addActionEventHandler)]; }; 0 call FUNC(moveDown); [localize "STR_ACE_Interaction_MakeSelection", if (_subMenu)then{localize "STR_ACE_Interaction_Back"}else{""}, localize "STR_ACE_Interaction_ScrollHint"] call FUNC(showMouseHint); @@ -59,17 +59,17 @@ if (_this select 2) then { (findDisplay 46) createDisplay QGVAR(Dialog); // Add eventhandlers - (findDisplay 1713999) displayAddEventHandler ["KeyDown", QUOTE( _this call EFUNC(core,onKeyDown) )]; - (findDisplay 1713999) displayAddEventHandler ["KeyUp", QUOTE( _this call EFUNC(core,onKeyUp) )]; + (findDisplay 1713999) displayAddEventHandler ["KeyDown", QUOTE(_this call EGVAR(common,onKeyDown))]; + (findDisplay 1713999) displayAddEventHandler ["KeyUp", QUOTE(_this call EGVAR(common,onKeyUp))]; - (findDisplay 1713999) displayAddEventHandler ["KeyDown", QUOTE( _this call FUNC(menuKeyInput) )]; + (findDisplay 1713999) displayAddEventHandler ["KeyDown", QUOTE(_this call FUNC(menuKeyInput))]; }; disableSerialization; _dlgInteractionDialog = uiNamespace getVariable QGVAR(Dialog); _ctrlInteractionDialog = _dlgInteractionDialog displayCtrl 3; if (profileNamespace getVariable [QGVAR(AutoCenterCursor), true]) then {setMousePosition [0.5, 0.5]}; if !(_subMenu) then { - _ctrlInteractionDialog ctrlSetText ([_target] call EFUNC(core,getName)); + _ctrlInteractionDialog ctrlSetText ([_target] call EFUNC(common,getName)); } else { _ctrlInteractionDialog ctrlSetText localize "STR_ACE_Interaction_Back"; }; @@ -94,7 +94,7 @@ if (_this select 2) then { _ctrlInteractionDialogShortcut ctrlSetText (_action select 10); //_ctrlInteractionDialogBackground ctrlShow true; - GVAR(Shortcuts) set [_i, [_action select 10] call EFUNC(core,letterToCode)]; + GVAR(Shortcuts) set [_i, [_action select 10] call EFUNC(common,letterToCode)]; } else { _ctrlInteractionDialog ctrlSetText ""; _ctrlInteractionDialog ctrlEnable false; @@ -119,7 +119,7 @@ if (_this select 2) then { _target = [GVAR(Target), _player] select (GVAR(MenuType) % 2 == 1); waitUntil { - if !([_target, 5] call GVAR(isInRange)) exitWith { + if !([_target, 5] call FUNC(isInRange)) exitWith { (findDisplay 1713999) closeDisplay 1 }; @@ -134,7 +134,7 @@ if (_this select 2) then { GVAR(CurrentTooltip) = []; - _enable = (_distance == 0 || {[_target, _distance] call GVAR(isInRange)}) && {[_target, _player] call _condition} && {[_target, _player] call _conditionShow}; + _enable = (_distance == 0 || {[_target, _distance] call FUNC(isInRange)}) && {[_target, _player] call _condition} && {[_target, _player] call _conditionShow}; if (isNil "_enable") then {_enable = false}; GVAR(Tooltips) set [_forEachIndex, GVAR(CurrentTooltip)]; diff --git a/addons/interaction/functions/fn_isInRange.sqf b/addons/interaction/functions/fnc_isInRange.sqf similarity index 100% rename from addons/interaction/functions/fn_isInRange.sqf rename to addons/interaction/functions/fnc_isInRange.sqf diff --git a/addons/interaction/functions/fn_joinTeam.sqf b/addons/interaction/functions/fnc_joinTeam.sqf similarity index 87% rename from addons/interaction/functions/fn_joinTeam.sqf rename to addons/interaction/functions/fnc_joinTeam.sqf index ad5d40c7f2..d0aeccc3ad 100644 --- a/addons/interaction/functions/fn_joinTeam.sqf +++ b/addons/interaction/functions/fnc_joinTeam.sqf @@ -7,7 +7,7 @@ _unit = _this select 0; _team = _this select 1; _unit setVariable [QGVAR(assignedFireTeam), _team, true]; -[_unit, format ["{_this assignTeam '%1'}", _team]] call EFUNC(core,execRemoteFnc); +[_unit, format ["{_this assignTeam '%1'}", _team]] call EFUNC(common,execRemoteFnc); if (_unit == ACE_player) then { _message = if (_team == "MAIN") then { @@ -17,5 +17,5 @@ if (_unit == ACE_player) then { format [localize "STR_ACE_Interaction_JoinedTeam", _team]; }; - [_message] call EFUNC(core,displayTextStructured); + [_message] call EFUNC(common,displayTextStructured); }; diff --git a/addons/interaction/functions/fn_menuKeyInput.sqf b/addons/interaction/functions/fnc_menuKeyInput.sqf similarity index 100% rename from addons/interaction/functions/fn_menuKeyInput.sqf rename to addons/interaction/functions/fnc_menuKeyInput.sqf diff --git a/addons/interaction/functions/fn_moduleInteraction.sqf b/addons/interaction/functions/fnc_moduleInteraction.sqf similarity index 88% rename from addons/interaction/functions/fn_moduleInteraction.sqf rename to addons/interaction/functions/fnc_moduleInteraction.sqf index 2d488c9880..78fd6e2acc 100644 --- a/addons/interaction/functions/fn_moduleInteraction.sqf +++ b/addons/interaction/functions/fnc_moduleInteraction.sqf @@ -16,6 +16,6 @@ _activated = _this select 2; if !(_activated) exitWith {}; -[_logic, QGVAR(EnableTeamManagement), "EnableTeamManagement"] call EFUNC(core,readBooleanParameterFromModule); +[_logic, QGVAR(EnableTeamManagement), "EnableTeamManagement"] call EFUNC(common,readBooleanParameterFromModule); diag_log text "[ACE]: Interaction Module Initialized."; diff --git a/addons/interaction/functions/fn_onButtonDown.sqf b/addons/interaction/functions/fnc_onButtonDown.sqf similarity index 90% rename from addons/interaction/functions/fn_onButtonDown.sqf rename to addons/interaction/functions/fnc_onButtonDown.sqf index 59d42e062f..27b46380e0 100644 --- a/addons/interaction/functions/fn_onButtonDown.sqf +++ b/addons/interaction/functions/fnc_onButtonDown.sqf @@ -12,4 +12,4 @@ if (isNull (findDisplay 1713999)) then { (findDisplay 1713999) closeDisplay 1; }; -[_player, "interactionMenuOpened", [_player, GVAR(Target), 0]] call EFUNC(core,callCustomEventHandlers); +[_player, "interactionMenuOpened", [_player, GVAR(Target), 0]] call EFUNC(common,callCustomEventHandlers); diff --git a/addons/interaction/functions/fn_onButtonDownSelf.sqf b/addons/interaction/functions/fnc_onButtonDownSelf.sqf similarity index 87% rename from addons/interaction/functions/fn_onButtonDownSelf.sqf rename to addons/interaction/functions/fnc_onButtonDownSelf.sqf index 3da470d05c..53f57827e9 100644 --- a/addons/interaction/functions/fn_onButtonDownSelf.sqf +++ b/addons/interaction/functions/fnc_onButtonDownSelf.sqf @@ -12,4 +12,4 @@ if (isNull (findDisplay 1713999)) then { (findDisplay 1713999) closeDisplay 1; }; -[_player, "interactionMenuOpened", [_player, GVAR(Target), 1]] call EFUNC(core,callCustomEventHandlers); +[_player, "interactionMenuOpened", [_player, GVAR(Target), 1]] call EFUNC(common,callCustomEventHandlers); diff --git a/addons/interaction/functions/fn_onButtonUp.sqf b/addons/interaction/functions/fnc_onButtonUp.sqf similarity index 100% rename from addons/interaction/functions/fn_onButtonUp.sqf rename to addons/interaction/functions/fnc_onButtonUp.sqf diff --git a/addons/interaction/functions/fn_onClick.sqf b/addons/interaction/functions/fnc_onClick.sqf similarity index 98% rename from addons/interaction/functions/fn_onClick.sqf rename to addons/interaction/functions/fnc_onClick.sqf index 68047a5fba..39581db3a3 100644 --- a/addons/interaction/functions/fn_onClick.sqf +++ b/addons/interaction/functions/fnc_onClick.sqf @@ -19,7 +19,7 @@ _subMenu = _action select 4; // back if (_index == -1) exitWith { - call FUNC(MainButton); + call GVAR(MainButton); }; if (count _subMenu < 2) then { diff --git a/addons/interaction/functions/fn_onSelectMenuDblClick.sqf b/addons/interaction/functions/fnc_onSelectMenuDblClick.sqf similarity index 100% rename from addons/interaction/functions/fn_onSelectMenuDblClick.sqf rename to addons/interaction/functions/fnc_onSelectMenuDblClick.sqf diff --git a/addons/interaction/functions/fn_openDoor.sqf b/addons/interaction/functions/fnc_openDoor.sqf similarity index 100% rename from addons/interaction/functions/fn_openDoor.sqf rename to addons/interaction/functions/fnc_openDoor.sqf diff --git a/addons/interaction/functions/fn_openMenu.sqf b/addons/interaction/functions/fnc_openMenu.sqf similarity index 100% rename from addons/interaction/functions/fn_openMenu.sqf rename to addons/interaction/functions/fnc_openMenu.sqf diff --git a/addons/interaction/functions/fn_openMenuSelectUI.sqf b/addons/interaction/functions/fnc_openMenuSelectUI.sqf similarity index 86% rename from addons/interaction/functions/fn_openMenuSelectUI.sqf rename to addons/interaction/functions/fnc_openMenuSelectUI.sqf index 552484abce..a13fa6a9f0 100644 --- a/addons/interaction/functions/fn_openMenuSelectUI.sqf +++ b/addons/interaction/functions/fnc_openMenuSelectUI.sqf @@ -7,7 +7,7 @@ _unit = _this select 0; _vehicle = _this select 1; // allow interaction with all cargo slots and all ffv slots -_cargo = [_vehicle, ["cargo", "ffv"], true] call EFUNC(core,getVehicleCrew); +_cargo = [_vehicle, ["cargo", "ffv"], true] call EFUNC(common,getVehicleCrew); // you can only interact if you are in cargo or ffv yourself. exit otherwise if !(_unit in _cargo) exitWith {}; @@ -23,8 +23,8 @@ _actions = [localize "STR_ACE_Interaction_InteractionMenu", localize "STR_ACE_In if (_x != _unit) then { _actions = [ _actions, - [_x] call EFUNC(core,getName), - PATHOD(UI\dot_ca.paa), + [_x] call EFUNC(common,getName), + QUOTE(PATHTOF(UI\dot_ca.paa)), _forEachIndex ] call FUNC(AddSelectableItem); }; diff --git a/addons/interaction/functions/fn_openMenuSelf.sqf b/addons/interaction/functions/fnc_openMenuSelf.sqf similarity index 100% rename from addons/interaction/functions/fn_openMenuSelf.sqf rename to addons/interaction/functions/fnc_openMenuSelf.sqf diff --git a/addons/interaction/functions/fn_openSelectMenu.sqf b/addons/interaction/functions/fnc_openSelectMenu.sqf similarity index 89% rename from addons/interaction/functions/fn_openSelectMenu.sqf rename to addons/interaction/functions/fnc_openSelectMenu.sqf index ae7d5ce21b..ba2cf7ce10 100644 --- a/addons/interaction/functions/fn_openSelectMenu.sqf +++ b/addons/interaction/functions/fnc_openSelectMenu.sqf @@ -27,7 +27,7 @@ if (!(profileNamespace getVariable [QGVAR(FlowMenu), false])) then { GVAR(SelectAccept) = _this select 1; GVAR(SelectCancel) = _this select 2; buttonSetAction [8855, QUOTE( call GVAR(SelectCancel); )]; // cancel - buttonSetAction [8860, QUOTE( (call compile (lbData [8866, lbCurSel 8866])) call GVAR(SelectAccept); )]; // accept + buttonSetAction [8860, QUOTE( (call compile (lbData [ARR_2(8866, lbCurSel 8866)])) call GVAR(SelectAccept); )]; // accept lbSetCurSel [8866, 0]; }else{ _customActions = _this select 0; diff --git a/addons/interaction/functions/fn_openSubMenu.sqf b/addons/interaction/functions/fnc_openSubMenu.sqf similarity index 100% rename from addons/interaction/functions/fn_openSubMenu.sqf rename to addons/interaction/functions/fnc_openSubMenu.sqf diff --git a/addons/interaction/functions/fn_openSubMenuSelf.sqf b/addons/interaction/functions/fnc_openSubMenuSelf.sqf similarity index 100% rename from addons/interaction/functions/fn_openSubMenuSelf.sqf rename to addons/interaction/functions/fnc_openSubMenuSelf.sqf diff --git a/addons/interaction/functions/fn_prepareSelectMenu.sqf b/addons/interaction/functions/fnc_prepareSelectMenu.sqf similarity index 100% rename from addons/interaction/functions/fn_prepareSelectMenu.sqf rename to addons/interaction/functions/fnc_prepareSelectMenu.sqf diff --git a/addons/interaction/functions/fn_push.sqf b/addons/interaction/functions/fnc_push.sqf similarity index 82% rename from addons/interaction/functions/fn_push.sqf rename to addons/interaction/functions/fnc_push.sqf index f3ea625bcd..f52a9d40de 100644 --- a/addons/interaction/functions/fn_push.sqf +++ b/addons/interaction/functions/fnc_push.sqf @@ -16,7 +16,7 @@ _boat = _this select 0; _velocity = _this select 1; if !(local _boat) exitWith { - [_this, QUOTE(FUNC(push)), _boat] call EFUNC(core,execRemoteFnc); + [_this, QUOTE(FUNC(push)), _boat] call EFUNC(common,execRemoteFnc); }; _boat setVelocity _velocity; diff --git a/addons/interaction/functions/fn_removeInteraction.sqf b/addons/interaction/functions/fnc_removeInteraction.sqf similarity index 100% rename from addons/interaction/functions/fn_removeInteraction.sqf rename to addons/interaction/functions/fnc_removeInteraction.sqf diff --git a/addons/interaction/functions/fn_removeInteractionSelf.sqf b/addons/interaction/functions/fnc_removeInteractionSelf.sqf similarity index 100% rename from addons/interaction/functions/fn_removeInteractionSelf.sqf rename to addons/interaction/functions/fnc_removeInteractionSelf.sqf diff --git a/addons/interaction/functions/fn_removeTag.sqf b/addons/interaction/functions/fnc_removeTag.sqf similarity index 100% rename from addons/interaction/functions/fn_removeTag.sqf rename to addons/interaction/functions/fnc_removeTag.sqf diff --git a/addons/interaction/functions/fn_sendAway.sqf b/addons/interaction/functions/fnc_sendAway.sqf similarity index 100% rename from addons/interaction/functions/fn_sendAway.sqf rename to addons/interaction/functions/fnc_sendAway.sqf diff --git a/addons/interaction/functions/fn_showMenu.sqf b/addons/interaction/functions/fnc_showMenu.sqf similarity index 97% rename from addons/interaction/functions/fn_showMenu.sqf rename to addons/interaction/functions/fnc_showMenu.sqf index 58a6863bc3..b567a22ea4 100644 --- a/addons/interaction/functions/fn_showMenu.sqf +++ b/addons/interaction/functions/fnc_showMenu.sqf @@ -23,7 +23,7 @@ #include "script_component.hpp" private ["_player", "_vehicle", "_mainButtonAction", "_object", "_index", "_actions", "_result", "_menuType"]; -#define DEFAULT_ICON PATHOF(UI\dot_ca.paa) +#define DEFAULT_ICON QUOTE(PATHOF(UI\dot_ca.paa)) #define DEFAULT_DISTANCE 4 // seems to be 4 _player = ACE_player; _vehicle = vehicle _player; @@ -44,7 +44,7 @@ GVAR(Target) = _this select 1; _object = GVAR(Target); if (_menuType == 0 && {(isNull (_object) || {!([_object, 4] call FUNC(isInRange))})}) exitWith {}; -if !([_player, _object] call EFUNC(core,canInteractWith)) exitWith {}; +if !([_player, _object] call EFUNC(common,canInteractWith)) exitWith {}; // add actions or self actions of GVAR(Target) _parents = [configFile >> "CfgVehicles" >> typeOf _object, true] call BIS_fnc_returnParents; diff --git a/addons/interaction/functions/fn_showMouseHint.sqf b/addons/interaction/functions/fnc_showMouseHint.sqf similarity index 100% rename from addons/interaction/functions/fn_showMouseHint.sqf rename to addons/interaction/functions/fnc_showMouseHint.sqf diff --git a/addons/interaction/functions/fn_sortOptionsByPriority.sqf b/addons/interaction/functions/fnc_sortOptionsByPriority.sqf similarity index 100% rename from addons/interaction/functions/fn_sortOptionsByPriority.sqf rename to addons/interaction/functions/fnc_sortOptionsByPriority.sqf diff --git a/addons/interaction/functions/fn_tapShoulder.sqf b/addons/interaction/functions/fnc_tapShoulder.sqf similarity index 68% rename from addons/interaction/functions/fn_tapShoulder.sqf rename to addons/interaction/functions/fnc_tapShoulder.sqf index a37aeafa64..02eed88542 100644 --- a/addons/interaction/functions/fn_tapShoulder.sqf +++ b/addons/interaction/functions/fnc_tapShoulder.sqf @@ -9,13 +9,13 @@ _target = _this select 1; if (_target != ACE_player) exitWith { addCamShake [4, 0.5, 5]; if !(local _target) then { - [[_tapper, _target], QUOTE(FUNC(tapShoulder)), _target] call EFUNC(execRemoteFnc); + [[_tapper, _target], QUOTE(DFUNC(tapShoulder)), _target] call EFUNC(common,execRemoteFnc); }; }; addCamShake [4, 0.5, 5]; -//_message = format ["%1 tapped you on your shoulder.", [_unit] call EFUNC(core,getName)]; +//_message = format ["%1 tapped you on your shoulder.", [_unit] call EFUNC(common,getName)]; _message = localize "STR_ACE_Interaction_YouWereTapped"; -[_message] call EFUNC(core,displayTextStructured); +[_message] call EFUNC(common,displayTextStructured); diff --git a/addons/interaction/functions/fn_updateTooltipPosition.sqf b/addons/interaction/functions/fnc_updateTooltipPosition.sqf similarity index 100% rename from addons/interaction/functions/fn_updateTooltipPosition.sqf rename to addons/interaction/functions/fnc_updateTooltipPosition.sqf diff --git a/addons/interaction/functions/script_component.hpp b/addons/interaction/functions/script_component.hpp new file mode 100644 index 0000000000..ef1c22f146 --- /dev/null +++ b/addons/interaction/functions/script_component.hpp @@ -0,0 +1 @@ +#include "\z\ace\addons\interaction\script_component.hpp" \ No newline at end of file diff --git a/addons/laser/config.cpp b/addons/laser/config.cpp index ee1b9f1996..6fec248637 100644 --- a/addons/laser/config.cpp +++ b/addons/laser/config.cpp @@ -5,7 +5,7 @@ class CfgPatches { units[] = {}; weapons[] = {}; requiredVersion = REQUIRED_VERSION; - requiredAddons[] = { "uo_main", "a3_ui_f" }; + requiredAddons[] = { "ace_common" }; version = VERSION; }; }; diff --git a/addons/laser/fnc_checkLos.sqf b/addons/laser/functions/fnc_checkLos.sqf similarity index 100% rename from addons/laser/fnc_checkLos.sqf rename to addons/laser/functions/fnc_checkLos.sqf diff --git a/addons/laser/fnc_findLaserDesignator.sqf b/addons/laser/functions/fnc_findLaserDesignator.sqf similarity index 100% rename from addons/laser/fnc_findLaserDesignator.sqf rename to addons/laser/functions/fnc_findLaserDesignator.sqf diff --git a/addons/laser/fnc_findStrongestRay.sqf b/addons/laser/functions/fnc_findStrongestRay.sqf similarity index 100% rename from addons/laser/fnc_findStrongestRay.sqf rename to addons/laser/functions/fnc_findStrongestRay.sqf diff --git a/addons/laser/fnc_laserTargetPFH.sqf b/addons/laser/functions/fnc_laserTargetPFH.sqf similarity index 100% rename from addons/laser/fnc_laserTargetPFH.sqf rename to addons/laser/functions/fnc_laserTargetPFH.sqf diff --git a/addons/laser/fnc_laser_init.sqf b/addons/laser/functions/fnc_laser_init.sqf similarity index 100% rename from addons/laser/fnc_laser_init.sqf rename to addons/laser/functions/fnc_laser_init.sqf diff --git a/addons/laser/fnc_rotateVectLine.sqf b/addons/laser/functions/fnc_rotateVectLine.sqf similarity index 100% rename from addons/laser/fnc_rotateVectLine.sqf rename to addons/laser/functions/fnc_rotateVectLine.sqf diff --git a/addons/laser/fnc_rotateVectLineGetMap.sqf b/addons/laser/functions/fnc_rotateVectLineGetMap.sqf similarity index 100% rename from addons/laser/fnc_rotateVectLineGetMap.sqf rename to addons/laser/functions/fnc_rotateVectLineGetMap.sqf diff --git a/addons/laser/fnc_shootCone.sqf b/addons/laser/functions/fnc_shootCone.sqf similarity index 100% rename from addons/laser/fnc_shootCone.sqf rename to addons/laser/functions/fnc_shootCone.sqf diff --git a/addons/laser/fnc_shootRay.sqf b/addons/laser/functions/fnc_shootRay.sqf similarity index 100% rename from addons/laser/fnc_shootRay.sqf rename to addons/laser/functions/fnc_shootRay.sqf diff --git a/addons/laser/fnc_translateToModelSpace.sqf b/addons/laser/functions/fnc_translateToModelSpace.sqf similarity index 100% rename from addons/laser/fnc_translateToModelSpace.sqf rename to addons/laser/functions/fnc_translateToModelSpace.sqf diff --git a/addons/laser/fnc_translateToWeaponSpace.sqf b/addons/laser/functions/fnc_translateToWeaponSpace.sqf similarity index 100% rename from addons/laser/fnc_translateToWeaponSpace.sqf rename to addons/laser/functions/fnc_translateToWeaponSpace.sqf diff --git a/addons/laser/functions/script_component.hpp b/addons/laser/functions/script_component.hpp new file mode 100644 index 0000000000..98d00342c0 --- /dev/null +++ b/addons/laser/functions/script_component.hpp @@ -0,0 +1 @@ +#include "\z\ace\addons\laser\script_component.hpp" \ No newline at end of file diff --git a/addons/main/license.sqf b/addons/main/license.sqf new file mode 100644 index 0000000000..e97d9c51a3 --- /dev/null +++ b/addons/main/license.sqf @@ -0,0 +1,92 @@ +License (short) +=============== + +You are free: +- to Share to copy, distribute and transmit the work + +Under the following conditions: +- Attribution You must attribute the work in the manner specified by the author or licensor (but not in any way that suggests that they endorse you or your use of the work). +- Noncommercial You may not use this work for commercial purposes. +- No Derivative Works You may not alter, transform, or build upon this work. + +With the understanding that: + +Waiver Any of the above conditions can be waived if you get permission from the copyright holder. + +Public Domain Where the work or any of its elements is in the public domain under applicable law, that status is in no way affected by the license. + +Other Rights In no way are any of the following rights affected by the license: + - Your fair dealing or fair use rights, or other applicable copyright exceptions and limitations; + - The author's moral rights; + - Rights other persons may have either in the work itself or in how the work is used, such as publicity or privacy rights. + +Notice For any reuse or distribution, you must make clear to others the license terms of this work. The best way to do this is with a link to this web page. + + +Full license text +================= + +THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS PROHIBITED. + +BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH TERMS AND CONDITIONS. + +1. Definitions + +"Adaptation" means a work based upon the Work, or upon the Work and other pre-existing works, such as a translation, adaptation, derivative work, arrangement of music or other alterations of a literary or artistic work, or phonogram or performance and includes cinematographic adaptations or any other form in which the Work may be recast, transformed, or adapted including in any form recognizably derived from the original, except that a work that constitutes a Collection will not be considered an Adaptation for the purpose of this License. For the avoidance of doubt, where the Work is a musical work, performance or phonogram, the synchronization of the Work in timed-relation with a moving image ("synching") will be considered an Adaptation for the purpose of this License. +"Collection" means a collection of literary or artistic works, such as encyclopedias and anthologies, or performances, phonograms or broadcasts, or other works or subject matter other than works listed in Section 1(f) below, which, by reason of the selection and arrangement of their contents, constitute intellectual creations, in which the Work is included in its entirety in unmodified form along with one or more other contributions, each constituting separate and independent works in themselves, which together are assembled into a collective whole. A work that constitutes a Collection will not be considered an Adaptation (as defined above) for the purposes of this License. +"Distribute" means to make available to the public the original and copies of the Work through sale or other transfer of ownership. +"Licensor" means the individual, individuals, entity or entities that offer(s) the Work under the terms of this License. +"Original Author" means, in the case of a literary or artistic work, the individual, individuals, entity or entities who created the Work or if no individual or entity can be identified, the publisher; and in addition (i) in the case of a performance the actors, singers, musicians, dancers, and other persons who act, sing, deliver, declaim, play in, interpret or otherwise perform literary or artistic works or expressions of folklore; (ii) in the case of a phonogram the producer being the person or legal entity who first fixes the sounds of a performance or other sounds; and, (iii) in the case of broadcasts, the organization that transmits the broadcast. +"Work" means the literary and/or artistic work offered under the terms of this License including without limitation any production in the literary, scientific and artistic domain, whatever may be the mode or form of its expression including digital form, such as a book, pamphlet and other writing; a lecture, address, sermon or other work of the same nature; a dramatic or dramatico-musical work; a choreographic work or entertainment in dumb show; a musical composition with or without words; a cinematographic work to which are assimilated works expressed by a process analogous to cinematography; a work of drawing, painting, architecture, sculpture, engraving or lithography; a photographic work to which are assimilated works expressed by a process analogous to photography; a work of applied art; an illustration, map, plan, sketch or three-dimensional work relative to geography, topography, architecture or science; a performance; a broadcast; a phonogram; a compilation of data to the extent it is protected as a copyrightable work; or a work performed by a variety or circus performer to the extent it is not otherwise considered a literary or artistic work. +"You" means an individual or entity exercising rights under this License who has not previously violated the terms of this License with respect to the Work, or who has received express permission from the Licensor to exercise rights under this License despite a previous violation. +"Publicly Perform" means to perform public recitations of the Work and to communicate to the public those public recitations, by any means or process, including by wire or wireless means or public digital performances; to make available to the public Works in such a way that members of the public may access these Works from a place and at a place individually chosen by them; to perform the Work to the public by any means or process and the communication to the public of the performances of the Work, including by public digital performance; to broadcast and rebroadcast the Work by any means including signs, sounds or images. +"Reproduce" means to make copies of the Work by any means including without limitation by sound or visual recordings and the right of fixation and reproducing fixations of the Work, including storage of a protected performance or phonogram in digital form or other electronic medium. + +2. Fair Dealing Rights. + +Nothing in this License is intended to reduce, limit, or restrict any uses free from copyright or rights arising from limitations or exceptions that are provided for in connection with the copyright protection under copyright law or other applicable laws. + +3. License Grant. + +Subject to the terms and conditions of this License, Licensor hereby grants You a worldwide, royalty-free, non-exclusive, perpetual (for the duration of the applicable copyright) license to exercise the rights in the Work as stated below: + +to Reproduce the Work, to incorporate the Work into one or more Collections, and to Reproduce the Work as incorporated in the Collections; and, to Distribute and Publicly Perform the Work including as incorporated in Collections. +The above rights may be exercised in all media and formats whether now known or hereafter devised. The above rights include the right to make such modifications as are technically necessary to exercise the rights in other media and formats, but otherwise you have no rights to make Adaptations. Subject to 8(f), all rights not expressly granted by Licensor are hereby reserved, including but not limited to the rights set forth in Section 4(d). + +4. Restrictions. + +The license granted in Section 3 above is expressly made subject to and limited by the following restrictions: + +You may Distribute or Publicly Perform the Work only under the terms of this License. You must include a copy of, or the Uniform Resource Identifier (URI) for, this License with every copy of the Work You Distribute or Publicly Perform. You may not offer or impose any terms on the Work that restrict the terms of this License or the ability of the recipient of the Work to exercise the rights granted to that recipient under the terms of the License. You may not sublicense the Work. You must keep intact all notices that refer to this License and to the disclaimer of warranties with every copy of the Work You Distribute or Publicly Perform. When You Distribute or Publicly Perform the Work, You may not impose any effective technological measures on the Work that restrict the ability of a recipient of the Work from You to exercise the rights granted to that recipient under the terms of the License. This Section 4(a) applies to the Work as incorporated in a Collection, but this does not require the Collection apart from the Work itself to be made subject to the terms of this License. If You create a Collection, upon notice from any Licensor You must, to the extent practicable, remove from the Collection any credit as required by Section 4(c), as requested. +You may not exercise any of the rights granted to You in Section 3 above in any manner that is primarily intended for or directed toward commercial advantage or private monetary compensation. The exchange of the Work for other copyrighted works by means of digital file-sharing or otherwise shall not be considered to be intended for or directed toward commercial advantage or private monetary compensation, provided there is no payment of any monetary compensation in connection with the exchange of copyrighted works. +If You Distribute, or Publicly Perform the Work or Collections, You must, unless a request has been made pursuant to Section 4(a), keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or if the Original Author and/or Licensor designate another party or parties (e.g., a sponsor institute, publishing entity, journal) for attribution ("Attribution Parties") in Licensor's copyright notice, terms of service or by other reasonable means, the name of such party or parties; (ii) the title of the Work if supplied; (iii) to the extent reasonably practicable, the URI, if any, that Licensor specifies to be associated with the Work, unless such URI does not refer to the copyright notice or licensing information for the Work. The credit required by this Section 4(c) may be implemented in any reasonable manner; provided, however, that in the case of a Collection, at a minimum such credit will appear, if a credit for all contributing authors of Collection appears, then as part of these credits and in a manner at least as prominent as the credits for the other contributing authors. For the avoidance of doubt, You may only use the credit required by this Section for the purpose of attribution in the manner set out above and, by exercising Your rights under this License, You may not implicitly or explicitly assert or imply any connection with, sponsorship or endorsement by the Original Author, Licensor and/or Attribution Parties, as appropriate, of You or Your use of the Work, without the separate, express prior written permission of the Original Author, Licensor and/or Attribution Parties. + +For the avoidance of doubt: + +Non-waivable Compulsory License Schemes. + +In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme cannot be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License; +Waivable Compulsory License Schemes. In those jurisdictions in which the right to collect royalties through any statutory or compulsory licensing scheme can be waived, the Licensor reserves the exclusive right to collect such royalties for any exercise by You of the rights granted under this License if Your exercise of such rights is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(b) and otherwise waives the right to collect royalties through any statutory or compulsory licensing scheme; and, +Voluntary License Schemes. The Licensor reserves the right to collect royalties, whether individually or, in the event that the Licensor is a member of a collecting society that administers voluntary licensing schemes, via that society, from any exercise by You of the rights granted under this License that is for a purpose or use which is otherwise than noncommercial as permitted under Section 4(b). +Except as otherwise agreed in writing by the Licensor or as may be otherwise permitted by applicable law, if You Reproduce, Distribute or Publicly Perform the Work either by itself or as part of any Collections, You must not distort, mutilate, modify or take other derogatory action in relation to the Work which would be prejudicial to the Original Author's honor or reputation. + +5. Representations, Warranties and Disclaimer. + +UNLESS OTHERWISE MUTUALLY AGREED BY THE PARTIES IN WRITING, LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. + +6. Limitation on Liability. EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + +7. Termination. + +This License and the rights granted hereunder will terminate automatically upon any breach by You of the terms of this License. Individuals or entities who have received Collections from You under this License, however, will not have their licenses terminated provided such individuals or entities remain in full compliance with those licenses. Sections 1, 2, 5, 6, 7, and 8 will survive any termination of this License. +Subject to the above terms and conditions, the license granted here is perpetual (for the duration of the applicable copyright in the Work). + +Notwithstanding the above, Licensor reserves the right to release the Work under different license terms or to stop distributing the Work at any time; provided, however that any such election will not serve to withdraw this License (or any other license that has been, or is required to be, granted under the terms of this License), and this License will continue in full force and effect unless terminated as stated above. + +8. Miscellaneous. + +Each time You Distribute or Publicly Perform the Work or a Collection, the Licensor offers to the recipient a license to the Work on the same terms and conditions as the license granted to You under this License. +If any provision of this License is invalid or unenforceable under applicable law, it shall not affect the validity or enforceability of the remainder of the terms of this License, and without further action by the parties to this agreement, such provision shall be reformed to the minimum extent necessary to make such provision valid and enforceable. +No term or provision of this License shall be deemed waived and no breach consented to unless such waiver or consent shall be in writing and signed by the party to be charged with such waiver or consent. +This License constitutes the entire agreement between the parties with respect to the Work licensed here. There are no understandings, agreements or representations with respect to the Work not specified here. Licensor shall not be bound by any additional provisions that may appear in any communication from You. This License may not be modified without the mutual written agreement of the Licensor and You. +The rights granted under, and the subject matter referenced, in this License were drafted utilizing the terminology of the Berne Convention for the Protection of Literary and Artistic Works (as amended on September 28, 1979), the Rome Convention of 1961, the WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms Treaty of 1996 and the Universal Copyright Convention (as revised on July 24, 1971). These rights and subject matter take effect in the relevant jurisdiction in which the License terms are sought to be enforced according to the corresponding provisions of the implementation of those treaty provisions in the applicable national law. If the standard suite of rights granted under applicable copyright law includes additional rights not granted under this License, such additional rights are deemed to be included in the License; this License is not intended to restrict the license of any rights under applicable law. diff --git a/addons/main/script_macros.hpp b/addons/main/script_macros.hpp index be16f947ac..8812c11507 100644 --- a/addons/main/script_macros.hpp +++ b/addons/main/script_macros.hpp @@ -182,6 +182,8 @@ #define QFUNC(var1) QUOTE(DFUNC(var1)) #define QEFUNC(var1,var2) QUOTE(DEFUNC(var1,var2)) +#define PATHTOEF(var1,var2) PATHTOF_SYS(PREFIX,var1,var2) + #ifdef DISABLE_COMPILE_CACHE #define PREP(fncName) DFUNC(fncName) = compile preprocessFileLineNumbers QUOTE(PATHTOF(functions\DOUBLES(fnc,fncName).sqf)) #else diff --git a/addons/missileguidance/config.cpp b/addons/missileguidance/config.cpp index 42d23c98c0..be4ccc5a22 100644 --- a/addons/missileguidance/config.cpp +++ b/addons/missileguidance/config.cpp @@ -5,7 +5,7 @@ class CfgPatches { units[] = {}; weapons[] = {}; requiredVersion = REQUIRED_VERSION; - requiredAddons[] = { "uo_main", "ace__laser", "a3_ui_f" }; + requiredAddons[] = { "ace_common", "ace_laser" }; version = VERSION; }; }; diff --git a/addons/missileguidance/fnc_fired.sqf b/addons/missileguidance/functions/fnc_fired.sqf similarity index 100% rename from addons/missileguidance/fnc_fired.sqf rename to addons/missileguidance/functions/fnc_fired.sqf diff --git a/addons/missileguidance/fnc_guidance_DAGR.sqf b/addons/missileguidance/functions/fnc_guidance_DAGR.sqf similarity index 100% rename from addons/missileguidance/fnc_guidance_DAGR.sqf rename to addons/missileguidance/functions/fnc_guidance_DAGR.sqf diff --git a/addons/missileguidance/fnc_guidance_HellfireII.sqf b/addons/missileguidance/functions/fnc_guidance_HellfireII.sqf similarity index 100% rename from addons/missileguidance/fnc_guidance_HellfireII.sqf rename to addons/missileguidance/functions/fnc_guidance_HellfireII.sqf diff --git a/addons/missileguidance/fnc_guidance_LGB.sqf b/addons/missileguidance/functions/fnc_guidance_LGB.sqf similarity index 100% rename from addons/missileguidance/fnc_guidance_LGB.sqf rename to addons/missileguidance/functions/fnc_guidance_LGB.sqf diff --git a/addons/missileguidance/fnc_rotateVectLine.sqf b/addons/missileguidance/functions/fnc_rotateVectLine.sqf similarity index 100% rename from addons/missileguidance/fnc_rotateVectLine.sqf rename to addons/missileguidance/functions/fnc_rotateVectLine.sqf diff --git a/addons/missileguidance/fnc_rotateVectLineGetMap.sqf b/addons/missileguidance/functions/fnc_rotateVectLineGetMap.sqf similarity index 100% rename from addons/missileguidance/fnc_rotateVectLineGetMap.sqf rename to addons/missileguidance/functions/fnc_rotateVectLineGetMap.sqf diff --git a/addons/missileguidance/fnc_translateToModelSpace.sqf b/addons/missileguidance/functions/fnc_translateToModelSpace.sqf similarity index 100% rename from addons/missileguidance/fnc_translateToModelSpace.sqf rename to addons/missileguidance/functions/fnc_translateToModelSpace.sqf diff --git a/addons/missileguidance/fnc_translateToWeaponSpace.sqf b/addons/missileguidance/functions/fnc_translateToWeaponSpace.sqf similarity index 100% rename from addons/missileguidance/fnc_translateToWeaponSpace.sqf rename to addons/missileguidance/functions/fnc_translateToWeaponSpace.sqf diff --git a/addons/missileguidance/functions/script_component.hpp b/addons/missileguidance/functions/script_component.hpp new file mode 100644 index 0000000000..7046e9271d --- /dev/null +++ b/addons/missileguidance/functions/script_component.hpp @@ -0,0 +1 @@ +#include "\z\ace\addons\missileguidance\script_component.hpp" \ No newline at end of file diff --git a/addons/switchunits/CfgVehicles.hpp b/addons/switchunits/CfgVehicles.hpp index 04a08bd8d5..1a4a45d832 100644 --- a/addons/switchunits/CfgVehicles.hpp +++ b/addons/switchunits/CfgVehicles.hpp @@ -7,7 +7,7 @@ class CfgVehicles { function = FUNC(module); scope = 2; isGlobal = 1; - icon = PATHTOF(UI\IconSwitchUnits_ca.paa); + icon = QUOTE(PATHTOF(UI\IconSwitchUnits_ca.paa)); class Arguments { class SwitchToWest { displayName = "Switch to West?"; diff --git a/addons/switchunits/XEH_postInit.sqf b/addons/switchunits/XEH_postInit.sqf index 6c769a5903..3ce84ef838 100644 --- a/addons/switchunits/XEH_postInit.sqf +++ b/addons/switchunits/XEH_postInit.sqf @@ -3,21 +3,25 @@ bux578 */ -0 spawn { - private ["_side"]; - - waitUntil {sleep 0.5; AGM_SwitchUnits_EnableSwitchUnits}; - - //_side = [west, east, independent, civilian] select AGM_SwitchUnits_SwitchUnitsAllowedForSide; - - _sides = []; - - if(AGM_SwitchUnits_SwitchToWest) then {_sides pushBack west}; - if(AGM_SwitchUnits_SwitchToEast) then {_sides pushBack east}; - if(AGM_SwitchUnits_SwitchToIndependent) then {_sides pushBack independent}; - if(AGM_SwitchUnits_SwitchToCivilian) then {_sides pushBack civilian}; - - if (player getVariable ["AGM_CanSwitchUnits", false]) then { - [player, _sides] call AGM_SwitchUnits_fnc_initPlayer; - }; +#include "script_component.hpp" + +//0 spawn { + +private ["_sides"]; + +//waitUntil {sleep 0.5; AGM_SwitchUnits_EnableSwitchUnits}; + +//_side = [west, east, independent, civilian] select AGM_SwitchUnits_SwitchUnitsAllowedForSide; + +_sides = []; + +if(GVAR(SwitchToWest)) then {_sides pushBack west}; +if(GVAR(SwitchToEast)) then {_sides pushBack east}; +if(GVAR(SwitchToIndependent)) then {_sides pushBack independent}; +if(GVAR(SwitchToCivilian)) then {_sides pushBack civilian}; + +if (player getVariable ["ACE_CanSwitchUnits", false]) then { +[player, _sides] call FUNC(initPlayer); }; + +//}; diff --git a/addons/switchunits/config.cpp b/addons/switchunits/config.cpp index 63e81332cc..1f60ca83ac 100644 --- a/addons/switchunits/config.cpp +++ b/addons/switchunits/config.cpp @@ -5,7 +5,7 @@ class CfgPatches { units[] = {}; weapons[] = {}; requiredVersion = 0.60; - requiredAddons[] = {"ace_core"}; + requiredAddons[] = {"ace_main", "ace_common"}; version = QUOTE(VERSION); versionStr = QUOTE(VERSION); versionAr[] = {VERSION_AR}; diff --git a/addons/switchunits/functions/fnc_initPlayer.sqf b/addons/switchunits/functions/fnc_initPlayer.sqf index 60e5eaabc7..27dd95a8e3 100644 --- a/addons/switchunits/functions/fnc_initPlayer.sqf +++ b/addons/switchunits/functions/fnc_initPlayer.sqf @@ -30,7 +30,7 @@ if (vehicle _playerUnit == _playerUnit) then { _playerUnit allowDamage false; GVAR(OriginalUnit) = _playerUnit; - GVAR(OriginalName) = [_playerUnit] call EFUNC(Core, getName); + GVAR(OriginalName) = [_playerUnit] call EFUNC(common,getName); GVAR(OriginalGroup) = group _playerUnit; // remove all starting gear of a player @@ -44,7 +44,7 @@ if (vehicle _playerUnit == _playerUnit) then { _playerUnit linkItem "ItemMap"; removeUniform _playerUnit; - [_playerUnit, "ACE_SwitchUnits", true] call EFUNC(Core, setForceWalkStatus); + [_playerUnit, "ACE_SwitchUnits", true] call EFUNC(common,setForceWalkStatus); - [_playerUnit, _sides] call AFUNC(addMapFunction); + [_playerUnit, _sides] call FUNC(addMapFunction); }; diff --git a/addons/switchunits/functions/fnc_isValidAi.sqf b/addons/switchunits/functions/fnc_isValidAi.sqf index 3803ce4fbd..99d8889563 100644 --- a/addons/switchunits/functions/fnc_isValidAi.sqf +++ b/addons/switchunits/functions/fnc_isValidAi.sqf @@ -20,7 +20,7 @@ private ["_unit"]; _unit = _this select 0; -!([_unit] call EFUNC(Core, isPlayer) +!([_unit] call EFUNC(common,isPlayer) || {_unit in playableUnits} || {vehicle _unit != _unit} || {_unit getVariable [QGVAR(IsPlayerUnit), false]} diff --git a/addons/switchunits/functions/fnc_markAiOnMap.sqf b/addons/switchunits/functions/fnc_markAiOnMap.sqf index 79e72c7379..dbf4fda7ab 100644 --- a/addons/switchunits/functions/fnc_markAiOnMap.sqf +++ b/addons/switchunits/functions/fnc_markAiOnMap.sqf @@ -39,7 +39,7 @@ _sidesToShow spawn { if (([_x] call FUNC(isValidAi) && (side group _x in _sides)) || (_x getVariable [QGVAR(IsPlayerControlled), false])) then { private ["_markerName", "_marker", "_markerColor"]; - //_markerName = format ["%1", [_x] call EFUNC(Core, getName)]; + //_markerName = format ["%1", [_x] call EFUNC(common,getName)]; _markerName = str _x; _marker = createMarkerLocal [_markerName, position _x]; diff --git a/addons/switchunits/functions/fnc_module.sqf b/addons/switchunits/functions/fnc_module.sqf index c614b9c6d7..7776caf645 100644 --- a/addons/switchunits/functions/fnc_module.sqf +++ b/addons/switchunits/functions/fnc_module.sqf @@ -27,14 +27,14 @@ if !(_activated) exitWith {}; GVAR(Module) = true; -[QGVAR(EnableSwitchUnits), true] call EFUNC(Core, setParameter); +[QGVAR(EnableSwitchUnits), true] call EFUNC(common,setParameter); -[_logic, QGVAR(SwitchToWest), "SwitchToWest"] call EFUNC(Core, readBooleanParameterFromModule); -[_logic, QGVAR(SwitchToEast), "SwitchToEast"] call EFUNC(Core, readBooleanParameterFromModule); -[_logic, QGVAR(SwitchToIndependent), "SwitchToIndependent"] call EFUNC(Core, readBooleanParameterFromModule); -[_logic, QGVAR(SwitchToCivilian), "SwitchToCivilian"] call EFUNC(Core, readBooleanParameterFromModule); +[_logic, QGVAR(SwitchToWest), "SwitchToWest"] call EFUNC(common,readBooleanParameterFromModule); +[_logic, QGVAR(SwitchToEast), "SwitchToEast"] call EFUNC(common,readBooleanParameterFromModule); +[_logic, QGVAR(SwitchToIndependent), "SwitchToIndependent"] call EFUNC(common,readBooleanParameterFromModule); +[_logic, QGVAR(SwitchToCivilian), "SwitchToCivilian"] call EFUNC(common,readBooleanParameterFromModule); -[_logic, QGVAR(EnableSafeZone), "EnableSafeZone"] call EFUNC(Core, readBooleanParameterFromModule); -[_logic, QGVAR(SafeZoneRadius), "SafeZoneRadius"] call EFUNC(Core, readNumericParameterFromModule); +[_logic, QGVAR(EnableSafeZone), "EnableSafeZone"] call EFUNC(common,readBooleanParameterFromModule); +[_logic, QGVAR(SafeZoneRadius), "SafeZoneRadius"] call EFUNC(common,readNumericParameterFromModule); diag_log text "[ACE]: SwitchUnits Module Initialized."; diff --git a/addons/switchunits/functions/fnc_nearestPlayers.sqf b/addons/switchunits/functions/fnc_nearestPlayers.sqf index 6475185171..1fade9e07a 100644 --- a/addons/switchunits/functions/fnc_nearestPlayers.sqf +++ b/addons/switchunits/functions/fnc_nearestPlayers.sqf @@ -25,7 +25,7 @@ _radius = _this select 1; _nearestPlayers = []; { - if ([_x] call EFUNC(Core, isPlayer) && {alive _x}) then { + if ([_x] call EFUNC(common,isPlayer) && {alive _x}) then { _nearestPlayers pushBack _x; }; } forEach (nearestObjects [_position, ["Man"], _radius]); diff --git a/addons/switchunits/functions/fnc_switchUnit.sqf b/addons/switchunits/functions/fnc_switchUnit.sqf index 6002ee3f8f..7cbce96f90 100644 --- a/addons/switchunits/functions/fnc_switchUnit.sqf +++ b/addons/switchunits/functions/fnc_switchUnit.sqf @@ -33,7 +33,7 @@ _newUnit spawn { if (GVAR(EnableSafeZone)) then { _allNearestPlayers = [position _unit, GVAR(SafeZoneRadius)] call FUNC(nearestPlayers); - _nearestEnemyPlayers = [_allNearestPlayers, {((side GVAR(OriginalGroup)) getFriend (side _this) < 0.6) && !(_this getVariable [QGVAR(IsPlayerControlled), false])}] call EFUNC(Core, filter); + _nearestEnemyPlayers = [_allNearestPlayers, {((side GVAR(OriginalGroup)) getFriend (side _this) < 0.6) && !(_this getVariable [QGVAR(IsPlayerControlled), false])}] call EFUNC(common,filter); if (count _nearestEnemyPlayers > 0) exitWith { _leave = true; @@ -42,13 +42,13 @@ _newUnit spawn { // exitWith doesn't exit past the "if(EnableSafeZone)" block if (_leave) exitWith { - [localize "STR_ACE_SwitchUnits_TooCloseToEnemy"] call EFUNC(Core, displayTextStructured); + [localize "STR_ACE_SwitchUnits_TooCloseToEnemy"] call EFUNC(common,displayTextStructured); }; // should switch locality // This doesn't work anymore, because one's now able to switch to units from a different side //[_unit] joinSilent group player; - [[_unit, player], QUOTE({(_this select 0) setVariable [QGVAR(OriginalOwner), owner (_this select 0), true]; (_this select 0) setOwner owner (_this select 1)}), 1] call EFUNC(Core, execRemoteFnc); + [[_unit, player], QUOTE({(_this select 0) setVariable [ARR_3(QUOTE(QGVAR(OriginalOwner)), owner (_this select 0), true)]; (_this select 0) setOwner owner (_this select 1)}), 1] call EFUNC(common,execRemoteFnc); _oldUnit = player; waitUntil {sleep 0.2; local _unit}; @@ -74,8 +74,8 @@ _newUnit spawn { // set owner back to original owner _oldOwner = _oldUnit getVariable[QGVAR(OriginalOwner), -1]; if (_oldOwner > -1) then { - [[_oldUnit, _oldOwner], QUOTE({(_this select 0) setOwner (_this select 1)}), 1] call EFUNC(Core, execRemoteFnc); + [[_oldUnit, _oldOwner], QUOTE({(_this select 0) setOwner (_this select 1)}), 1] call EFUNC(common,execRemoteFnc); }; - [localize "STR_ACE_SwitchUnits_SwitchedUnit"] call EFUNC(Core, displayTextStructured); + [localize "STR_ACE_SwitchUnits_SwitchedUnit"] call EFUNC(common,displayTextStructured); }; diff --git a/addons/switchunits/functions/script_component.hpp b/addons/switchunits/functions/script_component.hpp new file mode 100644 index 0000000000..df5c7a0d96 --- /dev/null +++ b/addons/switchunits/functions/script_component.hpp @@ -0,0 +1 @@ +#include "\z\ace\addons\switchunits\script_component.hpp" \ No newline at end of file diff --git a/addons/wep_dragon/CfgAmmo.hpp b/addons/wep_dragon/CfgAmmo.hpp index e51ea122b9..62769fec2b 100644 --- a/addons/wep_dragon/CfgAmmo.hpp +++ b/addons/wep_dragon/CfgAmmo.hpp @@ -48,7 +48,7 @@ class CfgAmmo { }; class ace_missile_dragon : M_47_AT_EP1 { - model = PATHTOF(models\dragon.p3d); + model = QUOTE(PATHTOF(models\dragon.p3d)); maxSpeed = 120; thrust = 0; initTime = 0; diff --git a/addons/wep_dragon/CfgMagazines.hpp b/addons/wep_dragon/CfgMagazines.hpp index 904f53a0c9..8b00f7b2fb 100644 --- a/addons/wep_dragon/CfgMagazines.hpp +++ b/addons/wep_dragon/CfgMagazines.hpp @@ -2,6 +2,6 @@ class CfgMagazines { class CA_LauncherMagazine; class Dragon_EP1: CA_LauncherMagazine { - model = PATHTOF(models\ace_m47_magazine.p3d); + model = QUOTE(PATHTOF(models\ace_m47_magazine.p3d)); }; }; \ No newline at end of file diff --git a/addons/wep_dragon/CfgVehicles.hpp b/addons/wep_dragon/CfgVehicles.hpp index 5e5682e9c6..1d7d3841a7 100644 --- a/addons/wep_dragon/CfgVehicles.hpp +++ b/addons/wep_dragon/CfgVehicles.hpp @@ -21,7 +21,7 @@ class CfgVehicles { class ACE_M47_Static: ACE_M47_Static_Base { scope = 1; // Hide it for now - model = PATHTOF(models\ace_m47_static.p3d); + model = QUOTE(PATHTOF(models\ace_m47_static.p3d)); displayName = "M47 Dragon"; class Turrets: Turrets { class MainTurret: MainTurret { diff --git a/addons/wep_dragon/CfgWeapons.hpp b/addons/wep_dragon/CfgWeapons.hpp index 851796b260..b873219e04 100644 --- a/addons/wep_dragon/CfgWeapons.hpp +++ b/addons/wep_dragon/CfgWeapons.hpp @@ -20,13 +20,13 @@ class CfgWeapons { class M47Launcher_EP1: Launcher { displayName = "M47 Dragon"; canlock = 0; - model = PATHTOF(models\ace_m47_magazine.p3d); - picture = PATHTOF(textures\m47_dragon_item_ca.paa); + model = QUOTE(PATHTOF(models\ace_m47_magazine.p3d)); + picture = QUOTE(PATHTOF(textures\m47_dragon_item_ca.paa)); }; class ACE_M47_Daysight: M47Launcher_EP1 { displayName = $STR_DN_ACE_DRAGONSUP36; // Stay next to tubes in gear dialogs - model = PATHTOF(models\ace_m47_optic.p3d); - picture = PATHTOF(textures\m47_daysight_item_ca.paa); + model = QUOTE(PATHTOF(models\ace_m47_optic.p3d)); + picture = QUOTE(PATHTOF(textures\m47_daysight_item_ca.paa)); optics = 1; weaponInfoType = "RscWeaponEmpty"; modelOptics = "\ca\Weapons_e\optics_m47"; diff --git a/addons/wep_dragon/config.cpp b/addons/wep_dragon/config.cpp index 775fd26357..235e643b18 100644 --- a/addons/wep_dragon/config.cpp +++ b/addons/wep_dragon/config.cpp @@ -5,7 +5,7 @@ class CfgPatches { units[] = { "ACE_M47_Static" }; weapons[] = { "ACE_M47StaticLauncher", "M47Launcher_EP1", "ACE_M47_Daysight" }; requiredVersion = REQUIRED_VERSION; - requiredAddons[] = { "uo_main", "a3_data_f", "a3_static_f"}; + requiredAddons[] = { "ace_main", "ace_common" }; version = VERSION; }; }; diff --git a/addons/wep_dragon/fnc_dragon_fired.sqf b/addons/wep_dragon/functions/fnc_dragon_fired.sqf similarity index 100% rename from addons/wep_dragon/fnc_dragon_fired.sqf rename to addons/wep_dragon/functions/fnc_dragon_fired.sqf diff --git a/addons/wep_dragon/functions/script_component.hpp b/addons/wep_dragon/functions/script_component.hpp new file mode 100644 index 0000000000..0aae3f8cee --- /dev/null +++ b/addons/wep_dragon/functions/script_component.hpp @@ -0,0 +1 @@ +#include "\z\ace\addons\wep_dragon\script_component.hpp" \ No newline at end of file diff --git a/addons/wep_javelin/config.cpp b/addons/wep_javelin/config.cpp index c47e95b44c..07a1e33d41 100644 --- a/addons/wep_javelin/config.cpp +++ b/addons/wep_javelin/config.cpp @@ -5,7 +5,7 @@ class CfgPatches { units[] = {}; weapons[] = {}; requiredVersion = REQUIRED_VERSION; - requiredAddons[] = { "uo_main", "ace__laser", "a3_ui_f", "a3_weapons_f" }; + requiredAddons[] = { "ace_main", "ace_common", "ace_laser" }; version = VERSION; }; }; diff --git a/addons/wep_javelin/fnc_fired.sqf b/addons/wep_javelin/functions/fnc_fired.sqf similarity index 100% rename from addons/wep_javelin/fnc_fired.sqf rename to addons/wep_javelin/functions/fnc_fired.sqf diff --git a/addons/wep_javelin/fnc_onGetLockedTarget.sqf b/addons/wep_javelin/functions/fnc_onGetLockedTarget.sqf similarity index 100% rename from addons/wep_javelin/fnc_onGetLockedTarget.sqf rename to addons/wep_javelin/functions/fnc_onGetLockedTarget.sqf diff --git a/addons/wep_javelin/functions/script_component.hpp b/addons/wep_javelin/functions/script_component.hpp new file mode 100644 index 0000000000..fdc194ff7b --- /dev/null +++ b/addons/wep_javelin/functions/script_component.hpp @@ -0,0 +1 @@ +#include "\z\ace\addons\wep_javelin\script_component.hpp" \ No newline at end of file diff --git a/extras/blank/CfgEventHandlers.hpp b/extras/blank/CfgEventHandlers.hpp new file mode 100644 index 0000000000..f0a9f14d91 --- /dev/null +++ b/extras/blank/CfgEventHandlers.hpp @@ -0,0 +1,6 @@ + +class Extended_PreInit_EventHandlers { + class ADDON { + init = QUOTE(call COMPILE_FILE(XEH_preInit)); + }; +}; diff --git a/extras/blank_module/XEH_preInit.sqf b/extras/blank/XEH_preInit.sqf similarity index 71% rename from extras/blank_module/XEH_preInit.sqf rename to extras/blank/XEH_preInit.sqf index a515eb4187..802b74fd63 100644 --- a/extras/blank_module/XEH_preInit.sqf +++ b/extras/blank/XEH_preInit.sqf @@ -1,3 +1,3 @@ #include "script_component.hpp" -PREP(empty); \ No newline at end of file +PREP(empty); diff --git a/extras/blank/config.cpp b/extras/blank/config.cpp new file mode 100644 index 0000000000..a7b7bae6df --- /dev/null +++ b/extras/blank/config.cpp @@ -0,0 +1,15 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"ace_common"}; + author[] = {""}; + authorUrl = ""; + VERSION_CONFIG; + }; +}; + +#include "CfgEventHandlers.hpp" diff --git a/extras/blank/functions/fnc_empty.sqf b/extras/blank/functions/fnc_empty.sqf new file mode 100644 index 0000000000..c60a82b2d8 --- /dev/null +++ b/extras/blank/functions/fnc_empty.sqf @@ -0,0 +1,3 @@ +#include "script_component.hpp" + +diag_log text format["This is here as an example!!!"]; diff --git a/extras/blank/functions/script_component.hpp b/extras/blank/functions/script_component.hpp new file mode 100644 index 0000000000..2cd25455d2 --- /dev/null +++ b/extras/blank/functions/script_component.hpp @@ -0,0 +1 @@ +#include "\z\ace\addons\blank_module\script_component.hpp" \ No newline at end of file diff --git a/extras/blank_module/script_component.hpp b/extras/blank/script_component.hpp similarity index 100% rename from extras/blank_module/script_component.hpp rename to extras/blank/script_component.hpp diff --git a/extras/blank_module/CfgEventHandlers.hpp b/extras/blank_module/CfgEventHandlers.hpp deleted file mode 100644 index 51c0e909d7..0000000000 --- a/extras/blank_module/CfgEventHandlers.hpp +++ /dev/null @@ -1,5 +0,0 @@ -class Extended_PreInit_EventHandlers { - class ADDON { - init = QUOTE( call compile preprocessFileLineNumbers PATHTOF(XEH_preInit.sqf) ); - }; -}; \ No newline at end of file diff --git a/extras/blank_module/config.cpp b/extras/blank_module/config.cpp deleted file mode 100644 index 6c8d8ca938..0000000000 --- a/extras/blank_module/config.cpp +++ /dev/null @@ -1,17 +0,0 @@ -#include "script_component.hpp" - -class CfgPatches { - class ADDON { - units[] = {}; - weapons[] = {}; - requiredVersion = 0.60; - requiredAddons[] = {"ace_core"}; - version = "0.95"; - versionStr = "0.95"; - versionAr[] = {0,95,0}; - author[] = {""}; - authorUrl = ""; - }; -}; - -#include "CfgEventHandlers.hpp" \ No newline at end of file diff --git a/extras/blank_module/functions/fnc_empty.sqf b/extras/blank_module/functions/fnc_empty.sqf deleted file mode 100644 index 028fb068c9..0000000000 --- a/extras/blank_module/functions/fnc_empty.sqf +++ /dev/null @@ -1,3 +0,0 @@ -#include "script_component.hpp" - -diag_log text format["This is here as an example!!!"]; \ No newline at end of file diff --git a/tools/ace_build_tool/make.cfg b/tools/ace_build_tool/make.cfg new file mode 100644 index 0000000000..1eb02b826f --- /dev/null +++ b/tools/ace_build_tool/make.cfg @@ -0,0 +1,73 @@ +# EXAMPLE MAKE.CFG FILE +# Please see the comments for each option. Most options can be left +# off for sane defaults. + +################################################################# +# Default make target +################################################################# +[DEFAULT] + +# Project name (with @ symbol) +# This is used for naming the release files. +# Default: Current folder name +project = @ace + +# Path to project secret key for signing +# Make sure this isn't in your public repository! +# Default: None +# key = D:\Program Files (x86)\Bohemia Interactive\Tools\DSSignFile Tools\keys\ace_preAlpha.biprivatekey + +# If set to True, the make system will attempt to autodetect addons in the +# current folder by looking for directories with 'config.cpp' in them. +# Default: True +# module_autodetect = True + +# List of directories to ignore when autodetecting addons. +# Default: release +# ignore = release, my_unfinished_module + +# If autodetect is set to False, only folders whose names are in this list +# will be built as modules. +# Default: None +# modules = my_module, my_supporting_module + +# This is the folder hierarchy that will be used as prefix inside the PBO. +# Default: None +prefix = z\ace\addons + +# Set the location where the addon source folders (i.e. P:\z\ace\addons) +# Default: \\addons +module_root = P:\z\ace\addons + +# Directory where the built addon will be saved. +# Default: release +release_dir = P:\z\ace\release + +# This string will be prefixed to all build PBO file names. +# Default: None +pbo_name_prefix = ace_ + +# Which build tool will be used? Options: pboproject, addonbuilder +# Default: addonbuilder +build_tool = pboproject + +################################################################## +# Alternate build target using a different key +################################################################### +# [DifferentKey] +# key = C:\Keys\different.biprivatekey + +################################################################## +# Alternate build target ignoring some modules when detecting +################################################################### +# [IgnoreSome] +# key = C:\Keys\different.biprivatekey +# ignore = release, my_server_module, my_private_module + +################################################################## +# Alternate build target with fixed build list +################################################################### +# [Fixed] +# module_autodetect = False +# modules = my_module, my_other_module + diff --git a/tools/ace_build_tool/make.py b/tools/ace_build_tool/make.py new file mode 100644 index 0000000000..5354e90b1c --- /dev/null +++ b/tools/ace_build_tool/make.py @@ -0,0 +1,763 @@ +#!/usr/bin/env python +# vim: set fileencoding=utf-8 : + +# make.py +# An Arma 3 addon build system + +############################################################################### + +# The MIT License (MIT) + +# Copyright (c) 2013-2014 Ryan Schultz + +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: + +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. + +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +# THE SOFTWARE. + +############################################################################### + +__version__ = "0.3dev" + +import sys + +if sys.version_info[0] == 2: + print("Python 3 is required.") + sys.exit(1) + +import os +import os.path +import shutil +import platform +import glob +import subprocess +import hashlib +import configparser +import json +import traceback + +if sys.platform == "win32": + import winreg + +############################################################################### +# http://akiscode.com/articles/sha-1directoryhash.shtml +# Copyright (c) 2009 Stephen Akiki +# MIT License (Means you can do whatever you want with this) +# See http://www.opensource.org/licenses/mit-license.php +# Error Codes: +# -1 -> Directory does not exist +# -2 -> General error (see stack traceback) +def get_directory_hash(directory): + directory_hash = hashlib.sha1() + if not os.path.exists (directory): + return -1 + + try: + for root, dirs, files in os.walk(directory): + for names in files: + path = os.path.join(root, names) + try: + f = open(path, 'rb') + except: + # You can't open the file for some reason + f.close() + continue + + while 1: + # Read file in as little chunks + buf = f.read(4096) + if not buf: break + new = hashlib.sha1(buf) + directory_hash.update(new.digest()) + f.close() + + except: + # Print the stack traceback + traceback.print_exc() + return -2 + + return directory_hash.hexdigest() + +# Copyright (c) André Burgaud +# http://www.burgaud.com/bring-colors-to-the-windows-console-with-python/ +if sys.platform == "win32": + from ctypes import windll, Structure, c_short, c_ushort, byref + + SHORT = c_short + WORD = c_ushort + + class COORD(Structure): + """struct in wincon.h.""" + _fields_ = [ + ("X", SHORT), + ("Y", SHORT)] + + class SMALL_RECT(Structure): + """struct in wincon.h.""" + _fields_ = [ + ("Left", SHORT), + ("Top", SHORT), + ("Right", SHORT), + ("Bottom", SHORT)] + + class CONSOLE_SCREEN_BUFFER_INFO(Structure): + """struct in wincon.h.""" + _fields_ = [ + ("dwSize", COORD), + ("dwCursorPosition", COORD), + ("wAttributes", WORD), + ("srWindow", SMALL_RECT), + ("dwMaximumWindowSize", COORD)] + + # winbase.h + STD_INPUT_HANDLE = -10 + STD_OUTPUT_HANDLE = -11 + STD_ERROR_HANDLE = -12 + + # wincon.h + FOREGROUND_BLACK = 0x0000 + FOREGROUND_BLUE = 0x0001 + FOREGROUND_GREEN = 0x0002 + FOREGROUND_CYAN = 0x0003 + FOREGROUND_RED = 0x0004 + FOREGROUND_MAGENTA = 0x0005 + FOREGROUND_YELLOW = 0x0006 + FOREGROUND_GREY = 0x0007 + FOREGROUND_INTENSITY = 0x0008 # foreground color is intensified. + + BACKGROUND_BLACK = 0x0000 + BACKGROUND_BLUE = 0x0010 + BACKGROUND_GREEN = 0x0020 + BACKGROUND_CYAN = 0x0030 + BACKGROUND_RED = 0x0040 + BACKGROUND_MAGENTA = 0x0050 + BACKGROUND_YELLOW = 0x0060 + BACKGROUND_GREY = 0x0070 + BACKGROUND_INTENSITY = 0x0080 # background color is intensified. + + stdout_handle = windll.kernel32.GetStdHandle(STD_OUTPUT_HANDLE) + SetConsoleTextAttribute = windll.kernel32.SetConsoleTextAttribute + GetConsoleScreenBufferInfo = windll.kernel32.GetConsoleScreenBufferInfo + + def get_text_attr(): + """Returns the character attributes (colors) of the console screen + buffer.""" + csbi = CONSOLE_SCREEN_BUFFER_INFO() + GetConsoleScreenBufferInfo(stdout_handle, byref(csbi)) + return csbi.wAttributes + + def set_text_attr(color): + """Sets the character attributes (colors) of the console screen + buffer. Color is a combination of foreground and background color, + foreground and background intensity.""" + SetConsoleTextAttribute(stdout_handle, color) +############################################################################### + +def find_bi_tools(work_drive): + """Find BI tools.""" + + reg = winreg.ConnectRegistry(None, winreg.HKEY_CURRENT_USER) + try: + k = winreg.OpenKey(reg, r"Software\bohemia interactive\arma 3 tools") + arma3tools_path = winreg.QueryValueEx(k, "path")[0] + winreg.CloseKey(k) + except: + raise Exception("BadTools","Arma 3 Tools are not installed correctly or the P: drive needs to be created.") + + addonbuilder_path = os.path.join(arma3tools_path, "AddonBuilder", "AddonBuilder.exe") + dssignfile_path = os.path.join(arma3tools_path, "DSSignFile", "DSSignFile.exe") + dscreatekey_path = os.path.join(arma3tools_path, "DSSignFile", "DSCreateKey.exe") + + if os.path.isfile(addonbuilder_path) and os.path.isfile(dssignfile_path) and os.path.isfile(dscreatekey_path): + return [addonbuilder_path, dssignfile_path, dscreatekey_path] + else: + raise Exception("BadTools","Arma 3 Tools are not installed correctly or the P: drive needs to be created.") + +def find_depbo_tools(): + """Use registry entries to find DePBO-based tools.""" + + reg = winreg.ConnectRegistry(None, winreg.HKEY_CURRENT_USER) + try: + k = winreg.OpenKey(reg, r"Software\Mikero\pboProject") + try: + pboproject_path = winreg.QueryValueEx(k, "exe")[0] + winreg.CloseKey(k) + print("Found pboproject.") + except: + print_error("ERROR: Could not find pboProject.") + + k = winreg.OpenKey(reg, r"Software\Mikero\rapify") + try: + rapify_path = winreg.QueryValueEx(k, "exe")[0] + winreg.CloseKey(k) + print("Found rapify.") + except: + print_error("Could not find rapify.") + + k = winreg.OpenKey(reg, r"Software\Mikero\MakePbo") + try: + makepbo_path = winreg.QueryValueEx(k, "exe")[0] + winreg.CloseKey(k) + print("Found makepbo.") + except: + print_error("Could not find makepbo.") + except: + raise Exception("BadDePBO", "DePBO tools not installed correctly") + + #Strip any quotations from the path due to a MikeRo tool bug which leaves a trailing space in some of its registry paths. + return [pboproject_path.strip('"'),rapify_path.strip('"'),makepbo_path.strip('"')] + +def color(color): + """Set the color. Works on Win32 and normal terminals.""" + if sys.platform == "win32": + if color == "green": + set_text_attr(FOREGROUND_GREEN | get_text_attr() & 0x0070 | FOREGROUND_INTENSITY) + elif color == "red": + set_text_attr(FOREGROUND_RED | get_text_attr() & 0x0070 | FOREGROUND_INTENSITY) + elif color == "blue": + set_text_attr(FOREGROUND_BLUE | get_text_attr() & 0x0070 | FOREGROUND_INTENSITY) + elif color == "reset": + set_text_attr(FOREGROUND_GREY | get_text_attr() & 0x0070) + elif color == "grey": + set_text_attr(FOREGROUND_GREY | get_text_attr() & 0x0070) + else : + if color == "green": + sys.stdout.write('\033[92m') + elif color == "red": + sys.stdout.write('\033[91m') + elif color == "blue": + sys.stdout.write('\033[94m') + elif color == "reset": + sys.stdout.write('\033[0m') + +def print_error(msg): + color("red") + print ("ERROR: " + msg) + color("reset") + +def print_green(msg): + color("green") + print(msg) + color("reset") + +def print_blue(msg): + color("blue") + print(msg) + color("reset") + +def print_yellow(msg): + color("yellow") + print(msg) + color("reset") + +############################################################################### + +def main(argv): + """Build an Arma addon suite in a directory from rules in a make.cfg file.""" + print_blue(("\nmake.py for Arma, v" + __version__)) + + if sys.platform != "win32": + print_error("Non-Windows platform (Cygwin?). Please re-run from cmd.") + sys.exit(1) + + reg = winreg.ConnectRegistry(None, winreg.HKEY_CURRENT_USER) + try: + k = winreg.OpenKey(reg, r"Software\bohemia interactive\arma 3 tools") + arma3tools_path = winreg.QueryValueEx(k, "path")[0] + winreg.CloseKey(k) + except: + raise Exception("BadTools","Arma 3 Tools are not installed correctly or the P: drive needs to be created.") + + # Default behaviors + test = False # Copy to Arma 3 directory? + arg_modules = False # Only build modules on command line? + make_release = False # Make zip file from the release? + release_version = 0 # Version of release + use_pboproject = True # Default to pboProject build tool + make_target = "DEFAULT" # Which section in make.cfg to use for the build + new_key = False # Make a new key and use it to sign? + quiet = False # Suppress output from build tool? + + # Parse arguments + if "help" in argv or "-h" in argv or "--help" in argv: + print (""" +make.py [help] [test] [force] [key ] [target ] [release ] + [module name] [module name] [...] + +test -- Copy result to Arma 3. +release -- Make archive with . +force -- Ignore cache and build all. +target -- Use rules in make.cfg under heading [] rather than + default [Make] +key -- Use key in working directory with to sign. If it does not + exist, create key. +quiet -- Suppress command line output from build tool. + +If module names are specified, only those modules will be built. + +Examples: + make.py force test + Build all modules (ignoring cache) and copy the mod folder to the Arma 3 + directory. + make.py mymodule_gun + Only build the module named 'mymodule_gun'. + make.py force key MyNewKey release 1.0 + Build all modules (ignoring cache), sign them with NewKey, and pack them + into a zip file for release with version 1.0. + + +If a file called $NOBIN$ is found in the module directory, that module will not be binarized. + +See the make.cfg file for additional build options. +""") + sys.exit(0) + + if "force" in argv: + argv.remove("force") + force_build = True + else: + force_build = False + + if "test" in argv: + test = True + argv.remove("test") + + if "release" in argv: + make_release = True + release_version = argv[argv.index("release") + 1] + argv.remove(release_version) + argv.remove("release") + + if "target" in argv: + make_target = argv[argv.index("target") + 1] + argv.remove("target") + argv.remove(make_target) + force_build = True + + if "key" in argv: + new_key = True + key_name = argv[argv.index("key") + 1] + argv.remove("key") + argv.remove(key_name) + + if "quiet" in argv: + quiet = True + argv.remove("quiet") + + # Get the directory the make script is in. + make_root = os.path.dirname(os.path.realpath(__file__)) + make_root_parent = os.path.abspath(os.path.join(os.getcwd(), os.pardir)) + os.chdir(make_root) + + cfg = configparser.ConfigParser(); + try: + cfg.read(os.path.join(make_root, "make.cfg")) + + # Project name (with @ symbol) + project = cfg.get(make_target, "project", fallback="@"+os.path.basename(os.getcwd())) + + # Private key path + key = cfg.get(make_target, "key", fallback=None) + + # Project prefix (folder path) + prefix = cfg.get(make_target, "prefix", fallback="") + + # Should we autodetect modules on a complete build? + module_autodetect = cfg.getboolean(make_target, "module_autodetect", fallback=True) + + # Manual list of modules to build for a complete build + modules = cfg.get(make_target, "modules", fallback=None) + # Parse it out + if modules: + modules = [x.strip() for x in modules.split(',')] + else: + modules = [] + + # List of directories to ignore when detecting + ignore = [x.strip() for x in cfg.get(make_target, "ignore", fallback="release").split(',')] + + # BI Tools work drive on Windows + work_drive = cfg.get(make_target, "work_drive", fallback="P:\\") + + # Which build tool should we use? + build_tool = cfg.get(make_target, "build_tool", fallback="addonbuilder").lower() + + # Release/build directory, relative to script dir + release_dir = cfg.get(make_target, "release_dir", fallback="release") + + # Project PBO file prefix (files are renamed to prefix_name.pbo) + pbo_name_prefix = cfg.get(make_target, "pbo_name_prefix", fallback=None) + + # Project module Root + module_root_parent = os.path.abspath(os.path.join(os.path.join(work_drive, prefix), os.pardir)) + module_root = cfg.get(make_target, "module_root", fallback=os.path.join(make_root_parent, "addons")) + print_green ("module_root: " + module_root) + if (os.path.isdir(module_root)): + os.chdir(module_root) + else: + print_error ("Directory " + module_root + " does not exist.") + sys.exit() + + except: + raise + print_error("Could not parse make.cfg.") + sys.exit(1) + + + + # See if we have been given specific modules to build from command line. + if len(argv) > 1 and not make_release: + arg_modules = True + modules = argv[1:] + + # Find the tools we need. + try: + tools = find_bi_tools(work_drive) + addonbuilder = tools[0] + dssignfile = tools[1] + dscreatekey = tools[2] + + except: + print_error("Arma 3 Tools are not installed correctly or the P: drive has not been created.") + sys.exit(1) + + if build_tool == "pboproject": + try: + depbo_tools = find_depbo_tools() + pboproject = depbo_tools[0] + rapifyTool = depbo_tools[1] + makepboTool = depbo_tools[2] + except: + raise + print_error("Could not find dePBO tools. Download the needed tools from: https://dev.withsix.com/projects/mikero-pbodll/files") + sys.exit(1) + + # Try to open and deserialize build cache file. + try: + cache = {} + with open(os.path.join(make_root, "make.cache"), 'r') as f: + cache_raw = f.read() + + cache = json.loads(cache_raw) + + except: + print ("No cache found.") + cache = {} + + # Get list of subdirs in make root. + dirs = next(os.walk(module_root))[1] + + # Autodetect what directories to build. + if module_autodetect and not arg_modules: + modules = [] + for path in dirs: + # Any dir that has a config.cpp in its root is an addon to build. + config_path = os.path.join(path, 'config.cpp') + if os.path.isfile(config_path) and not path in ignore: + modules.append(path) + + # Make the key specified from command line if necessary. + if new_key: + if not os.path.isfile(os.path.join(module_root, key_name + ".biprivatekey")): + print_green("\nRequested key does not exist.") + ret = subprocess.call([dscreatekey, key_name]) # Created in make_root + if ret == 0: + print_blue("Created: " + os.path.join(module_root, key_name + ".biprivatekey")) + else: + print_error("Failed to create key!") + + try: + print_blue("Copying public key to release directory.") + + try: + os.makedirs(os.path.join(module_root, release_dir, "Keys")) + except: + pass + + shutil.copyfile(os.path.join(module_root, key_name + ".bikey"), os.path.join(module_root, release_dir, "Keys", key_name + ".bikey")) + + except: + raise + print_error("Could not copy key to release directory.") + + else: + print_green("\nNOTE: Using key " + os.path.join(module_root, key_name + ".biprivatekey")) + + key = os.path.join(module_root, key_name + ".biprivatekey") + + + # For each module, prep files and then build. + for module in modules: + print_green("\nMaking " + module + "-"*max(1, (60-len(module)))) + + # Cache check + if module in cache: + old_sha = cache[module] + else: + old_sha = "" + + # Hash the module + new_sha = get_directory_hash(os.path.join(module_root, module)) + + # Check if it needs rebuilt + # print ("Hash:", new_sha) + if old_sha == new_sha: + if not force_build: + print("Module has not changed.") + # Skip everything else + continue + + # Only do this if the project isn't stored directly on the work drive. + # Split the path at the drive name and see if they are on the same drive (usually P:) + if os.path.splitdrive(module_root)[0] != os.path.splitdrive(work_drive)[0]: + try: + # Remove old work drive version (ignore errors) + shutil.rmtree(os.path.join(work_drive, prefix, module), True) + + # Copy module to the work drive + shutil.copytree(module, os.path.join(work_drive, prefix, module)) + + except: + raise + print_error("ERROR: Could not copy module to work drive. Does the module exist?") + input("Press Enter to continue...") + print("Resuming build...") + continue + else: + print("WARNING: Module is stored on work drive (" + work_drive + ").") + + try: + # Remove the old pbo, key, and log + old = os.path.join(module_root, release_dir, project, "Addons", module) + "*" + files = glob.glob(old) + for f in files: + os.remove(f) + + if pbo_name_prefix: + old = os.path.join(module_root, release_dir, project, "Addons", pbo_name_prefix+module) + "*" + files = glob.glob(old) + for f in files: + os.remove(f) + except: + raise + print_error("ERROR: Could not copy module to work drive. Does the module exist?") + input("Press Enter to continue...") + print("Resuming build...") + continue + + # Build the module into a pbo + print_blue("Building: " + os.path.join(work_drive, prefix, module)) + print_blue("Destination: " + os.path.join(module_root, release_dir, project, "Addons")) + + # Make destination folder (if needed) + try: + os.makedirs(os.path.join(module_root, release_dir, project, "Addons")) + except: + pass + + # Run build tool + build_successful = False + if build_tool == "pboproject": + try: + # Call pboProject + os.chdir("P:\\") + + if os.path.isfile(os.path.join(work_drive, prefix, module, "$NOBIN$")): + print_green("$NOBIN$ Found. Proceeding with non-binarizing!") + cmd = [makepboTool, "-P","-A","-L","-N","-G", os.path.join(work_drive, prefix, module),os.path.join(module_root, release_dir, project,"Addons")] + + else: + cmd = [pboproject, "-P", os.path.join(work_drive, prefix, module), "+Engine=Arma3", "-S","+Noisy", "+X", "+Clean", "+Mod="+os.path.join(module_root, release_dir, project), "-Key"] + + color("grey") + if quiet: + devnull = open(os.devnull, 'w') + ret = subprocess.call(cmd, stdout=devnull) + devnull.close() + else: + ret = subprocess.call(cmd) + color("reset") + + if ret == 0: + print_green("pboProject return code == " + str(ret)) + # Prettyprefix rename the PBO if requested. + if pbo_name_prefix: + try: + os.rename(os.path.join(module_root, release_dir, project, "Addons", module+".pbo"), os.path.join(module_root, release_dir, project, "Addons", pbo_name_prefix+module+".pbo")) + except: + raise + print_error("Could not rename built PBO with prefix.") + # Sign result + if key: + print("Signing with " + key + ".") + if pbo_name_prefix: + ret = subprocess.call([dssignfile, key, os.path.join(module_root, release_dir, project, "Addons", pbo_name_prefix + module + ".pbo")]) + else: + ret = subprocess.call([dssignfile, key, os.path.join(module_root, release_dir, project, "Addons", module + ".pbo")]) + + if ret == 0: + build_successful = True + else: + build_successful = True + + if not build_successful: + print_error("pboProject return code == " + str(ret)) + print_error("Module not successfully built/signed.") + #input("Press Enter to continue...") + print ("Resuming build...") + continue + + # Back to the root + os.chdir(module_root) + + except: + raise + print_error("Could not run Addon Builder.") + input("Press Enter to continue...") + print ("Resuming build...") + continue + + elif build_tool== "addonbuilder": + # Detect $NOBIN$ and do not binarize if found. + if os.path.isfile(os.path.join(work_drive, prefix, module, "$NOBIN$")): + do_binarize = False + print("$NOBIN$ file found in module, packing only.") + else: + do_binarize = True + try: + # Call AddonBuilder + os.chdir("P:\\") + + cmd = [addonbuilder, os.path.join(work_drive, prefix, module), os.path.join(make_root, release_dir, project, "Addons"), "-clear", "-project="+work_drive] + if not do_binarize: + cmd.append("-packonly") + + if quiet: + previousDirectory = os.getcwd() + os.chdir(arma3tools_path) + devnull = open(os.devnull, 'w') + ret = subprocess.call(cmd, stdout=devnull) + devnull.close() + os.chdir(previousDirectory) + else: + previousDirectory = os.getcwd() + os.chdir(arma3tools_path) + print_error("Current directory - " + os.getcwd()) + ret = subprocess.call(cmd) + os.chdir(previousDirectory) + print_error("Current directory - " + os.getcwd()) + color("reset") + print_green("completed") + # Prettyprefix rename the PBO if requested. + if pbo_name_prefix: + try: + os.rename(os.path.join(make_root, release_dir, project, "Addons", module+".pbo"), os.path.join(make_root, release_dir, project, "Addons", pbo_name_prefix+module+".pbo")) + except: + raise + print_error("Could not rename built PBO with prefix.") + + if ret == 0: + # Sign result + if key: + print("Signing with " + key + ".") + if pbo_name_prefix: + ret = subprocess.call([dssignfile, key, os.path.join(make_root, release_dir, project, "Addons", pbo_name_prefix + module + ".pbo")]) + else: + ret = subprocess.call([dssignfile, key, os.path.join(make_root, release_dir, project, "Addons", module + ".pbo")]) + + if ret == 0: + build_successful = True + else: + build_successful = True + + if not build_successful: + print_error("Module not successfully built.") + + # Back to the root + os.chdir(make_root) + + except: + raise + print_error("Could not run Addon Builder.") + input("Press Enter to continue...") + print ("Resuming build...") + continue + + else: + print_error("Unknown build_tool " + build_tool + "!") + + # Update the hash for a successfully built module + if build_successful: + cache[module] = new_sha + + # Done building all modules! + + # Write out the cache state + cache_out = json.dumps(cache) + with open(os.path.join(make_root, "make.cache"), 'w') as f: + f.write(cache_out) + + # Delete the pboproject temp files if building a release. + if make_release and build_tool == "pboproject": + try: + shutil.rmtree(os.path.join(module_root, release_dir, project, "temp"), True) + except: + print_error("ERROR: Could not delete pboProject temp files.") + + print_green("\nDone.") + + # Make release + if make_release: + print_blue("\nMaking release: " + project + "-" + release_version + ".zip") + + try: + # Delete all log files + for root, dirs, files in os.walk(os.path.join(module_root, release_dir, project, "Addons")): + for currentFile in files: + if currentFile.lower().endswith("log"): + os.remove(os.path.join(root, currentFile)) + + # Create a zip with the contents of release/ in it + shutil.make_archive(project + "-" + release_version, "zip", os.path.join(module_root, release_dir)) + except: + raise + print_error("Could not make release.") + + # Copy to Arma 3 folder for testing + if test: + print_blue("\nCopying to Arma 3.") + + if sys.platform == "win32": + reg = winreg.ConnectRegistry(None, winreg.HKEY_LOCAL_MACHINE) + try: + k = winreg.OpenKey(reg, r"SOFTWARE\Wow6432Node\Bohemia Interactive\Arma 3") + a3_path = winreg.EnumValue(k, 1)[1] + winreg.CloseKey(k) + except: + print_error("Could not find Arma 3's directory in the registry.") + else: + a3_path = cygwin_a3path + + if os.path.exists(a3_path): + try: + shutil.rmtree(os.path.join(a3_path, project), True) + shutil.copytree(os.path.join(module_root, release_dir, project), os.path.join(a3_path, project)) + except: + print_error("Could not copy files. Is Arma 3 running?") + +if __name__ == "__main__": + main(sys.argv) +input("Press Enter to continue...") \ No newline at end of file diff --git a/tools/build.bat b/tools/build.bat index 837aee5490..32973803dc 100644 --- a/tools/build.bat +++ b/tools/build.bat @@ -1,4 +1,6 @@ pushd ..\addons\ for /D %%i in (*.*) do ( makepbo -NUP -@=z\addons\ace\%%i %%i ace_%%i.pbo + if %errorlevel% neq 0 exit /b %errorlevel% ) +popd diff --git a/tools/notepad++_SyntaxHighlighting_With_SQFandCBA.xml b/tools/notepad++_SyntaxHighlighting_With_SQFandCBA.xml new file mode 100644 index 0000000000..2ffc52f15e --- /dev/null +++ b/tools/notepad++_SyntaxHighlighting_With_SQFandCBA.xml @@ -0,0 +1,64 @@ + + + + + + + + 00// 01 02 03/* 04*/ + + + + + + + + ! % & ( ) * / , : ; ? [ ] ^ + - < = > + greater greater= less less= or plus + { + + } + #ifdef + #else + #endif + + + + if then else goto switch case while do for foreach from to in step + abs accTime acos action actionKeys actionKeysImages actionKeysNames actionKeysNamesArray actionName activateAddons activatedAddons activateKey addAction addBackpack addBackpackCargo addBackpackCargoGlobal addBackpackGlobal addCamShake addCuratorAddons addCuratorCameraArea addCuratorEditableObjects addCuratorEditingArea addCuratorPoints addEditorObject addEventHandler addGoggles addGroupIcon addHandgunItem addHeadgear addItem addItemCargo addItemCargoGlobal addItemPool addItemToBackpack addItemToUniform addItemToVest addLiveStats addMagazine addMagazine array addMagazineAmmoCargo addMagazineCargo addMagazineCargoGlobal addMagazineGlobal addMagazinePool addMagazines addMagazineTurret addMenu addMenuItem addMissionEventHandler addMPEventHandler addMusicEventHandler addPrimaryWeaponItem addPublicVariableEventHandler addRating addResources addScore addScoreSide addSecondaryWeaponItem addSwitchableUnit addTeamMember addToRemainsCollector addUniform addVehicle addVest addWaypoint addWeapon addWeaponCargo addWeaponCargoGlobal addWeaponGlobal addWeaponPool addWeaponTurret agent agents aimedAtTarget aimPos airDensityRTD airportSide AISFinishHeal alive allControls allCurators allDead allDeadMen allDisplays allGroups allMapMarkers allMines allMissionObjects allow3DMode allowCrewInImmobile allowCuratorLogicIgnoreAreas allowDamage allowDammage allowFileOperations allowFleeing allowGetIn allSites allTurrets allUnits allUnitsUAV allVariables ammo and animate animateDoor animationPhase animationState armoryPoints asin ASLToATL assert assignAsCargo assignAsCargoIndex assignAsCommander assignAsDriver assignAsGunner assignAsTurret assignCurator assignedCargo assignedCommander assignedDriver assignedGunner assignedItems assignedTarget assignedTeam assignedVehicle assignedVehicleRole assignItem assignTeam assignToAirport atan atan2 atg ATLToASL attachedObject attachedObjects attachedTo attachObject attachTo attackEnabled backpack backpackCargo backpackContainer backpackItems backpackMagazines backpackSpaceFor behaviour benchmark binocular blufor boundingBox boundingBoxReal boundingCenter breakOut breakTo briefingName buildingExit buildingPos buttonAction buttonSetAction cadetMode call callExtension camCommand camCommit camCommitPrepared camCommitted camConstuctionSetParams camCreate camDestroy cameraEffect cameraEffectEnableHUD cameraInterest cameraOn cameraView campaignConfigFile camPreload camPreloaded camPrepareBank camPrepareDir camPrepareDive camPrepareFocus camPrepareFov camPrepareFovRange camPreparePos camPrepareRelPos camPrepareTarget camSetBank camSetDir camSetDive camSetFocus camSetFov camSetFovRange camSetPos camSetRelPos camSetTarget camTarget camUseNVG canAdd canAddItemToBackpack canAddItemToUniform canAddItemToVest cancelSimpleTaskDestination canFire canMove canSlingLoad canStand canUnloadInCombat captive captiveNum case catch cbChecked cbSetChecked ceil cheatsEnabled checkAIFeature civilian className clearAllItemsFromBackpack clearBackpackCargo clearBackpackCargoGlobal clearGroupIcons clearItemCargo clearItemCargoGlobal clearItemPool clearMagazineCargo clearMagazineCargoGlobal clearMagazinePool clearOverlay clearRadio clearWeaponCargo clearWeaponCargoGlobal clearWeaponPool closeDialog closeDisplay closeOverlay collapseObjectTree combatMode commandArtilleryFire commandChat commander commandFire commandFollow commandFSM commandGetOut commandingMenu commandMove commandRadio commandStop commandTarget commandWatch comment commitOverlay compile compileFinal completedFSM composeText configClasses configFile configName configProperties connectTerminalToUAV controlNull copyFromClipboard copyToClipboard copyWaypoints cos count countEnemy countFriendly countSide countType countUnknown createAgent createCenter createDialog createDiaryLink createDiaryRecord createDiarySubject createDisplay createGearDialog createGroup createGuardedPoint createLocation createMarker createMarkerLocal createMenu createMine createMissionDisplay createSimpleTask createSite createSoundSource createTask createTeam createTrigger createUnit createUnit array createVehicle createVehicle array createVehicleCrew createVehicleLocal crew ctrlActivate ctrlAddEventHandler ctrlAutoScrollDelay ctrlAutoScrollRewind ctrlAutoScrollSpeed ctrlChecked ctrlClassName ctrlCommit ctrlCommitted ctrlCreate ctrlDelete ctrlEnable ctrlEnabled ctrlFade ctrlHTMLLoaded ctrlIDC ctrlIDD ctrlMapAnimAdd ctrlMapAnimClear ctrlMapAnimCommit ctrlMapAnimDone ctrlMapCursor ctrlMapMouseOver ctrlMapScale ctrlMapScreenToWorld ctrlMapWorldToScreen ctrlModel ctrlModelDirAndUp ctrlModelScale ctrlParent ctrlPosition ctrlRemoveAllEventHandlers ctrlRemoveEventHandler ctrlScale ctrlSetActiveColor ctrlSetAutoScrollDelay ctrlSetAutoScrollRewind ctrlSetAutoScrollSpeed ctrlSetBackgroundColor ctrlSetChecked ctrlSetEventHandler ctrlSetFade ctrlSetFocus ctrlSetFont ctrlSetFontH1 ctrlSetFontH1B ctrlSetFontH2 ctrlSetFontH2B ctrlSetFontH3 ctrlSetFontH3B ctrlSetFontH4 ctrlSetFontH4B ctrlSetFontH5 ctrlSetFontH5B ctrlSetFontH6 ctrlSetFontH6B ctrlSetFontHeight ctrlSetFontHeightH1 ctrlSetFontHeightH2 ctrlSetFontHeightH3 ctrlSetFontHeightH4 ctrlSetFontHeightH5 ctrlSetFontHeightH6 ctrlSetFontP ctrlSetFontPB ctrlSetForegroundColor ctrlSetModel ctrlSetModelDirAndUp ctrlSetModelScale ctrlSetPosition ctrlSetScale ctrlSetStructuredText ctrlSetText ctrlSetTextColor ctrlSetTooltip ctrlSetTooltipColorBox ctrlSetTooltipColorShade ctrlSetTooltipColorText ctrlShow ctrlShown ctrlText ctrlTextHeight ctrlType ctrlVisible curatorAddons curatorCamera curatorCameraArea curatorCameraAreaCeiling curatorCoef curatorEditableObjects curatorEditingArea curatorEditingAreaType curatorMouseOver curatorPoints curatorRegisteredObjects curatorSelected curatorWaypointCost currentCommand currentMagazine currentMagazineDetail currentMagazineDetailTurret currentMagazineTurret currentMuzzle currentTask currentTasks currentVisionMode currentWaypoint currentWeapon currentWeaponMode currentWeaponTurret currentZeroing cursorTarget customChat customRadio cutFadeOut cutObj cutRsc cutText damage date dateToNumber daytime deActivateKey debriefingText debugFSM debugLog default deg deleteAt deleteCenter deleteCollection deleteEditorObject deleteGroup deleteIdentity deleteLocation deleteMarker deleteMarkerLocal deleteRange deleteResources deleteSite deleteStatus deleteTeam deleteVehicle deleteVehicleCrew deleteWaypoint detach detectedMines diag captureFrame diag captureSlowFrame diag fps diag fpsmin diag frameno diag log diag logSlowFrame diag tickTime dialog diarySubjectExists difficulty difficultyEnabled difficultyEnabledRTD direction directSay disableAI disableCollisionWith disableConversation disableDebriefingStats disableSerialization disableTIEquipment disableUAVConnectability disableUserInput displayAddEventHandler displayCtrl displayNull displayRemoveAllEventHandlers displayRemoveEventHandler displaySetEventHandler dissolveTeam distance distanceSqr distributionRegion do doArtilleryFire doFire doFollow doFSM doGetOut doMove doorPhase doStop doTarget doWatch drawArrow drawEllipse drawIcon drawIcon3D drawLine drawLine3D drawLink drawLocation drawRectangle driver drop east echo editObject editorSetEventHandler effectiveCommander else emptyPositions enableAI enableAIFeature enableAttack enableCamShake enableCaustics enableCollisionWith enableCopilot enableDebriefingStats enableDiagLegend enableEndDialog enableEngineArtillery enableEnvironment enableFatigue enableGunLights enableIRLasers enableMimics enablePersonTurret enableRadio enableReload enableRopeAttach enableSatNormalOnDetail enableSaving enableSentences enableSimulation enableSimulationGlobal enableTeamSwitch enableUAVConnectability endLoadingScreen endMission engineOn enginesIsOnRTD enginesRpmRTD enginesTorqueRTD entities estimatedEndServerTime estimatedTimeLeft evalObjectArgument everyBackpack everyContainer exec execEditorScript execFSM execVM exit exitWith exp expectedDestination eyeDirection eyePos face faction F cont. fadeMusic fadeRadio fadeSound fadeSpeech failMission false fillWeaponsFromPool find findCover findDisplay findEditorObject findEmptyPosition findEmptyPositionReady findNearestEnemy finishMissionInit finite fire fireAtTarget firstBackpack flag flagOwner fleeing floor flyInHeight fog fogForecast fogParams for forceAddUniform forceEnd forceMap forceRespawn forceSpeed forceWalk forceWeaponFire forceWeatherChange forEach forEachMember forEachMemberAgent forEachMemberTeam format formation formationDirection formationLeader formationMembers formationPosition formationTask formatText formLeader freeLook from fromEditor fuel fullCrew gearSlotAmmoCount gearSlotData getAmmoCargo getArray getArtilleryAmmo getArtilleryComputerSettings getArtilleryETA getAssignedCuratorLogic getAssignedCuratorUnit getBackpackCargo getBleedingRemaining getBurningValue getCargoIndex getCenterOfMass getChosenCont getClientState getConnectedUAV getDammage getDescription getDir getDirVisual getDLCs getEditorCamera getEditorMode getEditorObjectScope getElevationOffset getFatigue getFriend getFSMVariable getFuelCargo getGroupIcon getGroupIconParams getGroupIcons getHideFrom getHit getHitPointDamage getItemCargo getMagazineCargo getMarkerColor getMarkerPos getMarkerSize getMarkerType getMass getNumber getObjectArgument getObjectChildren getObjectDLC getObjectMaterials getObjectProxy getObjectTextures getOxygenRemaining getPersonUsedDLCs getPlayerUID getPos getPosASL getPosASLVisual getPosASLW getPosATL getPosATLVisual getPosVisual getPosWorld getRepairCargo getResolution getShadowDistance getSlingLoad getSpeed getTerrainHeightASL getText getVariable getWeaponCargo getWPPos glanceAt globalChat globalRadio goggles goto group groupChat groupFromNetId groupIconSelectable groupIconsVisible groupID groupRadio groupSelectedUnits groupSelectUnit grpNull gunner gusts halt handgunItems handgunMagazine handgunWeapon handsHit hasInterface hasWeapon hcAllGroups hcGroupParams hcLeader hcRemoveAllGroups hcRemoveGroup hcSelected hcSelectGroup hcSetGroup hcShowBar hcShownBar headgear hideBody hideObject hideObjectGlobal hint hintC hintC array hintC structuredText hintCadet hintSilent hmd hostMission htmlLoad HUDMovementLevels humidity if image importAllGroups importance in incapacitatedState independent inflame inflamed inGameUISetEventHandler inheritsFrom initAmbientLife inputAction inRangeOfArtillery insertEditorObject intersect isAbleToBreathe isAgent isArray isAutoHoverOn isAutonomous isAutotest isBleeding isBurning isClass isCollisionLightOn isCopilotEnabled isDedicated isDLCAvailable isEngineOn isEqualTo isFlashlightOn isFlatEmpty isForcedWalk isFormationLeader isHidden isInRemainsCollector isInstructorFigureEnabled isIRLaserOn isKeyActive isKindOf isLightOn isLocalized isManualFire isMarkedForCollection isMultiplayer isNil isNull isNumber isObjectRTD isOnRoad isPipEnabled isPlayer isRealTime isShowing3DIcons isSteamMission isStreamFriendlyUIEnabled isText isTouchingGround isTutHintsEnabled isUAVConnectable isUAVConnected isUniformAllowed isWalking itemCargo items itemsWithMagazines join joinAs joinAsSilent joinSilent kbAddDatabase kbAddDatabaseTargets kbAddTopic kbHasTopic kbReact kbRemoveTopic kbTell kbWasSaid keyImage keyName knowsAbout land landAt landResult language laserTarget lbAdd lbClear lbColor lbCurSel lbData lbDelete lbIsSelected lbPicture lbSelection lbSetColor lbSetCurSel lbSetData lbSetPicture lbSetSelected lbSetTooltip lbSetValue lbSize lbSort lbSortByValue lbText lbValue leader leaveVehicle libraryCredits libraryDisclaimers lifeState lightAttachObject lightDetachObject lightIsOn lightnings limitSpeed linearConversion lineBreak lineIntersects lineIntersectsObjs lineIntersectsWith linkItem list listObjects ln lnbAddArray lnbAddColumn lnbAddRow lnbClear lnbColor lnbCurSelRow lnbData lnbDeleteColumn lnbDeleteRow lnbGetColumnsPosition lnbPicture lnbSetColor lnbSetColumnsPos lnbSetCurSelRow lnbSetData lnbSetPicture lnbSetText lnbSetValue lnbSize lnbText lnbValue load loadAbs loadBackpack loadFile loadGame loadIdentity loadMagazine loadOverlay loadStatus loadUniform loadVest local localize locationNull locationPosition lock lockCameraTo lockCargo lockDriver locked lockedCargo lockedDriver lockedTurret lockTurret lockWP log logEntities lookAt lookAtPos magazineCargo magazines magazinesAmmo magazinesAmmoCargo magazinesAmmoFull magazinesDetail magazinesDetailBackpack magazinesDetailUniform magazinesDetailVest magazinesTurret magazineTurretAmmo mapAnimAdd mapAnimClear mapAnimCommit mapAnimDone mapCenterOnCamera mapGridPosition markAsFinishedOnSteam markerAlpha markerBrush markerColor markerDir markerPos markerShape markerSize markerText markerType max members min mineActive mineDetectedBy missionConfigFile missionName missionNamespace missionStart mod modelToWorld modelToWorldVisual moonIntensity morale move moveInAny moveInCargo moveInCommander moveInDriver moveInGunner moveInTurret moveObjectToEnd moveOut moveTime moveTo moveToCompleted moveToFailed musicVolume name name location nameSound nearEntities nearestBuilding nearestLocation nearestLocations nearestLocationWithDubbing nearestObject nearestObjects nearObjects nearObjectsReady nearRoads nearSupplies nearTargets needReload netId netObjNull newOverlay nextMenuItemIndex nextWeatherChange nil nMenuItems not numberToDate objectCurators objectFromNetId objNull objStatus onBriefingGroup onBriefingNotes onBriefingPlan onBriefingTeamSwitch onCommandModeChanged onDoubleClick onEachFrame onGroupIconClick onGroupIconOverEnter onGroupIconOverLeave onHCGroupSelectionChanged onMapSingleClick onPlayerConnected onPlayerDisconnected onPreloadFinished onPreloadStarted onShowNewObject onTeamSwitch openCuratorInterface openMap openYoutubeVideo opfor or orderGetIn overcast overcastForecast owner parseNumber parseText parsingNamespace particlesQuality pi pickWeaponPool pitch playableSlotsNumber playableUnits playAction playActionNow player playerRespawnTime playerSide playersNumber playGesture playMission playMove playMoveNow playMusic playScriptedMission playSound playSound3D position positionCameraToWorld posScreenToWorld posWorldToScreen ppEffectAdjust ppEffectCommit ppEffectCommitted ppEffectCreate ppEffectDestroy ppEffectEnable ppEffectForceInNVG precision preloadCamera preloadObject preloadSound preloadTitleObj preloadTitleRsc preprocessFile preprocessFileLineNumbers primaryWeapon primaryWeaponItems primaryWeaponMagazine priority private processDiaryLink productVersion profileName profileNamespace progressLoadingScreen progressPosition progressSetPosition publicVariable publicVariableClient publicVariableServer pushBack putWeaponPool queryItemsPool queryMagazinePool queryWeaponPool rad radioChannelAdd radioChannelCreate radioChannelRemove radioChannelSetCallSign radioChannelSetLabel radioVolume rain rainbow random rank rankId rating rectangular registeredTasks registerTask reload reloadEnabled remoteControl removeAction removeAllActions removeAllAssignedItems removeAllContainers removeAllCuratorAddons removeAllCuratorCameraAreas removeAllCuratorEditingAreas removeAllEventHandlers removeAllHandgunItems removeAllItems removeAllItemsWithMagazines removeAllMissionEventHandlers removeAllMPEventHandlers removeAllMusicEventHandlers removeAllPrimaryWeaponItems removeAllWeapons removeBackpack removeBackpackGlobal removeCuratorAddons removeCuratorCameraArea removeCuratorEditableObjects removeCuratorEditingArea removeDrawIcon removeDrawLinks removeEventHandler removeFromRemainsCollector removeGoggles removeGroupIcon removeHandgunItem removeHeadgear removeItem removeItemFromBackpack removeItemFromUniform removeItemFromVest removeItems removeMagazine removeMagazineGlobal removeMagazines removeMagazinesTurret removeMagazineTurret removeMenuItem removeMissionEventHandler R cont. removeMPEventHandler removeMusicEventHandler removePrimaryWeaponItem removeSecondaryWeaponItem removeSimpleTask removeSwitchableUnit removeTeamMember removeUniform removeVest removeWeapon removeWeaponGlobal removeWeaponTurret requiredVersion resetCamShake resetSubgroupDirection resistance resize resources respawnVehicle restartEditorCamera reveal revealMine reverse reversedMouseY roadsConnectedTo ropeAttachedObjects ropeAttachedTo ropeAttachEnabled ropeAttachTo ropeCreate ropeCut ropeEndPosition ropeLength ropes ropeUnwind ropeUnwound rotorsForcesRTD rotorsRpmRTD round runInitScript safeZoneH safeZoneW safeZoneWAbs safeZoneX safeZoneXAbs safeZoneY saveGame saveIdentity saveJoysticks saveOverlay saveProfileNamespace saveStatus saveVar savingEnabled say say2D say3D scopeName score scoreSide screenToWorld scriptDone scriptName scriptNull scudState secondaryWeapon secondaryWeaponItems secondaryWeaponMagazine select selectBestPlaces selectDiarySubject selectedEditorObjects selectEditorObject selectionPosition selectLeader selectNoPlayer selectPlayer selectWeapon selectWeaponTurret sendAUMessage sendSimpleCommand sendTask sendTaskResult sendUDPMessage serverCommand serverCommandAvailable serverCommandExecutable serverTime set setAccTime setAirportSide setAmmo setAmmoCargo setAperture setApertureNew setArmoryPoints setAttributes setAutonomous setBehaviour setBleedingRemaining setCameraInterest setCamShakeDefParams setCamShakeParams setCamUseTi setCaptive setCenterOfMass setCollisionLight setCombatMode setCompassOscillation setCuratorCameraAreaCeiling setCuratorCoef setCuratorEditingAreaType setCuratorWaypointCost setCurrentTask setCurrentWaypoint setDamage setDammage setDate setDebriefingText setDefaultCamera setDestination setDir setDirection setDrawIcon setDropInterval setEditorMode setEditorObjectScope setEffectCondition setFace setFaceAnimation setFatigue setFlagOwner setFlagSide setFlagTexture setFog setFog array setFormation setFormationTask setFormDir setFriend setFromEditor setFSMVariable setFuel setFuelCargo setGroupIcon setGroupIconParams setGroupIconsSelectable setGroupIconsVisible setGroupId setGusts setHideBehind setHit setHitPointDamage setHorizonParallaxCoef setHUDMovementLevels setIdentity setImportance setLeader setLightAmbient setLightAttenuation setLightBrightness setLightColor setLightDayLight setLightFlareMaxDistance setLightFlareSize setLightIntensity setLightnings setLightUseFlare setLocalWindParams setMagazineTurretAmmo setMarkerAlpha setMarkerAlphaLocal setMarkerBrush setMarkerBrushLocal setMarkerColor setMarkerColorLocal setMarkerDir setMarkerDirLocal setMarkerPos setMarkerPosLocal setMarkerShape setMarkerShapeLocal setMarkerSize setMarkerSizeLocal setMarkerText setMarkerTextLocal setMarkerType setMarkerTypeLocal setMass setMimic setMousePosition setMusicEffect setMusicEventHandler setName setNameSound setObjectArguments setObjectMaterial setObjectProxy setObjectTexture setObjectTextureGlobal setObjectViewDistance setOvercast setOwner setOxygenRemaining setParticleCircle setParticleClass setParticleFire setParticleParams setParticleRandom setPilotLight setPiPEffect setPitch setPlayable setPlayerRespawnTime setPos setPosASL setPosASL2 setPosASLW setPosATL setPosition setPosWorld setRadioMsg setRain setRainbow setRandomLip setRank setRectangular setRepairCargo setShadowDistance setSide setSimpleTaskDescription setSimpleTaskDestination setSimpleTaskTarget setSimulWeatherLayers setSize setSkill setSkill array setSlingLoad setSoundEffect setSpeaker setSpeech setSpeedMode setStatValue setSystemOfUnits setTargetAge setTaskResult setTaskState setTerrainGrid setText setTimeMultiplier setTitleEffect setTriggerActivation setTriggerArea setTriggerStatements setTriggerText setTriggerTimeout setTriggerType setType setUnconscious setUnitAbility setUnitPos setUnitPosWeak setUnitRank setUnitRecoilCoefficient setUnloadInCombat setUserActionText setVariable setVectorDir setVectorDirAndUp setVectorUp setVehicleAmmo setVehicleAmmoDef setVehicleArmor setVehicleId setVehicleLock setVehiclePosition setVehicleTiPars setVehicleVarName setVelocity setVelocityTransformation setViewDistance setVisibleIfTreeCollapsed setWaves setWaypointBehaviour setWaypointCombatMode setWaypointCompletionRadius setWaypointDescription setWaypointFormation setWaypointHousePosition setWaypointLoiterRadius setWaypointLoiterType setWaypointName setWaypointPosition setWaypointScript setWaypointSpeed setWaypointStatements setWaypointTimeout setWaypointType setWaypointVisible setWeaponReloadingTime setWind setWindDir setWindForce setWindStr setWPPos show3DIcons showChat showCinemaBorder showCommandingMenu showCompass showCuratorCompass showGPS showHUD showLegend showMap shownArtilleryComputer shownChat shownCompass shownCuratorCompass showNewEditorObject shownGPS shownMap shownPad shownRadio shownUAVFeed shownWarrant shownWatch showPad showRadio showSubtitles showUAVFeed showWarrant showWatch showWaypoint side sideChat sideEnemy sideFriendly sideLogic sideRadio sideUnknown simpleTasks simulationEnabled simulCloudDensity simulCloudOcclusion simulInClouds simulWeatherSync sin size sizeOf skill skillFinal skipTime sleep sliderPosition sliderRange sliderSetPosition sliderSetRange sliderSetSpeed sliderSpeed slingLoadAssistantShown soldierMagazines someAmmo soundVolume spawn speaker speed speedMode sqrt squadParams stance startLoadingScreen step stop stopped str sunOrMoon supportInfo suppressFor surfaceIsWater surfaceNormal surfaceType swimInDepth switch switchableUnits switchAction switchCamera switchGesture switchLight switchMove synchronizedObjects synchronizedTriggers synchronizedWaypoints synchronizeObjectsAdd synchronizeObjectsRemove synchronizeTrigger synchronizeWaypoint synchronizeWaypoint trigger systemChat systemOfUnits tan targetsAggregate targetsQuery taskChildren taskCompleted taskDescription taskDestination taskHint taskNull taskParent taskResult taskState teamMember teamMemberNull teamName teams teamSwitch teamSwitchEnabled teamType terminate terrainIntersect terrainIntersectASL text text location textLog textLogFormat tg then throw time timeMultiplier titleCut titleFadeOut titleObj titleRsc titleText to toArray toLower toString toUpper triggerActivated triggerActivation triggerArea triggerAttachedVehicle triggerAttachObject triggerAttachVehicle triggerStatements triggerText triggerTimeout triggerTimeoutCurrent triggerType true try turretLocal turretOwner turretUnit tvAdd tvClear tvCollapse tvCount tvCurSel tvData tvDelete tvExpand tvPicture tvSetCurSel tvSetData tvSetPicture tvSetValue tvSort tvSortByValue tvText tvValue type typeName typeOf UAVControl uiNamespace uiSleep unassignCurator unassignItem unassignTeam unassignVehicle underwater uniform uniformContainer uniformItems uniformMagazines unitAddons unitBackpack unitPos unitReady unitRecoilCoefficient units unitsBelowHeight unlinkItem unlockAchievement unregisterTask updateDrawIcon updateMenuItem updateObjectTree useAudioTimeForMoves vectorAdd vectorCos vectorCrossProduct vectorDiff vectorDir vectorDirVisual vectorDistance vectorDistanceSqr vectorDotProduct vectorFromTo vectorMagnitude vectorMagnitudeSqr vectorMultiply vectorNormalized vectorUp vectorUpVisual vehicle vehicleChat vehicleRadio vehicles vehicleVarName velocity velocityModelSpace verifySignature vest vestContainer vestItems vestMagazines viewDistance visibleCompass visibleGPS visibleMap visiblePosition visiblePositionASL visibleWatch waitUntil waves waypointAttachedObject waypointAttachedVehicle waypointAttachObject waypointAttachVehicle waypointBehaviour waypointCombatMode waypointCompletionRadius waypointDescription waypointFormation waypointHousePosition waypointLoiterRadius waypointLoiterType waypointName waypointPosition waypoints waypointScript waypointShow waypointSpeed waypointStatements waypointTimeout waypointTimeoutCurrent waypointType waypointVisible weaponAccessories weaponCargo weaponDirection weaponLowered weapons weaponsItems weaponsItemsCargo weaponState weaponsTurret weightRTD west WFSideText while wind windDir windStr with worldName worldToModel worldToModelVisual worldToScreen + BIS_fnc_3Dcredits BIS_fnc_AAN BIS_fnc_absSpeed BIS_fnc_activateAddons BIS_fnc_addClassOO BIS_fnc_addCommMenuItem BIS_fnc_addCuratorAreaFromTrigger BIS_fnc_addCuratorChallenge BIS_fnc_addCuratorIcon BIS_fnc_addEvidence BIS_fnc_addRespawnInventory BIS_fnc_addRespawnPosition BIS_fnc_addScore BIS_fnc_addScriptedEventHandler BIS_fnc_addStackedEventHandler BIS_fnc_addSupportLink BIS_fnc_addToPairs BIS_fnc_addVirtualBackpackCargo BIS_fnc_addVirtualItemCargo BIS_fnc_addVirtualMagazineCargo BIS_fnc_addVirtualWeaponCargo BIS_fnc_addWeapon BIS_fnc_advHint BIS_fnc_advHintArg BIS_fnc_advHintCall BIS_fnc_advHintCredits BIS_fnc_alignTabs BIS_fnc_allSynchronizedObjects BIS_fnc_ambientAnim BIS_fnc_ambientAnimCombat BIS_fnc_ambientAnimGetParams BIS_fnc_ambientBlacklist BIS_fnc_ambientBlacklistAdd BIS_fnc_ambientBoats BIS_fnc_ambientFlyby BIS_fnc_ambientHelicopters BIS_fnc_ambientPlanes BIS_fnc_ambientPostprocess BIS_fnc_animalBehaviour BIS_fnc_animalSiteSpawn BIS_fnc_animateTaskWaypoint BIS_fnc_animType BIS_fnc_animViewer BIS_fnc_areEqual BIS_fnc_areFriendly BIS_fnc_arithmeticMean BIS_fnc_arrayCompare BIS_fnc_arrayFindDeep BIS_fnc_arrayInsert BIS_fnc_arrayPop BIS_fnc_arrayPush BIS_fnc_arrayPushStack BIS_fnc_arrayShift BIS_fnc_arrayShuffle BIS_fnc_arrayUnShift BIS_fnc_arsenal BIS_fnc_assignPlayerRole BIS_fnc_baseWeapon BIS_fnc_basicBackpack BIS_fnc_basicTask BIS_fnc_blackIn BIS_fnc_blackOut BIS_fnc_bleedTickets BIS_fnc_bloodEffect BIS_fnc_boundingBoxCorner BIS_fnc_boundingBoxDimensions BIS_fnc_boundingBoxMarker BIS_fnc_boundingCircle BIS_fnc_briefingAnimate BIS_fnc_briefingInit BIS_fnc_buildingPositions BIS_fnc_call BIS_fnc_callScriptedEventHandler BIS_fnc_camera BIS_fnc_cameraOld BIS_fnc_camFollow BIS_fnc_changeSupportRadioChannel BIS_fnc_cinemaBorder BIS_fnc_classMagazine BIS_fnc_classWeapon BIS_fnc_codePerformance BIS_fnc_colorConfigToRGBA BIS_fnc_colorRGBAtoHTML BIS_fnc_colorRGBAtoTexture BIS_fnc_colorRGBtoHTML BIS_fnc_commsMenuCreate BIS_fnc_commsMenuToggleAvailability BIS_fnc_commsMenuToggleVisibility BIS_fnc_completedCuratorChallengesCount BIS_fnc_conditionalSelect BIS_fnc_configPath BIS_fnc_configviewer BIS_fnc_consolidateArray BIS_fnc_convertUnits BIS_fnc_countdown BIS_fnc_counter BIS_fnc_createLogRecord BIS_fnc_createmenu BIS_fnc_createObjectOO BIS_fnc_credits BIS_fnc_credits_movie BIS_fnc_credits_movieConfig BIS_fnc_credits_movieSupport BIS_fnc_crewCount BIS_fnc_crossProduct BIS_fnc_crows BIS_fnc_ctrlFitToTextHeight BIS_fnc_ctrlSetScale BIS_fnc_ctrlTextHeight BIS_fnc_curatorAttachObject BIS_fnc_curatorAttributes BIS_fnc_curatorAutomatic BIS_fnc_curatorAutomaticPositions BIS_fnc_curatorChallengeDestroyVehicle BIS_fnc_curatorChallengeFindIntel BIS_fnc_curatorChallengeFireWeapon BIS_fnc_curatorChallengeGetInVehicle BIS_fnc_curatorChallengeIlluminate BIS_fnc_curatorChallengeSpawnLightning BIS_fnc_curatorHint BIS_fnc_curatorObjectEdited BIS_fnc_curatorObjectPlaced BIS_fnc_curatorObjectRegistered BIS_fnc_curatorObjectRegisteredTable BIS_fnc_curatorPinged BIS_fnc_curatorRespawn BIS_fnc_curatorSayMessage BIS_fnc_curatorVisionModes BIS_fnc_curatorWaypointPlaced BIS_fnc_customGPS BIS_fnc_customGPSvideo BIS_fnc_customGPSVideo BIS_fnc_cutDecimals BIS_fnc_damageChanged BIS_fnc_damagePulsing BIS_fnc_dbClassCheck BIS_fnc_dbClassId BIS_fnc_dbClassIndex BIS_fnc_dbClassList BIS_fnc_dbClassRemove BIS_fnc_dbClassReturn BIS_fnc_dbClassSet BIS_fnc_dbConfigPath BIS_fnc_dbImportConfig BIS_fnc_dbImportXML BIS_fnc_dbisClass BIS_fnc_dbisValue BIS_fnc_dbPrint BIS_fnc_dbSymbolClass BIS_fnc_dbSymbolValue BIS_fnc_dbValueCheck BIS_fnc_dbValueId BIS_fnc_dbValueIndex BIS_fnc_dbValueList BIS_fnc_dbValueRemove BIS_fnc_dbValueReturn BIS_fnc_dbValueSet BIS_fnc_deleteInventory BIS_fnc_deleteTask BIS_fnc_destroyCity BIS_fnc_diagAAR BIS_fnc_diagAARrecord BIS_fnc_diagAnim BIS_fnc_diagBulletCam BIS_fnc_diagConfig BIS_fnc_diagFindMissingAuthors BIS_fnc_diagHit BIS_fnc_diagKey BIS_fnc_diagKeyLayout BIS_fnc_diagKeyTest BIS_fnc_diagKnownAsTarget BIS_fnc_diagKnownTargets BIS_fnc_diagLoop BIS_fnc_diagMacros BIS_fnc_diagMacrosAuthor BIS_fnc_diagMacrosMapSize BIS_fnc_diagMacrosNameSound BIS_fnc_diagMacrosVerify BIS_fnc_diagMissionPositions BIS_fnc_diagMissionWeapons BIS_fnc_diagPreview BIS_fnc_diagPreviewCycle BIS_fnc_diagPreviewVehicleCrew BIS_fnc_diagRadio BIS_fnc_diagVehicleIcons BIS_fnc_diagWiki BIS_fnc_diaryHints BIS_fnc_diaryMaps BIS_fnc_dirIndicator BIS_fnc_dirtEffect BIS_fnc_dirTo BIS_fnc_disableSaving BIS_fnc_displayClouds BIS_fnc_displayColorGet BIS_fnc_displayColorSet BIS_fnc_displayControls BIS_fnc_displayLoading BIS_fnc_displayMission BIS_fnc_displayName BIS_fnc_displayResize BIS_fnc_distance2D BIS_fnc_distance2Dsqr BIS_fnc_dotProduct BIS_fnc_drawAO BIS_fnc_drawCuratorDeaths BIS_fnc_drawCuratorLocations BIS_fnc_drawCuratorRespawnMarkers BIS_fnc_drawMinefields BIS_fnc_drawRespawnPositions BIS_fnc_dynamicText BIS_fnc_earthquake BIS_fnc_effectFired BIS_fnc_effectFiredArtillery BIS_fnc_effectFiredFlares BIS_fnc_effectFiredHeliRocket BIS_fnc_effectFiredLongSmoke BIS_fnc_effectFiredRifle BIS_fnc_effectFiredRocket BIS_fnc_effectFiredSmokeLauncher BIS_fnc_effectFiredSmokeLauncher_boat BIS_fnc_effectKilled BIS_fnc_effectKilledAirDestruction BIS_fnc_effectKilledAirDestructionStage2 BIS_fnc_effectKilledSecondaries BIS_fnc_effectPlankton BIS_fnc_enableSaving BIS_fnc_endLoadingScreen BIS_fnc_endMission BIS_fnc_endMissionServer BIS_fnc_enemyDetected BIS_fnc_enemySides BIS_fnc_enemyTargets BIS_fnc_error BIS_fnc_errorMsg BIS_fnc_establishingShot BIS_fnc_estimatedTimeLeft BIS_fnc_execFSM BIS_fnc_execRemote BIS_fnc_executeStackedEventHandler BIS_fnc_execVM BIS_fnc_exportCfgGroups BIS_fnc_exportCfgHints BIS_fnc_exportCfgMagazines BIS_fnc_exportCfgPatches BIS_fnc_exportCfgVehicles BIS_fnc_exportCfgWeapons BIS_fnc_exportCuratorCostTable BIS_fnc_exportFunctionsToWiki BIS_fnc_exportGroupFormations BIS_fnc_exportInventory BIS_fnc_exportMapToBiTXT BIS_fnc_fadeEffect BIS_fnc_fatigueEffect BIS_fnc_feedbackInit BIS_fnc_feedbackMain BIS_fnc_filterString BIS_fnc_findExtreme BIS_fnc_findInPairs BIS_fnc_findNestedElement BIS_fnc_findOverwatch BIS_fnc_findSafePos BIS_fnc_finishCuratorChallenge BIS_fnc_fixDate BIS_fnc_flamesEffect BIS_fnc_flies BIS_fnc_forceCuratorInterface BIS_fnc_forceEnd BIS_fnc_formatCuratorChallengeObjects BIS_fnc_fps BIS_fnc_friendlySides BIS_fnc_FTLmanager BIS_fnc_functionMeta BIS_fnc_functionPath BIS_fnc_functionsDebug BIS_fnc_GC BIS_fnc_GCinit BIS_fnc_genericSentence BIS_fnc_genericSentenceInit BIS_fnc_geometricMean BIS_fnc_getCfgData BIS_fnc_getCfgDataArray BIS_fnc_getCfgDataBool BIS_fnc_getCfgDataObject BIS_fnc_getCfgDataPool BIS_fnc_getCfgIsClass BIS_fnc_getCfgSubClasses BIS_fnc_getFactions BIS_fnc_getFromPairs BIS_fnc_getIDC BIS_fnc_getIDD BIS_fnc_getLineDist BIS_fnc_getParamValue BIS_fnc_getPitchBank G_cont. BIS_fnc_getRespawnInventories BIS_fnc_getRespawnMarkers BIS_fnc_getRespawnPositions BIS_fnc_getServerVariable BIS_fnc_getTurrets BIS_fnc_getUnitByUid BIS_fnc_getUnitInsignia BIS_fnc_getVirtualBackpackCargo BIS_fnc_getVirtualItemCargo BIS_fnc_getVirtualMagazineCargo BIS_fnc_getVirtualWeaponCargo BIS_fnc_greatestNum BIS_fnc_groupIndicator BIS_fnc_groupVehicles BIS_fnc_GUIbackground BIS_fnc_GUIeditor BIS_fnc_guiEffectTiles BIS_fnc_GUIgrid BIS_fnc_GUIgridToProfile BIS_fnc_GUIhint BIS_fnc_guiMessage BIS_fnc_GUImessage BIS_fnc_GUInewsfeed BIS_fnc_halo BIS_fnc_halt BIS_fnc_healing BIS_fnc_healthEffects BIS_fnc_helicopterCanFly BIS_fnc_helicopterDamage BIS_fnc_helicopterGetHitpoints BIS_fnc_helicopterSeat BIS_fnc_helicopterSeatMove BIS_fnc_helicopterType BIS_fnc_help BIS_fnc_HUDLimits BIS_fnc_importImageLinks BIS_fnc_inAngleSector BIS_fnc_incapacitatedEffect BIS_fnc_indicateBleeding BIS_fnc_infoText BIS_fnc_initCuratorAttribute BIS_fnc_initExpo BIS_fnc_initIntelObject BIS_fnc_initModules BIS_fnc_initMultiplayer BIS_fnc_initParams BIS_fnc_initPlayable BIS_fnc_initRespawn BIS_fnc_initRespawnBackpack BIS_fnc_initVirtualUnit BIS_fnc_inString BIS_fnc_InstructorFigure BIS_fnc_interpolateWeather BIS_fnc_inTrigger BIS_fnc_inv BIS_fnc_invAdd BIS_fnc_invCodeToArray BIS_fnc_invRemove BIS_fnc_invSlots BIS_fnc_invSlotsEmpty BIS_fnc_invSlotType BIS_fnc_invString BIS_fnc_isBuildingEnterable BIS_fnc_isCampaign BIS_fnc_isCurator BIS_fnc_isCuratorEditable BIS_fnc_isDemo BIS_fnc_isForcedCuratorInterface BIS_fnc_isInFrontOf BIS_fnc_isInsideArea BIS_fnc_isInZoom BIS_fnc_isLeapYear BIS_fnc_isLoading BIS_fnc_isLocalized BIS_fnc_isPosBlacklisted BIS_fnc_isUnitVirtual BIS_fnc_itemType BIS_fnc_jukebox BIS_fnc_kbCanSpeak BIS_fnc_kbCreateDummy BIS_fnc_kbIsSpeaking BIS_fnc_kbMenu BIS_fnc_kbPriority BIS_fnc_kbSentence BIS_fnc_kbSkip BIS_fnc_kbTell BIS_fnc_kbTellLocal BIS_fnc_kbTopicConfig BIS_fnc_keyCode BIS_fnc_keypointsExport BIS_fnc_keypointsExportFromKML BIS_fnc_KMLimport BIS_fnc_limitSupport BIS_fnc_linearConversion BIS_fnc_listCuratorPlayers BIS_fnc_listPlayers BIS_fnc_liveFeed BIS_fnc_liveFeedEffects BIS_fnc_liveFeedModuleEffects BIS_fnc_liveFeedModuleInit BIS_fnc_liveFeedModuleSetSource BIS_fnc_liveFeedModuleSetTarget BIS_fnc_liveFeedSetSource BIS_fnc_liveFeedSetTarget BIS_fnc_liveFeedTerminate BIS_fnc_loadClass BIS_fnc_loadEntry BIS_fnc_loadFunctions BIS_fnc_loadInventory BIS_fnc_localize BIS_fnc_locationDescription BIS_fnc_locations BIS_fnc_locWeaponInfo BIS_fnc_log BIS_fnc_logFormat BIS_fnc_loop BIS_fnc_lowestNum BIS_fnc_magnitude BIS_fnc_magnitudeSqr BIS_fnc_manageCuratorAddons BIS_fnc_manageCuratorChallenges BIS_fnc_mapSize BIS_fnc_markerCreate BIS_fnc_markerParams BIS_fnc_markerPath BIS_fnc_markerToTrigger BIS_fnc_markWaypoints BIS_fnc_maxDiffArray BIS_fnc_mirrorCuratorSettings BIS_fnc_miscanim BIS_fnc_missileLaunchPositionFix BIS_fnc_missionConversations BIS_fnc_missionConversationsLocal BIS_fnc_missionFlow BIS_fnc_missionHandlers BIS_fnc_missionRespawnType BIS_fnc_missionTasks BIS_fnc_missionTasksLocal BIS_fnc_missionTimeLeft BIS_fnc_moduleAI BIS_fnc_moduleAmmo BIS_fnc_moduleAnimals BIS_fnc_moduleArsenal BIS_fnc_moduleBleedTickets BIS_fnc_moduleBootcampStage BIS_fnc_moduleCAS BIS_fnc_moduleChat BIS_fnc_moduleCombatGetIn BIS_fnc_moduleCountdown BIS_fnc_moduleCoverMap BIS_fnc_moduleCreateDiaryRecord BIS_fnc_moduleCreateProjectile BIS_fnc_moduleCurator BIS_fnc_moduleCuratorAddAddons BIS_fnc_moduleCuratorAddCameraArea BIS_fnc_moduleCuratorAddEditableObjects BIS_fnc_moduleCuratorAddEditingArea BIS_fnc_moduleCuratorAddEditingAreaPlayers BIS_fnc_moduleCuratorAddIcon BIS_fnc_moduleCuratorAddPoints BIS_fnc_moduleCuratorSetAttributes BIS_fnc_moduleCuratorSetCamera BIS_fnc_moduleCuratorSetCoefs BIS_fnc_moduleCuratorSetCostsDefault BIS_fnc_moduleCuratorSetCostsSide BIS_fnc_moduleCuratorSetCostsVehicleClass BIS_fnc_moduleCuratorSetEditingAreaType BIS_fnc_moduleCuratorSetObjectCost BIS_fnc_moduleDamage BIS_fnc_moduleDate BIS_fnc_moduleDiary BIS_fnc_moduleDoorOpen BIS_fnc_moduleEffectsBubbles BIS_fnc_moduleEffectsEmitterCreator BIS_fnc_moduleEffectsFire BIS_fnc_moduleEffectsPlankton BIS_fnc_moduleEffectsShells BIS_fnc_moduleEffectsSmoke BIS_fnc_moduleEndMission BIS_fnc_moduleExecute BIS_fnc_moduleFDCPClear BIS_fnc_moduleFDCPIn BIS_fnc_moduleFDCPOut BIS_fnc_moduleFDFadeMarker BIS_fnc_moduleFDSkeetDestruction BIS_fnc_moduleFDStatsClear BIS_fnc_moduleFiringDrill BIS_fnc_moduleFriendlyFire BIS_fnc_moduleFuel BIS_fnc_moduleGenericRadio BIS_fnc_moduleGroupID BIS_fnc_moduleHandle BIS_fnc_moduleHealth BIS_fnc_moduleHint BIS_fnc_moduleHQ BIS_fnc_moduleInit BIS_fnc_moduleLightning BIS_fnc_moduleMine BIS_fnc_moduleMissionName BIS_fnc_moduleMode BIS_fnc_moduleModules BIS_fnc_moduleMPTypeDefense BIS_fnc_moduleMPTypeGameMaster BIS_fnc_moduleMPTypeSectorControl BIS_fnc_moduleMPTypeSeize BIS_fnc_moduleObjective BIS_fnc_moduleObjectiveFind BIS_fnc_moduleObjectiveGetIn BIS_fnc_moduleObjectiveMove BIS_fnc_moduleObjectiveRaceCP BIS_fnc_moduleObjectiveRaceFinish BIS_fnc_moduleObjectiveRaceStart BIS_fnc_moduleObjectiveSector BIS_fnc_moduleObjectiveTarget BIS_fnc_modulePositioning BIS_fnc_modulePoster BIS_fnc_modulePostprocess BIS_fnc_moduleProjectile BIS_fnc_modulePunishment BIS_fnc_moduleRadioChannelCreate BIS_fnc_moduleRank BIS_fnc_moduleRating BIS_fnc_moduleRemoteControl BIS_fnc_moduleRespawnInventory BIS_fnc_moduleRespawnPosition BIS_fnc_moduleRespawnTickets BIS_fnc_moduleRespawnVehicle BIS_fnc_moduleSaveGame BIS_fnc_moduleSector BIS_fnc_moduleSFX BIS_fnc_moduleShowHide BIS_fnc_moduleSimulationManager BIS_fnc_moduleSkill BIS_fnc_moduleSkiptime BIS_fnc_moduleSound BIS_fnc_moduleStrategicMapImage BIS_fnc_moduleStrategicMapInit BIS_fnc_moduleStrategicMapMission BIS_fnc_moduleStrategicMapOpen BIS_fnc_moduleStrategicMapORBAT BIS_fnc_moduleTaskCreate BIS_fnc_moduleTaskSetDescription BIS_fnc_moduleTaskSetDestination BIS_fnc_moduleTaskSetState BIS_fnc_moduleTimeTrial BIS_fnc_moduleTracers BIS_fnc_moduleTrident BIS_fnc_moduleTriggers BIS_fnc_moduleTTCPClear BIS_fnc_moduleTTCPIn BIS_fnc_moduleTTCPOut BIS_fnc_moduleTTCPTrigger BIS_fnc_moduleTTCPTriggerBehind BIS_fnc_moduleTTStatsClear BIS_fnc_moduleUnits BIS_fnc_moduleUnlockArea BIS_fnc_moduleUnlockObject BIS_fnc_moduleVolume BIS_fnc_moduleWeather BIS_fnc_moduleZoneProtection BIS_fnc_moduleZoneRestriction BIS_fnc_monthDays BIS_fnc_moveAction BIS_fnc_moveIn BIS_fnc_moveToRespawnPosition BIS_fnc_MP BIS_fnc_MPexec BIS_fnc_music BIS_fnc_nearestHelipad BIS_fnc_nearestNum BIS_fnc_nearestPosition BIS_fnc_nearestRoad BIS_fnc_neutralizeUnit BIS_fnc_noFlyZone BIS_fnc_noFlyZonesCreate BIS_fnc_noFlyZonesExport BIS_fnc_numberDigits BIS_fnc_numberText BIS_fnc_objectHeight BIS_fnc_ObjectsGrabber BIS_fnc_objectSide BIS_fnc_ObjectsMapper BIS_fnc_objectType BIS_fnc_objectVar BIS_fnc_onDiaryChanged BIS_fnc_onEnd BIS_fnc_onLoad BIS_fnc_onPlayerConnected BIS_fnc_ORBATAddGroupOverlay BIS_fnc_ORBATAnimate BIS_fnc_ORBATConfigPreview BIS_fnc_ORBATGetGroupParams BIS_fnc_ORBATOpen O_cont. BIS_fnc_ORBATRemoveGroupOverlay BIS_fnc_ORBATSetGroupFade BIS_fnc_ORBATSetGroupParams BIS_fnc_ORBATTooltip BIS_fnc_ordinalNumber BIS_fnc_overviewAuthor BIS_fnc_overviewDifficulty BIS_fnc_overviewMission BIS_fnc_overviewTerrain BIS_fnc_overviewTimeTrial BIS_fnc_packStaticWeapon BIS_fnc_param BIS_fnc_paramCountdown BIS_fnc_paramDaytime BIS_fnc_paramGuerFriendly BIS_fnc_paramIn BIS_fnc_paramRespawnTickets BIS_fnc_paramWeather BIS_fnc_parseNumber BIS_fnc_phoneticalWord BIS_fnc_PIP BIS_fnc_playEndMusic BIS_fnc_playerName BIS_fnc_playerSideFaction BIS_fnc_playMusic BIS_fnc_playSound BIS_fnc_playVideo BIS_fnc_posDegtoUTM BIS_fnc_posDegToWorld BIS_fnc_position BIS_fnc_PosToGrid BIS_fnc_posUTMToDeg BIS_fnc_preload BIS_fnc_prepareAO BIS_fnc_progressLoadingScreen BIS_fnc_quotations BIS_fnc_radialRed BIS_fnc_radialRedOut BIS_fnc_radioSetChannel BIS_fnc_radioSetPlaylist BIS_fnc_radioSetTrack BIS_fnc_randomIndex BIS_fnc_randomInt BIS_fnc_randomNum BIS_fnc_randomPos BIS_fnc_randomPosTrigger BIS_fnc_rankParams BIS_fnc_recompile BIS_fnc_refreshCommMenu BIS_fnc_registerCuratorObject BIS_fnc_relativeDirTo BIS_fnc_relPos BIS_fnc_relPosObject BIS_fnc_relScaledDist BIS_fnc_removeAllScriptedEventHandlers BIS_fnc_removeCommMenuItem BIS_fnc_removeCuratorIcon BIS_fnc_removeDestroyedCuratorEditableObjects BIS_fnc_removeFromPairs BIS_fnc_removeIndex BIS_fnc_removeNestedElement BIS_fnc_removeRespawnInventory BIS_fnc_removeRespawnPosition BIS_fnc_removeScriptedEventHandler BIS_fnc_removeStackedEventHandler BIS_fnc_removeSupportLink BIS_fnc_removeVirtualBackpackCargo BIS_fnc_removeVirtualItemCargo BIS_fnc_removeVirtualMagazineCargo BIS_fnc_removeVirtualWeaponCargo BIS_fnc_respawnBase BIS_fnc_respawnConfirm BIS_fnc_respawnCounter BIS_fnc_respawnEndMission BIS_fnc_respawnGroup BIS_fnc_respawnInstant BIS_fnc_RespawnManager BIS_fnc_respawnMenuInventory BIS_fnc_respawnMenuPosition BIS_fnc_respawnMenuSpectator BIS_fnc_respawnNone BIS_fnc_respawnRounds BIS_fnc_respawnSeagull BIS_fnc_respawnSide BIS_fnc_respawnSpectator BIS_fnc_respawnTickets BIS_fnc_respawnTimePenalty BIS_fnc_respawnWave BIS_fnc_respect BIS_fnc_returnChildren BIS_fnc_returnConfigEntry BIS_fnc_returnGroupComposition BIS_fnc_returnNestedElement BIS_fnc_returnParents BIS_fnc_returnVehicleTurrets BIS_fnc_romanNumeral BIS_fnc_rotateVector2D BIS_fnc_roundDir BIS_fnc_roundNum BIS_fnc_rscLayer BIS_fnc_runLater BIS_fnc_sandstorm BIS_fnc_saveGame BIS_fnc_saveInventory BIS_fnc_sayMessage BIS_fnc_sceneAreaClearance BIS_fnc_sceneCheckWeapons BIS_fnc_sceneCreateSceneTrigger BIS_fnc_sceneCreateSoundEntities BIS_fnc_sceneGetObjects BIS_fnc_sceneGetParticipants BIS_fnc_sceneGetPositionByAngle BIS_fnc_sceneIntruderDetector BIS_fnc_sceneMiscStuff BIS_fnc_sceneRotate BIS_fnc_sceneSetAnimationsForGroup BIS_fnc_sceneSetBehaviour BIS_fnc_sceneSetObjects BIS_fnc_sceneSetPosFormation BIS_fnc_scriptedMove BIS_fnc_scriptedWaypointType BIS_fnc_secondsToString BIS_fnc_selectCrew BIS_fnc_selectDiarySubject BIS_fnc_selectRandom BIS_fnc_selectRandomWeighted BIS_fnc_selectRespawnTemplate BIS_fnc_setCuratorAttributes BIS_fnc_setCuratorCamera BIS_fnc_setCuratorVisionModes BIS_fnc_setDate BIS_fnc_setFog BIS_fnc_setHeight BIS_fnc_setIDCStreamFriendly BIS_fnc_setNestedElement BIS_fnc_setObjectTexture BIS_fnc_setOvercast BIS_fnc_setPitchBank BIS_fnc_setPPeffectTemplate BIS_fnc_setRank BIS_fnc_setRespawnDelay BIS_fnc_setRespawnInventory BIS_fnc_setServerVariable BIS_fnc_setTask BIS_fnc_setTaskLocal BIS_fnc_setToPairs BIS_fnc_setUnitInsignia BIS_fnc_shakeCuratorCamera BIS_fnc_shakeGauges BIS_fnc_showCuratorAttributes BIS_fnc_showCuratorFeedbackMessage BIS_fnc_showMarkers BIS_fnc_showNotification BIS_fnc_showRespawnMenu BIS_fnc_showTime BIS_fnc_showUnitInfo BIS_fnc_shutdown BIS_fnc_sideColor BIS_fnc_sideID BIS_fnc_sideName BIS_fnc_sideType BIS_fnc_singleMissionConfig BIS_fnc_singleMissionKeys BIS_fnc_singleMissionName BIS_fnc_skirmishTrigger BIS_fnc_sortAlphabetically BIS_fnc_objectsGrabber BIS_fnc_sortBy BIS_fnc_sortNum BIS_fnc_spawn BIS_fnc_spawnCrew BIS_fnc_spawnEnemy BIS_fnc_spawnGroup BIS_fnc_spawnObjects BIS_fnc_spawnVehicle BIS_fnc_splitString BIS_fnc_spotter BIS_fnc_startLoadingScreen BIS_fnc_StrategicMapAnimate BIS_fnc_StrategicMapMouseButtonClick BIS_fnc_StrategicMapOpen BIS_fnc_subClasses BIS_fnc_subSelect BIS_fnc_supplydrop BIS_fnc_supplydropService BIS_fnc_swapVars BIS_fnc_target BIS_fnc_taskAttack BIS_fnc_taskChildren BIS_fnc_taskCompleted BIS_fnc_taskCreate BIS_fnc_taskCurrent BIS_fnc_taskDefend BIS_fnc_taskDescription BIS_fnc_taskDestination BIS_fnc_taskExists BIS_fnc_taskHandler BIS_fnc_taskHint BIS_fnc_taskParent BIS_fnc_taskPatrol BIS_fnc_taskReal BIS_fnc_taskSetCurrent BIS_fnc_taskSetDescription BIS_fnc_taskSetDestination BIS_fnc_taskSetState BIS_fnc_taskState BIS_fnc_tasksUnit BIS_fnc_taskVar BIS_fnc_teamColor BIS_fnc_terrainGradAngle BIS_fnc_textTiles BIS_fnc_textureMarker BIS_fnc_textureVehicleIcon BIS_fnc_threat BIS_fnc_timeToString BIS_fnc_titlecard BIS_fnc_titleText BIS_fnc_toggleCuratorVisionMode BIS_fnc_toUpperDisplayTexts BIS_fnc_traceBullets BIS_fnc_trackMissionTime BIS_fnc_transportService BIS_fnc_tridentClient BIS_fnc_tridentExecute BIS_fnc_tridentGetRelationship BIS_fnc_tridentHandleDamage BIS_fnc_tridentSetRelationship BIS_fnc_triggerToMarker BIS_fnc_trimString BIS_fnc_typeText BIS_fnc_typeText2 BIS_fnc_uniqueClasses BIS_fnc_unitAddon BIS_fnc_UnitCapture BIS_fnc_UnitCaptureFiring BIS_fnc_UnitCaptureSimple BIS_fnc_UnitPlay BIS_fnc_UnitPlayFiring BIS_fnc_UnitPlaySimple BIS_fnc_unitVector BIS_fnc_unpackStaticWeapon BIS_fnc_updatePlayerArray BIS_fnc_validateParametersOO BIS_fnc_variableSpaceAdd BIS_fnc_variableSpaceRemove BIS_fnc_vectorAdd BIS_fnc_vectorDiff BIS_fnc_vectorFromXToY BIS_fnc_vectorMultiply BIS_fnc_vehicleRoles BIS_fnc_version BIS_fnc_VRCourseBallistics1 BIS_fnc_VRCourseBallistics2 BIS_fnc_VRCourseBallistics3 BIS_fnc_VRCourseBallistics4 BIS_fnc_VRCourseCommandingActions1 BIS_fnc_VRCourseCommandingActions2 BIS_fnc_VRCourseCommandingActions3 BIS_fnc_VRCourseCommandingBehaviour1 BIS_fnc_VRCourseCommandingBehaviour2 BIS_fnc_VRCourseCommandingBehaviour3 BIS_fnc_VRCourseCommandingMovement1 BIS_fnc_VRCourseCommandingMovement2 BIS_fnc_VRCourseCommandingVehicles1 BIS_fnc_VRCourseCommandingVehicles2 BIS_fnc_VRCourseCommandingVehicles3 BIS_fnc_VRCourseLaunchers1 BIS_fnc_VRCourseLaunchers2 BIS_fnc_VRCourseLaunchers3 BIS_fnc_VRCoursePlaceables1 BIS_fnc_VRCoursePlaceables2 BIS_fnc_VRCoursePlaceables3 BIS_fnc_VRCourseTargetDesignation1 BIS_fnc_VRCourseTargetDesignation2 BIS_fnc_VRCourseTargetDesignation3 BIS_fnc_VRDrawBorder BIS_fnc_VRDrawGrid BIS_fnc_VREffectKilled BIS_fnc_VRFadeIn BIS_fnc_VRFadeOut BIS_fnc_VRSpawnEffect BIS_fnc_VRSpawnSelector BIS_fnc_VRTimer BIS_fnc_weaponAddon BIS_fnc_weaponComponents BIS_fnc_worldArea BIS_fnc_wpArtillery BIS_fnc_wpLand BIS_fnc_wpPatrol BIS_fnc_wpRelax BIS_fnc_wpSuppress BIS_fnc_zzRotate + true false player _x _forEachIndex + blufor west opfor east indfor independent resistance civilian + _ + #define #undef #ifdef #else #endif #include + GVAR QGVAR EGVAR QEGVAR FUNC EFUNC DFUNC DEFUNC QFUNC QEFUNC CALLSTACK CALLSTACK_NAMED QUOTE PATHTOF PREP PREPMAIN FUNC_INNER DISPLAY CONTROL + 00" 00' 01 02" 02' 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tools/rename_fn.py b/tools/rename_fn.py new file mode 100644 index 0000000000..a6ebfa5056 --- /dev/null +++ b/tools/rename_fn.py @@ -0,0 +1,13 @@ +import os + +for root, dirs, files in os.walk(os.getcwd()): + for filename in files: + oldname = filename + newname = filename.replace('fn_', 'fnc_') + + print os.path.join(root,oldname) + print newname + if newname != oldname: + print os.path.join(root,oldname) + print oldname + ' -> ' + newname + os.rename(os.path.join(root,oldname), os.path.join(root,newname)) \ No newline at end of file