From e02e058ecb549733e7e3366fb2d06e836b9eb9e2 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Mon, 12 Jan 2015 11:02:44 +0100 Subject: [PATCH 01/50] First port of AGM_FireControlSystem -> ace_fcs Untested --- TO_MERGE/agm/FireControlSystem/Optics.hpp | 257 ----- TO_MERGE/agm/FireControlSystem/clientInit.sqf | 3 - TO_MERGE/agm/FireControlSystem/config.cpp | 899 ------------------ .../functions/fn_canUseFCS.sqf | 14 - .../functions/fn_getImpactPoint.sqf | 36 - .../FireControlSystem/functions/fn_reset.sqf | 22 - addons/fcs/Optics.hpp | 254 +++++ addons/fcs/XEH_clientInit.sqf | 5 + addons/fcs/XEH_preInit.sqf | 12 + addons/fcs/config.cpp | 385 ++++++++ .../fcs/functions/fnc_adjustRange.sqf | 12 +- addons/fcs/functions/fnc_canUseFCS.sqf | 17 + .../fcs/functions/fnc_canUseRangefinder.sqf | 8 +- .../fcs/functions/fnc_firedEH.sqf | 17 +- .../fcs/functions/fnc_getAngle.sqf | 9 +- .../fcs/functions/fnc_getRange.sqf | 10 +- .../fcs/functions/fnc_keyDown.sqf | 10 +- .../fcs/functions/fnc_keyUp.sqf | 48 +- addons/fcs/functions/fnc_reset.sqf | 24 + .../fcs/functions/fnc_vehicleInit.sqf | 18 +- addons/fcs/script_component.hpp | 12 + .../fcs}/stringtable.xml | 18 +- 22 files changed, 791 insertions(+), 1299 deletions(-) delete mode 100644 TO_MERGE/agm/FireControlSystem/Optics.hpp delete mode 100644 TO_MERGE/agm/FireControlSystem/clientInit.sqf delete mode 100644 TO_MERGE/agm/FireControlSystem/config.cpp delete mode 100644 TO_MERGE/agm/FireControlSystem/functions/fn_canUseFCS.sqf delete mode 100644 TO_MERGE/agm/FireControlSystem/functions/fn_getImpactPoint.sqf delete mode 100644 TO_MERGE/agm/FireControlSystem/functions/fn_reset.sqf create mode 100644 addons/fcs/Optics.hpp create mode 100644 addons/fcs/XEH_clientInit.sqf create mode 100644 addons/fcs/XEH_preInit.sqf create mode 100644 addons/fcs/config.cpp rename TO_MERGE/agm/FireControlSystem/functions/fn_adjustRange.sqf => addons/fcs/functions/fnc_adjustRange.sqf (74%) create mode 100644 addons/fcs/functions/fnc_canUseFCS.sqf rename TO_MERGE/agm/FireControlSystem/functions/fn_canUseRangefinder.sqf => addons/fcs/functions/fnc_canUseRangefinder.sqf (68%) rename TO_MERGE/agm/FireControlSystem/functions/fn_firedEH.sqf => addons/fcs/functions/fnc_firedEH.sqf (68%) rename TO_MERGE/agm/FireControlSystem/functions/fn_getAngle.sqf => addons/fcs/functions/fnc_getAngle.sqf (91%) rename TO_MERGE/agm/FireControlSystem/functions/fn_getRange.sqf => addons/fcs/functions/fnc_getRange.sqf (75%) rename TO_MERGE/agm/FireControlSystem/functions/fn_keyDown.sqf => addons/fcs/functions/fnc_keyDown.sqf (79%) rename TO_MERGE/agm/FireControlSystem/functions/fn_keyUp.sqf => addons/fcs/functions/fnc_keyUp.sqf (80%) create mode 100644 addons/fcs/functions/fnc_reset.sqf rename TO_MERGE/agm/FireControlSystem/functions/fn_vehicleInit.sqf => addons/fcs/functions/fnc_vehicleInit.sqf (63%) create mode 100644 addons/fcs/script_component.hpp rename {TO_MERGE/agm/FireControlSystem => addons/fcs}/stringtable.xml (89%) 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/addons/fcs/Optics.hpp b/addons/fcs/Optics.hpp new file mode 100644 index 0000000000..a5af4d175d --- /dev/null +++ b/addons/fcs/Optics.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..4409feb4d5 --- /dev/null +++ b/addons/fcs/XEH_clientInit.sqf @@ -0,0 +1,5 @@ +#include "script_component.hpp" + +GVAR(enabled) = True; +GVAR(time) = True; +GVAR(position) = True; diff --git a/addons/fcs/XEH_preInit.sqf b/addons/fcs/XEH_preInit.sqf new file mode 100644 index 0000000000..c9726ac36b --- /dev/null +++ b/addons/fcs/XEH_preInit.sqf @@ -0,0 +1,12 @@ +#include "script_component.hpp" + +PREPF(adjustRange) +PREPF(canUseFCS) +PREPF(canUseRangefinder) +PREPF(firedEH) +PREPF(getAngle) +PREPF(getRange) +PREPF(keyDown) +PREPF(keyUp) +PREPF(reset) +PREPF(vehicleInit) diff --git a/addons/fcs/config.cpp b/addons/fcs/config.cpp new file mode 100644 index 0000000000..88ab47e156 --- /dev/null +++ b/addons/fcs/config.cpp @@ -0,0 +1,385 @@ +#include "script_component.hpp" + +class CfgPatches { + class ADDON { + units[] = {}; + weapons[] = {}; + requiredVersion = 0.60; + requiredAddons[] = {ace_core, ace_interaction}; + version = "1.0"; + versionStr = "1.0"; + versionAr[] = {1,0,0}; + author[] = {"KoffeinFlummi","BadGuy (simon84)"}; + authorUrl = "https://github.com/KoffeinFlummi/"; + }; +}; + +class Extended_PostInit_EventHandlers { + class ADDON { + clientInit = QUOTE(call compile preprocessFileLineNumbers PATHTOF(XEH_clientInit.sqf)); + }; +}; + +class Extended_Init_EventHandlers { + class AllVehicles { + class ADDON { + clientInit = QUOTE(_this call FUNC(vehicleInit)); + }; + }; +}; + +class EGVAR(Core, Default_Keys) { + class laseTarget { + displayName = $STR_ACE_FireControlSystem_LaseTarget; + condition = QUOTE(call FUNC(canUseRangefinder) || FUNC(canUseFCS)); + statement = QUOTE(_range = call FUNC(getRange); if (call FUNC(canUseFCS)) then {[_vehicle, _range] call FUNC(keyDown)};); + conditionUp = QUOTE(GVAR(enabled) && FUNC(canUseFCS)); + statementUp = QUOTE(_range = call FUNC(getRange); if (GVAR(enabled) && FUNC(canUseFCS)) then {[_vehicle, _range] call FUNC(keyUp)};); + key = 15; + shift = 0; + control = 0; + alt = 0; + }; + class adjustRangeUp { + displayName = $STR_ACE_FireControlSystem_AdjustRangeUp; + condition = QUOTE(ACE_player == gunner _vehicle && {getNumber (configFile >> 'CfgVehicles' >> (typeOf _vehicle) >> QGVAR(Enabled)) == 1}); + statement = QUOTE([_vehicle, 50] call FUNC(adjustRange)); + key = 201; + shift = 0; + control = 0; + alt = 0; + allowHolding = 1; + }; + class adjustRangeDown: adjustRangeUp { + displayName = $STR_ACE_FireControlSystem_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_AGM_FireControlSystem_ResetFCS; + enableInside = 1; + condition = QUOTE((count (_vehicle getVariable [QGVAR(Magazines), []]) > 1) and (_player == gunner _vehicle)); + 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_AGM_FireControlSystem_ResetFCS; + enableInside = 1; + condition = QUOTE((count (_vehicle getVariable [QGVAR(Magazines), []]) > 1) and (_player == gunner _vehicle)); + 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_AGM_FireControlSystem_ResetFCS; + enableInside = 1; + condition = QUOTE((count (_vehicle getVariable [QGVAR(Magazines), []]) > 1) and (_player == gunner _vehicle)); + 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_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..c8b5649f6a 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(core, 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 79% rename from TO_MERGE/agm/FireControlSystem/functions/fn_keyDown.sqf rename to addons/fcs/functions/fnc_keyDown.sqf index fb6a9f4baf..41f9d793dc 100644 --- a/TO_MERGE/agm/FireControlSystem/functions/fn_keyDown.sqf +++ b/addons/fcs/functions/fnc_keyDown.sqf @@ -10,21 +10,23 @@ * none */ +#include "script_component.hpp" + private ["_vehicle", "_distance", "_weaponDirection"]; _vehicle = _this select 0; _distance = _this select 1; -AGM_FCSEnabled = true; -AGM_FCSTime = time; +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(core, 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 80% rename from TO_MERGE/agm/FireControlSystem/functions/fn_keyUp.sqf rename to addons/fcs/functions/fnc_keyUp.sqf index a73b23390b..7ad410a241 100644 --- a/TO_MERGE/agm/FireControlSystem/functions/fn_keyUp.sqf +++ b/addons/fcs/functions/fnc_keyUp.sqf @@ -11,6 +11,8 @@ * 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; @@ -20,10 +22,10 @@ _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(core, getTargetDistance); // maximum distance: 5000m, 5m precision }; _weaponDirection = _vehicle weaponDirection currentWeapon _vehicle; @@ -33,13 +35,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 +49,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 +94,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 +117,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 +147,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 +155,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_FireControlSystem_ZeroedTo", _distance]] call EFUNC(core, displayTextStructured); diff --git a/addons/fcs/functions/fnc_reset.sqf b/addons/fcs/functions/fnc_reset.sqf new file mode 100644 index 0000000000..326b5c3212 --- /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_FireControlSystem_HasBeenReset"] call EFUNC(core, displayTextStructured); diff --git a/TO_MERGE/agm/FireControlSystem/functions/fn_vehicleInit.sqf b/addons/fcs/functions/fnc_vehicleInit.sqf similarity index 63% rename from TO_MERGE/agm/FireControlSystem/functions/fn_vehicleInit.sqf rename to addons/fcs/functions/fnc_vehicleInit.sqf index ca2b2d5aab..87d27e1d84 100644 --- a/TO_MERGE/agm/FireControlSystem/functions/fn_vehicleInit.sqf +++ b/addons/fcs/functions/fnc_vehicleInit.sqf @@ -4,7 +4,7 @@ * 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 @@ -12,13 +12,13 @@ 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 +27,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/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 + From 7d9b03611ac0612e4b4f84aa1902d3f47c6ec1dc Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Mon, 12 Jan 2015 11:06:27 +0100 Subject: [PATCH 02/50] Prefixes --- addons/fcs/XEH_clientInit.sqf | 4 ++-- addons/fcs/config.cpp | 6 +++--- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/addons/fcs/XEH_clientInit.sqf b/addons/fcs/XEH_clientInit.sqf index 4409feb4d5..527e5a9d36 100644 --- a/addons/fcs/XEH_clientInit.sqf +++ b/addons/fcs/XEH_clientInit.sqf @@ -1,5 +1,5 @@ #include "script_component.hpp" GVAR(enabled) = True; -GVAR(time) = True; -GVAR(position) = True; +GVAR(time) = 0; +GVAR(position) = [0,0,0]; diff --git a/addons/fcs/config.cpp b/addons/fcs/config.cpp index 88ab47e156..ffad9609cc 100644 --- a/addons/fcs/config.cpp +++ b/addons/fcs/config.cpp @@ -83,7 +83,7 @@ class CfgVehicles { class Car: LandVehicle { class ACE_SelfActions { class ResetFCS { - displayName = $STR_AGM_FireControlSystem_ResetFCS; + displayName = $STR_ACE_FireControlSystem_ResetFCS; enableInside = 1; condition = QUOTE((count (_vehicle getVariable [QGVAR(Magazines), []]) > 1) and (_player == gunner _vehicle)); statement = QUOTE([vehicle _player] call FUNC(reset);); @@ -137,7 +137,7 @@ class CfgVehicles { GVAR(Enabled) = 1; // all tracked vehicles get one by default class ACE_SelfActions { class ResetFCS { - displayName = $STR_AGM_FireControlSystem_ResetFCS; + displayName = $STR_ACE_FireControlSystem_ResetFCS; enableInside = 1; condition = QUOTE((count (_vehicle getVariable [QGVAR(Magazines), []]) > 1) and (_player == gunner _vehicle)); statement = QUOTE([vehicle _player] call FUNC(reset);); @@ -255,7 +255,7 @@ class CfgVehicles { class Helicopter: Air { class ACE_SelfActions { class ResetFCS { - displayName = $STR_AGM_FireControlSystem_ResetFCS; + displayName = $STR_ACE_FireControlSystem_ResetFCS; enableInside = 1; condition = QUOTE((count (_vehicle getVariable [QGVAR(Magazines), []]) > 1) and (_player == gunner _vehicle)); statement = QUOTE([vehicle _player] call FUNC(reset);); From 479c4b01e833e69d098b637920d6cf1c4ee38e3b Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Mon, 12 Jan 2015 11:27:56 +0100 Subject: [PATCH 03/50] Add PBOPREFIX --- addons/fcs/$PBOPREFIX$ | 1 + 1 file changed, 1 insertion(+) create mode 100644 addons/fcs/$PBOPREFIX$ 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 From 2942306e3ccdb2acb94a55a4fc028f59b0feb162 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Mon, 12 Jan 2015 11:33:50 +0100 Subject: [PATCH 04/50] Move EHs to seperate file, add preInit for PREPs --- addons/fcs/CfgEventHandlers.hpp | 19 +++++++++++++++++++ addons/fcs/config.cpp | 14 +------------- 2 files changed, 20 insertions(+), 13 deletions(-) create mode 100644 addons/fcs/CfgEventHandlers.hpp diff --git a/addons/fcs/CfgEventHandlers.hpp b/addons/fcs/CfgEventHandlers.hpp new file mode 100644 index 0000000000..c1e0bb73f1 --- /dev/null +++ b/addons/fcs/CfgEventHandlers.hpp @@ -0,0 +1,19 @@ +class Extended_PreInit_EventHandlers { + class ADDON { + init = QUOTE( call compile preprocessFileLineNumbers PATHTOF(XEH_preInit.sqf) ); + }; +}; + +class Extended_PostInit_EventHandlers { + class ADDON { + clientInit = QUOTE( call compile preprocessFileLineNumbers PATHTOF(XEH_clientInit.sqf) ); + }; +}; + +class Extended_Init_EventHandlers { + class AllVehicles { + class ADDON { + clientInit = QUOTE(_this call FUNC(vehicleInit)); + }; + }; +}; diff --git a/addons/fcs/config.cpp b/addons/fcs/config.cpp index ffad9609cc..6377c48cab 100644 --- a/addons/fcs/config.cpp +++ b/addons/fcs/config.cpp @@ -14,19 +14,7 @@ class CfgPatches { }; }; -class Extended_PostInit_EventHandlers { - class ADDON { - clientInit = QUOTE(call compile preprocessFileLineNumbers PATHTOF(XEH_clientInit.sqf)); - }; -}; - -class Extended_Init_EventHandlers { - class AllVehicles { - class ADDON { - clientInit = QUOTE(_this call FUNC(vehicleInit)); - }; - }; -}; +#include "CfgEventHandlers.hpp" class EGVAR(Core, Default_Keys) { class laseTarget { From cdf08ee2cdae37caa042542afec6b6ca25f5558c Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Mon, 12 Jan 2015 11:34:36 +0100 Subject: [PATCH 05/50] Rename Optics.hpp to CfgOptics.hpp That might not be a real class, but it makes it easier to tell config includes from other files at a glance. --- addons/fcs/{Optics.hpp => CfgOptics.hpp} | 0 addons/fcs/config.cpp | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) rename addons/fcs/{Optics.hpp => CfgOptics.hpp} (100%) diff --git a/addons/fcs/Optics.hpp b/addons/fcs/CfgOptics.hpp similarity index 100% rename from addons/fcs/Optics.hpp rename to addons/fcs/CfgOptics.hpp diff --git a/addons/fcs/config.cpp b/addons/fcs/config.cpp index 6377c48cab..da6093c28d 100644 --- a/addons/fcs/config.cpp +++ b/addons/fcs/config.cpp @@ -370,4 +370,4 @@ class CfgAmmo { }; }; -#include +#include From d354f3796f53117b5f897634a7c3392a5396b044 Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Mon, 12 Jan 2015 11:52:07 +0100 Subject: [PATCH 06/50] Replace version numbers with macros --- addons/fcs/config.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/addons/fcs/config.cpp b/addons/fcs/config.cpp index da6093c28d..737f1d06e9 100644 --- a/addons/fcs/config.cpp +++ b/addons/fcs/config.cpp @@ -6,9 +6,9 @@ class CfgPatches { weapons[] = {}; requiredVersion = 0.60; requiredAddons[] = {ace_core, ace_interaction}; - version = "1.0"; - versionStr = "1.0"; - versionAr[] = {1,0,0}; + version = QUOTE(VERSION); + versionStr = QUOTE(VERSION); + versionAr[] = {VERSION_AR}; author[] = {"KoffeinFlummi","BadGuy (simon84)"}; authorUrl = "https://github.com/KoffeinFlummi/"; }; From c0df8b7f5485f63cd37e3da8f15bfdc4703c02f1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=A1s=20Badano?= Date: Mon, 12 Jan 2015 23:43:38 -0300 Subject: [PATCH 07/50] Pre CBA AGM_Overheating --- .../overheating}/UI/spare_barrel_ca.paa | Bin .../overheating}/UI/temp_ca.paa | Bin .../Overheating => addons/overheating}/config.cpp | 0 .../overheating}/functions/fn_checkTemperature.sqf | 0 .../overheating}/functions/fn_clearJam.sqf | 0 .../overheating}/functions/fn_cooldown.sqf | 0 .../overheating}/functions/fn_jamWeapon.sqf | 0 .../overheating}/functions/fn_overheat.sqf | 0 .../overheating}/functions/fn_swapBarrel.sqf | 0 .../functions/fn_swapBarrelCallback.sqf | 0 .../overheating}/sounds/barrelswap.ogg | Bin .../overheating}/stringtable.xml | 0 12 files changed, 0 insertions(+), 0 deletions(-) rename {TO_MERGE/agm/Overheating => addons/overheating}/UI/spare_barrel_ca.paa (100%) rename {TO_MERGE/agm/Overheating => addons/overheating}/UI/temp_ca.paa (100%) rename {TO_MERGE/agm/Overheating => addons/overheating}/config.cpp (100%) rename {TO_MERGE/agm/Overheating => addons/overheating}/functions/fn_checkTemperature.sqf (100%) rename {TO_MERGE/agm/Overheating => addons/overheating}/functions/fn_clearJam.sqf (100%) rename {TO_MERGE/agm/Overheating => addons/overheating}/functions/fn_cooldown.sqf (100%) rename {TO_MERGE/agm/Overheating => addons/overheating}/functions/fn_jamWeapon.sqf (100%) rename {TO_MERGE/agm/Overheating => addons/overheating}/functions/fn_overheat.sqf (100%) rename {TO_MERGE/agm/Overheating => addons/overheating}/functions/fn_swapBarrel.sqf (100%) rename {TO_MERGE/agm/Overheating => addons/overheating}/functions/fn_swapBarrelCallback.sqf (100%) rename {TO_MERGE/agm/Overheating => addons/overheating}/sounds/barrelswap.ogg (100%) rename {TO_MERGE/agm/Overheating => addons/overheating}/stringtable.xml (100%) diff --git a/TO_MERGE/agm/Overheating/UI/spare_barrel_ca.paa b/addons/overheating/UI/spare_barrel_ca.paa similarity index 100% rename from TO_MERGE/agm/Overheating/UI/spare_barrel_ca.paa rename to addons/overheating/UI/spare_barrel_ca.paa diff --git a/TO_MERGE/agm/Overheating/UI/temp_ca.paa b/addons/overheating/UI/temp_ca.paa similarity index 100% rename from TO_MERGE/agm/Overheating/UI/temp_ca.paa rename to addons/overheating/UI/temp_ca.paa diff --git a/TO_MERGE/agm/Overheating/config.cpp b/addons/overheating/config.cpp similarity index 100% rename from TO_MERGE/agm/Overheating/config.cpp rename to addons/overheating/config.cpp diff --git a/TO_MERGE/agm/Overheating/functions/fn_checkTemperature.sqf b/addons/overheating/functions/fn_checkTemperature.sqf similarity index 100% rename from TO_MERGE/agm/Overheating/functions/fn_checkTemperature.sqf rename to addons/overheating/functions/fn_checkTemperature.sqf diff --git a/TO_MERGE/agm/Overheating/functions/fn_clearJam.sqf b/addons/overheating/functions/fn_clearJam.sqf similarity index 100% rename from TO_MERGE/agm/Overheating/functions/fn_clearJam.sqf rename to addons/overheating/functions/fn_clearJam.sqf diff --git a/TO_MERGE/agm/Overheating/functions/fn_cooldown.sqf b/addons/overheating/functions/fn_cooldown.sqf similarity index 100% rename from TO_MERGE/agm/Overheating/functions/fn_cooldown.sqf rename to addons/overheating/functions/fn_cooldown.sqf diff --git a/TO_MERGE/agm/Overheating/functions/fn_jamWeapon.sqf b/addons/overheating/functions/fn_jamWeapon.sqf similarity index 100% rename from TO_MERGE/agm/Overheating/functions/fn_jamWeapon.sqf rename to addons/overheating/functions/fn_jamWeapon.sqf diff --git a/TO_MERGE/agm/Overheating/functions/fn_overheat.sqf b/addons/overheating/functions/fn_overheat.sqf similarity index 100% rename from TO_MERGE/agm/Overheating/functions/fn_overheat.sqf rename to addons/overheating/functions/fn_overheat.sqf diff --git a/TO_MERGE/agm/Overheating/functions/fn_swapBarrel.sqf b/addons/overheating/functions/fn_swapBarrel.sqf similarity index 100% rename from TO_MERGE/agm/Overheating/functions/fn_swapBarrel.sqf rename to addons/overheating/functions/fn_swapBarrel.sqf diff --git a/TO_MERGE/agm/Overheating/functions/fn_swapBarrelCallback.sqf b/addons/overheating/functions/fn_swapBarrelCallback.sqf similarity index 100% rename from TO_MERGE/agm/Overheating/functions/fn_swapBarrelCallback.sqf rename to addons/overheating/functions/fn_swapBarrelCallback.sqf diff --git a/TO_MERGE/agm/Overheating/sounds/barrelswap.ogg b/addons/overheating/sounds/barrelswap.ogg similarity index 100% rename from TO_MERGE/agm/Overheating/sounds/barrelswap.ogg rename to addons/overheating/sounds/barrelswap.ogg diff --git a/TO_MERGE/agm/Overheating/stringtable.xml b/addons/overheating/stringtable.xml similarity index 100% rename from TO_MERGE/agm/Overheating/stringtable.xml rename to addons/overheating/stringtable.xml From 1db298722bf56d7f989db44b30ab9a9df6576ea3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=A1s=20Badano?= Date: Tue, 13 Jan 2015 00:23:14 -0300 Subject: [PATCH 08/50] CBAfy AGM_Overheating --- addons/overheating/$PBOPREFIX$ | 1 + addons/overheating/CfgEventHandlers.hpp | 21 + addons/overheating/CfgSounds.hpp | 6 + addons/overheating/CfgVehicles.hpp | 124 ++++++ addons/overheating/CfgWeapons.hpp | 180 ++++++++ addons/overheating/XEH_preInit.sqf | 9 + addons/overheating/config.cpp | 388 ++---------------- .../overheating/functions/fn_swapBarrel.sqf | 15 - .../functions/fn_swapBarrelCallback.sqf | 13 - ...mperature.sqf => fnc_checkTemperature.sqf} | 15 +- .../{fn_clearJam.sqf => fnc_clearJam.sqf} | 17 +- .../{fn_cooldown.sqf => fnc_cooldown.sqf} | 3 +- .../{fn_jamWeapon.sqf => fnc_jamWeapon.sqf} | 33 +- .../{fn_overheat.sqf => fnc_overheat.sqf} | 27 +- .../overheating/functions/fnc_swapBarrel.sqf | 16 + .../functions/fnc_swapBarrelCallback.sqf | 14 + addons/overheating/script_component.hpp | 12 + addons/overheating/stringtable.xml | 26 +- 18 files changed, 472 insertions(+), 448 deletions(-) create mode 100644 addons/overheating/$PBOPREFIX$ create mode 100644 addons/overheating/CfgEventHandlers.hpp create mode 100644 addons/overheating/CfgSounds.hpp create mode 100644 addons/overheating/CfgVehicles.hpp create mode 100644 addons/overheating/CfgWeapons.hpp create mode 100644 addons/overheating/XEH_preInit.sqf delete mode 100644 addons/overheating/functions/fn_swapBarrel.sqf delete mode 100644 addons/overheating/functions/fn_swapBarrelCallback.sqf rename addons/overheating/functions/{fn_checkTemperature.sqf => fnc_checkTemperature.sqf} (80%) rename addons/overheating/functions/{fn_clearJam.sqf => fnc_clearJam.sqf} (52%) rename addons/overheating/functions/{fn_cooldown.sqf => fnc_cooldown.sqf} (93%) rename addons/overheating/functions/{fn_jamWeapon.sqf => fnc_jamWeapon.sqf} (53%) rename addons/overheating/functions/{fn_overheat.sqf => fnc_overheat.sqf} (84%) create mode 100644 addons/overheating/functions/fnc_swapBarrel.sqf create mode 100644 addons/overheating/functions/fnc_swapBarrelCallback.sqf create mode 100644 addons/overheating/script_component.hpp diff --git a/addons/overheating/$PBOPREFIX$ b/addons/overheating/$PBOPREFIX$ new file mode 100644 index 0000000000..8171cd28be --- /dev/null +++ b/addons/overheating/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\overheating \ No newline at end of file diff --git a/addons/overheating/CfgEventHandlers.hpp b/addons/overheating/CfgEventHandlers.hpp new file mode 100644 index 0000000000..839856a5db --- /dev/null +++ b/addons/overheating/CfgEventHandlers.hpp @@ -0,0 +1,21 @@ +class Extended_PreInit_EventHandlers { + class ADDON { + init = QUOTE( call COMPILE_FILE(XEH_preInit.sqf) ); + }; +}; + +class Extended_FiredBIS_EventHandlers { + class CAManBase { + class GVAR(Overheat) { + clientFiredBIS = QUOTE( if (_this select 0 == ACE_player) then {_this call FUNC(overheat)}; ); + }; + }; +}; + +class Extended_Take_EventHandlers { + class CAManBase { + class GVAR(UnjamReload) { + clientTake = QUOTE( if (_this select 0 == ACE_player && {(_this select 1) in [ARR_3(uniformContainer (_this select 0), vestContainer (_this select 0), backpackContainer (_this select 0))]} && {_this select 2 == currentMagazine (_this select 0)}) then {_vehicle = vehicle (_this select 0); [ARR_4(_vehicle, currentWeapon _vehicle, true)] call FUNC(clearJam)}; ); + }; + }; +}; diff --git a/addons/overheating/CfgSounds.hpp b/addons/overheating/CfgSounds.hpp new file mode 100644 index 0000000000..a3d593ec7a --- /dev/null +++ b/addons/overheating/CfgSounds.hpp @@ -0,0 +1,6 @@ +class CfgSounds { + class ACE_BarrelSwap { + sound[] = {QUOTE(PATHOF(sounds\barrelswap.ogg)),5,1,200}; + titles[] = {}; + }; +}; diff --git a/addons/overheating/CfgVehicles.hpp b/addons/overheating/CfgVehicles.hpp new file mode 100644 index 0000000000..a3c955dd12 --- /dev/null +++ b/addons/overheating/CfgVehicles.hpp @@ -0,0 +1,124 @@ +#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 ACE_SwapBarrel { + displayName = "$STR_ACE_Overheating_SwapBarrel"; + condition = QUOTE( 'ACE_SpareBarrel' in items _player && {getNumber (configFile >> 'CfgWeapons' >> currentWeapon _player >> 'ACE_Overheating_allowSwapBarrel') == 1} ); + statement = QUOTE( [_player, currentWeapon _player] call FUNC(swapBarrel); ); + showDisabled = 0; + priority = 3; + icon = QUOTE(PATHOF(UI\spare_barrel_ca.paa)); + hotkey = "B"; + }; + }; + class ACE_CheckTemperature { + displayName = "$STR_ACE_Overheating_CheckTemperatureShort"; + condition = QUOTE( currentWeapon _player in [primaryWeapon _player, secondaryWeapon _player, handgunWeapon _player] ); + statement = QUOTE( [_player, currentWeapon _player] call FUNC(CheckTemperature); ); + showDisabled = 0; + priority = 3.1; + icon = QUOTE(PATHOF(UI\temp_ca.paa)); + hotkey = "P"; + }; + }; + }; + + class ReammoBox_F; + 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_SpareBarrel,2) + }; + }; + + class B_supplyCrate_F: ReammoBox_F { + class TransportItems { + MACRO_ADDITEM(ACE_SpareBarrel,2) + }; + }; + + class Box_East_Support_F: EAST_Box_Base { + class TransportItems { + MACRO_ADDITEM(ACE_SpareBarrel,2) + }; + }; + + class O_supplyCrate_F: B_supplyCrate_F { + class TransportItems { + MACRO_ADDITEM(ACE_SpareBarrel,2) + }; + }; + + class Box_IND_Support_F: IND_Box_Base { + class TransportItems { + MACRO_ADDITEM(ACE_SpareBarrel,2) + }; + }; + + class Box_FIA_Support_F: FIA_Box_Base_F { + class TransportItems { + MACRO_ADDITEM(ACE_SpareBarrel,2) + }; + }; + + class I_supplyCrate_F: B_supplyCrate_F { + class TransportItems { + MACRO_ADDITEM(ACE_SpareBarrel,2) + }; + }; + + class IG_supplyCrate_F: ReammoBox_F { + class TransportItems { + MACRO_ADDITEM(ACE_SpareBarrel,2) + }; + }; + + class C_supplyCrate_F: ReammoBox_F { + class TransportItems { + MACRO_ADDITEM(ACE_SpareBarrel,2) + }; + }; + + class ACE_Box_Misc: Box_NATO_Support_F { + class TransportItems { + MACRO_ADDITEM(ACE_SpareBarrel,6) + }; + }; + + // Add ACE_SpareBarrel to every machine gunner. + #define MACRO_ADDSPAREBARREL \ + items[] = {"FirstAidKit", "ACE_SpareBarrel"}; \ + respawnitems[] = {"FirstAidKit", "ACE_SpareBarrel"}; + + // NATO + class B_Soldier_02_f; class B_soldier_AR_F:B_Soldier_02_f {MACRO_ADDSPAREBARREL}; + class B_Soldier_support_base_F; class B_soldier_AAR_F:B_Soldier_support_base_F {MACRO_ADDSPAREBARREL}; + class B_Soldier_base_F; class B_CTRG_soldier_AR_A_F:B_Soldier_base_F {MACRO_ADDSPAREBARREL}; + + // Guerrilla + class I_G_Soldier_base_F; class I_G_Soldier_AR_F:I_G_Soldier_base_F {MACRO_ADDSPAREBARREL}; + class B_G_Soldier_AR_F:I_G_Soldier_AR_F {MACRO_ADDSPAREBARREL}; + class O_G_Soldier_AR_F:I_G_Soldier_AR_F {MACRO_ADDSPAREBARREL}; + + // Iran + class O_Soldier_base_F; class O_Soldier_AR_F:O_Soldier_base_F {MACRO_ADDSPAREBARREL}; + class O_Soldier_support_base_F; class O_Soldier_AAR_F:O_Soldier_support_base_F {MACRO_ADDSPAREBARREL}; + class O_Soldier_Urban_base; class O_soldierU_AR_F:O_Soldier_Urban_base {MACRO_ADDSPAREBARREL}; + class O_soldierU_AAR_F:O_Soldier_Urban_base {MACRO_ADDSPAREBARREL}; + + // Czech + class I_Soldier_02_F; class I_Soldier_AR_F:I_Soldier_02_F {MACRO_ADDSPAREBARREL}; + class I_Soldier_support_base_F; class I_Soldier_AAR_F:I_Soldier_support_base_F {MACRO_ADDSPAREBARREL}; +}; \ No newline at end of file diff --git a/addons/overheating/CfgWeapons.hpp b/addons/overheating/CfgWeapons.hpp new file mode 100644 index 0000000000..fc379494f0 --- /dev/null +++ b/addons/overheating/CfgWeapons.hpp @@ -0,0 +1,180 @@ +class CfgWeapons { + class ACE_ItemCore; + class InventoryItem_Base_F; + + class ACE_SpareBarrel: ACE_ItemCore { + displayname = "$STR_ACE_Overheating_SpareBarrelName"; + descriptionshort = "$STR_ACE_Overheating_SpareBarrelDescription"; + //model = ""; + picture = QUOTE(PATHOF(UI\spare_barrel_ca.paa)); + scope = 2; + class ItemInfo: InventoryItem_Base_F { + mass = 50; + }; + }; + + class Rifle; + class Rifle_Base_F : Rifle { + // Dispersion, SlowdownFactor and JamChance arrays have 4 values for different temperatures, which are interpolated between. + // These values correspond to temperatures Converted to real life values: 0: 0°C, 1: 333°C, 2: 666°C, 3: 1000°C. + + // Dispersion in radians. First value is for temp. 0, second for temp. 1 and so on. Values inbetween get interpolated. Negative values get ignored and can be used to move the starting point to hotter temperatures. + ACE_Overheating_Dispersion[] = {0, 0.001, 0.002, 0.004}; + // How much the projectile gets slowed down before leaving the barrel. 0.9 means the bullet will lose 10% velocity. Values inbetween get interpolated. Numbers greater 1 increase the velocity, smaller 1 decrease it. + ACE_Overheating_SlowdownFactor[] = {1, 1, 1, 0.9}; + // Chance to jam the weapon. 0.0003 means 3 malfunctions on 10,000 rounds fired at this temperature. Values inbetween get interpolated. Negative values get ignored and can be used to move the starting point to hotter temperatures. + // When no reliable data exists for temperature vs. jam chance except MRBS, the following uniform criteria was adopted: [0, 1/MRBS, 5/MRBS, 25/MRBS]. + ACE_Overheating_JamChance[] = {0, 0.0003, 0.0015, 0.0075}; + }; + + class Rifle_Long_Base_F : Rifle_Base_F { + ACE_Overheating_Dispersion[] = {0, -0.001, 0.001, 0.003}; + ACE_Overheating_SlowdownFactor[] = {1, 1, 1, 0.9}; + ACE_Overheating_JamChance[] = {0, 0.0003, 0.0015, 0.0075}; + }; + + class arifle_MX_Base_F : Rifle_Base_F { + ACE_clearJamAction = "GestureReloadMX"; // Custom jam clearing action. Default uses reload animation. + ACE_checkTemperatureAction = "Gear"; // Custom check temperature action. Default uses gear animation. + ACE_Overheating_Dispersion[] = {0, 0.001, 0.002, 0.004}; + ACE_Overheating_SlowdownFactor[] = {1, 1, 1, 0.9}; + ACE_Overheating_JamChance[] = {0, 0.0003, 0.0015, 0.0075}; + }; + + class arifle_MX_SW_F : arifle_MX_Base_F { + ACE_clearJamAction = ""; // Custom jam clearing action. Use empty string to undefine. + ACE_Overheating_allowSwapBarrel = 1; // 1 to enable barrel swap. 0 to disable. Meant for machine guns where you can easily swap the barrel without dismantling the whole weapon. + ACE_Overheating_Dispersion[] = {0, -0.001, 0.001, 0.003}; + ACE_Overheating_SlowdownFactor[] = {1, 1, 1, 0.9}; + ACE_Overheating_JamChance[] = {0, 0.0003, 0.0015, 0.0075}; + }; + + class arifle_Katiba_Base_F : Rifle_Base_F { + ACE_Overheating_Dispersion[] = {0, 0.001, 0.002, 0.004}; + ACE_Overheating_SlowdownFactor[] = {1, 1, 1, 0.9}; + ACE_Overheating_JamChance[] = {0, 0.0003, 0.0015, 0.0075}; + }; + + class mk20_base_F : Rifle_Base_F { + ACE_Overheating_Dispersion[] = {0, 0.001, 0.002, 0.004}; + ACE_Overheating_SlowdownFactor[] = {1, 1, 1, 0.9}; + ACE_Overheating_JamChance[] = {0, 0.0003, 0.0015, 0.0075}; + }; + + class Tavor_base_F : Rifle_Base_F { + ACE_Overheating_Dispersion[] = {0, 0.001, 0.002, 0.004}; + ACE_Overheating_SlowdownFactor[] = {1, 1, 1, 0.9}; + ACE_Overheating_JamChance[] = {0, 0.0003, 0.0015, 0.0075}; + }; + + class SDAR_base_F : Rifle_Base_F { + ACE_Overheating_Dispersion[] = {0, 0.001, 0.002, 0.004}; + ACE_Overheating_SlowdownFactor[] = {1, 1, 1, 0.9}; + ACE_Overheating_JamChance[] = {0, 0.0003, 0.0015, 0.0075}; + }; + + class EBR_base_F : Rifle_Long_Base_F { + ACE_Overheating_Dispersion[] = {0, -0.001, 0.001, 0.003}; + ACE_Overheating_SlowdownFactor[] = {1, 1, 1, 0.9}; + ACE_Overheating_JamChance[] = {0, 0.0003, 0.0015, 0.0075}; + }; + + class DMR_01_base_F : Rifle_Long_Base_F { + ACE_Overheating_Dispersion[] = {0, -0.001, 0.001, 0.003}; + ACE_Overheating_SlowdownFactor[] = {1, 1, 1, 0.9}; + ACE_Overheating_JamChance[] = {0, 0.0003, 0.0015, 0.0075}; + }; + + class GM6_base_F : Rifle_Long_Base_F { + ACE_Overheating_Dispersion[] = {0, -0.001, 0.001, 0.003}; + ACE_Overheating_SlowdownFactor[] = {1, 1, 1, 0.9}; + ACE_Overheating_JamChance[] = {0, 0.0003, 0.0015, 0.0075}; + }; + + class LRR_base_F : Rifle_Long_Base_F { + ACE_Overheating_Dispersion[] = {0, -0.001, 0.001, 0.003}; + ACE_Overheating_SlowdownFactor[] = {1, 1, 1, 0.9}; + ACE_Overheating_JamChance[] = {0, 0.0003, 0.0015, 0.0075}; + }; + + class LMG_Mk200_F : Rifle_Long_Base_F { + ACE_Overheating_allowSwapBarrel = 1; + ACE_Overheating_Dispersion[] = {0, -0.001, 0.001, 0.003}; + ACE_Overheating_SlowdownFactor[] = {1, 1, 1, 0.9}; + ACE_Overheating_JamChance[] = {0, 0.0003, 0.0015, 0.0075}; + }; + + class LMG_Zafir_F : Rifle_Long_Base_F { + ACE_Overheating_allowSwapBarrel = 1; + ACE_Overheating_Dispersion[] = {0, -0.001, 0.001, 0.003}; + ACE_Overheating_SlowdownFactor[] = {1, 1, 1, 0.9}; + ACE_Overheating_JamChance[] = {0, 0.0003, 0.0015, 0.0075}; + }; + + class SMG_01_Base : Rifle_Base_F { + ACE_Overheating_Dispersion[] = {0, 0.001, 0.002, 0.004}; + ACE_Overheating_SlowdownFactor[] = {1, 1, 1, 0.9}; + ACE_Overheating_JamChance[] = {0, 0.0003, 0.0015, 0.0075}; + }; + + class SMG_02_base_F : Rifle_Base_F { + ACE_Overheating_Dispersion[] = {0, 0.001, 0.002, 0.004}; + ACE_Overheating_SlowdownFactor[] = {1, 1, 1, 0.9}; + ACE_Overheating_JamChance[] = {0, 0.0003, 0.0015, 0.0075}; + }; + + class pdw2000_base_F : Rifle_Base_F { + ACE_Overheating_Dispersion[] = {0, 0.001, 0.002, 0.004}; + ACE_Overheating_SlowdownFactor[] = {1, 1, 1, 0.9}; + ACE_Overheating_JamChance[] = {0, 0.0003, 0.0015, 0.0075}; + }; +}; + +class CfgAmmo { + class BulletCore; + class BulletBase : BulletCore { + ACE_BulletMass = 0; // Bullet mass in grams + }; + + // Rifle and MG rounds + class B_556x45_Ball : BulletBase { + ACE_BulletMass = 4.1; // 5.56x45 NATO + }; + + class B_65x39_Caseless : BulletBase { + ACE_BulletMass = 8; // 6.5mm Grendel + }; + + class B_762x51_Ball : BulletBase { + ACE_BulletMass = 10; // 7.62x51 NATO + }; + class ACE_B_762x51_M118LR : B_762x51_Ball { + ACE_BulletMass = 11; // 7.62x51 NATO M118 + }; + + class B_127x99_Ball : BulletBase { + ACE_BulletMass = 42; // 12.7×99mm NATO (.50 BMG) + }; + + class B_127x108_Ball : BulletBase { + ACE_BulletMass = 48.3; // 12.7x108 + }; + + class B_408_Ball : BulletBase { + ACE_BulletMass = 27; // .408 Cheyenne Tactical + }; + + // Pistol Rounds + class B_9x21_Ball : BulletBase { + ACE_BulletMass = 7.45; // 9×21mm IMI + }; + class B_9x19_Ball : B_9x21_Ball { + ACE_BulletMass = 7.45; // 9×19mm Parabellum + }; + class B_127x33_Ball : BulletBase { + ACE_BulletMass = 21; // .50 AE + }; + class B_45ACP_Ball : BulletBase { + ACE_BulletMass = 12; // .45 ACP + }; +}; diff --git a/addons/overheating/XEH_preInit.sqf b/addons/overheating/XEH_preInit.sqf new file mode 100644 index 0000000000..5ed28f8a23 --- /dev/null +++ b/addons/overheating/XEH_preInit.sqf @@ -0,0 +1,9 @@ +#include "script_component.hpp" + +PREP(checkTemperature); +PREP(clearJam); +PREP(cooldown); +PREP(jamWeapon); +PREP(overheat); +PREP(swapBarrel); +PREP(swapBarrelCallback); diff --git a/addons/overheating/config.cpp b/addons/overheating/config.cpp index 2c3c0f35c7..b2db6117b8 100644 --- a/addons/overheating/config.cpp +++ b/addons/overheating/config.cpp @@ -1,369 +1,35 @@ +#include "script_component.hpp" + class CfgPatches { - class AGM_Overheating { - units[] = {}; - weapons[] = {"AGM_SpareBarrel"}; - requiredVersion = 0.60; - requiredAddons[] = {AGM_Core, AGM_Interaction}; - version = "0.95"; - versionStr = "0.95"; - versionAr[] = {0,95,0}; - author[] = {"commy2", "KoffeinFlummi", "CAA-Picard"}; - authorUrl = "https://github.com/commy2/"; - }; + class ADDON { + units[] = {}; + weapons[] = {"ACE_SpareBarrel"}; + requiredVersion = 0.60; + requiredAddons[] = {ACE_Core, ACE_Interaction}; + version = "0.95"; + versionStr = "0.95"; + versionAr[] = {0,95,0}; + author[] = {"commy2", "KoffeinFlummi", "CAA-Picard"}; + authorUrl = "https://github.com/commy2/"; + }; }; -class CfgFunctions { - class AGM_Overheating { - class AGM_Overheating { - file = "\AGM_Overheating\functions"; - class checkTemperature; - class clearJam; - class cooldown; - class jamWeapon; - class overheat; - class swapBarrel; - class swapBarrelCallback; +#include "CfgEventHandlers.hpp" + +class ACE_Core_Default_Keys { + class clearJam { + displayName = "$STR_ACE_Overheating_UnjamWeapon"; + condition = QUOTE( [_player] call EFUNC(core,canUseWeapon) && {currentWeapon _player in (_player getVariable [QUOTE(QGVAR(jammedWeapons)), []])} ); + statement = QUOTE( [_player, currentMuzzle _player, false] call FUNC(clearJam); ); + key = 19; + shift = 1; + control = 0; + alt = 0; }; - }; }; -class Extended_FiredBIS_EventHandlers { - class CAManBase { - class AGM_Overheating_Overheat { - clientFiredBIS = "if (_this select 0 == AGM_player) then {_this call AGM_Overheating_fnc_overheat};"; - }; - }; -}; +#include "CfgSounds.hpp" -class Extended_Take_EventHandlers { - class CAManBase { - class AGM_Overheating_UnjamReload { - clientTake = "if (_this select 0 == AGM_player && {(_this select 1) in [uniformContainer (_this select 0), vestContainer (_this select 0), backpackContainer (_this select 0)]} && {_this select 2 == currentMagazine (_this select 0)}) then {_vehicle = vehicle (_this select 0); [_vehicle, currentWeapon _vehicle, true] call AGM_Overheating_fnc_clearJam};"; - }; - }; -}; +#include "CfgVehicles.hpp" -class AGM_Core_Default_Keys { - class clearJam { - displayName = "$STR_AGM_Overheating_UnjamWeapon"; - condition = "[_player] call AGM_Core_fnc_canUseWeapon && {currentWeapon _player in (_player getVariable ['AGM_Overheating_jammedWeapons', []])}"; - statement = "[_player, currentMuzzle _player, false] call AGM_Overheating_fnc_clearJam;"; - key = 19; - shift = 1; - control = 0; - alt = 0; - }; -}; - -class CfgSounds { - class AGM_BarrelSwap { - sound[] = {"\AGM_Overheating\sounds\barrelswap.ogg",5,1,200}; - titles[] = {}; - }; -}; - -#define MACRO_ADDITEM(ITEM,COUNT) class _xx_##ITEM { \ - name = #ITEM; \ - count = COUNT; \ -}; - -class CfgVehicles { - class Man; - - class CAManBase: Man { - class AGM_SelfActions { - class AGM_Equipment { - class AGM_SwapBarrel { - displayName = "$STR_AGM_Overheating_SwapBarrel"; - condition = "'AGM_SpareBarrel' in items _player && {getNumber (configFile >> 'CfgWeapons' >> currentWeapon _player >> 'AGM_Overheating_allowSwapBarrel') == 1}"; - statement = "[_player, currentWeapon _player] call AGM_Overheating_fnc_swapBarrel;"; - showDisabled = 0; - priority = 3; - icon = "AGM_Overheating\UI\spare_barrel_ca.paa"; - hotkey = "B"; - }; - }; - class AGM_CheckTemperature { - displayName = "$STR_AGM_Overheating_CheckTemperatureShort"; - condition = "currentWeapon _player in [primaryWeapon _player, secondaryWeapon _player, handgunWeapon _player]"; - statement = "[_player, currentWeapon _player] call AGM_Overheating_fnc_CheckTemperature;"; - showDisabled = 0; - priority = 3.1; - icon = "AGM_Overheating\UI\temp_ca.paa"; - hotkey = "P"; - }; - }; - }; - - class ReammoBox_F; - 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_SpareBarrel,2) - }; - }; - - class B_supplyCrate_F: ReammoBox_F { - class TransportItems { - MACRO_ADDITEM(AGM_SpareBarrel,2) - }; - }; - - class Box_East_Support_F: EAST_Box_Base { - class TransportItems { - MACRO_ADDITEM(AGM_SpareBarrel,2) - }; - }; - - class O_supplyCrate_F: B_supplyCrate_F { - class TransportItems { - MACRO_ADDITEM(AGM_SpareBarrel,2) - }; - }; - - class Box_IND_Support_F: IND_Box_Base { - class TransportItems { - MACRO_ADDITEM(AGM_SpareBarrel,2) - }; - }; - - class Box_FIA_Support_F: FIA_Box_Base_F { - class TransportItems { - MACRO_ADDITEM(AGM_SpareBarrel,2) - }; - }; - - class I_supplyCrate_F: B_supplyCrate_F { - class TransportItems { - MACRO_ADDITEM(AGM_SpareBarrel,2) - }; - }; - - class IG_supplyCrate_F: ReammoBox_F { - class TransportItems { - MACRO_ADDITEM(AGM_SpareBarrel,2) - }; - }; - - class C_supplyCrate_F: ReammoBox_F { - class TransportItems { - MACRO_ADDITEM(AGM_SpareBarrel,2) - }; - }; - - class AGM_Box_Misc: Box_NATO_Support_F { - class TransportItems { - MACRO_ADDITEM(AGM_SpareBarrel,6) - }; - }; - - // Add AGM_SpareBarrel to every machine gunner. - #define MACRO_ADDSPAREBARREL \ - items[] = {"FirstAidKit", "AGM_SpareBarrel"}; \ - respawnitems[] = {"FirstAidKit", "AGM_SpareBarrel"}; - - // NATO - class B_Soldier_02_f; class B_soldier_AR_F:B_Soldier_02_f {MACRO_ADDSPAREBARREL}; - class B_Soldier_support_base_F; class B_soldier_AAR_F:B_Soldier_support_base_F {MACRO_ADDSPAREBARREL}; - class B_Soldier_base_F; class B_CTRG_soldier_AR_A_F:B_Soldier_base_F {MACRO_ADDSPAREBARREL}; - - // Guerrilla - class I_G_Soldier_base_F; class I_G_Soldier_AR_F:I_G_Soldier_base_F {MACRO_ADDSPAREBARREL}; - class B_G_Soldier_AR_F:I_G_Soldier_AR_F {MACRO_ADDSPAREBARREL}; - class O_G_Soldier_AR_F:I_G_Soldier_AR_F {MACRO_ADDSPAREBARREL}; - - // Iran - class O_Soldier_base_F; class O_Soldier_AR_F:O_Soldier_base_F {MACRO_ADDSPAREBARREL}; - class O_Soldier_support_base_F; class O_Soldier_AAR_F:O_Soldier_support_base_F {MACRO_ADDSPAREBARREL}; - class O_Soldier_Urban_base; class O_soldierU_AR_F:O_Soldier_Urban_base {MACRO_ADDSPAREBARREL}; - class O_soldierU_AAR_F:O_Soldier_Urban_base {MACRO_ADDSPAREBARREL}; - - // Czech - class I_Soldier_02_F; class I_Soldier_AR_F:I_Soldier_02_F {MACRO_ADDSPAREBARREL}; - class I_Soldier_support_base_F; class I_Soldier_AAR_F:I_Soldier_support_base_F {MACRO_ADDSPAREBARREL}; -}; - -class CfgWeapons { - class AGM_ItemCore; - class InventoryItem_Base_F; - - class AGM_SpareBarrel: AGM_ItemCore { - displayname = "$STR_AGM_Overheating_SpareBarrelName"; - descriptionshort = "$STR_AGM_Overheating_SpareBarrelDescription"; - //model = ""; - picture = "\AGM_Overheating\UI\spare_barrel_ca.paa"; - scope = 2; - class ItemInfo: InventoryItem_Base_F { - mass = 50; - }; - }; - - class Rifle; - class Rifle_Base_F : Rifle { - // Dispersion, SlowdownFactor and JamChance arrays have 4 values for different temperatures, which are interpolated between. - // These values correspond to temperatures Converted to real life values: 0: 0°C, 1: 333°C, 2: 666°C, 3: 1000°C. - - // Dispersion in radians. First value is for temp. 0, second for temp. 1 and so on. Values inbetween get interpolated. Negative values get ignored and can be used to move the starting point to hotter temperatures. - AGM_Overheating_Dispersion[] = {0, 0.001, 0.002, 0.004}; - // How much the projectile gets slowed down before leaving the barrel. 0.9 means the bullet will lose 10% velocity. Values inbetween get interpolated. Numbers greater 1 increase the velocity, smaller 1 decrease it. - AGM_Overheating_SlowdownFactor[] = {1, 1, 1, 0.9}; - // Chance to jam the weapon. 0.0003 means 3 malfunctions on 10,000 rounds fired at this temperature. Values inbetween get interpolated. Negative values get ignored and can be used to move the starting point to hotter temperatures. - // When no reliable data exists for temperature vs. jam chance except MRBS, the following uniform criteria was adopted: [0, 1/MRBS, 5/MRBS, 25/MRBS]. - AGM_Overheating_JamChance[] = {0, 0.0003, 0.0015, 0.0075}; - }; - - class Rifle_Long_Base_F : Rifle_Base_F { - AGM_Overheating_Dispersion[] = {0, -0.001, 0.001, 0.003}; - AGM_Overheating_SlowdownFactor[] = {1, 1, 1, 0.9}; - AGM_Overheating_JamChance[] = {0, 0.0003, 0.0015, 0.0075}; - }; - - class arifle_MX_Base_F : Rifle_Base_F { - AGM_clearJamAction = "GestureReloadMX"; // Custom jam clearing action. Default uses reload animation. - AGM_checkTemperatureAction = "Gear"; // Custom check temperature action. Default uses gear animation. - AGM_Overheating_Dispersion[] = {0, 0.001, 0.002, 0.004}; - AGM_Overheating_SlowdownFactor[] = {1, 1, 1, 0.9}; - AGM_Overheating_JamChance[] = {0, 0.0003, 0.0015, 0.0075}; - }; - - class arifle_MX_SW_F : arifle_MX_Base_F { - AGM_clearJamAction = ""; // Custom jam clearing action. Use empty string to undefine. - AGM_Overheating_allowSwapBarrel = 1; // 1 to enable barrel swap. 0 to disable. Meant for machine guns where you can easily swap the barrel without dismantling the whole weapon. - AGM_Overheating_Dispersion[] = {0, -0.001, 0.001, 0.003}; - AGM_Overheating_SlowdownFactor[] = {1, 1, 1, 0.9}; - AGM_Overheating_JamChance[] = {0, 0.0003, 0.0015, 0.0075}; - }; - - class arifle_Katiba_Base_F : Rifle_Base_F { - AGM_Overheating_Dispersion[] = {0, 0.001, 0.002, 0.004}; - AGM_Overheating_SlowdownFactor[] = {1, 1, 1, 0.9}; - AGM_Overheating_JamChance[] = {0, 0.0003, 0.0015, 0.0075}; - }; - - class mk20_base_F : Rifle_Base_F { - AGM_Overheating_Dispersion[] = {0, 0.001, 0.002, 0.004}; - AGM_Overheating_SlowdownFactor[] = {1, 1, 1, 0.9}; - AGM_Overheating_JamChance[] = {0, 0.0003, 0.0015, 0.0075}; - }; - - class Tavor_base_F : Rifle_Base_F { - AGM_Overheating_Dispersion[] = {0, 0.001, 0.002, 0.004}; - AGM_Overheating_SlowdownFactor[] = {1, 1, 1, 0.9}; - AGM_Overheating_JamChance[] = {0, 0.0003, 0.0015, 0.0075}; - }; - - class SDAR_base_F : Rifle_Base_F { - AGM_Overheating_Dispersion[] = {0, 0.001, 0.002, 0.004}; - AGM_Overheating_SlowdownFactor[] = {1, 1, 1, 0.9}; - AGM_Overheating_JamChance[] = {0, 0.0003, 0.0015, 0.0075}; - }; - - class EBR_base_F : Rifle_Long_Base_F { - AGM_Overheating_Dispersion[] = {0, -0.001, 0.001, 0.003}; - AGM_Overheating_SlowdownFactor[] = {1, 1, 1, 0.9}; - AGM_Overheating_JamChance[] = {0, 0.0003, 0.0015, 0.0075}; - }; - - class DMR_01_base_F : Rifle_Long_Base_F { - AGM_Overheating_Dispersion[] = {0, -0.001, 0.001, 0.003}; - AGM_Overheating_SlowdownFactor[] = {1, 1, 1, 0.9}; - AGM_Overheating_JamChance[] = {0, 0.0003, 0.0015, 0.0075}; - }; - - class GM6_base_F : Rifle_Long_Base_F { - AGM_Overheating_Dispersion[] = {0, -0.001, 0.001, 0.003}; - AGM_Overheating_SlowdownFactor[] = {1, 1, 1, 0.9}; - AGM_Overheating_JamChance[] = {0, 0.0003, 0.0015, 0.0075}; - }; - - class LRR_base_F : Rifle_Long_Base_F { - AGM_Overheating_Dispersion[] = {0, -0.001, 0.001, 0.003}; - AGM_Overheating_SlowdownFactor[] = {1, 1, 1, 0.9}; - AGM_Overheating_JamChance[] = {0, 0.0003, 0.0015, 0.0075}; - }; - - class LMG_Mk200_F : Rifle_Long_Base_F { - AGM_Overheating_allowSwapBarrel = 1; - AGM_Overheating_Dispersion[] = {0, -0.001, 0.001, 0.003}; - AGM_Overheating_SlowdownFactor[] = {1, 1, 1, 0.9}; - AGM_Overheating_JamChance[] = {0, 0.0003, 0.0015, 0.0075}; - }; - - class LMG_Zafir_F : Rifle_Long_Base_F { - AGM_Overheating_allowSwapBarrel = 1; - AGM_Overheating_Dispersion[] = {0, -0.001, 0.001, 0.003}; - AGM_Overheating_SlowdownFactor[] = {1, 1, 1, 0.9}; - AGM_Overheating_JamChance[] = {0, 0.0003, 0.0015, 0.0075}; - }; - - class SMG_01_Base : Rifle_Base_F { - AGM_Overheating_Dispersion[] = {0, 0.001, 0.002, 0.004}; - AGM_Overheating_SlowdownFactor[] = {1, 1, 1, 0.9}; - AGM_Overheating_JamChance[] = {0, 0.0003, 0.0015, 0.0075}; - }; - - class SMG_02_base_F : Rifle_Base_F { - AGM_Overheating_Dispersion[] = {0, 0.001, 0.002, 0.004}; - AGM_Overheating_SlowdownFactor[] = {1, 1, 1, 0.9}; - AGM_Overheating_JamChance[] = {0, 0.0003, 0.0015, 0.0075}; - }; - - class pdw2000_base_F : Rifle_Base_F { - AGM_Overheating_Dispersion[] = {0, 0.001, 0.002, 0.004}; - AGM_Overheating_SlowdownFactor[] = {1, 1, 1, 0.9}; - AGM_Overheating_JamChance[] = {0, 0.0003, 0.0015, 0.0075}; - }; -}; - -class CfgAmmo { - class BulletCore; - class BulletBase : BulletCore { - AGM_BulletMass = 0; // Bullet mass in grams - }; - - // Rifle and MG rounds - class B_556x45_Ball : BulletBase { - AGM_BulletMass = 4.1; // 5.56x45 NATO - }; - - class B_65x39_Caseless : BulletBase { - AGM_BulletMass = 8; // 6.5mm Grendel - }; - - class B_762x51_Ball : BulletBase { - AGM_BulletMass = 10; // 7.62x51 NATO - }; - class AGM_B_762x51_M118LR : B_762x51_Ball { - AGM_BulletMass = 11; // 7.62x51 NATO M118 - }; - - class B_127x99_Ball : BulletBase { - AGM_BulletMass = 42; // 12.7×99mm NATO (.50 BMG) - }; - - class B_127x108_Ball : BulletBase { - AGM_BulletMass = 48.3; // 12.7x108 - }; - - class B_408_Ball : BulletBase { - AGM_BulletMass = 27; // .408 Cheyenne Tactical - }; - - // Pistol Rounds - class B_9x21_Ball : BulletBase { - AGM_BulletMass = 7.45; // 9×21mm IMI - }; - class B_9x19_Ball : B_9x21_Ball { - AGM_BulletMass = 7.45; // 9×19mm Parabellum - }; - class B_127x33_Ball : BulletBase { - AGM_BulletMass = 21; // .50 AE - }; - class B_45ACP_Ball : BulletBase { - AGM_BulletMass = 12; // .45 ACP - }; -}; +#include "CfgWeapons.hpp" diff --git a/addons/overheating/functions/fn_swapBarrel.sqf b/addons/overheating/functions/fn_swapBarrel.sqf deleted file mode 100644 index fa6c0f64f2..0000000000 --- a/addons/overheating/functions/fn_swapBarrel.sqf +++ /dev/null @@ -1,15 +0,0 @@ -// by commy2 - -private ["_player", "_weapon"]; - -_player = _this select 0; -_weapon = _this select 1; - -if (stance _player != "PRONE") then { - [_player, "amovpknlmstpsraswrfldnon", 1] call AGM_Core_fnc_doAnimation; -}; -_player playActionNow "GestureDismountMuzzle"; -_player playAction "GestureMountMuzzle"; -playSound "AGM_BarrelSwap"; - -[10, [_player, _weapon], "AGM_Overheating_fnc_swapBarrelCallback", localize "STR_AGM_Overheating_SwappingBarrel"] call AGM_Core_fnc_progressBar; diff --git a/addons/overheating/functions/fn_swapBarrelCallback.sqf b/addons/overheating/functions/fn_swapBarrelCallback.sqf deleted file mode 100644 index d6fdf6ddc6..0000000000 --- a/addons/overheating/functions/fn_swapBarrelCallback.sqf +++ /dev/null @@ -1,13 +0,0 @@ -// by commy2 - -private ["_player", "_weapon"]; - -_player = _this select 0; -_weapon = _this select 1; - -// don't consume the barrel, but rotate through them. -//player removeItem "AGM_SpareBarrel"; - -[localize "STR_AGM_Overheating_SwappedBarrel", "\AGM_Overheating\UI\spare_barrel_ca.paa"] call AGM_Core_fnc_displayTextPicture; - -_player setVariable [format ["AGM_Overheating_%1", _weapon], [0, 0], false]; diff --git a/addons/overheating/functions/fn_checkTemperature.sqf b/addons/overheating/functions/fnc_checkTemperature.sqf similarity index 80% rename from addons/overheating/functions/fn_checkTemperature.sqf rename to addons/overheating/functions/fnc_checkTemperature.sqf index 8b93be59ce..97d0d70d73 100644 --- a/addons/overheating/functions/fn_checkTemperature.sqf +++ b/addons/overheating/functions/fnc_checkTemperature.sqf @@ -1,11 +1,12 @@ // by commy2 and CAA-Picard +#include "script_component.hpp" _this spawn { _player = _this select 0; _weapon = _this select 1; // Calculate cool down of weapon since last shot - _string = format ["AGM_Overheating_%1", _weapon]; + _string = format [GVAR(%1), _weapon]; _overheat = _player getVariable [_string, [0, 0]]; _temperature = _overheat select 0; _time = _overheat select 1; @@ -14,9 +15,9 @@ _this spawn { _barrelMass = 0.50 * (getNumber (configFile >> "CfgWeapons" >> _weapon >> "WeaponSlotsInfo" >> "mass") / 22.0) max 1.0; // Calculate cooling - _temperature = [_temperature, _barrelMass, time - _time] call AGM_Overheating_fnc_cooldown; + _temperature = [_temperature, _barrelMass, time - _time] call FUNC(cooldown); - ["Overheating", _temperature, {format ["Temperature: %1 °C", _this]}] call AGM_Debug_fnc_log; + ["Overheating", _temperature, {format ["Temperature: %1 °C", _this]}] call EFUNC(core,log); // Store new temperature _time = time; @@ -24,7 +25,7 @@ _this spawn { _scaledTemperature = (_temperature / 1000) min 1; // Play animation and report temperature - _action = getText (configFile >> "CfgWeapons" >> _weapon >> "AGM_checkTemperatureAction"); + _action = getText (configFile >> "CfgWeapons" >> _weapon >> "ACE_checkTemperatureAction"); if (_action == "") then { _action = "Gear"; @@ -45,7 +46,7 @@ _this spawn { for "_a" from 1 to _count do { _string = _string + "|"; }; - _text = [_string, _color] call AGM_Core_fnc_stringToColoredText; + _text = [_string, _color] call EFUNC(core,stringToColoredText); _string = ""; for "_a" from (_count + 1) to 12 do { @@ -54,10 +55,10 @@ _this spawn { _text = composeText [ _text, - [_string, [0.5, 0.5, 0.5]] call AGM_Core_fnc_stringToColoredText + [_string, [0.5, 0.5, 0.5]] call EFUNC(core,stringToColoredTex)t ]; _picture = getText (configFile >> "CfgWeapons" >> _weapon >> "picture"); - [_text, _picture] call AGM_Core_fnc_displayTextPicture; + [_text, _picture] call EFUNC(core,displayTextPicture); }; diff --git a/addons/overheating/functions/fn_clearJam.sqf b/addons/overheating/functions/fnc_clearJam.sqf similarity index 52% rename from addons/overheating/functions/fn_clearJam.sqf rename to addons/overheating/functions/fnc_clearJam.sqf index 2815836583..198e3ea135 100644 --- a/addons/overheating/functions/fn_clearJam.sqf +++ b/addons/overheating/functions/fnc_clearJam.sqf @@ -1,4 +1,5 @@ // by commy2 +#include "script_component.hpp" private ["_unit", "_weapon", "_skipAnim", "_jammedWeapons"]; @@ -6,27 +7,25 @@ _unit = _this select 0; _weapon = _this select 1; _skipAnim = _this select 2; -_jammedWeapons = _unit getVariable ["AGM_Overheating_jammedWeapons", []]; +_jammedWeapons = _unit getVariable [QGVAR(jammedWeapons), []]; if (_weapon in _jammedWeapons) then { _jammedWeapons = _jammedWeapons - [_weapon]; - _unit setVariable ["AGM_Overheating_jammedWeapons", _jammedWeapons]; + _unit setVariable [QGVAR(jammedWeapons), _jammedWeapons]; if (count _jammedWeapons == 0) then { private "_id"; - _id = _unit getVariable ["AGM_JammingActionID", -1]; - //_unit removeAction _id; - //[_unit, "DefaultAction", _id] call AGM_Core_fnc_removeActionMenuEventHandler; - [_unit, "DefaultAction", _id] call AGM_Core_fnc_removeActionEventHandler; - _unit setVariable ["AGM_JammingActionID", -1]; + _id = _unit getVariable [QGVAR(JammingActionID), -1]; + [_unit, "DefaultAction", _id] call EFUNC(core,removeActionEventHandler); + _unit setVariable [QGVAR(JammingActionID), -1]; }; if !(_skipAnim) then { private "_clearJamAction"; - _clearJamAction = getText (configFile >> "CfgWeapons" >> _weapon >> "AGM_clearJamAction"); + _clearJamAction = getText (configFile >> "CfgWeapons" >> _weapon >> "ACE_clearJamAction"); if (_clearJamAction == "") then { _clearJamAction = getText (configFile >> "CfgWeapons" >> _weapon >> "reloadAction"); @@ -35,5 +34,5 @@ if (_weapon in _jammedWeapons) then { _unit playActionNow _clearJamAction; }; - [localize "STR_AGM_Overheating_WeaponUnjammed"] call AGM_Core_fnc_displayTextStructured; + [localize "STR_ACE_Overheating_WeaponUnjammed"] call EFUNC(core,displayTextStructured); }; diff --git a/addons/overheating/functions/fn_cooldown.sqf b/addons/overheating/functions/fnc_cooldown.sqf similarity index 93% rename from addons/overheating/functions/fn_cooldown.sqf rename to addons/overheating/functions/fnc_cooldown.sqf index 7f556a21b0..701768793f 100644 --- a/addons/overheating/functions/fn_cooldown.sqf +++ b/addons/overheating/functions/fnc_cooldown.sqf @@ -11,6 +11,7 @@ * Return value: * New temperature (number) */ +#include "script_component.hpp" private ["_temperature", "_barrelMass", "_totalTime", "_barrelSurface", "_time", "_deltaTime"]; @@ -40,7 +41,7 @@ while {true} do { if (_temperature < 1) exitWith {0}; if (isNil "_temperature") exitWith { - diag_log text format ["[AGM] ERROR: _totalTime = %1; _time = %2; _deltaTime = %3;", _totalTime, _time, _deltaTime]; + diag_log text format ["[ACE] ERROR: _totalTime = %1; _time = %2; _deltaTime = %3;", _totalTime, _time, _deltaTime]; 0 }; diff --git a/addons/overheating/functions/fn_jamWeapon.sqf b/addons/overheating/functions/fnc_jamWeapon.sqf similarity index 53% rename from addons/overheating/functions/fn_jamWeapon.sqf rename to addons/overheating/functions/fnc_jamWeapon.sqf index bbdf3f86ef..1351742690 100644 --- a/addons/overheating/functions/fn_jamWeapon.sqf +++ b/addons/overheating/functions/fnc_jamWeapon.sqf @@ -1,4 +1,5 @@ // based on KK_fnc_playerWeaponMulfunction from KillzoneKid +#include "script_component.hpp" private ["_unit", "_weapon", "_jammedWeapons"]; @@ -8,10 +9,10 @@ _weapon = _this select 1; // don't jam a weapon with no rounds left if (_unit ammo _weapon == 0) exitWith {}; -_jammedWeapons = _unit getVariable ["AGM_Overheating_jammedWeapons", []]; +_jammedWeapons = _unit getVariable [QGVAR(jammedWeapons), []]; _jammedWeapons pushBack _weapon; -_unit setVariable ["AGM_Overheating_jammedWeapons", _jammedWeapons]; +_unit setVariable [QGVAR(jammedWeapons), _jammedWeapons]; // this is to re-activate the 'DefaultAction', so you can jam a weapon while full auto shooting [_unit, _weapon] spawn { @@ -28,41 +29,41 @@ _unit setVariable ["AGM_Overheating_jammedWeapons", _jammedWeapons]; waitUntil {_frame < diag_frameno}; _unit setAmmo [_weapon, _ammo]; - //[localize "STR_AGM_Overheating_WeaponJammed"] call AGM_Core_fnc_displayTextStructured; + //[localize "STR_ACE_Overheating_WeaponJammed"] call EFUNC(core,displayTextStructured); }; }; // only display the hint once, after you try to shoot an already jammed weapon -AGM_Overheating_knowAboutJam = false; +GVAR(knowAboutJam) = false; -if (_unit getVariable ["AGM_JammingActionID", -1] == -1) then { +if (_unit getVariable [QGVAR(JammingActionID), -1] == -1) then { private ["_condition", "_statement", "_condition2", "_statement2", "_id"]; _condition = { - [_this select 1] call AGM_Core_fnc_canUseWeapon - && {currentMuzzle (_this select 1) in ((_this select 1) getVariable ["AGM_Overheating_jammedWeapons", []])} - && {!(currentMuzzle (_this select 1) in ((_this select 1) getVariable ["AGM_SafeMode_safedWeapons", []]))} + [_this select 1] call EFUNC(core,canUseWeapon) + && {currentMuzzle (_this select 1) in ((_this select 1) getVariable [QGVAR(jammedWeapons), []])} + && {!(currentMuzzle (_this select 1) in ((_this select 1) getVariable [QEGVAR(safemode,safedWeapons), []]))} }; _statement = { playSound3D ["a3\sounds_f\weapons\Other\dry9.wss", _this select 0]; - if (!(missionNamespace getVariable ["AGM_Overheating_knowAboutJam", false]) && {(_this select 1) ammo currentWeapon (_this select 1) > 0}) then { - [localize "STR_AGM_Overheating_WeaponJammed"] call AGM_Core_fnc_displayTextStructured; - AGM_Overheating_knowAboutJam = true; + if (!(missionNamespace getVariable [QGVAR(knowAboutJam), false]) && {(_this select 1) ammo currentWeapon (_this select 1) > 0}) then { + [localize "STR_ACE_Overheating_WeaponJammed"] call EFUNC(core,displayTextStructured); + GVAR(knowAboutJam) = true; }; }; _condition2 = { - currentWeapon (_this select 1) in ((_this select 1) getVariable ["AGM_Overheating_jammedWeapons", []]) + currentWeapon (_this select 1) in ((_this select 1) getVariable [QGVAR(jammedWeapons), []]) }; _statement2 = { - [_this select 1, currentWeapon (_this select 1), false] call AGM_Overheating_fnc_clearJam; + [_this select 1, currentWeapon (_this select 1), false] call FUNC(clearJam); }; - //_id = [_unit, format ["%1", localize "STR_AGM_Overheating_UnjamWeapon"], "DefaultAction", _condition, _statement, _condition2, _statement2, 10] call AGM_Core_fnc_addActionMenuEventHandler; - _id = [_unit, "DefaultAction", _condition, _statement] call AGM_Core_fnc_addActionEventHandler; + //_id = [_unit, format ["%1", localize "STR_ACE_Overheating_UnjamWeapon"], "DefaultAction", _condition, _statement, _condition2, _statement2, 10] call EFUNC(core,addActionMenuEventHandler); + _id = [_unit, "DefaultAction", _condition, _statement] call EFUNC(core,addActionEventHandler); - _unit setVariable ["AGM_JammingActionID", _id]; + _unit setVariable [QGVAR(JammingActionID), _id]; }; diff --git a/addons/overheating/functions/fn_overheat.sqf b/addons/overheating/functions/fnc_overheat.sqf similarity index 84% rename from addons/overheating/functions/fn_overheat.sqf rename to addons/overheating/functions/fnc_overheat.sqf index 5b4912e471..084af39f2f 100644 --- a/addons/overheating/functions/fn_overheat.sqf +++ b/addons/overheating/functions/fnc_overheat.sqf @@ -1,4 +1,5 @@ // by commy2 and CAA-Picard +#include "script_component.hpp" private ["_unit", "_weapon", "_ammo", "_projectile", "_velocity", "_variableName", "_overheat", "_temperature", "_time", "_energyIncrement", "_barrelMass", "_scaledTemperature"]; @@ -9,7 +10,7 @@ _projectile = _this select 6; _velocity = velocity _projectile; // each weapon has it's own variable. Can't store the temperature in the weapon since they are not objects unfortunately. -_variableName = format ["AGM_Overheating_%1", _weapon]; +_variableName = format [QGVAR(%1), _weapon]; // get old values _overheat = _unit getVariable [_variableName, [0, 0]]; @@ -17,7 +18,7 @@ _temperature = _overheat select 0; _time = _overheat select 1; // Get physical parameters -_bulletMass = getNumber (configFile >> "CfgAmmo" >> _ammo >> "AGM_BulletMass"); +_bulletMass = getNumber (configFile >> "CfgAmmo" >> _ammo >> "ACE_BulletMass"); if (_bulletMass == 0) then { // If the bullet mass is not configured, estimate it _bulletMass = 3.4334 + 0.5171 * (getNumber (configFile >> "CfgAmmo" >> _ammo >> "hit") + getNumber (configFile >> "CfgAmmo" >> _ammo >> "caliber")); @@ -26,7 +27,7 @@ _energyIncrement = 0.75 * 0.0005 * _bulletMass * (vectorMagnitudeSqr _velocity); _barrelMass = 0.50 * (getNumber (configFile >> "CfgWeapons" >> _weapon >> "WeaponSlotsInfo" >> "mass") / 22.0) max 1.0; // Calculate cooling -_temperature = [_temperature, _barrelMass, time - _time] call AGM_Overheating_fnc_cooldown; +_temperature = [_temperature, _barrelMass, time - _time] call FUNC(cooldown); // Calculate heating _temperature = _temperature + _energyIncrement / (_barrelMass * 466); // Steel Heat Capacity = 466 J/(Kg.K) @@ -97,31 +98,31 @@ if (_intensity > 0) then { // dispersion and bullet slow down private ["_dispersion", "_slowdownFactor", "_count"]; -_dispersion = getArray (configFile >> "CfgWeapons" >> _weapon >> "AGM_Overheating_Dispersion"); +_dispersion = getArray (configFile >> "CfgWeapons" >> _weapon >> "ACE_Overheating_Dispersion"); _count = count _dispersion; if (_count > 0) then { - _dispersion = ([_dispersion, (_count - 1) * _scaledTemperature] call AGM_Core_fnc_interpolateFromArray) max 0; + _dispersion = ([_dispersion, (_count - 1) * _scaledTemperature] call EFUNC(core,interpolateFromArray)) max 0; } else { _dispersion = 0; }; -_slowdownFactor = getArray (configFile >> "CfgWeapons" >> _weapon >> "AGM_Overheating_slowdownFactor"); +_slowdownFactor = getArray (configFile >> "CfgWeapons" >> _weapon >> "ACE_Overheating_slowdownFactor"); _count = count _slowdownFactor; if (_count > 0) then { - _slowdownFactor = ([_slowdownFactor, (_count - 1) * _scaledTemperature] call AGM_Core_fnc_interpolateFromArray) max 0; + _slowdownFactor = ([_slowdownFactor, (_count - 1) * _scaledTemperature] call EFUNC(core,interpolateFromArray)) max 0; } else { _slowdownFactor = 1; }; -[_projectile, _dispersion - 2 * random _dispersion, _dispersion - 2 * random _dispersion, (_slowdownFactor - 1) * vectorMagnitude _velocity] call AGM_Core_fnc_changeProjectileDirection; +[_projectile, _dispersion - 2 * random _dispersion, _dispersion - 2 * random _dispersion, (_slowdownFactor - 1) * vectorMagnitude _velocity] call EFUNC(core,changeProjectileDirection); // jamming private "_jamChance"; -_jamChance = getArray (configFile >> "CfgWeapons" >> _weapon >> "AGM_Overheating_jamChance"); +_jamChance = getArray (configFile >> "CfgWeapons" >> _weapon >> "ACE_Overheating_jamChance"); _count = count _jamChance; if (_count == 0) then { @@ -129,7 +130,7 @@ if (_count == 0) then { _count = 1; }; -_jamChance = [_jamChance, (_count - 1) * _scaledTemperature] call AGM_Core_fnc_interpolateFromArray; +_jamChance = [_jamChance, (_count - 1) * _scaledTemperature] call EFUNC(core,interpolateFromArray); // increase jam chance on dusty grounds if prone if (stance _unit == "PRONE") then { @@ -143,12 +144,12 @@ if (stance _unit == "PRONE") then { }; }; -if ("Jam" in (missionNamespace getvariable ["AGM_Debug", []])) then { +if ("Jam" in (missionNamespace getvariable ["ACE_Debug", []])) then { _jamChance = 0.5; }; -["Overheating", [_temperature, _jamChance], {format ["Temperature: %1 - JamChance: %2", _this select 0, _this select 1]}] call AGM_Debug_fnc_log; +["Overheating", [_temperature, _jamChance], {format ["Temperature: %1 - JamChance: %2", _this select 0, _this select 1]}] call EFUNC(core,log); if (random 1 < _jamChance) then { - [_unit, _weapon] call AGM_Overheating_fnc_jamWeapon; + [_unit, _weapon] call FUNC(jamWeapon); }; diff --git a/addons/overheating/functions/fnc_swapBarrel.sqf b/addons/overheating/functions/fnc_swapBarrel.sqf new file mode 100644 index 0000000000..76abc6b68e --- /dev/null +++ b/addons/overheating/functions/fnc_swapBarrel.sqf @@ -0,0 +1,16 @@ +// by commy2 +#include "script_component.hpp" + +private ["_player", "_weapon"]; + +_player = _this select 0; +_weapon = _this select 1; + +if (stance _player != "PRONE") then { + [_player, "amovpknlmstpsraswrfldnon", 1] call EFUNC(core,doAnimation); +}; +_player playActionNow "GestureDismountMuzzle"; +_player playAction "GestureMountMuzzle"; +playSound "ACE_BarrelSwap"; + +[10, [_player, _weapon], QFUNC(swapBarrelCallback), localize "STR_ACE_Overheating_SwappingBarrel"] call EFUNC(core,progressBar); diff --git a/addons/overheating/functions/fnc_swapBarrelCallback.sqf b/addons/overheating/functions/fnc_swapBarrelCallback.sqf new file mode 100644 index 0000000000..b02de4bf32 --- /dev/null +++ b/addons/overheating/functions/fnc_swapBarrelCallback.sqf @@ -0,0 +1,14 @@ +// by commy2 +#include "script_component.hpp" + +private ["_player", "_weapon"]; + +_player = _this select 0; +_weapon = _this select 1; + +// don't consume the barrel, but rotate through them. +//player removeItem "ACE_SpareBarrel"; + +[localize "STR_ACE_Overheating_SwappedBarrel", QUOTE(PATHOF(UI\spare_barrel_ca.paa))] call EFUNC(core,displayTextPicture); + +_player setVariable [format [QGVAR(%1), _weapon], [0, 0], false]; diff --git a/addons/overheating/script_component.hpp b/addons/overheating/script_component.hpp new file mode 100644 index 0000000000..d7ce7d2d3b --- /dev/null +++ b/addons/overheating/script_component.hpp @@ -0,0 +1,12 @@ +#define COMPONENT overheating +#include "\z\ace\Addons\main\script_mod.hpp" + +#ifdef DEBUG_ENABLED_OVERHEATING + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_SETTINGS_OVERHEATING + #define DEBUG_SETTINGS DEBUG_SETTINGS_OVERHEATING +#endif + +#include "\z\ace\Addons\main\script_macros.hpp" \ No newline at end of file diff --git a/addons/overheating/stringtable.xml b/addons/overheating/stringtable.xml index 8f68ebaf01..f8cea2ddb9 100644 --- a/addons/overheating/stringtable.xml +++ b/addons/overheating/stringtable.xml @@ -1,8 +1,8 @@  - + - + Spare barrel Ersatzlauf Cañón de repuesto @@ -14,7 +14,7 @@ Cano Reserva Canna di ricambio - + Use to swap barrel. Benutzen, um Lauf zu wechseln. Permite intercambiar el cañón @@ -26,7 +26,7 @@ Use para trocar o cano/estriamento. Usata per cambiare la canna. - + Weapon jammed! Ladehemmung! Arma encasquillada! @@ -38,7 +38,7 @@ Arma travada! Arma inceppata! - + Clear jam Ladehemmung beheben Desencasquillar el arma @@ -50,7 +50,7 @@ Destravar arma Ripulisci l'arma - + Jam cleared Ladehemmung behoben Arma desencasquillada @@ -62,7 +62,7 @@ Arma destravada Arma pronta al fuoco - + Swap barrel Lauf wechseln Cambiar el cañón @@ -74,7 +74,7 @@ Substituir cano Sostiuisci la canna - + Swapping barrel... Lauf wird gewechselt... Cambiando el cañón... @@ -86,7 +86,7 @@ Substituindo cano... Sto sostituendo la canna ... - + Swapped barrel Lauf gewechselt Cañón cambiado @@ -98,7 +98,7 @@ Cano substituído Canna sostituita - + Check weapons temperature Temperatur der Waffe prüfen Verificar temperatura del arma @@ -110,7 +110,7 @@ Controlla la temperatura della canna Проверить температуру оружия - + Check temperature Temperatur prüfen Verificar temperatura @@ -122,7 +122,7 @@ Controlla la temperatura Проверить температуру - + Checking temperature ... Prüfe Temperatur ... Verificando temperatura ... @@ -134,7 +134,7 @@ Sto controllando la temperatura ... Проверка температуры ... - + Temperature Temperatur Temperatura From a53a2651175a420548986a1db64ca9861bc33dd2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=A1s=20Badano?= Date: Tue, 13 Jan 2015 00:30:39 -0300 Subject: [PATCH 09/50] overheating: Replace calls to core for calls to common --- addons/overheating/config.cpp | 2 +- addons/overheating/functions/fnc_checkTemperature.sqf | 8 ++++---- addons/overheating/functions/fnc_clearJam.sqf | 4 ++-- addons/overheating/functions/fnc_jamWeapon.sqf | 10 +++++----- addons/overheating/functions/fnc_overheat.sqf | 10 +++++----- addons/overheating/functions/fnc_swapBarrel.sqf | 4 ++-- .../overheating/functions/fnc_swapBarrelCallback.sqf | 2 +- 7 files changed, 20 insertions(+), 20 deletions(-) diff --git a/addons/overheating/config.cpp b/addons/overheating/config.cpp index b2db6117b8..3fa17d9be0 100644 --- a/addons/overheating/config.cpp +++ b/addons/overheating/config.cpp @@ -19,7 +19,7 @@ class CfgPatches { class ACE_Core_Default_Keys { class clearJam { displayName = "$STR_ACE_Overheating_UnjamWeapon"; - condition = QUOTE( [_player] call EFUNC(core,canUseWeapon) && {currentWeapon _player in (_player getVariable [QUOTE(QGVAR(jammedWeapons)), []])} ); + condition = QUOTE( [_player] call EFUNC(common,canUseWeapon) && {currentWeapon _player in (_player getVariable [QUOTE(QGVAR(jammedWeapons)), []])} ); statement = QUOTE( [_player, currentMuzzle _player, false] call FUNC(clearJam); ); key = 19; shift = 1; diff --git a/addons/overheating/functions/fnc_checkTemperature.sqf b/addons/overheating/functions/fnc_checkTemperature.sqf index 97d0d70d73..4db5105843 100644 --- a/addons/overheating/functions/fnc_checkTemperature.sqf +++ b/addons/overheating/functions/fnc_checkTemperature.sqf @@ -17,7 +17,7 @@ _this spawn { // Calculate cooling _temperature = [_temperature, _barrelMass, time - _time] call FUNC(cooldown); - ["Overheating", _temperature, {format ["Temperature: %1 °C", _this]}] call EFUNC(core,log); + ["Overheating", _temperature, {format ["Temperature: %1 °C", _this]}] call EFUNC(common,log); // Store new temperature _time = time; @@ -46,7 +46,7 @@ _this spawn { for "_a" from 1 to _count do { _string = _string + "|"; }; - _text = [_string, _color] call EFUNC(core,stringToColoredText); + _text = [_string, _color] call EFUNC(common,stringToColoredText); _string = ""; for "_a" from (_count + 1) to 12 do { @@ -55,10 +55,10 @@ _this spawn { _text = composeText [ _text, - [_string, [0.5, 0.5, 0.5]] call EFUNC(core,stringToColoredTex)t + [_string, [0.5, 0.5, 0.5]] call EFUNC(common,stringToColoredTex)t ]; _picture = getText (configFile >> "CfgWeapons" >> _weapon >> "picture"); - [_text, _picture] call EFUNC(core,displayTextPicture); + [_text, _picture] call EFUNC(common,displayTextPicture); }; diff --git a/addons/overheating/functions/fnc_clearJam.sqf b/addons/overheating/functions/fnc_clearJam.sqf index 198e3ea135..f7ec9568fb 100644 --- a/addons/overheating/functions/fnc_clearJam.sqf +++ b/addons/overheating/functions/fnc_clearJam.sqf @@ -18,7 +18,7 @@ if (_weapon in _jammedWeapons) then { private "_id"; _id = _unit getVariable [QGVAR(JammingActionID), -1]; - [_unit, "DefaultAction", _id] call EFUNC(core,removeActionEventHandler); + [_unit, "DefaultAction", _id] call EFUNC(common,removeActionEventHandler); _unit setVariable [QGVAR(JammingActionID), -1]; }; @@ -34,5 +34,5 @@ if (_weapon in _jammedWeapons) then { _unit playActionNow _clearJamAction; }; - [localize "STR_ACE_Overheating_WeaponUnjammed"] call EFUNC(core,displayTextStructured); + [localize "STR_ACE_Overheating_WeaponUnjammed"] call EFUNC(common,displayTextStructured); }; diff --git a/addons/overheating/functions/fnc_jamWeapon.sqf b/addons/overheating/functions/fnc_jamWeapon.sqf index 1351742690..df5d46046e 100644 --- a/addons/overheating/functions/fnc_jamWeapon.sqf +++ b/addons/overheating/functions/fnc_jamWeapon.sqf @@ -29,7 +29,7 @@ _unit setVariable [QGVAR(jammedWeapons), _jammedWeapons]; waitUntil {_frame < diag_frameno}; _unit setAmmo [_weapon, _ammo]; - //[localize "STR_ACE_Overheating_WeaponJammed"] call EFUNC(core,displayTextStructured); + //[localize "STR_ACE_Overheating_WeaponJammed"] call EFUNC(common,displayTextStructured); }; }; @@ -40,7 +40,7 @@ if (_unit getVariable [QGVAR(JammingActionID), -1] == -1) then { private ["_condition", "_statement", "_condition2", "_statement2", "_id"]; _condition = { - [_this select 1] call EFUNC(core,canUseWeapon) + [_this select 1] call EFUNC(common,canUseWeapon) && {currentMuzzle (_this select 1) in ((_this select 1) getVariable [QGVAR(jammedWeapons), []])} && {!(currentMuzzle (_this select 1) in ((_this select 1) getVariable [QEGVAR(safemode,safedWeapons), []]))} }; @@ -49,7 +49,7 @@ if (_unit getVariable [QGVAR(JammingActionID), -1] == -1) then { playSound3D ["a3\sounds_f\weapons\Other\dry9.wss", _this select 0]; if (!(missionNamespace getVariable [QGVAR(knowAboutJam), false]) && {(_this select 1) ammo currentWeapon (_this select 1) > 0}) then { - [localize "STR_ACE_Overheating_WeaponJammed"] call EFUNC(core,displayTextStructured); + [localize "STR_ACE_Overheating_WeaponJammed"] call EFUNC(common,displayTextStructured); GVAR(knowAboutJam) = true; }; }; @@ -62,8 +62,8 @@ if (_unit getVariable [QGVAR(JammingActionID), -1] == -1) then { [_this select 1, currentWeapon (_this select 1), false] call FUNC(clearJam); }; - //_id = [_unit, format ["%1", localize "STR_ACE_Overheating_UnjamWeapon"], "DefaultAction", _condition, _statement, _condition2, _statement2, 10] call EFUNC(core,addActionMenuEventHandler); - _id = [_unit, "DefaultAction", _condition, _statement] call EFUNC(core,addActionEventHandler); + //_id = [_unit, format ["%1", localize "STR_ACE_Overheating_UnjamWeapon"], "DefaultAction", _condition, _statement, _condition2, _statement2, 10] call EFUNC(common,addActionMenuEventHandler); + _id = [_unit, "DefaultAction", _condition, _statement] call EFUNC(common,addActionEventHandler); _unit setVariable [QGVAR(JammingActionID), _id]; }; diff --git a/addons/overheating/functions/fnc_overheat.sqf b/addons/overheating/functions/fnc_overheat.sqf index 084af39f2f..e46c9a6c6f 100644 --- a/addons/overheating/functions/fnc_overheat.sqf +++ b/addons/overheating/functions/fnc_overheat.sqf @@ -102,7 +102,7 @@ _dispersion = getArray (configFile >> "CfgWeapons" >> _weapon >> "ACE_Overheatin _count = count _dispersion; if (_count > 0) then { - _dispersion = ([_dispersion, (_count - 1) * _scaledTemperature] call EFUNC(core,interpolateFromArray)) max 0; + _dispersion = ([_dispersion, (_count - 1) * _scaledTemperature] call EFUNC(common,interpolateFromArray)) max 0; } else { _dispersion = 0; }; @@ -111,12 +111,12 @@ _slowdownFactor = getArray (configFile >> "CfgWeapons" >> _weapon >> "ACE_Overhe _count = count _slowdownFactor; if (_count > 0) then { - _slowdownFactor = ([_slowdownFactor, (_count - 1) * _scaledTemperature] call EFUNC(core,interpolateFromArray)) max 0; + _slowdownFactor = ([_slowdownFactor, (_count - 1) * _scaledTemperature] call EFUNC(common,interpolateFromArray)) max 0; } else { _slowdownFactor = 1; }; -[_projectile, _dispersion - 2 * random _dispersion, _dispersion - 2 * random _dispersion, (_slowdownFactor - 1) * vectorMagnitude _velocity] call EFUNC(core,changeProjectileDirection); +[_projectile, _dispersion - 2 * random _dispersion, _dispersion - 2 * random _dispersion, (_slowdownFactor - 1) * vectorMagnitude _velocity] call EFUNC(common,changeProjectileDirection); // jamming @@ -130,7 +130,7 @@ if (_count == 0) then { _count = 1; }; -_jamChance = [_jamChance, (_count - 1) * _scaledTemperature] call EFUNC(core,interpolateFromArray); +_jamChance = [_jamChance, (_count - 1) * _scaledTemperature] call EFUNC(common,interpolateFromArray); // increase jam chance on dusty grounds if prone if (stance _unit == "PRONE") then { @@ -148,7 +148,7 @@ if ("Jam" in (missionNamespace getvariable ["ACE_Debug", []])) then { _jamChance = 0.5; }; -["Overheating", [_temperature, _jamChance], {format ["Temperature: %1 - JamChance: %2", _this select 0, _this select 1]}] call EFUNC(core,log); +["Overheating", [_temperature, _jamChance], {format ["Temperature: %1 - JamChance: %2", _this select 0, _this select 1]}] call EFUNC(common,log); if (random 1 < _jamChance) then { [_unit, _weapon] call FUNC(jamWeapon); diff --git a/addons/overheating/functions/fnc_swapBarrel.sqf b/addons/overheating/functions/fnc_swapBarrel.sqf index 76abc6b68e..46e22cef64 100644 --- a/addons/overheating/functions/fnc_swapBarrel.sqf +++ b/addons/overheating/functions/fnc_swapBarrel.sqf @@ -7,10 +7,10 @@ _player = _this select 0; _weapon = _this select 1; if (stance _player != "PRONE") then { - [_player, "amovpknlmstpsraswrfldnon", 1] call EFUNC(core,doAnimation); + [_player, "amovpknlmstpsraswrfldnon", 1] call EFUNC(common,doAnimation); }; _player playActionNow "GestureDismountMuzzle"; _player playAction "GestureMountMuzzle"; playSound "ACE_BarrelSwap"; -[10, [_player, _weapon], QFUNC(swapBarrelCallback), localize "STR_ACE_Overheating_SwappingBarrel"] call EFUNC(core,progressBar); +[10, [_player, _weapon], QFUNC(swapBarrelCallback), localize "STR_ACE_Overheating_SwappingBarrel"] call EFUNC(common,progressBar); diff --git a/addons/overheating/functions/fnc_swapBarrelCallback.sqf b/addons/overheating/functions/fnc_swapBarrelCallback.sqf index b02de4bf32..373e451dcf 100644 --- a/addons/overheating/functions/fnc_swapBarrelCallback.sqf +++ b/addons/overheating/functions/fnc_swapBarrelCallback.sqf @@ -9,6 +9,6 @@ _weapon = _this select 1; // don't consume the barrel, but rotate through them. //player removeItem "ACE_SpareBarrel"; -[localize "STR_ACE_Overheating_SwappedBarrel", QUOTE(PATHOF(UI\spare_barrel_ca.paa))] call EFUNC(core,displayTextPicture); +[localize "STR_ACE_Overheating_SwappedBarrel", QUOTE(PATHOF(UI\spare_barrel_ca.paa))] call EFUNC(common,displayTextPicture); _player setVariable [format [QGVAR(%1), _weapon], [0, 0], false]; From 2a2eb38de79df95c71b77fcd1d2e1a27ecbd306e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=A1s=20Badano?= Date: Tue, 13 Jan 2015 00:37:53 -0300 Subject: [PATCH 10/50] overheating: hard code path to parent script_components --- addons/overheating/functions/fnc_checkTemperature.sqf | 2 +- addons/overheating/functions/fnc_clearJam.sqf | 2 +- addons/overheating/functions/fnc_cooldown.sqf | 2 +- addons/overheating/functions/fnc_jamWeapon.sqf | 2 +- addons/overheating/functions/fnc_overheat.sqf | 2 +- addons/overheating/functions/fnc_swapBarrel.sqf | 2 +- addons/overheating/functions/fnc_swapBarrelCallback.sqf | 4 +--- 7 files changed, 7 insertions(+), 9 deletions(-) diff --git a/addons/overheating/functions/fnc_checkTemperature.sqf b/addons/overheating/functions/fnc_checkTemperature.sqf index 4db5105843..a19221eaa4 100644 --- a/addons/overheating/functions/fnc_checkTemperature.sqf +++ b/addons/overheating/functions/fnc_checkTemperature.sqf @@ -1,5 +1,5 @@ // by commy2 and CAA-Picard -#include "script_component.hpp" +#include "\z\ace\addons\overheating\script_component.hpp" _this spawn { _player = _this select 0; diff --git a/addons/overheating/functions/fnc_clearJam.sqf b/addons/overheating/functions/fnc_clearJam.sqf index f7ec9568fb..1ae58e0b4f 100644 --- a/addons/overheating/functions/fnc_clearJam.sqf +++ b/addons/overheating/functions/fnc_clearJam.sqf @@ -1,5 +1,5 @@ // by commy2 -#include "script_component.hpp" +#include "\z\ace\addons\overheating\script_component.hpp" private ["_unit", "_weapon", "_skipAnim", "_jammedWeapons"]; diff --git a/addons/overheating/functions/fnc_cooldown.sqf b/addons/overheating/functions/fnc_cooldown.sqf index 701768793f..014dfbcbfe 100644 --- a/addons/overheating/functions/fnc_cooldown.sqf +++ b/addons/overheating/functions/fnc_cooldown.sqf @@ -11,7 +11,7 @@ * Return value: * New temperature (number) */ -#include "script_component.hpp" +#include "\z\ace\addons\overheating\script_component.hpp" private ["_temperature", "_barrelMass", "_totalTime", "_barrelSurface", "_time", "_deltaTime"]; diff --git a/addons/overheating/functions/fnc_jamWeapon.sqf b/addons/overheating/functions/fnc_jamWeapon.sqf index df5d46046e..ba03b0dfc0 100644 --- a/addons/overheating/functions/fnc_jamWeapon.sqf +++ b/addons/overheating/functions/fnc_jamWeapon.sqf @@ -1,5 +1,5 @@ // based on KK_fnc_playerWeaponMulfunction from KillzoneKid -#include "script_component.hpp" +#include "\z\ace\addons\overheating\script_component.hpp" private ["_unit", "_weapon", "_jammedWeapons"]; diff --git a/addons/overheating/functions/fnc_overheat.sqf b/addons/overheating/functions/fnc_overheat.sqf index e46c9a6c6f..889d99c625 100644 --- a/addons/overheating/functions/fnc_overheat.sqf +++ b/addons/overheating/functions/fnc_overheat.sqf @@ -1,5 +1,5 @@ // by commy2 and CAA-Picard -#include "script_component.hpp" +#include "\z\ace\addons\overheating\script_component.hpp" private ["_unit", "_weapon", "_ammo", "_projectile", "_velocity", "_variableName", "_overheat", "_temperature", "_time", "_energyIncrement", "_barrelMass", "_scaledTemperature"]; diff --git a/addons/overheating/functions/fnc_swapBarrel.sqf b/addons/overheating/functions/fnc_swapBarrel.sqf index 46e22cef64..bf55445752 100644 --- a/addons/overheating/functions/fnc_swapBarrel.sqf +++ b/addons/overheating/functions/fnc_swapBarrel.sqf @@ -1,5 +1,5 @@ // by commy2 -#include "script_component.hpp" +#include "\z\ace\addons\overheating\script_component.hpp" private ["_player", "_weapon"]; diff --git a/addons/overheating/functions/fnc_swapBarrelCallback.sqf b/addons/overheating/functions/fnc_swapBarrelCallback.sqf index 373e451dcf..62e9a41263 100644 --- a/addons/overheating/functions/fnc_swapBarrelCallback.sqf +++ b/addons/overheating/functions/fnc_swapBarrelCallback.sqf @@ -1,5 +1,5 @@ // by commy2 -#include "script_component.hpp" +#include "\z\ace\addons\overheating\script_component.hpp" private ["_player", "_weapon"]; @@ -7,8 +7,6 @@ _player = _this select 0; _weapon = _this select 1; // don't consume the barrel, but rotate through them. -//player removeItem "ACE_SpareBarrel"; - [localize "STR_ACE_Overheating_SwappedBarrel", QUOTE(PATHOF(UI\spare_barrel_ca.paa))] call EFUNC(common,displayTextPicture); _player setVariable [format [QGVAR(%1), _weapon], [0, 0], false]; From 16a3e1d4893cf8f7b4b18313b09c8a0d74fc8ec6 Mon Sep 17 00:00:00 2001 From: ViperMaul Date: Mon, 12 Jan 2015 20:50:45 -0800 Subject: [PATCH 11/50] Build Script coded in Python. Requires mikero tools: pboProject and its requirements plus BIS Tools --- tools/ace_build_tool/make.cfg | 73 ++++ tools/ace_build_tool/make.py | 763 ++++++++++++++++++++++++++++++++++ 2 files changed, 836 insertions(+) create mode 100644 tools/ace_build_tool/make.cfg create mode 100644 tools/ace_build_tool/make.py 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 From 3fb2a8e245c0ea81d6736f1a690892afac1014dd Mon Sep 17 00:00:00 2001 From: jaynus Date: Mon, 12 Jan 2015 21:14:27 -0800 Subject: [PATCH 12/50] big code clean up --- addons/attach/CfgEventHandlers.hpp | 2 +- addons/attach/config.cpp | 2 +- addons/attach/functions/fnc_attach.sqf | 10 +- addons/attach/functions/fnc_detach.sqf | 8 +- addons/attach/functions/script_component.hpp | 1 + addons/common/CfgVehicles.hpp | 2 +- addons/common/MenuConfig.hpp | 2 +- addons/common/functions/script_component.hpp | 1 + .../{ => functions}/fnc_BIS_ARTY_WRAPPER.sqf | 0 .../frag/{ => functions}/fnc_addBlackList.sqf | 0 .../{ => functions}/fnc_addManualTrack.sqf | 0 addons/frag/{ => functions}/fnc_addTrack.sqf | 0 .../frag/{ => functions}/fnc_clearTraces.sqf | 0 addons/frag/{ => functions}/fnc_denyFrag.sqf | 0 addons/frag/{ => functions}/fnc_doSpall.sqf | 0 .../frag/{ => functions}/fnc_drawTraces.sqf | 0 addons/frag/{ => functions}/fnc_fired.sqf | 0 .../frag/{ => functions}/fnc_frag_trace.sqf | 0 addons/frag/{ => functions}/fnc_frago.sqf | 0 .../frag/{ => functions}/fnc_removeTrack.sqf | 0 addons/frag/{ => functions}/fnc_spallHP.sqf | 0 .../frag/{ => functions}/fnc_spallTrack.sqf | 0 .../frag/{ => functions}/fnc_startTracing.sqf | 0 .../frag/{ => functions}/fnc_stopTracing.sqf | 0 .../{ => functions}/fnc_trackFragRound.sqf | 0 .../frag/{ => functions}/fnc_trackTrace.sqf | 0 .../{ => functions}/fnc_vectorDiffFast.sqf | 0 addons/frag/functions/script_component.hpp | 1 + addons/interaction/CfgEventHandlers.hpp | 4 +- addons/interaction/config.cpp | 2 +- ...ableItem.sqf => fnc_AddSelectableItem.sqf} | 2 +- .../{fn_GetActions.sqf => fnc_GetActions.sqf} | 8 +- .../{fn_MoveDown.sqf => fnc_MoveDown.sqf} | 0 ...Interaction.sqf => fnc_addInteraction.sqf} | 0 ...ionSelf.sqf => fnc_addInteractionSelf.sqf} | 0 ..._addToTooltip.sqf => fnc_addToTooltip.sqf} | 0 ..._applyButtons.sqf => fnc_applyButtons.sqf} | 0 ...teractWith.sqf => fnc_canInteractWith.sqf} | 0 ...TapShoulder.sqf => fnc_canTapShoulder.sqf} | 0 ...fn_getActions2.sqf => fnc_getActions2.sqf} | 6 +- ...yStatus.sqf => fnc_getCaptivityStatus.sqf} | 2 +- .../{fn_getDoor.sqf => fnc_getDoor.sqf} | 0 ...imations.sqf => fnc_getDoorAnimations.sqf} | 0 .../{fn_getDown.sqf => fnc_getDown.sqf} | 0 ...edButton.sqf => fnc_getSelectedButton.sqf} | 0 .../{fn_hideMenu.sqf => fnc_hideMenu.sqf} | 0 ...ideMouseHint.sqf => fnc_hideMouseHint.sqf} | 0 ...tion.sqf => fnc_initialiseInteraction.sqf} | 14 +-- .../{fn_isInRange.sqf => fnc_isInRange.sqf} | 0 .../{fn_joinTeam.sqf => fnc_joinTeam.sqf} | 4 +- ..._menuKeyInput.sqf => fnc_menuKeyInput.sqf} | 0 ...eraction.sqf => fnc_moduleInteraction.sqf} | 2 +- ..._onButtonDown.sqf => fnc_onButtonDown.sqf} | 2 +- ...nDownSelf.sqf => fnc_onButtonDownSelf.sqf} | 2 +- .../{fn_onButtonUp.sqf => fnc_onButtonUp.sqf} | 0 .../{fn_onClick.sqf => fnc_onClick.sqf} | 0 ...Click.sqf => fnc_onSelectMenuDblClick.sqf} | 0 .../{fn_openDoor.sqf => fnc_openDoor.sqf} | 0 .../{fn_openMenu.sqf => fnc_openMenu.sqf} | 0 ...uSelectUI.sqf => fnc_openMenuSelectUI.sqf} | 6 +- ..._openMenuSelf.sqf => fnc_openMenuSelf.sqf} | 0 ...nSelectMenu.sqf => fnc_openSelectMenu.sqf} | 0 ...fn_openSubMenu.sqf => fnc_openSubMenu.sqf} | 0 ...ubMenuSelf.sqf => fnc_openSubMenuSelf.sqf} | 0 ...lectMenu.sqf => fnc_prepareSelectMenu.sqf} | 0 .../functions/{fn_push.sqf => fnc_push.sqf} | 2 +- ...eraction.sqf => fnc_removeInteraction.sqf} | 0 ...Self.sqf => fnc_removeInteractionSelf.sqf} | 0 .../{fn_removeTag.sqf => fnc_removeTag.sqf} | 0 .../{fn_sendAway.sqf => fnc_sendAway.sqf} | 0 ...yStatus.sqf => fnc_setCaptivityStatus.sqf} | 2 +- .../{fn_showMenu.sqf => fnc_showMenu.sqf} | 4 +- ...howMouseHint.sqf => fnc_showMouseHint.sqf} | 0 ...rity.sqf => fnc_sortOptionsByPriority.sqf} | 0 ...fn_tapShoulder.sqf => fnc_tapShoulder.sqf} | 4 +- ...tion.sqf => fnc_updateTooltipPosition.sqf} | 0 .../functions/script_component.hpp | 1 + addons/laser/config.cpp | 2 +- addons/laser/{ => functions}/fnc_checkLos.sqf | 0 .../fnc_findLaserDesignator.sqf | 0 .../{ => functions}/fnc_findStrongestRay.sqf | 0 .../{ => functions}/fnc_laserTargetPFH.sqf | 0 .../laser/{ => functions}/fnc_laser_init.sqf | 0 .../{ => functions}/fnc_rotateVectLine.sqf | 0 .../fnc_rotateVectLineGetMap.sqf | 0 .../laser/{ => functions}/fnc_shootCone.sqf | 0 addons/laser/{ => functions}/fnc_shootRay.sqf | 0 .../fnc_translateToModelSpace.sqf | 0 .../fnc_translateToWeaponSpace.sqf | 0 addons/laser/functions/script_component.hpp | 1 + addons/main/license.sqf | 92 +++++++++++++++++++ addons/missileguidance/config.cpp | 2 +- .../{ => functions}/fnc_fired.sqf | 0 .../{ => functions}/fnc_guidance_DAGR.sqf | 0 .../fnc_guidance_HellfireII.sqf | 0 .../{ => functions}/fnc_guidance_LGB.sqf | 0 .../{ => functions}/fnc_rotateVectLine.sqf | 0 .../fnc_rotateVectLineGetMap.sqf | 0 .../fnc_translateToModelSpace.sqf | 0 .../fnc_translateToWeaponSpace.sqf | 0 .../functions/script_component.hpp | 1 + addons/switchunits/CfgVehicles.hpp | 2 +- addons/switchunits/config.cpp | 2 +- .../switchunits/functions/fnc_initPlayer.sqf | 6 +- .../switchunits/functions/fnc_isValidAi.sqf | 2 +- .../switchunits/functions/fnc_markAiOnMap.sqf | 2 +- addons/switchunits/functions/fnc_module.sqf | 14 +-- .../functions/fnc_nearestPlayers.sqf | 2 +- .../switchunits/functions/fnc_switchUnit.sqf | 10 +- .../functions/script_component.hpp | 1 + addons/wep_dragon/CfgAmmo.hpp | 2 +- addons/wep_dragon/CfgMagazines.hpp | 2 +- addons/wep_dragon/CfgVehicles.hpp | 2 +- addons/wep_dragon/CfgWeapons.hpp | 8 +- addons/wep_dragon/config.cpp | 2 +- .../{ => functions}/fnc_dragon_fired.sqf | 0 .../wep_dragon/functions/script_component.hpp | 1 + addons/wep_javelin/config.cpp | 2 +- .../wep_javelin/{ => functions}/fnc_fired.sqf | 0 .../{ => functions}/fnc_onGetLockedTarget.sqf | 0 .../functions/script_component.hpp | 1 + tools/build.bat | 2 + tools/rename_fn.py | 13 +++ 123 files changed, 193 insertions(+), 77 deletions(-) create mode 100644 addons/attach/functions/script_component.hpp create mode 100644 addons/common/functions/script_component.hpp rename addons/frag/{ => functions}/fnc_BIS_ARTY_WRAPPER.sqf (100%) rename addons/frag/{ => functions}/fnc_addBlackList.sqf (100%) rename addons/frag/{ => functions}/fnc_addManualTrack.sqf (100%) rename addons/frag/{ => functions}/fnc_addTrack.sqf (100%) rename addons/frag/{ => functions}/fnc_clearTraces.sqf (100%) rename addons/frag/{ => functions}/fnc_denyFrag.sqf (100%) rename addons/frag/{ => functions}/fnc_doSpall.sqf (100%) rename addons/frag/{ => functions}/fnc_drawTraces.sqf (100%) rename addons/frag/{ => functions}/fnc_fired.sqf (100%) rename addons/frag/{ => functions}/fnc_frag_trace.sqf (100%) rename addons/frag/{ => functions}/fnc_frago.sqf (100%) rename addons/frag/{ => functions}/fnc_removeTrack.sqf (100%) rename addons/frag/{ => functions}/fnc_spallHP.sqf (100%) rename addons/frag/{ => functions}/fnc_spallTrack.sqf (100%) rename addons/frag/{ => functions}/fnc_startTracing.sqf (100%) rename addons/frag/{ => functions}/fnc_stopTracing.sqf (100%) rename addons/frag/{ => functions}/fnc_trackFragRound.sqf (100%) rename addons/frag/{ => functions}/fnc_trackTrace.sqf (100%) rename addons/frag/{ => functions}/fnc_vectorDiffFast.sqf (100%) create mode 100644 addons/frag/functions/script_component.hpp rename addons/interaction/functions/{fn_AddSelectableItem.sqf => fnc_AddSelectableItem.sqf} (95%) rename addons/interaction/functions/{fn_GetActions.sqf => fnc_GetActions.sqf} (95%) rename addons/interaction/functions/{fn_MoveDown.sqf => fnc_MoveDown.sqf} (100%) rename addons/interaction/functions/{fn_addInteraction.sqf => fnc_addInteraction.sqf} (100%) rename addons/interaction/functions/{fn_addInteractionSelf.sqf => fnc_addInteractionSelf.sqf} (100%) rename addons/interaction/functions/{fn_addToTooltip.sqf => fnc_addToTooltip.sqf} (100%) rename addons/interaction/functions/{fn_applyButtons.sqf => fnc_applyButtons.sqf} (100%) rename addons/interaction/functions/{fn_canInteractWith.sqf => fnc_canInteractWith.sqf} (100%) rename addons/interaction/functions/{fn_canTapShoulder.sqf => fnc_canTapShoulder.sqf} (100%) rename addons/interaction/functions/{fn_getActions2.sqf => fnc_getActions2.sqf} (94%) rename addons/interaction/functions/{fn_setCaptivityStatus.sqf => fnc_getCaptivityStatus.sqf} (50%) rename addons/interaction/functions/{fn_getDoor.sqf => fnc_getDoor.sqf} (100%) rename addons/interaction/functions/{fn_getDoorAnimations.sqf => fnc_getDoorAnimations.sqf} (100%) rename addons/interaction/functions/{fn_getDown.sqf => fnc_getDown.sqf} (100%) rename addons/interaction/functions/{fn_getSelectedButton.sqf => fnc_getSelectedButton.sqf} (100%) rename addons/interaction/functions/{fn_hideMenu.sqf => fnc_hideMenu.sqf} (100%) rename addons/interaction/functions/{fn_hideMouseHint.sqf => fnc_hideMouseHint.sqf} (100%) rename addons/interaction/functions/{fn_initialiseInteraction.sqf => fnc_initialiseInteraction.sqf} (94%) rename addons/interaction/functions/{fn_isInRange.sqf => fnc_isInRange.sqf} (100%) rename addons/interaction/functions/{fn_joinTeam.sqf => fnc_joinTeam.sqf} (87%) rename addons/interaction/functions/{fn_menuKeyInput.sqf => fnc_menuKeyInput.sqf} (100%) rename addons/interaction/functions/{fn_moduleInteraction.sqf => fnc_moduleInteraction.sqf} (88%) rename addons/interaction/functions/{fn_onButtonDown.sqf => fnc_onButtonDown.sqf} (90%) rename addons/interaction/functions/{fn_onButtonDownSelf.sqf => fnc_onButtonDownSelf.sqf} (87%) rename addons/interaction/functions/{fn_onButtonUp.sqf => fnc_onButtonUp.sqf} (100%) rename addons/interaction/functions/{fn_onClick.sqf => fnc_onClick.sqf} (100%) rename addons/interaction/functions/{fn_onSelectMenuDblClick.sqf => fnc_onSelectMenuDblClick.sqf} (100%) rename addons/interaction/functions/{fn_openDoor.sqf => fnc_openDoor.sqf} (100%) rename addons/interaction/functions/{fn_openMenu.sqf => fnc_openMenu.sqf} (100%) rename addons/interaction/functions/{fn_openMenuSelectUI.sqf => fnc_openMenuSelectUI.sqf} (86%) rename addons/interaction/functions/{fn_openMenuSelf.sqf => fnc_openMenuSelf.sqf} (100%) rename addons/interaction/functions/{fn_openSelectMenu.sqf => fnc_openSelectMenu.sqf} (100%) rename addons/interaction/functions/{fn_openSubMenu.sqf => fnc_openSubMenu.sqf} (100%) rename addons/interaction/functions/{fn_openSubMenuSelf.sqf => fnc_openSubMenuSelf.sqf} (100%) rename addons/interaction/functions/{fn_prepareSelectMenu.sqf => fnc_prepareSelectMenu.sqf} (100%) rename addons/interaction/functions/{fn_push.sqf => fnc_push.sqf} (82%) rename addons/interaction/functions/{fn_removeInteraction.sqf => fnc_removeInteraction.sqf} (100%) rename addons/interaction/functions/{fn_removeInteractionSelf.sqf => fnc_removeInteractionSelf.sqf} (100%) rename addons/interaction/functions/{fn_removeTag.sqf => fnc_removeTag.sqf} (100%) rename addons/interaction/functions/{fn_sendAway.sqf => fnc_sendAway.sqf} (100%) rename addons/interaction/functions/{fn_getCaptivityStatus.sqf => fnc_setCaptivityStatus.sqf} (50%) rename addons/interaction/functions/{fn_showMenu.sqf => fnc_showMenu.sqf} (97%) rename addons/interaction/functions/{fn_showMouseHint.sqf => fnc_showMouseHint.sqf} (100%) rename addons/interaction/functions/{fn_sortOptionsByPriority.sqf => fnc_sortOptionsByPriority.sqf} (100%) rename addons/interaction/functions/{fn_tapShoulder.sqf => fnc_tapShoulder.sqf} (85%) rename addons/interaction/functions/{fn_updateTooltipPosition.sqf => fnc_updateTooltipPosition.sqf} (100%) create mode 100644 addons/interaction/functions/script_component.hpp rename addons/laser/{ => functions}/fnc_checkLos.sqf (100%) rename addons/laser/{ => functions}/fnc_findLaserDesignator.sqf (100%) rename addons/laser/{ => functions}/fnc_findStrongestRay.sqf (100%) rename addons/laser/{ => functions}/fnc_laserTargetPFH.sqf (100%) rename addons/laser/{ => functions}/fnc_laser_init.sqf (100%) rename addons/laser/{ => functions}/fnc_rotateVectLine.sqf (100%) rename addons/laser/{ => functions}/fnc_rotateVectLineGetMap.sqf (100%) rename addons/laser/{ => functions}/fnc_shootCone.sqf (100%) rename addons/laser/{ => functions}/fnc_shootRay.sqf (100%) rename addons/laser/{ => functions}/fnc_translateToModelSpace.sqf (100%) rename addons/laser/{ => functions}/fnc_translateToWeaponSpace.sqf (100%) create mode 100644 addons/laser/functions/script_component.hpp create mode 100644 addons/main/license.sqf rename addons/missileguidance/{ => functions}/fnc_fired.sqf (100%) rename addons/missileguidance/{ => functions}/fnc_guidance_DAGR.sqf (100%) rename addons/missileguidance/{ => functions}/fnc_guidance_HellfireII.sqf (100%) rename addons/missileguidance/{ => functions}/fnc_guidance_LGB.sqf (100%) rename addons/missileguidance/{ => functions}/fnc_rotateVectLine.sqf (100%) rename addons/missileguidance/{ => functions}/fnc_rotateVectLineGetMap.sqf (100%) rename addons/missileguidance/{ => functions}/fnc_translateToModelSpace.sqf (100%) rename addons/missileguidance/{ => functions}/fnc_translateToWeaponSpace.sqf (100%) create mode 100644 addons/missileguidance/functions/script_component.hpp create mode 100644 addons/switchunits/functions/script_component.hpp rename addons/wep_dragon/{ => functions}/fnc_dragon_fired.sqf (100%) create mode 100644 addons/wep_dragon/functions/script_component.hpp rename addons/wep_javelin/{ => functions}/fnc_fired.sqf (100%) rename addons/wep_javelin/{ => functions}/fnc_onGetLockedTarget.sqf (100%) create mode 100644 addons/wep_javelin/functions/script_component.hpp create mode 100644 tools/rename_fn.py 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/config.cpp b/addons/attach/config.cpp index f27d675efb..c7948fc323 100644 --- a/addons/attach/config.cpp +++ b/addons/attach/config.cpp @@ -5,7 +5,7 @@ class CfgPatches { units[] = {}; weapons[] = {"AGM_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}; diff --git a/addons/attach/functions/fnc_attach.sqf b/addons/attach/functions/fnc_attach.sqf index b4cf675096..0c96e6f8ca 100644 --- a/addons/attach/functions/fnc_attach.sqf +++ b/addons/attach/functions/fnc_attach.sqf @@ -29,27 +29,27 @@ switch true do { case (_itemName == "AGM_IR_Strobe_Item") : { _attachedItem = "AGM_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_AGM_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_AGM_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_AGM_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_AGM_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_AGM_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..5f50720d3e 100644 --- a/addons/attach/functions/fnc_detach.sqf +++ b/addons/attach/functions/fnc_detach.sqf @@ -24,7 +24,7 @@ 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_AGM_Attach_Inventory_Full"] call EFUNC(common,displayTextStructured); }; if (_itemName == "B_IR_Grenade" or _itemName == "O_IR_Grenade" or _itemName == "I_IR_Grenade") then { @@ -51,13 +51,13 @@ _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); + [localize "STR_AGM_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_AGM_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_AGM_Attach_Chemlight_Detached"] call EFUNC(common,displayTextStructured); }; default { if (true) exitWith {}; 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/common/CfgVehicles.hpp b/addons/common/CfgVehicles.hpp index ee78ad3924..8ed770d786 100644 --- a/addons/common/CfgVehicles.hpp +++ b/addons/common/CfgVehicles.hpp @@ -33,7 +33,7 @@ class CfgVehicles { function = "ACE_Common_fnc_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/MenuConfig.hpp b/addons/common/MenuConfig.hpp index 418a7cb849..4d84bfb78b 100644 --- a/addons/common/MenuConfig.hpp +++ b/addons/common/MenuConfig.hpp @@ -366,7 +366,7 @@ class ACE_Common_OptionsMenu_Dialog { 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; 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/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/config.cpp b/addons/interaction/config.cpp index f4e2f2c423..e59f861f79 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}; 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..096050a6b3 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(core,canInteract)} && {[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(debug,log); } else { - ["InteractionMenu", _action, {format ["%1 loaded from cache", _this]}] call EFUNC(debug, log); + ["InteractionMenu", _action, {format ["%1 loaded from cache", _this]}] call EFUNC(debug,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..01c86d6db0 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)} && {[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(debug,log); } else { - ["InteractionMenu", _action, {format ["%1 loaded from cache", _this]}] call EFUNC(debug, log); + ["InteractionMenu", _action, {format ["%1 loaded from cache", _this]}] call EFUNC(debug,log); private ["_cachedAction", "_showDisabled"]; _cachedAction = _cacheActions select (_cacheIndices select _indexCache); diff --git a/addons/interaction/functions/fn_setCaptivityStatus.sqf b/addons/interaction/functions/fnc_getCaptivityStatus.sqf similarity index 50% rename from addons/interaction/functions/fn_setCaptivityStatus.sqf rename to addons/interaction/functions/fnc_getCaptivityStatus.sqf index 4de294c674..e97b580ce5 100644 --- a/addons/interaction/functions/fn_setCaptivityStatus.sqf +++ b/addons/interaction/functions/fnc_getCaptivityStatus.sqf @@ -1,4 +1,4 @@ // by commy2 #include "script_component.hpp" -_this call EFUNC(core,setCaptivityStatus); +_this call EFUNC(common,getCaptivityStatus); 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 94% rename from addons/interaction/functions/fn_initialiseInteraction.sqf rename to addons/interaction/functions/fnc_initialiseInteraction.sqf index c951ea88d6..180a7024bb 100644 --- a/addons/interaction/functions/fn_initialiseInteraction.sqf +++ b/addons/interaction/functions/fnc_initialiseInteraction.sqf @@ -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,8 +59,8 @@ 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 EFUNC(common,onKeyDown) )]; + (findDisplay 1713999) displayAddEventHandler ["KeyUp", QUOTE( _this call EFUNC(common,onKeyUp) )]; (findDisplay 1713999) displayAddEventHandler ["KeyDown", QUOTE( _this call FUNC(menuKeyInput) )]; }; @@ -69,7 +69,7 @@ if (_this select 2) then { _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; 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 100% rename from addons/interaction/functions/fn_onClick.sqf rename to addons/interaction/functions/fnc_onClick.sqf 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 100% rename from addons/interaction/functions/fn_openSelectMenu.sqf rename to addons/interaction/functions/fnc_openSelectMenu.sqf 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_getCaptivityStatus.sqf b/addons/interaction/functions/fnc_setCaptivityStatus.sqf similarity index 50% rename from addons/interaction/functions/fn_getCaptivityStatus.sqf rename to addons/interaction/functions/fnc_setCaptivityStatus.sqf index d904000e24..fc6c618590 100644 --- a/addons/interaction/functions/fn_getCaptivityStatus.sqf +++ b/addons/interaction/functions/fnc_setCaptivityStatus.sqf @@ -1,4 +1,4 @@ // by commy2 #include "script_component.hpp" -_this call EFUNC(core,getCaptivityStatus); +_this call EFUNC(common,setCaptivityStatus); 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 85% rename from addons/interaction/functions/fn_tapShoulder.sqf rename to addons/interaction/functions/fnc_tapShoulder.sqf index a37aeafa64..aedf6ce37f 100644 --- a/addons/interaction/functions/fn_tapShoulder.sqf +++ b/addons/interaction/functions/fnc_tapShoulder.sqf @@ -15,7 +15,7 @@ if (_target != ACE_player) exitWith { 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/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/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..606fdccf22 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 [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/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/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 From 6fbb6672b461a2118afb402ceafa497a89a1d3f1 Mon Sep 17 00:00:00 2001 From: jaynus Date: Mon, 12 Jan 2015 21:16:03 -0800 Subject: [PATCH 13/50] Compile Errors. --- addons/attach/XEH_preInit.sqf | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/addons/attach/XEH_preInit.sqf b/addons/attach/XEH_preInit.sqf index 311aa874ec..bcbd7e543c 100644 --- a/addons/attach/XEH_preInit.sqf +++ b/addons/attach/XEH_preInit.sqf @@ -1,7 +1,7 @@ #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(openAttachUI); \ No newline at end of file From 073805148b545d2aa1e1fcc5655cc0192210beb2 Mon Sep 17 00:00:00 2001 From: PabstMirror Date: Tue, 13 Jan 2015 03:06:24 -0600 Subject: [PATCH 14/50] Replace Spawn/Sleep in attach --- addons/attach/XEH_preInit.sqf | 1 + addons/attach/functions/fnc_detach.sqf | 19 ++++++---------- .../attach/functions/fnc_detachDelayFix.sqf | 22 +++++++++++++++++++ 3 files changed, 30 insertions(+), 12 deletions(-) create mode 100644 addons/attach/functions/fnc_detachDelayFix.sqf diff --git a/addons/attach/XEH_preInit.sqf b/addons/attach/XEH_preInit.sqf index bcbd7e543c..5efadc1f68 100644 --- a/addons/attach/XEH_preInit.sqf +++ b/addons/attach/XEH_preInit.sqf @@ -4,4 +4,5 @@ PREP(attach); PREP(canAttach); PREP(canDetach); PREP(detach); +PREP(detachDelayFix); PREP(openAttachUI); \ No newline at end of file diff --git a/addons/attach/functions/fnc_detach.sqf b/addons/attach/functions/fnc_detach.sqf index 5f50720d3e..07d1eda906 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 {}; @@ -29,19 +30,13 @@ if ((count items _unit) + (count magazines _unit) <= _count) exitWith { 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 diff --git a/addons/attach/functions/fnc_detachDelayFix.sqf b/addons/attach/functions/fnc_detachDelayFix.sqf new file mode 100644 index 0000000000..b84761c9fe --- /dev/null +++ b/addons/attach/functions/fnc_detachDelayFix.sqf @@ -0,0 +1,22 @@ +/* + Name: ACE_attach_fnc_detachFix + + 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; From 49f01a0facabf7abc616510190502a11bf334981 Mon Sep 17 00:00:00 2001 From: bux578 Date: Tue, 13 Jan 2015 10:53:04 +0100 Subject: [PATCH 15/50] fix switchUntis forgot that little bugger --- addons/switchunits/XEH_postInit.sqf | 38 ++++++++++++++++------------- 1 file changed, 21 insertions(+), 17 deletions(-) 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); }; + +//}; From 621625b48dc0378f8133fdf4b3e43882a77bd721 Mon Sep 17 00:00:00 2001 From: bux578 Date: Tue, 13 Jan 2015 11:59:28 +0100 Subject: [PATCH 16/50] init --- addons/nametags/CfgEventHandlers.hpp | 5 +++++ addons/nametags/XEH_preInit.sqf | 3 +++ addons/nametags/config.cpp | 17 +++++++++++++++++ addons/nametags/functions/fnc_empty.sqf | 3 +++ addons/nametags/script_component.hpp | 12 ++++++++++++ 5 files changed, 40 insertions(+) create mode 100644 addons/nametags/CfgEventHandlers.hpp create mode 100644 addons/nametags/XEH_preInit.sqf create mode 100644 addons/nametags/config.cpp create mode 100644 addons/nametags/functions/fnc_empty.sqf create mode 100644 addons/nametags/script_component.hpp diff --git a/addons/nametags/CfgEventHandlers.hpp b/addons/nametags/CfgEventHandlers.hpp new file mode 100644 index 0000000000..51c0e909d7 --- /dev/null +++ b/addons/nametags/CfgEventHandlers.hpp @@ -0,0 +1,5 @@ +class Extended_PreInit_EventHandlers { + class ADDON { + init = QUOTE( call compile preprocessFileLineNumbers PATHTOF(XEH_preInit.sqf) ); + }; +}; \ No newline at end of file diff --git a/addons/nametags/XEH_preInit.sqf b/addons/nametags/XEH_preInit.sqf new file mode 100644 index 0000000000..a515eb4187 --- /dev/null +++ b/addons/nametags/XEH_preInit.sqf @@ -0,0 +1,3 @@ +#include "script_component.hpp" + +PREP(empty); \ No newline at end of file diff --git a/addons/nametags/config.cpp b/addons/nametags/config.cpp new file mode 100644 index 0000000000..6c8d8ca938 --- /dev/null +++ b/addons/nametags/config.cpp @@ -0,0 +1,17 @@ +#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/addons/nametags/functions/fnc_empty.sqf b/addons/nametags/functions/fnc_empty.sqf new file mode 100644 index 0000000000..028fb068c9 --- /dev/null +++ b/addons/nametags/functions/fnc_empty.sqf @@ -0,0 +1,3 @@ +#include "script_component.hpp" + +diag_log text format["This is here as an example!!!"]; \ No newline at end of file diff --git a/addons/nametags/script_component.hpp b/addons/nametags/script_component.hpp new file mode 100644 index 0000000000..5def4b85b4 --- /dev/null +++ b/addons/nametags/script_component.hpp @@ -0,0 +1,12 @@ +#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 From 069eb7860abe9533b1dc087715fe73ace8e25141 Mon Sep 17 00:00:00 2001 From: bux578 Date: Tue, 13 Jan 2015 12:29:13 +0100 Subject: [PATCH 17/50] cba'fied nametags --- addons/nametags/CfgEventHandlers.hpp | 10 +- addons/nametags/CfgVehicles.hpp | 56 ++++++++ addons/nametags/RscTitles.hpp | 41 ++++++ addons/nametags/XEH_postInit.sqf | 62 +++++++++ addons/nametags/XEH_preInit.sqf | 8 +- addons/nametags/config.cpp | 62 ++++++++- addons/nametags/functions/common.sqf | 26 ++++ addons/nametags/functions/fnc_canShow.sqf | 27 ++++ addons/nametags/functions/fnc_doShow.sqf | 93 +++++++++++++ .../functions/fnc_drawNameTagIcon.sqf | 63 +++++++++ addons/nametags/functions/fnc_empty.sqf | 3 - .../nametags/functions/fnc_getVehicleData.sqf | 123 ++++++++++++++++++ .../nametags/functions/fnc_moduleNameTags.sqf | 29 +++++ .../functions/fnc_onMouseZChanged.sqf | 18 +++ addons/nametags/functions/fnc_setText.sqf | 23 ++++ .../nametags/functions/script_component.hpp | 1 + 16 files changed, 632 insertions(+), 13 deletions(-) create mode 100644 addons/nametags/CfgVehicles.hpp create mode 100644 addons/nametags/RscTitles.hpp create mode 100644 addons/nametags/XEH_postInit.sqf create mode 100644 addons/nametags/functions/common.sqf create mode 100644 addons/nametags/functions/fnc_canShow.sqf create mode 100644 addons/nametags/functions/fnc_doShow.sqf create mode 100644 addons/nametags/functions/fnc_drawNameTagIcon.sqf delete mode 100644 addons/nametags/functions/fnc_empty.sqf create mode 100644 addons/nametags/functions/fnc_getVehicleData.sqf create mode 100644 addons/nametags/functions/fnc_moduleNameTags.sqf create mode 100644 addons/nametags/functions/fnc_onMouseZChanged.sqf create mode 100644 addons/nametags/functions/fnc_setText.sqf create mode 100644 addons/nametags/functions/script_component.hpp diff --git a/addons/nametags/CfgEventHandlers.hpp b/addons/nametags/CfgEventHandlers.hpp index 51c0e909d7..6a84bb0246 100644 --- a/addons/nametags/CfgEventHandlers.hpp +++ b/addons/nametags/CfgEventHandlers.hpp @@ -1,5 +1,11 @@ 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 +}; + +class Extended_PostInit_EventHandlers { + class ADDON { + postInit = QUOTE(call COMPILE_FILE(XEH_postInit) ); + }; +}; diff --git a/addons/nametags/CfgVehicles.hpp b/addons/nametags/CfgVehicles.hpp new file mode 100644 index 0000000000..5aac521ae9 --- /dev/null +++ b/addons/nametags/CfgVehicles.hpp @@ -0,0 +1,56 @@ +class CfgVehicles { + class Module_F; + class ACE_ModuleNameTags: Module_F { + author = "$STR_ACE_Core_ACETeam"; + category = "ACE"; + displayName = "Name Tags"; + function = FUNC(moduleNameTags); + scope = 2; + isGlobal = 1; + icon = QUOTE(PATHTOF(UI\IconNameTags_ca.paa)); + class Arguments { + class PlayerNamesViewDistance { + displayName = "Player Names View Dist."; + description = "Distance in meters at which player names are shown. Default: 5"; + typeName = "NUMBER"; + defaultValue = 5; + }; + class ShowNamesForAI { + displayName = "Show name tags for AI?"; + description = "Show the name and rank tags for friendly AI units? Default: No"; + typeName = "BOOL"; + class values { + class Yes { + name = "Yes"; + value = 1; + }; + class No { + default = 1; + name = "No"; + value = 0; + }; + }; + }; + class Visibility { + displayName = "Visibility of crew info"; + description = "Forces visibility of vehicle crew info, or by default allows players to choose it on their own. Default: Do Not Force"; + typeName = "INT"; + class values { + class DoNotForce { + default = 1; + name = "Do Not Force"; + value = 0; + }; + class ForceShow { + name = "Force Show"; + value = 1; + }; + class ForceHide { + name = "Force Hide"; + value = -1; + }; + }; + }; + }; + }; +}; diff --git a/addons/nametags/RscTitles.hpp b/addons/nametags/RscTitles.hpp new file mode 100644 index 0000000000..fc2c52c678 --- /dev/null +++ b/addons/nametags/RscTitles.hpp @@ -0,0 +1,41 @@ +#define ACE_CrewInfo_TextIDC 11123 + +#define CT_STRUCTURED_TEXT 13 +#define ST_LEFT 0 + +class RscTitles { + titles[]={"ACE_CrewInfo_dialog"}; + class ACE_CrewInfo_dialog { + idd = -1; + movingEnable = 1; + duration = 1; + fadein = 0; + fadeout = 999999; + name = "ACE_CrewInfo_dialog"; + controlsBackground[] = {"ACE_CrewInfo_text"}; + onLoad = "uiNamespace setVariable ['ACE_CrewInfo_dialog', _this select 0]"; + onUnload = "uiNamespace setVariable ['ACE_CrewInfo_dialog', objNull]"; + + class ACE_CrewInfo_text { + idc = ACE_CrewInfo_TextIDC; + type = CT_STRUCTURED_TEXT; + style = ST_LEFT; + x = SafeZonex + SafezoneW - 0.31; + y = SafeZoneY + SafeZoneH * 0.4; + w = 0.3; + h = 0.6; + size = 0.018; + colorBackground[] = { 0, 0, 0, 0 }; + colortext[] = { + "(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])", + "(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])", + "(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])", + "(profilenamespace getvariable ['IGUI_TEXT_RGB_A',0.8])" + }; + text=""; + class Attributes { + align = right; + }; + }; + }; +}; diff --git a/addons/nametags/XEH_postInit.sqf b/addons/nametags/XEH_postInit.sqf new file mode 100644 index 0000000000..b512e8b133 --- /dev/null +++ b/addons/nametags/XEH_postInit.sqf @@ -0,0 +1,62 @@ +#include "script_component.hpp" + +// by commy2 and CAA-Picard + +if (!hasInterface) exitWith {}; + +GVAR(ShowNamesTime) = -10; + +addMissionEventHandler ["Draw3D", { + if !(profileNamespace getVariable ["ACE_showPlayerNames", true]) exitWith {}; + + _player = ACE_player; + if (profileNamespace getVariable ["ACE_showPlayerNamesOnlyOnCursor", true]) then { + _target = cursorTarget; + _target = if (_target in allUnitsUAV) then {objNull} else {effectiveCommander _target}; + + if (!isNull _target && {side group _target == playerSide} && {_target != _player} && {isPlayer _target || {GVAR(ShowNamesForAI)}} && {!(_target getVariable ["ACE_hideName", false])}) then { + _distance = _player distance _target; + _alpha = ((1 - 0.2 * (_distance - GVAR(PlayerNamesViewDistance))) min 1) * GVAR(PlayerNamesMaxAlpha); + if (profileNamespace getVariable ["ACE_showPlayerNamesOnlyOnKeyPress", false]) then { + _alpha = _alpha min (1 - (time - GVAR(ShowNamesTime) - 1)); + }; + [_player, _target, _alpha, _distance * 0.026] call FUNC(drawNameTagIcon); + }; + } else { + _pos = positionCameraToWorld [0, 0, 0]; + _targets = _pos nearObjects ["Man", GVAR(PlayerNamesViewDistance) + 5]; + + if (!surfaceIsWater _pos) then { + _pos = ATLtoASL _pos; + }; + _pos2 = positionCameraToWorld [0, 0, 1]; + if (!surfaceIsWater _pos2) then { + _pos2 = ATLtoASL _pos2; + }; + _vecy = _pos2 vectorDiff _pos; + + { + _target = if (_x in allUnitsUAV) then {objNull} else {effectiveCommander _x}; + + if (!isNull _target && {side group _target == playerSide} && {_target != _player} && {isPlayer _target || {GVAR(ShowNamesForAI)}} && {!(_target getVariable ["ACE_hideName", false])}) then { + _relPos = (visiblePositionASL _target) vectorDiff _pos; + _distance = vectorMagnitude _relPos; + _projDist = _relPos vectorDistance (_vecy vectorMultiply (_relPos vectorDotProduct _vecy)); + + _alpha = ((1 - 0.2 * (_distance - GVAR(PlayerNamesViewDistance))) min (1 - 0.15 * (_projDist * 5 - _distance - 3)) min 1) * GVAR(PlayerNamesMaxAlpha); + + if (profileNamespace getVariable ["ACE_showPlayerNamesOnlyOnKeyPress", false]) then { + _alpha = _alpha min (1 - (time - GVAR(ShowNamesTime) - 1)); + }; + + // Check if there is line of sight + if (_alpha > 0) then { + if (lineIntersects [_pos, (visiblePositionASL _target) vectorAdd [0,0,1], vehicle _player, _target]) then { + _alpha = 0; + }; + }; + [_player, _target, _alpha, _distance * 0.026] call FUNC(drawNameTagIcon); + }; + } forEach _targets; + }; +}]; diff --git a/addons/nametags/XEH_preInit.sqf b/addons/nametags/XEH_preInit.sqf index a515eb4187..440aa2231d 100644 --- a/addons/nametags/XEH_preInit.sqf +++ b/addons/nametags/XEH_preInit.sqf @@ -1,3 +1,9 @@ #include "script_component.hpp" -PREP(empty); \ No newline at end of file +PREP(canShow); +PREP(doShow); +PREP(drawNameTagIcon); +PREP(getVehicleData); +PREP(moduleNameTags); +PREP(onMouseZChanged); +PREP(setText); diff --git a/addons/nametags/config.cpp b/addons/nametags/config.cpp index 6c8d8ca938..9cba032947 100644 --- a/addons/nametags/config.cpp +++ b/addons/nametags/config.cpp @@ -5,13 +5,61 @@ class CfgPatches { units[] = {}; weapons[] = {}; requiredVersion = 0.60; - requiredAddons[] = {"ace_core"}; - version = "0.95"; - versionStr = "0.95"; - versionAr[] = {0,95,0}; - author[] = {""}; - authorUrl = ""; + requiredAddons[] = {"ace_main", "ace_common", "ace_interaction"}; + version = QUOTE(VERSION); + versionStr = QUOTE(VERSION); + versionAr[] = {VERSION_AR}; + author[] = {"commy2", "CAA-Picard"}; + authorUrl = "https://github.com/commy2/"; }; }; -#include "CfgEventHandlers.hpp" \ No newline at end of file +#include "CfgEventHandlers.hpp" +#include "CfgVehicles.hpp" + +class ACE_Core_Default_Keys { + class showNames { + displayName = "$STR_ACE_NameTags_ShowNames"; + condition = "true"; + statement = QUOTE( GVAR(ShowNamesTime) = time; if (call FUNC(canShow)) then {call FUNC(doShow);}; ); + key = 29; + shift = 0; + control = 0; + alt = 0; + allowHolding = 1; + }; +}; + +class ACE_Core_Options { + class showPlayerNames { + displayName = "$STR_ACE_NameTags_ShowPlayerNames"; + default = 1; + }; + class showPlayerNamesOnlyOnCursor { + displayName = "$STR_ACE_NameTags_ShowPlayerNamesOnlyOnCursor"; + default = 1; + }; + class showPlayerNamesOnlyOnKeyPress { + displayName = "$STR_ACE_NameTags_ShowPlayerNamesOnlyOnKeyPress"; + default = 0; + }; + class showPlayerRanks { + displayName = "$STR_ACE_NameTags_ShowPlayerRanks"; + default = 1; + }; + class showVehicleCrewInfo { + displayName = "$STR_ACE_CrewInfo_ShowVehicleCrewInfo"; + default = 1; + }; +}; + +class ACE_Parameters_Numeric { + GVAR(PlayerNamesViewDistance) = 5; + GVAR(PlayerNamesMaxAlpha) = 0.8; + GVAR(CrewInfoVisibility) = 0; +}; +class ACE_Parameters_Boolean { + GVAR(ShowNamesForAI) = 0; +}; + +#include diff --git a/addons/nametags/functions/common.sqf b/addons/nametags/functions/common.sqf new file mode 100644 index 0000000000..caa7a3e982 --- /dev/null +++ b/addons/nametags/functions/common.sqf @@ -0,0 +1,26 @@ +/* + Author: aeroson + + Description: + Images, index in images and order of roles. + Defined number also implies order, lower number shows more on top of the list. +*/ + +#include "script_component.hpp" + +#define PILOT 0 +#define DRIVER 1 +#define COPILOT PILOT +#define COMMANDER 2 +#define GUNNER 3 +#define FFV 4 +#define CARGO 5 + +#define ROLE_IMAGES [ \ + "a3\ui_f\data\IGUI\Cfg\Actions\getinpilot_ca.paa", \ + "a3\ui_f\data\IGUI\Cfg\Actions\getindriver_ca.paa", \ + "a3\ui_f\data\IGUI\Cfg\Actions\getincommander_ca.paa", \ + "a3\ui_f\data\IGUI\Cfg\Actions\getingunner_ca.paa", \ + QUOTE(PATHTOF(UI\icon_position_ffv.paa)), \ + "a3\ui_f\data\IGUI\Cfg\Actions\getincargo_ca.paa" \ +] diff --git a/addons/nametags/functions/fnc_canShow.sqf b/addons/nametags/functions/fnc_canShow.sqf new file mode 100644 index 0000000000..612baac2d3 --- /dev/null +++ b/addons/nametags/functions/fnc_canShow.sqf @@ -0,0 +1,27 @@ +/* + Author: aeroson + + Description: + Might be called several times a second + + Parameters: + None + + Returns: + true if CrewInfo can be shown, false otherwise +*/ + +#include "script_component.hpp" + +private["_player"]; + +_player = ACE_player; + +// AGM_NameTags_ShowVehicleCrewInfo: -1 force NO, 0 doesnt care, 1 force YES + +vehicle _player != _player && +{ + (GVAR(CrewInfoVisibility) == 1) || + (GVAR(CrewInfoVisibility) != -1 && profileNamespace getVariable ["ACE_showVehicleCrewInfo", false]) +} && +{!(vehicle _player isKindOf "ParachuteBase")}; diff --git a/addons/nametags/functions/fnc_doShow.sqf b/addons/nametags/functions/fnc_doShow.sqf new file mode 100644 index 0000000000..dd23d0d085 --- /dev/null +++ b/addons/nametags/functions/fnc_doShow.sqf @@ -0,0 +1,93 @@ +/* + Author: aeroson + + Description: + Shows the actual text and sets text the crew info + + Parameters: + None + + Returns: + Nothing +*/ + +#include "script_component.hpp" +#include QUOTE(PATHTOF(functions\common.sqf)); + +private["_roleImages", "_player", "_vehicle", "_type", "_config", "_text", "_data", "_isAir", "_turretUnits", "_turretRoles", "_index", "_roleType", "_unit", "_toShow"]; + + +_player = ACE_player; +_vehicle = vehicle _player; +_type = typeOf _vehicle; +_config = configFile >> "CfgVehicles" >> _type; +_text = format[" %2
", getText(_config>>"picture"), getText (_config >> "DisplayName")]; + + + +_data = [_type] call FUNC(getVehicleData); + +_isAir = _data select 0; +_data = _data select 1; + +_turretUnits = [_data, { _vehicle turretUnit (_x select 0) } ] call EFUNC(Core,map); +_turretRoles = [_data, { _x select 1 } ] call EFUNC(Core,map); + + +_roleType = CARGO; +_toShow = []; +{ + switch (_x) do { + case commander _vehicle: { + _roleType = COMMANDER; + }; + case gunner _vehicle: { + _roleType = GUNNER; + }; + case driver _vehicle: { + _roleType = if(_isAir) then { PILOT } else { DRIVER }; + }; + default { + _index = _turretUnits find _x; + if(_index !=-1 ) then { + _roleType = _turretRoles select _index; + } else { + _roleType = CARGO; + }; + }; + }; + _toShow pushBack [_x, _roleType]; +} forEach crew _vehicle; + + +_toShow = [ + _toShow, + [], + { + _x select 1 + }, + "ASCEND", + { + _unit = _x select 0; + alive _unit + } +] call BIS_fnc_sortBy; + + +_roleImages = ROLE_IMAGES; +{ + _unit = _x select 0; + _roleType = _x select 1; + _text = _text + format["%1
", [_unit] call EFUNC(Core,getName), _roleImages select _roleType]; +} forEach _toShow; + + +("ACE_CrewInfo_CrewInfo" call BIS_fnc_rscLayer) cutRsc ["ACE_CrewInfo_dialog", "PLAIN", 1, false]; + +terminate (missionNamespace getVariable [QGVAR(hideCrewInfoHandle), scriptNull]); +GVAR(hideCrewInfoHandle) = 0 spawn { + sleep 2; + ("ACE_CrewInfo_CrewInfo" call BIS_fnc_rscLayer) cutFadeOut 2; +}; + +[_text] call FUNC(setText); diff --git a/addons/nametags/functions/fnc_drawNameTagIcon.sqf b/addons/nametags/functions/fnc_drawNameTagIcon.sqf new file mode 100644 index 0000000000..06a5963217 --- /dev/null +++ b/addons/nametags/functions/fnc_drawNameTagIcon.sqf @@ -0,0 +1,63 @@ +/* + * Author: commy2, CAA-Picard + * + * Draw the nametag and rank icon. + * + * Argument: + * 0: Unit (Array) + * 1: alpha (Number) + * 2: Height offset (Number) + * + * Return value: + * None. + */ + +#include "script_component.hpp" + +#define TEXTURES_RANKS [ \ + "", \ + "\A3\Ui_f\data\GUI\Cfg\Ranks\private_gs.paa", \ + "\A3\Ui_f\data\GUI\Cfg\Ranks\corporal_gs.paa", \ + "\A3\Ui_f\data\GUI\Cfg\Ranks\sergeant_gs.paa", \ + "\A3\Ui_f\data\GUI\Cfg\Ranks\lieutenant_gs.paa", \ + "\A3\Ui_f\data\GUI\Cfg\Ranks\captain_gs.paa", \ + "\A3\Ui_f\data\GUI\Cfg\Ranks\major_gs.paa", \ + "\A3\Ui_f\data\GUI\Cfg\Ranks\colonel_gs.paa" \ +] + +private ["_player", "_target", "_alpha", "_heightOffset", "_height", "_position", "_color", "_name", "_rank", "_size"]; + +_player = _this select 0; +_target = _this select 1; +_alpha = _this select 2; +_heightOffset = _this select 3; + +_height = [2, 1.5, 1, 1.5, 1] select (["STAND", "CROUCH", "PRONE", "UNDEFINED", ""] find stance _target); + +_position = visiblePositionASL _target; +// Convert position to ASLW (expected by drawIcon3D) and add height offsets +_position set [2, ((_target modelToWorld [0,0,0]) select 2) + _height + _heightOffset]; + +_color = if !(group _target == group _player) then { + [0.77, 0.51, 0.08, _alpha] +} else { + [[1, 1, 1, _alpha], [1, 0, 0, _alpha], [0, 1, 0, _alpha], [0, 0, 1, _alpha], [1, 1, 0, _alpha]] select (["MAIN", "RED", "GREEN", "BLUE", "YELLOW"] find (if (_target == _player) then {0} else {assignedTeam _target})) max 0 +}; + +_name = [_target, true] call EFUNC(Core,getName); + +_rank = TEXTURES_RANKS select ((["PRIVATE", "CORPORAL", "SERGEANT", "LIEUTENANT", "CAPTAIN", "MAJOR", "COLONEL"] find rank _target) + 1); +_size = [0, 1] select (profileNamespace getVariable ["ACE_showPlayerRanks", true]); + +drawIcon3D [ + _rank, + _color, + _position, + _size, + _size, + 0, + _name, + 2, + 0.033, + "PuristaMedium" +]; diff --git a/addons/nametags/functions/fnc_empty.sqf b/addons/nametags/functions/fnc_empty.sqf deleted file mode 100644 index 028fb068c9..0000000000 --- a/addons/nametags/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/addons/nametags/functions/fnc_getVehicleData.sqf b/addons/nametags/functions/fnc_getVehicleData.sqf new file mode 100644 index 0000000000..6a0ca43fcd --- /dev/null +++ b/addons/nametags/functions/fnc_getVehicleData.sqf @@ -0,0 +1,123 @@ +/* + Author: aeroson + + Description: + Gathers and caches data needed by AGM_CrewInfo_fnc_doShow + What really does make difference for the engine is simulation of CfgAmmo + Priority of roles is: driver/pilot, gunner, copilot, commander, ffv, cargo + + Parameters: + None + + Returns: + [ + Is vehicle inherited from Air ? + Array categorizing each vehicle's turret + ] +*/ + +#include "script_component.hpp" +#include QUOTE(PATHTOF(functions\common.sqf)); + + +private ["_type", "_varName", "_data"]; + +_type = _this select 0; + +_varName = format ["AGM_CrewInfo_Cache_%1", _type]; +_data = + (uiNamespace getVariable _varName); + +if (!isNil "_data") exitWith { + _data +}; + +_data = []; + + + +private ["_isAir", "_config", "_fnc_addTurret", "_fnc_addTurretUnit"]; + +_isAir = _type isKindOf "Air"; + +_fnc_addTurretUnit = { + + private ["_config", "_path", "_role", "_simulationEmpty", "_simulationLaserDesignate", "_simulationOther", "_magazine", "_ammo", "_simulation"]; + + _config = _this select 0; + _path = _this select 1; + _role = CARGO; + + _simulationEmpty = 0; + _simulationLaserDesignate = 0; + _simulationOther = 0; + { + { + _magazine = configFile >> "CfgMagazines" >> _x; + _ammo = configFile >> "CfgAmmo" >> getText (_magazine >> "ammo"); + _simulation = getText (_ammo >> "simulation"); + + if(_simulation=="") then { + _simulationEmpty = _simulationEmpty + 1; + } else { + if(_simulation=="laserDesignate") then { + _simulationLaserDesignate = _simulationLaserDesignate + 1; + } else { + _simulationOther = _simulationOther + 1; + }; + }; + + } forEach getArray (configFile >> "CfgWeapons" >> _x >> "magazines"); + } forEach getArray (_config >> "weapons"); + + if(_simulationOther>0) then { + _role = GUNNER; + }; + if (_role == CARGO && {getNumber (_config >> "isCopilot") == 1}) then { + _role = COPILOT; + }; + if (_role == CARGO && {_simulationLaserDesignate>0 || getNumber (_config >> "primaryObserver") == 1}) then { + _role = COMMANDER; + }; + if (_role == CARGO && {getNumber (_config >> "isPersonTurret") == 1}) then { + _role = FFV; + }; + + _data pushBack [_path, _role]; + +}; + + +_fnc_addTurret = { + + private ["_config", "_path", "_count", "_offset", "_index", "_turretPath", "_turretConfig"]; + + _config = _this select 0; + _path = _this select 1; + + _config = _config >> "Turrets"; + _count = count _config; + + _offset = 0; + + for "_index" from 0 to (_count - 1) do { + _turretPath = _path + [_index - _offset]; + _turretConfig = _config select _index; + if (isClass _turretConfig) then { + [_turretConfig, _turretPath] call _fnc_addTurretUnit; + [_turretConfig, _turretPath] call _fnc_addTurret; + } else { + _offset = _offset + 1; + }; + + }; + +}; + + +_config = configFile >> "CfgVehicles" >> _type; +[_config, []] call _fnc_addTurret; + +_data = [_isAir, _data]; +uiNamespace setVariable [_varName, _data]; + +_data diff --git a/addons/nametags/functions/fnc_moduleNameTags.sqf b/addons/nametags/functions/fnc_moduleNameTags.sqf new file mode 100644 index 0000000000..c19b993ee5 --- /dev/null +++ b/addons/nametags/functions/fnc_moduleNameTags.sqf @@ -0,0 +1,29 @@ +/* + * Author: CAA-Picard + * + * Initializes the name tags module. + * + * Arguments: + * Whatever the module provides. + * + * Return Value: + * None + */ + +#include "script_component.hpp" + +if !(isServer) exitWith {}; + +_logic = _this select 0; +_units = _this select 1; +_activated = _this select 2; + +if !(_activated) exitWith {}; + +GVAR(Module) = true; + +[_logic, QGVAR(PlayerNamesViewDistance), "PlayerNamesViewDistance" ] call EFUNC(Core,readNumericParameterFromModule); +[_logic, QGVAR(ShowNamesForAI), "ShowNamesForAI" ] call EFUNC(Core,readBooleanParameterFromModule); +[_logic, QGVAR(CrewInfoVisibility), "Visibility" ] call EFUNC(Core,readNumericParameterFromModule); + +diag_log text "[ACE]: NameTags Module Initialized."; diff --git a/addons/nametags/functions/fnc_onMouseZChanged.sqf b/addons/nametags/functions/fnc_onMouseZChanged.sqf new file mode 100644 index 0000000000..8892f201bc --- /dev/null +++ b/addons/nametags/functions/fnc_onMouseZChanged.sqf @@ -0,0 +1,18 @@ +/* + Author: aeroson + + Description: + Callback for mouse wheel change + + Parameters: + None + + Returns: + Nothing +*/ + +#include "script_component.hpp" + +if(call FUNC(canShow)) then { + call FUNC(doShow); +}; diff --git a/addons/nametags/functions/fnc_setText.sqf b/addons/nametags/functions/fnc_setText.sqf new file mode 100644 index 0000000000..1c740f76b0 --- /dev/null +++ b/addons/nametags/functions/fnc_setText.sqf @@ -0,0 +1,23 @@ +/* + Author: aeroson + + Description: + Sets the text on the dialog + + Parameters: + None + + Returns: + Nothing +*/ + +#define GVAR(TextIDC) 11123 + +private["_text", "_ctrl"]; + +disableSerialization; + +_text = _this select 0; +_ctrl = (uiNamespace getVariable QGVAR(dialog)) displayCtrl GVAR(TextIDC); +_ctrl ctrlSetStructuredText parseText _text; +_ctrl ctrlCommit 0; diff --git a/addons/nametags/functions/script_component.hpp b/addons/nametags/functions/script_component.hpp new file mode 100644 index 0000000000..b8135e8ecd --- /dev/null +++ b/addons/nametags/functions/script_component.hpp @@ -0,0 +1 @@ +#include "\z\ace\addons\nametags\script_component.hpp" From 38ed8003890f64df9a2d0eda7110ab4a57119a08 Mon Sep 17 00:00:00 2001 From: bux578 Date: Tue, 13 Jan 2015 12:30:20 +0100 Subject: [PATCH 18/50] move ui folder, cleanup --- TO_MERGE/agm/NameTags/RscTitles.hpp | 41 ----- TO_MERGE/agm/NameTags/clientInit.sqf | 60 -------- TO_MERGE/agm/NameTags/config.cpp | 143 ------------------ .../NameTags/functions/CrewInfo/common.sqf | 24 --- .../functions/CrewInfo/fn_canShow.sqf | 26 ---- .../NameTags/functions/CrewInfo/fn_doShow.sqf | 92 ----------- .../functions/CrewInfo/fn_getVehicleData.sqf | 123 --------------- .../functions/CrewInfo/fn_onMouseZChanged.sqf | 16 -- .../functions/CrewInfo/fn_setText.sqf | 23 --- .../NameTags/functions/fn_drawNameTagIcon.sqf | 61 -------- .../NameTags/functions/fn_moduleNameTags.sqf | 27 ---- TO_MERGE/agm/NameTags/stringtable.xml | 72 --------- .../nametags}/UI/IconNameTags_ca.paa | Bin .../nametags}/UI/icon_position_ffv.paa | Bin 14 files changed, 708 deletions(-) delete mode 100644 TO_MERGE/agm/NameTags/RscTitles.hpp delete mode 100644 TO_MERGE/agm/NameTags/clientInit.sqf delete mode 100644 TO_MERGE/agm/NameTags/config.cpp delete mode 100644 TO_MERGE/agm/NameTags/functions/CrewInfo/common.sqf delete mode 100644 TO_MERGE/agm/NameTags/functions/CrewInfo/fn_canShow.sqf delete mode 100644 TO_MERGE/agm/NameTags/functions/CrewInfo/fn_doShow.sqf delete mode 100644 TO_MERGE/agm/NameTags/functions/CrewInfo/fn_getVehicleData.sqf delete mode 100644 TO_MERGE/agm/NameTags/functions/CrewInfo/fn_onMouseZChanged.sqf delete mode 100644 TO_MERGE/agm/NameTags/functions/CrewInfo/fn_setText.sqf delete mode 100644 TO_MERGE/agm/NameTags/functions/fn_drawNameTagIcon.sqf delete mode 100644 TO_MERGE/agm/NameTags/functions/fn_moduleNameTags.sqf delete mode 100644 TO_MERGE/agm/NameTags/stringtable.xml rename {TO_MERGE/agm/NameTags => addons/nametags}/UI/IconNameTags_ca.paa (100%) rename {TO_MERGE/agm/NameTags => addons/nametags}/UI/icon_position_ffv.paa (100%) diff --git a/TO_MERGE/agm/NameTags/RscTitles.hpp b/TO_MERGE/agm/NameTags/RscTitles.hpp deleted file mode 100644 index 32ea8d5c3d..0000000000 --- a/TO_MERGE/agm/NameTags/RscTitles.hpp +++ /dev/null @@ -1,41 +0,0 @@ -#define AGM_CrewInfo_TextIDC 11123 - -#define CT_STRUCTURED_TEXT 13 -#define ST_LEFT 0 - -class RscTitles { - titles[]={"AGM_CrewInfo_dialog"}; - class AGM_CrewInfo_dialog { - idd = -1; - movingEnable = 1; - duration = 1; - fadein = 0; - fadeout = 999999; - name = "AGM_CrewInfo_dialog"; - controlsBackground[] = {"AGM_CrewInfo_text"}; - onLoad = "uiNamespace setVariable ['AGM_CrewInfo_dialog', _this select 0]"; - onUnload = "uiNamespace setVariable ['AGM_CrewInfo_dialog', objNull]"; - - class AGM_CrewInfo_text { - idc = AGM_CrewInfo_TextIDC; - type = CT_STRUCTURED_TEXT; - style = ST_LEFT; - x = SafeZonex + SafezoneW - 0.31; - y = SafeZoneY + SafeZoneH*0.4; - w = 0.3; - h = 0.6; - size = 0.018; - colorBackground[] = { 0, 0, 0, 0 }; - colortext[] = { - "(profilenamespace getvariable ['IGUI_TEXT_RGB_R',0])", - "(profilenamespace getvariable ['IGUI_TEXT_RGB_G',1])", - "(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])", - "(profilenamespace getvariable ['IGUI_TEXT_RGB_A',0.8])" - }; - text=""; - class Attributes { - align = right; - }; - }; - }; -}; diff --git a/TO_MERGE/agm/NameTags/clientInit.sqf b/TO_MERGE/agm/NameTags/clientInit.sqf deleted file mode 100644 index aa325bbd7e..0000000000 --- a/TO_MERGE/agm/NameTags/clientInit.sqf +++ /dev/null @@ -1,60 +0,0 @@ -// by commy2 and CAA-Picard - -if (!hasInterface) exitWith {}; - -AGM_NameTags_ShowNamesTime = -10; - -addMissionEventHandler ["Draw3D", { - if !(profileNamespace getVariable ["AGM_showPlayerNames", true]) exitWith {}; - - _player = AGM_player; - if (profileNamespace getVariable ["AGM_showPlayerNamesOnlyOnCursor", true]) then { - _target = cursorTarget; - _target = if (_target in allUnitsUAV) then {objNull} else {effectiveCommander _target}; - - if (!isNull _target && {side group _target == playerSide} && {_target != _player} && {isPlayer _target || {AGM_NameTags_ShowNamesForAI}} && {!(_target getVariable ["AGM_hideName", false])}) then { - _distance = _player distance _target; - _alpha = ((1 - 0.2 * (_distance - AGM_NameTags_PlayerNamesViewDistance)) min 1) * AGM_NameTags_PlayerNamesMaxAlpha; - if (profileNamespace getVariable ["AGM_showPlayerNamesOnlyOnKeyPress", false]) then { - _alpha = _alpha min (1 - (time - AGM_NameTags_ShowNamesTime - 1)); - }; - [_player, _target, _alpha, _distance * 0.026] call AGM_NameTags_fnc_drawNameTagIcon; - }; - } else { - _pos = positionCameraToWorld [0, 0, 0]; - _targets = _pos nearObjects ["Man", AGM_NameTags_PlayerNamesViewDistance + 5]; - - if (!surfaceIsWater _pos) then { - _pos = ATLtoASL _pos; - }; - _pos2 = positionCameraToWorld [0, 0, 1]; - if (!surfaceIsWater _pos2) then { - _pos2 = ATLtoASL _pos2; - }; - _vecy = _pos2 vectorDiff _pos; - - { - _target = if (_x in allUnitsUAV) then {objNull} else {effectiveCommander _x}; - - if (!isNull _target && {side group _target == playerSide} && {_target != _player} && {isPlayer _target || {AGM_NameTags_ShowNamesForAI}} && {!(_target getVariable ["AGM_hideName", false])}) then { - _relPos = (visiblePositionASL _target) vectorDiff _pos; - _distance = vectorMagnitude _relPos; - _projDist = _relPos vectorDistance (_vecy vectorMultiply (_relPos vectorDotProduct _vecy)); - - _alpha = ((1 - 0.2 * (_distance - AGM_NameTags_PlayerNamesViewDistance)) min (1 - 0.15 * (_projDist * 5 - _distance - 3)) min 1) * AGM_NameTags_PlayerNamesMaxAlpha; - - if (profileNamespace getVariable ["AGM_showPlayerNamesOnlyOnKeyPress", false]) then { - _alpha = _alpha min (1 - (time - AGM_NameTags_ShowNamesTime - 1)); - }; - - // Check if there is line of sight - if (_alpha > 0) then { - if (lineIntersects [_pos, (visiblePositionASL _target) vectorAdd [0,0,1], vehicle _player, _target]) then { - _alpha = 0; - }; - }; - [_player, _target, _alpha, _distance * 0.026] call AGM_NameTags_fnc_drawNameTagIcon; - }; - } forEach _targets; - }; -}]; diff --git a/TO_MERGE/agm/NameTags/config.cpp b/TO_MERGE/agm/NameTags/config.cpp deleted file mode 100644 index aa0be72b5e..0000000000 --- a/TO_MERGE/agm/NameTags/config.cpp +++ /dev/null @@ -1,143 +0,0 @@ -class CfgPatches { - class AGM_NameTags { - units[] = {}; - weapons[] = {}; - requiredVersion = 0.60; - requiredAddons[] = {AGM_Core, AGM_Interaction}; - version = "0.95"; - versionStr = "0.95"; - versionAr[] = {0,95,0}; - author[] = {"commy2", "CAA-Picard"}; - authorUrl = "https://github.com/commy2/"; - }; -}; - -class CfgFunctions { - class AGM_NameTags { - class AGM_NameTags { - file = "\AGM_NameTags\functions"; - class drawNameTagIcon; - class moduleNameTags; - }; - }; - class AGM_CrewInfo { - class AGM_CrewInfo { - file = "AGM_NameTags\functions\CrewInfo"; - class canShow; - class doShow; - class getVehicleData; - class onMouseZChanged; - class setText; - }; - }; -}; - -class Extended_PostInit_EventHandlers { - class AGM_NameTags { - clientInit = "call compile preprocessFileLineNumbers '\AGM_NameTags\clientInit.sqf'"; - }; -}; - -class AGM_Core_Default_Keys { - class showNames { - displayName = "$STR_AGM_NameTags_ShowNames"; - condition = "true"; - statement = "AGM_NameTags_ShowNamesTime = time; if (call AGM_CrewInfo_fnc_canShow) then {call AGM_CrewInfo_fnc_doShow;};"; - key = 29; - shift = 0; - control = 0; - alt = 0; - allowHolding = 1; - }; -}; - -class AGM_Core_Options { - class showPlayerNames { - displayName = "$STR_AGM_NameTags_ShowPlayerNames"; - default = 1; - }; - class showPlayerNamesOnlyOnCursor { - displayName = "$STR_AGM_NameTags_ShowPlayerNamesOnlyOnCursor"; - default = 1; - }; - class showPlayerNamesOnlyOnKeyPress { - displayName = "$STR_AGM_NameTags_ShowPlayerNamesOnlyOnKeyPress"; - default = 0; - }; - class showPlayerRanks { - displayName = "$STR_AGM_NameTags_ShowPlayerRanks"; - default = 1; - }; - class showVehicleCrewInfo { - displayName = "$STR_AGM_CrewInfo_ShowVehicleCrewInfo"; - default = 1; - }; -}; - -class AGM_Parameters_Numeric { - AGM_NameTags_PlayerNamesViewDistance = 5; - AGM_NameTags_PlayerNamesMaxAlpha = 0.8; - AGM_NameTags_CrewInfoVisibility = 0; -}; -class AGM_Parameters_Boolean { - AGM_NameTags_ShowNamesForAI = 0; -}; - -class CfgVehicles { - class Module_F; - class AGM_ModuleNameTags: Module_F { - author = "$STR_AGM_Core_AGMTeam"; - category = "AGM"; - displayName = "Name Tags"; - function = "AGM_NameTags_fnc_moduleNameTags"; - scope = 2; - isGlobal = 1; - icon = "\AGM_NameTags\UI\IconNameTags_ca.paa"; - class Arguments { - class PlayerNamesViewDistance { - displayName = "Player Names View Dist."; - description = "Distance in meters at which player names are shown. Default: 5"; - typeName = "NUMBER"; - defaultValue = 5; - }; - class ShowNamesForAI { - displayName = "Show name tags for AI?"; - description = "Show the name and rank tags for friendly AI units? Default: No"; - typeName = "BOOL"; - class values { - class Yes { - name = "Yes"; - value = 1; - }; - class No { - default = 1; - name = "No"; - value = 0; - }; - }; - }; - class Visibility { - displayName = "Visibility of crew info"; - description = "Forces visibility of vehicle crew info, or by default allows players to choose it on their own. Default: Do Not Force"; - typeName = "INT"; - class values { - class DoNotForce { - default = 1; - name = "Do Not Force"; - value = 0; - }; - class ForceShow { - name = "Force Show"; - value = 1; - }; - class ForceHide { - name = "Force Hide"; - value = -1; - }; - }; - }; - }; - }; -}; - -#include diff --git a/TO_MERGE/agm/NameTags/functions/CrewInfo/common.sqf b/TO_MERGE/agm/NameTags/functions/CrewInfo/common.sqf deleted file mode 100644 index aa80cdfa8d..0000000000 --- a/TO_MERGE/agm/NameTags/functions/CrewInfo/common.sqf +++ /dev/null @@ -1,24 +0,0 @@ -/* - Author: aeroson - - Description: - Images, index in images and order of roles. - Defined number also implies order, lower number shows more on top of the list. -*/ - -#define PILOT 0 -#define DRIVER 1 -#define COPILOT PILOT -#define COMMANDER 2 -#define GUNNER 3 -#define FFV 4 -#define CARGO 5 - -#define ROLE_IMAGES [ \ - "a3\ui_f\data\IGUI\Cfg\Actions\getinpilot_ca.paa", \ - "a3\ui_f\data\IGUI\Cfg\Actions\getindriver_ca.paa", \ - "a3\ui_f\data\IGUI\Cfg\Actions\getincommander_ca.paa", \ - "a3\ui_f\data\IGUI\Cfg\Actions\getingunner_ca.paa", \ - "AGM_NameTags\UI\icon_position_ffv.paa", \ - "a3\ui_f\data\IGUI\Cfg\Actions\getincargo_ca.paa" \ -] diff --git a/TO_MERGE/agm/NameTags/functions/CrewInfo/fn_canShow.sqf b/TO_MERGE/agm/NameTags/functions/CrewInfo/fn_canShow.sqf deleted file mode 100644 index 8e3dadedec..0000000000 --- a/TO_MERGE/agm/NameTags/functions/CrewInfo/fn_canShow.sqf +++ /dev/null @@ -1,26 +0,0 @@ -/* - Author: aeroson - - Description: - Might be called several times a second - - Parameters: - None - - Returns: - true if CrewInfo can be shown, false otherwise -*/ - -private["_player"]; - - -_player = AGM_player; - -// AGM_NameTags_ShowVehicleCrewInfo: -1 force NO, 0 doesnt care, 1 force YES - -vehicle _player != _player && -{ - (AGM_NameTags_CrewInfoVisibility == 1) || - (AGM_NameTags_CrewInfoVisibility != -1 && profileNamespace getVariable ["AGM_showVehicleCrewInfo", false]) -} && -{!(vehicle _player isKindOf "ParachuteBase")}; diff --git a/TO_MERGE/agm/NameTags/functions/CrewInfo/fn_doShow.sqf b/TO_MERGE/agm/NameTags/functions/CrewInfo/fn_doShow.sqf deleted file mode 100644 index 869cdb6fb7..0000000000 --- a/TO_MERGE/agm/NameTags/functions/CrewInfo/fn_doShow.sqf +++ /dev/null @@ -1,92 +0,0 @@ -/* - Author: aeroson - - Description: - Shows the actual text and sets text the crew info - - Parameters: - None - - Returns: - Nothing -*/ - -#include "common.sqf" - -private["_roleImages", "_player", "_vehicle", "_type", "_config", "_text", "_data", "_isAir", "_turretUnits", "_turretRoles", "_index", "_roleType", "_unit", "_toShow"]; - - -_player = AGM_player; -_vehicle = vehicle _player; -_type = typeOf _vehicle; -_config = configFile >> "CfgVehicles" >> _type; -_text = format[" %2
", getText(_config>>"picture"), getText (_config >> "DisplayName")]; - - - -_data = [_type] call AGM_CrewInfo_fnc_getVehicleData; - -_isAir = _data select 0; -_data = _data select 1; - -_turretUnits = [_data, { _vehicle turretUnit (_x select 0) } ] call AGM_Core_fnc_map; -_turretRoles = [_data, { _x select 1 } ] call AGM_Core_fnc_map; - - -_roleType = CARGO; -_toShow = []; -{ - switch (_x) do { - case commander _vehicle: { - _roleType = COMMANDER; - }; - case gunner _vehicle: { - _roleType = GUNNER; - }; - case driver _vehicle: { - _roleType = if(_isAir) then { PILOT } else { DRIVER }; - }; - default { - _index = _turretUnits find _x; - if(_index !=-1 ) then { - _roleType = _turretRoles select _index; - } else { - _roleType = CARGO; - }; - }; - }; - _toShow pushBack [_x, _roleType]; -} forEach crew _vehicle; - - -_toShow = [ - _toShow, - [], - { - _x select 1 - }, - "ASCEND", - { - _unit = _x select 0; - alive _unit - } -] call BIS_fnc_sortBy; - - -_roleImages = ROLE_IMAGES; -{ - _unit = _x select 0; - _roleType = _x select 1; - _text = _text + format["%1
", [_unit] call AGM_Core_fnc_getName, _roleImages select _roleType]; -} forEach _toShow; - - -("AGM_CrewInfo_CrewInfo" call BIS_fnc_rscLayer) cutRsc ["AGM_CrewInfo_dialog", "PLAIN", 1, false]; - -terminate (missionNamespace getVariable ["AGM_CrewInfo_hideCrewInfoHandle", scriptNull]); -AGM_CrewInfo_hideCrewInfoHandle = 0 spawn { - sleep 2; - ("AGM_CrewInfo_CrewInfo" call BIS_fnc_rscLayer) cutFadeOut 2; -}; - -[_text] call AGM_CrewInfo_fnc_setText; diff --git a/TO_MERGE/agm/NameTags/functions/CrewInfo/fn_getVehicleData.sqf b/TO_MERGE/agm/NameTags/functions/CrewInfo/fn_getVehicleData.sqf deleted file mode 100644 index d58c0ec458..0000000000 --- a/TO_MERGE/agm/NameTags/functions/CrewInfo/fn_getVehicleData.sqf +++ /dev/null @@ -1,123 +0,0 @@ -/* - Author: aeroson - - Description: - Gathers and caches data needed by AGM_CrewInfo_fnc_doShow - What really does make difference for the engine is simulation of CfgAmmo - Priority of roles is: driver/pilot, gunner, copilot, commander, ffv, cargo - - Parameters: - None - - Returns: - [ - Is vehicle inherited from Air ? - Array categorizing each vehicle's turret - ] -*/ - -#include "common.sqf" - - - -private ["_type", "_varName", "_data"]; - -_type = _this select 0; - -_varName = format ["AGM_CrewInfo_Cache_%1", _type]; -_data = + (uiNamespace getVariable _varName); - -if (!isNil "_data") exitWith { - _data -}; - -_data = []; - - - -private ["_isAir", "_config", "_fnc_addTurret", "_fnc_addTurretUnit"]; - -_isAir = _type isKindOf "Air"; - -_fnc_addTurretUnit = { - - private ["_config", "_path", "_role", "_simulationEmpty", "_simulationLaserDesignate", "_simulationOther", "_magazine", "_ammo", "_simulation"]; - - _config = _this select 0; - _path = _this select 1; - _role = CARGO; - - _simulationEmpty = 0; - _simulationLaserDesignate = 0; - _simulationOther = 0; - { - { - _magazine = configFile >> "CfgMagazines" >> _x; - _ammo = configfile >> "CfgAmmo" >> getText (_magazine >> "ammo"); - _simulation = getText (_ammo >> "simulation"); - - if(_simulation=="") then { - _simulationEmpty = _simulationEmpty + 1; - } else { - if(_simulation=="laserDesignate") then { - _simulationLaserDesignate = _simulationLaserDesignate + 1; - } else { - _simulationOther = _simulationOther + 1; - }; - }; - - } forEach getArray (configfile >> "CfgWeapons" >> _x >> "magazines"); - } forEach getArray (_config >> "weapons"); - - if(_simulationOther>0) then { - _role = GUNNER; - }; - if (_role == CARGO && {getNumber (_config >> "isCopilot") == 1}) then { - _role = COPILOT; - }; - if (_role == CARGO && {_simulationLaserDesignate>0 || getNumber (_config >> "primaryObserver") == 1}) then { - _role = COMMANDER; - }; - if (_role == CARGO && {getNumber (_config >> "isPersonTurret") == 1}) then { - _role = FFV; - }; - - _data pushBack [_path, _role]; - -}; - - -_fnc_addTurret = { - - private ["_config", "_path", "_count", "_offset", "_index", "_turretPath", "_turretConfig"]; - - _config = _this select 0; - _path = _this select 1; - - _config = _config >> "Turrets"; - _count = count _config; - - _offset = 0; - - for "_index" from 0 to (_count - 1) do { - _turretPath = _path + [_index - _offset]; - _turretConfig = _config select _index; - if (isClass _turretConfig) then { - [_turretConfig, _turretPath] call _fnc_addTurretUnit; - [_turretConfig, _turretPath] call _fnc_addTurret; - } else { - _offset = _offset + 1; - }; - - }; - -}; - - -_config = configFile >> "CfgVehicles" >> _type; -[_config, []] call _fnc_addTurret; - -_data = [_isAir, _data]; -uiNamespace setVariable [_varName, _data]; - -_data diff --git a/TO_MERGE/agm/NameTags/functions/CrewInfo/fn_onMouseZChanged.sqf b/TO_MERGE/agm/NameTags/functions/CrewInfo/fn_onMouseZChanged.sqf deleted file mode 100644 index 92cb5255c3..0000000000 --- a/TO_MERGE/agm/NameTags/functions/CrewInfo/fn_onMouseZChanged.sqf +++ /dev/null @@ -1,16 +0,0 @@ -/* - Author: aeroson - - Description: - Callback for mouse wheel change - - Parameters: - None - - Returns: - Nothing -*/ - -if(call AGM_CrewInfo_fnc_canShow) then { - call AGM_CrewInfo_fnc_doShow; -}; diff --git a/TO_MERGE/agm/NameTags/functions/CrewInfo/fn_setText.sqf b/TO_MERGE/agm/NameTags/functions/CrewInfo/fn_setText.sqf deleted file mode 100644 index 7c31b910c8..0000000000 --- a/TO_MERGE/agm/NameTags/functions/CrewInfo/fn_setText.sqf +++ /dev/null @@ -1,23 +0,0 @@ -/* - Author: aeroson - - Description: - Sets the text on the dialog - - Parameters: - None - - Returns: - Nothing -*/ - -#define AGM_CrewInfo_TextIDC 11123 - -private["_text", "_ctrl"]; - -disableSerialization; - -_text = _this select 0; -_ctrl = (uiNamespace getVariable "AGM_CrewInfo_dialog") displayCtrl AGM_CrewInfo_TextIDC; -_ctrl ctrlSetStructuredText parseText _text; -_ctrl ctrlCommit 0; diff --git a/TO_MERGE/agm/NameTags/functions/fn_drawNameTagIcon.sqf b/TO_MERGE/agm/NameTags/functions/fn_drawNameTagIcon.sqf deleted file mode 100644 index fd9f66f635..0000000000 --- a/TO_MERGE/agm/NameTags/functions/fn_drawNameTagIcon.sqf +++ /dev/null @@ -1,61 +0,0 @@ -/* - * Author: commy2, CAA-Picard - * - * Draw the nametag and rank icon. - * - * Argument: - * 0: Unit (Array) - * 1: alpha (Number) - * 2: Height offset (Number) - * - * Return value: - * None. - */ - -#define TEXTURES_RANKS [ \ - "", \ - "\A3\Ui_f\data\GUI\Cfg\Ranks\private_gs.paa", \ - "\A3\Ui_f\data\GUI\Cfg\Ranks\corporal_gs.paa", \ - "\A3\Ui_f\data\GUI\Cfg\Ranks\sergeant_gs.paa", \ - "\A3\Ui_f\data\GUI\Cfg\Ranks\lieutenant_gs.paa", \ - "\A3\Ui_f\data\GUI\Cfg\Ranks\captain_gs.paa", \ - "\A3\Ui_f\data\GUI\Cfg\Ranks\major_gs.paa", \ - "\A3\Ui_f\data\GUI\Cfg\Ranks\colonel_gs.paa" \ -] - -private ["_player", "_target", "_alpha", "_heightOffset", "_height", "_position", "_color", "_name", "_rank", "_size"]; - -_player = _this select 0; -_target = _this select 1; -_alpha = _this select 2; -_heightOffset = _this select 3; - -_height = [2, 1.5, 1, 1.5, 1] select (["STAND", "CROUCH", "PRONE", "UNDEFINED", ""] find stance _target); - -_position = visiblePositionASL _target; -// Convert position to ASLW (expected by drawIcon3D) and add height offsets -_position set [2, ((_target modelToWorld [0,0,0]) select 2) + _height + _heightOffset]; - -_color = if !(group _target == group _player) then { - [0.77, 0.51, 0.08, _alpha] -} else { - [[1, 1, 1, _alpha], [1, 0, 0, _alpha], [0, 1, 0, _alpha], [0, 0, 1, _alpha], [1, 1, 0, _alpha]] select (["MAIN", "RED", "GREEN", "BLUE", "YELLOW"] find (if (_target == _player) then {0} else {assignedTeam _target})) max 0 -}; - -_name = [_target, true] call AGM_Core_fnc_getName; - -_rank = TEXTURES_RANKS select ((["PRIVATE", "CORPORAL", "SERGEANT", "LIEUTENANT", "CAPTAIN", "MAJOR", "COLONEL"] find rank _target) + 1); -_size = [0, 1] select (profileNamespace getVariable ["AGM_showPlayerRanks", true]); - -drawIcon3D [ - _rank, - _color, - _position, - _size, - _size, - 0, - _name, - 2, - 0.033, - "PuristaMedium" -]; diff --git a/TO_MERGE/agm/NameTags/functions/fn_moduleNameTags.sqf b/TO_MERGE/agm/NameTags/functions/fn_moduleNameTags.sqf deleted file mode 100644 index 33b3941dc6..0000000000 --- a/TO_MERGE/agm/NameTags/functions/fn_moduleNameTags.sqf +++ /dev/null @@ -1,27 +0,0 @@ -/* - * Author: CAA-Picard - * - * Initializes the name tags module. - * - * Arguments: - * Whatever the module provides. - * - * Return Value: - * None - */ - -if !(isServer) exitWith {}; - -_logic = _this select 0; -_units = _this select 1; -_activated = _this select 2; - -if !(_activated) exitWith {}; - -AGM_NameTags_Module = true; - -[_logic, "AGM_NameTags_PlayerNamesViewDistance", "PlayerNamesViewDistance" ] call AGM_Core_fnc_readNumericParameterFromModule; -[_logic, "AGM_NameTags_ShowNamesForAI", "ShowNamesForAI" ] call AGM_Core_fnc_readBooleanParameterFromModule; -[_logic, "AGM_NameTags_CrewInfoVisibility", "Visibility" ] call AGM_Core_fnc_readNumericParameterFromModule; - -diag_log text "[AGM]: NameTags Module Initialized."; diff --git a/TO_MERGE/agm/NameTags/stringtable.xml b/TO_MERGE/agm/NameTags/stringtable.xml deleted file mode 100644 index a558b8986f..0000000000 --- a/TO_MERGE/agm/NameTags/stringtable.xml +++ /dev/null @@ -1,72 +0,0 @@ - - - - - - Show Names - Namen anzeigen - Mostrar nombres - Afficher noms - Zobrazit jména - Pokaż nazwy - Nevek mutatása - Показать имена - - - Show player names - Spielernamen anzeigen - Mostrar nombres de jugadores - Pokaż nazwy graczy - Afficher nom des joueurs - Játékosnevek mutatása - Zobrazit jména hráčů - Mostrar nomes de jogadores - Mostra i nomi dei giocatori - Показать имена игроков - - - Show player name only on cursor (requires player names) - Pokaż nazwę gracza tylko pod kursorem - Mostrar nombres solo en el cursor (requiere Mostrar nombres de jugadores) - Zeige Spielernamen nur an, wenn die Maus auf sie gerrichtet ist (benötigt Spielernamen) - Noms uniquement sous le curseur (si noms affichés) - Zobrazit jméno hráče jenom na kurzor (vyžaduje jména hráčů) - Mostra i nomi solo se puntati (richiede i nomi dei giocatori abilitati) - Mostrar nome de jogador somente no cursor (requer nome de jogadores) - Játékosok nevének mutatása (névcímke szükséges) - Показать имена игроков только под курсором (требует имен игроков) - - - Show player name only on keypress (requires player names) - Spielernamen nur auf Tastendruck anzeigen (benötigt Spielernamen) - Mostrar nombres solo al pulsar (requiere Mostrar nombres de jugadores) - Noms uniquement sur pression de la touche (si noms affichés) - Zobrazit jména hráčů jen na klávesu (vyžaduje jména hráčů) - Pokaż nazwę gracza tylko po przytrzymaniu klawisza - Játékosnevek mutatása gombnyomásra(névcíme szükséges) - Показать имена игроков только по нажатию клавиши (требует имен игроков) - - - Show player ranks (requires player names) - Spielerränge anzeigen (benötig Spielernamen) - Pokaż rangi graczy (wymaga nazw graczy) - Mostrar rango de los jugadores (requiere Mostrar nombres de jugadores) - Grade des joueurs (si noms affichés) - Zobrazit hodnosti hráčů (vyžaduje jména hráčů) - Mostra i gradi (richiede i nomi dei giocatori abilitati) - Mostrar patente de jogadores (requer nome de jogadores) - Játékosok rendfokozatának mutatása (névcímke szükséges) - Показать звания игроков (требует имен игроков) - - - - - Show vehicle crew info - Zeige Fahrzeugbesatzung - Mostrar tripulantes - Pokaż informacje o załodze pojazdu - Zobrazit info o posádce vozidla - Показать экипаж - - - \ No newline at end of file diff --git a/TO_MERGE/agm/NameTags/UI/IconNameTags_ca.paa b/addons/nametags/UI/IconNameTags_ca.paa similarity index 100% rename from TO_MERGE/agm/NameTags/UI/IconNameTags_ca.paa rename to addons/nametags/UI/IconNameTags_ca.paa diff --git a/TO_MERGE/agm/NameTags/UI/icon_position_ffv.paa b/addons/nametags/UI/icon_position_ffv.paa similarity index 100% rename from TO_MERGE/agm/NameTags/UI/icon_position_ffv.paa rename to addons/nametags/UI/icon_position_ffv.paa From cd74a5bb6aab37f8a29df7898f4cc1434ab9ec18 Mon Sep 17 00:00:00 2001 From: bux578 Date: Tue, 13 Jan 2015 15:17:12 +0100 Subject: [PATCH 19/50] change sqf include to hpp https://github.com/KoffeinFlummi/ACE3/pull/10#issuecomment-69745232 --- addons/nametags/functions/{common.sqf => common.hpp} | 0 addons/nametags/functions/fnc_doShow.sqf | 2 +- addons/nametags/functions/fnc_getVehicleData.sqf | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) rename addons/nametags/functions/{common.sqf => common.hpp} (100%) diff --git a/addons/nametags/functions/common.sqf b/addons/nametags/functions/common.hpp similarity index 100% rename from addons/nametags/functions/common.sqf rename to addons/nametags/functions/common.hpp diff --git a/addons/nametags/functions/fnc_doShow.sqf b/addons/nametags/functions/fnc_doShow.sqf index dd23d0d085..cb0e524f26 100644 --- a/addons/nametags/functions/fnc_doShow.sqf +++ b/addons/nametags/functions/fnc_doShow.sqf @@ -12,7 +12,7 @@ */ #include "script_component.hpp" -#include QUOTE(PATHTOF(functions\common.sqf)); +#include "common.hpp"; private["_roleImages", "_player", "_vehicle", "_type", "_config", "_text", "_data", "_isAir", "_turretUnits", "_turretRoles", "_index", "_roleType", "_unit", "_toShow"]; diff --git a/addons/nametags/functions/fnc_getVehicleData.sqf b/addons/nametags/functions/fnc_getVehicleData.sqf index 6a0ca43fcd..5914bc1f7e 100644 --- a/addons/nametags/functions/fnc_getVehicleData.sqf +++ b/addons/nametags/functions/fnc_getVehicleData.sqf @@ -17,7 +17,7 @@ */ #include "script_component.hpp" -#include QUOTE(PATHTOF(functions\common.sqf)); +#include "common.hpp"; private ["_type", "_varName", "_data"]; From efe68df72897ecc1a287c2400ff468922055b8da Mon Sep 17 00:00:00 2001 From: bux578 Date: Tue, 13 Jan 2015 15:29:55 +0100 Subject: [PATCH 20/50] add stringtable --- addons/nametags/stringtable.xml | 72 +++++++++++++++++++++++++++++++++ 1 file changed, 72 insertions(+) create mode 100644 addons/nametags/stringtable.xml diff --git a/addons/nametags/stringtable.xml b/addons/nametags/stringtable.xml new file mode 100644 index 0000000000..7d085b9d44 --- /dev/null +++ b/addons/nametags/stringtable.xml @@ -0,0 +1,72 @@ + + + + + + Show Names + Namen anzeigen + Mostrar nombres + Afficher noms + Zobrazit jména + Pokaż nazwy + Nevek mutatása + Показать имена + + + Show player names + Spielernamen anzeigen + Mostrar nombres de jugadores + Pokaż nazwy graczy + Afficher nom des joueurs + Játékosnevek mutatása + Zobrazit jména hráčů + Mostrar nomes de jogadores + Mostra i nomi dei giocatori + Показать имена игроков + + + Show player name only on cursor (requires player names) + Pokaż nazwę gracza tylko pod kursorem + Mostrar nombres solo en el cursor (requiere Mostrar nombres de jugadores) + Zeige Spielernamen nur an, wenn die Maus auf sie gerrichtet ist (benötigt Spielernamen) + Noms uniquement sous le curseur (si noms affichés) + Zobrazit jméno hráče jenom na kurzor (vyžaduje jména hráčů) + Mostra i nomi solo se puntati (richiede i nomi dei giocatori abilitati) + Mostrar nome de jogador somente no cursor (requer nome de jogadores) + Játékosok nevének mutatása (névcímke szükséges) + Показать имена игроков только под курсором (требует имен игроков) + + + Show player name only on keypress (requires player names) + Spielernamen nur auf Tastendruck anzeigen (benötigt Spielernamen) + Mostrar nombres solo al pulsar (requiere Mostrar nombres de jugadores) + Noms uniquement sur pression de la touche (si noms affichés) + Zobrazit jména hráčů jen na klávesu (vyžaduje jména hráčů) + Pokaż nazwę gracza tylko po przytrzymaniu klawisza + Játékosnevek mutatása gombnyomásra(névcíme szükséges) + Показать имена игроков только по нажатию клавиши (требует имен игроков) + + + Show player ranks (requires player names) + Spielerränge anzeigen (benötig Spielernamen) + Pokaż rangi graczy (wymaga nazw graczy) + Mostrar rango de los jugadores (requiere Mostrar nombres de jugadores) + Grade des joueurs (si noms affichés) + Zobrazit hodnosti hráčů (vyžaduje jména hráčů) + Mostra i gradi (richiede i nomi dei giocatori abilitati) + Mostrar patente de jogadores (requer nome de jogadores) + Játékosok rendfokozatának mutatása (névcímke szükséges) + Показать звания игроков (требует имен игроков) + + + + + Show vehicle crew info + Zeige Fahrzeugbesatzung + Mostrar tripulantes + Pokaż informacje o załodze pojazdu + Zobrazit info o posádce vozidla + Показать экипаж + + + From 992b3f721b0a6c4ebbef0369fcd5e56ad3413746 Mon Sep 17 00:00:00 2001 From: bux578 Date: Tue, 13 Jan 2015 15:39:58 +0100 Subject: [PATCH 21/50] 4 spaces --- addons/nametags/CfgEventHandlers.hpp | 4 +- addons/nametags/CfgVehicles.hpp | 104 +++++++++++++-------------- addons/nametags/RscTitles.hpp | 6 +- addons/nametags/config.cpp | 8 +-- 4 files changed, 61 insertions(+), 61 deletions(-) diff --git a/addons/nametags/CfgEventHandlers.hpp b/addons/nametags/CfgEventHandlers.hpp index 6a84bb0246..8d2422059a 100644 --- a/addons/nametags/CfgEventHandlers.hpp +++ b/addons/nametags/CfgEventHandlers.hpp @@ -1,11 +1,11 @@ class Extended_PreInit_EventHandlers { class ADDON { - init = QUOTE( call COMPILE_FILE(XEH_preInit) ); + init = QUOTE(call COMPILE_FILE(XEH_preInit)); }; }; class Extended_PostInit_EventHandlers { class ADDON { - postInit = QUOTE(call COMPILE_FILE(XEH_postInit) ); + postInit = QUOTE(call COMPILE_FILE(XEH_postInit)); }; }; diff --git a/addons/nametags/CfgVehicles.hpp b/addons/nametags/CfgVehicles.hpp index 5aac521ae9..991f7becb3 100644 --- a/addons/nametags/CfgVehicles.hpp +++ b/addons/nametags/CfgVehicles.hpp @@ -1,56 +1,56 @@ class CfgVehicles { - class Module_F; - class ACE_ModuleNameTags: Module_F { - author = "$STR_ACE_Core_ACETeam"; - category = "ACE"; - displayName = "Name Tags"; - function = FUNC(moduleNameTags); - scope = 2; - isGlobal = 1; - icon = QUOTE(PATHTOF(UI\IconNameTags_ca.paa)); - class Arguments { - class PlayerNamesViewDistance { - displayName = "Player Names View Dist."; - description = "Distance in meters at which player names are shown. Default: 5"; - typeName = "NUMBER"; - defaultValue = 5; - }; - class ShowNamesForAI { - displayName = "Show name tags for AI?"; - description = "Show the name and rank tags for friendly AI units? Default: No"; - typeName = "BOOL"; - class values { - class Yes { - name = "Yes"; - value = 1; - }; - class No { - default = 1; - name = "No"; - value = 0; - }; + class Module_F; + class ACE_ModuleNameTags : Module_F { + author = "$STR_ACE_Core_ACETeam"; + category = "ACE"; + displayName = "Name Tags"; + function = FUNC(moduleNameTags); + scope = 2; + isGlobal = 1; + icon = QUOTE(PATHTOF(UI\IconNameTags_ca.paa)); + class Arguments { + class PlayerNamesViewDistance { + displayName = "Player Names View Dist."; + description = "Distance in meters at which player names are shown. Default: 5"; + typeName = "NUMBER"; + defaultValue = 5; + }; + class ShowNamesForAI { + displayName = "Show name tags for AI?"; + description = "Show the name and rank tags for friendly AI units? Default: No"; + typeName = "BOOL"; + class values { + class Yes { + name = "Yes"; + value = 1; + }; + class No { + default = 1; + name = "No"; + value = 0; + }; + }; + }; + class Visibility { + displayName = "Visibility of crew info"; + description = "Forces visibility of vehicle crew info, or by default allows players to choose it on their own. Default: Do Not Force"; + typeName = "INT"; + class values { + class DoNotForce { + default = 1; + name = "Do Not Force"; + value = 0; + }; + class ForceShow { + name = "Force Show"; + value = 1; + }; + class ForceHide { + name = "Force Hide"; + value = -1; + }; + }; + }; }; - }; - class Visibility { - displayName = "Visibility of crew info"; - description = "Forces visibility of vehicle crew info, or by default allows players to choose it on their own. Default: Do Not Force"; - typeName = "INT"; - class values { - class DoNotForce { - default = 1; - name = "Do Not Force"; - value = 0; - }; - class ForceShow { - name = "Force Show"; - value = 1; - }; - class ForceHide { - name = "Force Hide"; - value = -1; - }; - }; - }; }; - }; }; diff --git a/addons/nametags/RscTitles.hpp b/addons/nametags/RscTitles.hpp index fc2c52c678..7f0ddc2135 100644 --- a/addons/nametags/RscTitles.hpp +++ b/addons/nametags/RscTitles.hpp @@ -4,7 +4,7 @@ #define ST_LEFT 0 class RscTitles { - titles[]={"ACE_CrewInfo_dialog"}; + titles[] = { "ACE_CrewInfo_dialog" }; class ACE_CrewInfo_dialog { idd = -1; movingEnable = 1; @@ -12,7 +12,7 @@ class RscTitles { fadein = 0; fadeout = 999999; name = "ACE_CrewInfo_dialog"; - controlsBackground[] = {"ACE_CrewInfo_text"}; + controlsBackground[] = { "ACE_CrewInfo_text" }; onLoad = "uiNamespace setVariable ['ACE_CrewInfo_dialog', _this select 0]"; onUnload = "uiNamespace setVariable ['ACE_CrewInfo_dialog', objNull]"; @@ -32,7 +32,7 @@ class RscTitles { "(profilenamespace getvariable ['IGUI_TEXT_RGB_B',1])", "(profilenamespace getvariable ['IGUI_TEXT_RGB_A',0.8])" }; - text=""; + text = ""; class Attributes { align = right; }; diff --git a/addons/nametags/config.cpp b/addons/nametags/config.cpp index 9cba032947..a807c850e3 100644 --- a/addons/nametags/config.cpp +++ b/addons/nametags/config.cpp @@ -5,11 +5,11 @@ class CfgPatches { units[] = {}; weapons[] = {}; requiredVersion = 0.60; - requiredAddons[] = {"ace_main", "ace_common", "ace_interaction"}; + requiredAddons[] = { "ace_main", "ace_common", "ace_interaction" }; version = QUOTE(VERSION); versionStr = QUOTE(VERSION); - versionAr[] = {VERSION_AR}; - author[] = {"commy2", "CAA-Picard"}; + versionAr[] = { VERSION_AR }; + author[] = { "commy2", "CAA-Picard" }; authorUrl = "https://github.com/commy2/"; }; }; @@ -21,7 +21,7 @@ class ACE_Core_Default_Keys { class showNames { displayName = "$STR_ACE_NameTags_ShowNames"; condition = "true"; - statement = QUOTE( GVAR(ShowNamesTime) = time; if (call FUNC(canShow)) then {call FUNC(doShow);}; ); + statement = QUOTE(GVAR(ShowNamesTime) = time; if (call FUNC(canShow)) then{ call FUNC(doShow); };); key = 29; shift = 0; control = 0; From 46fe10658e04998e53d53d436066288540a20c17 Mon Sep 17 00:00:00 2001 From: bux578 Date: Tue, 13 Jan 2015 15:56:02 +0100 Subject: [PATCH 22/50] notepad++ sh sqf cba It's not really a tool ... i know --- ...ad++_SyntaxHighlighting_With_SQFandCBA.xml | 64 +++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 tools/notepad++_SyntaxHighlighting_With_SQFandCBA.xml diff --git a/tools/notepad++_SyntaxHighlighting_With_SQFandCBA.xml b/tools/notepad++_SyntaxHighlighting_With_SQFandCBA.xml new file mode 100644 index 0000000000..a37a6304df --- /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 + 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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From a4a7318eae8938c9150d83a536094707c260ab97 Mon Sep 17 00:00:00 2001 From: bux578 Date: Tue, 13 Jan 2015 16:16:10 +0100 Subject: [PATCH 23/50] change np++ sh colors --- tools/notepad++_SyntaxHighlighting_With_SQFandCBA.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/tools/notepad++_SyntaxHighlighting_With_SQFandCBA.xml b/tools/notepad++_SyntaxHighlighting_With_SQFandCBA.xml index a37a6304df..2b89ed8af8 100644 --- a/tools/notepad++_SyntaxHighlighting_With_SQFandCBA.xml +++ b/tools/notepad++_SyntaxHighlighting_With_SQFandCBA.xml @@ -40,18 +40,18 @@ - + - + - + From eea6780e59bd843b44bb3a64d977e0bf509a03ae Mon Sep 17 00:00:00 2001 From: bux578 Date: Tue, 13 Jan 2015 16:23:48 +0100 Subject: [PATCH 24/50] add more macros to np++ sh --- tools/notepad++_SyntaxHighlighting_With_SQFandCBA.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/notepad++_SyntaxHighlighting_With_SQFandCBA.xml b/tools/notepad++_SyntaxHighlighting_With_SQFandCBA.xml index 2b89ed8af8..2ffc52f15e 100644 --- a/tools/notepad++_SyntaxHighlighting_With_SQFandCBA.xml +++ b/tools/notepad++_SyntaxHighlighting_With_SQFandCBA.xml @@ -31,7 +31,7 @@ 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 + 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 From f2ef2fa886e472c1a7f34d62bf3f1df365a4af3f Mon Sep 17 00:00:00 2001 From: bux578 Date: Tue, 13 Jan 2015 16:32:15 +0100 Subject: [PATCH 25/50] core -> config --- addons/nametags/CfgVehicles.hpp | 2 +- addons/nametags/config.cpp | 4 ++-- addons/nametags/functions/fnc_doShow.sqf | 6 +++--- addons/nametags/functions/fnc_drawNameTagIcon.sqf | 2 +- addons/nametags/functions/fnc_moduleNameTags.sqf | 6 +++--- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/addons/nametags/CfgVehicles.hpp b/addons/nametags/CfgVehicles.hpp index 991f7becb3..5fdd441933 100644 --- a/addons/nametags/CfgVehicles.hpp +++ b/addons/nametags/CfgVehicles.hpp @@ -1,7 +1,7 @@ class CfgVehicles { class Module_F; class ACE_ModuleNameTags : Module_F { - author = "$STR_ACE_Core_ACETeam"; + author = "$STR_ACE_Common_ACETeam"; category = "ACE"; displayName = "Name Tags"; function = FUNC(moduleNameTags); diff --git a/addons/nametags/config.cpp b/addons/nametags/config.cpp index a807c850e3..d979bb2bb4 100644 --- a/addons/nametags/config.cpp +++ b/addons/nametags/config.cpp @@ -17,7 +17,7 @@ class CfgPatches { #include "CfgEventHandlers.hpp" #include "CfgVehicles.hpp" -class ACE_Core_Default_Keys { +class ACE_Common_Default_Keys { class showNames { displayName = "$STR_ACE_NameTags_ShowNames"; condition = "true"; @@ -30,7 +30,7 @@ class ACE_Core_Default_Keys { }; }; -class ACE_Core_Options { +class ACE_Common_Options { class showPlayerNames { displayName = "$STR_ACE_NameTags_ShowPlayerNames"; default = 1; diff --git a/addons/nametags/functions/fnc_doShow.sqf b/addons/nametags/functions/fnc_doShow.sqf index cb0e524f26..16a6329347 100644 --- a/addons/nametags/functions/fnc_doShow.sqf +++ b/addons/nametags/functions/fnc_doShow.sqf @@ -30,8 +30,8 @@ _data = [_type] call FUNC(getVehicleData); _isAir = _data select 0; _data = _data select 1; -_turretUnits = [_data, { _vehicle turretUnit (_x select 0) } ] call EFUNC(Core,map); -_turretRoles = [_data, { _x select 1 } ] call EFUNC(Core,map); +_turretUnits = [_data, { _vehicle turretUnit (_x select 0) } ] call EFUNC(common,map); +_turretRoles = [_data, { _x select 1 } ] call EFUNC(common,map); _roleType = CARGO; @@ -78,7 +78,7 @@ _roleImages = ROLE_IMAGES; { _unit = _x select 0; _roleType = _x select 1; - _text = _text + format["%1
", [_unit] call EFUNC(Core,getName), _roleImages select _roleType]; + _text = _text + format["%1
", [_unit] call EFUNC(common,getName), _roleImages select _roleType]; } forEach _toShow; diff --git a/addons/nametags/functions/fnc_drawNameTagIcon.sqf b/addons/nametags/functions/fnc_drawNameTagIcon.sqf index 06a5963217..f2a8a1f946 100644 --- a/addons/nametags/functions/fnc_drawNameTagIcon.sqf +++ b/addons/nametags/functions/fnc_drawNameTagIcon.sqf @@ -44,7 +44,7 @@ _color = if !(group _target == group _player) then { [[1, 1, 1, _alpha], [1, 0, 0, _alpha], [0, 1, 0, _alpha], [0, 0, 1, _alpha], [1, 1, 0, _alpha]] select (["MAIN", "RED", "GREEN", "BLUE", "YELLOW"] find (if (_target == _player) then {0} else {assignedTeam _target})) max 0 }; -_name = [_target, true] call EFUNC(Core,getName); +_name = [_target, true] call EFUNC(common,getName); _rank = TEXTURES_RANKS select ((["PRIVATE", "CORPORAL", "SERGEANT", "LIEUTENANT", "CAPTAIN", "MAJOR", "COLONEL"] find rank _target) + 1); _size = [0, 1] select (profileNamespace getVariable ["ACE_showPlayerRanks", true]); diff --git a/addons/nametags/functions/fnc_moduleNameTags.sqf b/addons/nametags/functions/fnc_moduleNameTags.sqf index c19b993ee5..b701a2db8c 100644 --- a/addons/nametags/functions/fnc_moduleNameTags.sqf +++ b/addons/nametags/functions/fnc_moduleNameTags.sqf @@ -22,8 +22,8 @@ if !(_activated) exitWith {}; GVAR(Module) = true; -[_logic, QGVAR(PlayerNamesViewDistance), "PlayerNamesViewDistance" ] call EFUNC(Core,readNumericParameterFromModule); -[_logic, QGVAR(ShowNamesForAI), "ShowNamesForAI" ] call EFUNC(Core,readBooleanParameterFromModule); -[_logic, QGVAR(CrewInfoVisibility), "Visibility" ] call EFUNC(Core,readNumericParameterFromModule); +[_logic, QGVAR(PlayerNamesViewDistance), "PlayerNamesViewDistance" ] call EFUNC(common,readNumericParameterFromModule); +[_logic, QGVAR(ShowNamesForAI), "ShowNamesForAI" ] call EFUNC(common,readBooleanParameterFromModule); +[_logic, QGVAR(CrewInfoVisibility), "Visibility" ] call EFUNC(common,readNumericParameterFromModule); diag_log text "[ACE]: NameTags Module Initialized."; From 9efc1f9547c0b448d71720c2c2bc37d66881abd8 Mon Sep 17 00:00:00 2001 From: commy2 Date: Tue, 13 Jan 2015 16:38:21 +0100 Subject: [PATCH 26/50] fix script errors --- addons/attach/functions/fnc_openAttachUI.sqf | 2 +- addons/interaction/XEH_preInit.sqf | 6 +++--- addons/interaction/config.cpp | 4 ++-- addons/interaction/functions/fnc_GetActions.sqf | 2 +- addons/interaction/functions/fnc_getActions2.sqf | 2 +- addons/interaction/functions/fnc_getCaptivityStatus.sqf | 4 ---- addons/interaction/functions/fnc_setCaptivityStatus.sqf | 4 ---- addons/interaction/functions/fnc_tapShoulder.sqf | 2 +- addons/switchunits/functions/fnc_switchUnit.sqf | 2 +- 9 files changed, 10 insertions(+), 18 deletions(-) delete mode 100644 addons/interaction/functions/fnc_getCaptivityStatus.sqf delete mode 100644 addons/interaction/functions/fnc_setCaptivityStatus.sqf diff --git a/addons/attach/functions/fnc_openAttachUI.sqf b/addons/attach/functions/fnc_openAttachUI.sqf index 5af80d2c9e..c36b3445ae 100644 --- a/addons/attach/functions/fnc_openAttachUI.sqf +++ b/addons/attach/functions/fnc_openAttachUI.sqf @@ -60,6 +60,6 @@ _attachables = items _unit; }, { 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/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 e59f861f79..62425636e7 100644 --- a/addons/interaction/config.cpp +++ b/addons/interaction/config.cpp @@ -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; }; diff --git a/addons/interaction/functions/fnc_GetActions.sqf b/addons/interaction/functions/fnc_GetActions.sqf index 096050a6b3..30afaa095a 100644 --- a/addons/interaction/functions/fnc_GetActions.sqf +++ b/addons/interaction/functions/fnc_GetActions.sqf @@ -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(common,canInteractWith)} ), getArray (_action >> "exceptions")]; + _condition = _condition + format [QUOTE( && {%1 call EGVAR(core,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; diff --git a/addons/interaction/functions/fnc_getActions2.sqf b/addons/interaction/functions/fnc_getActions2.sqf index 01c86d6db0..2f7ad4b07e 100644 --- a/addons/interaction/functions/fnc_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(common,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; diff --git a/addons/interaction/functions/fnc_getCaptivityStatus.sqf b/addons/interaction/functions/fnc_getCaptivityStatus.sqf deleted file mode 100644 index e97b580ce5..0000000000 --- a/addons/interaction/functions/fnc_getCaptivityStatus.sqf +++ /dev/null @@ -1,4 +0,0 @@ -// by commy2 -#include "script_component.hpp" - -_this call EFUNC(common,getCaptivityStatus); diff --git a/addons/interaction/functions/fnc_setCaptivityStatus.sqf b/addons/interaction/functions/fnc_setCaptivityStatus.sqf deleted file mode 100644 index fc6c618590..0000000000 --- a/addons/interaction/functions/fnc_setCaptivityStatus.sqf +++ /dev/null @@ -1,4 +0,0 @@ -// by commy2 -#include "script_component.hpp" - -_this call EFUNC(common,setCaptivityStatus); diff --git a/addons/interaction/functions/fnc_tapShoulder.sqf b/addons/interaction/functions/fnc_tapShoulder.sqf index aedf6ce37f..9405be8ce8 100644 --- a/addons/interaction/functions/fnc_tapShoulder.sqf +++ b/addons/interaction/functions/fnc_tapShoulder.sqf @@ -9,7 +9,7 @@ _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(FUNC(tapShoulder)), _target] call EFUNC(common,execRemoteFnc); }; }; diff --git a/addons/switchunits/functions/fnc_switchUnit.sqf b/addons/switchunits/functions/fnc_switchUnit.sqf index 606fdccf22..7cbce96f90 100644 --- a/addons/switchunits/functions/fnc_switchUnit.sqf +++ b/addons/switchunits/functions/fnc_switchUnit.sqf @@ -48,7 +48,7 @@ _newUnit spawn { // 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(common,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}; From 039ae01594eea0d8ca9e63e43bc5799b3e92358f Mon Sep 17 00:00:00 2001 From: commy2 Date: Tue, 13 Jan 2015 17:08:49 +0100 Subject: [PATCH 27/50] fix some sqf errors --- addons/common/scripts/KeyInput/initKeys.sqf | 4 ++-- addons/interaction/config.cpp | 6 +++--- addons/interaction/functions/fnc_GetActions.sqf | 2 +- addons/interaction/functions/fnc_tapShoulder.sqf | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/addons/common/scripts/KeyInput/initKeys.sqf b/addons/common/scripts/KeyInput/initKeys.sqf index c4a88ede68..15d3960675 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" -_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/interaction/config.cpp b/addons/interaction/config.cpp index 62425636e7..ab3645eba3 100644 --- a/addons/interaction/config.cpp +++ b/addons/interaction/config.cpp @@ -16,7 +16,7 @@ class CfgPatches { #include "CfgEventHandlers.hpp" -class ACE_Core_Default_Keys { +class ACE_Default_Keys { class openInteractionMenuNew { displayName = "$STR_ACE_Interaction_InteractionMenu"; condition = "true"; @@ -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]) ); }; diff --git a/addons/interaction/functions/fnc_GetActions.sqf b/addons/interaction/functions/fnc_GetActions.sqf index 30afaa095a..ede8adf3a8 100644 --- a/addons/interaction/functions/fnc_GetActions.sqf +++ b/addons/interaction/functions/fnc_GetActions.sqf @@ -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)} && {[ARR_2(ACE_player, GVAR(Target))] call EFUNC(common,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; diff --git a/addons/interaction/functions/fnc_tapShoulder.sqf b/addons/interaction/functions/fnc_tapShoulder.sqf index 9405be8ce8..02eed88542 100644 --- a/addons/interaction/functions/fnc_tapShoulder.sqf +++ b/addons/interaction/functions/fnc_tapShoulder.sqf @@ -9,7 +9,7 @@ _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(common,execRemoteFnc); + [[_tapper, _target], QUOTE(DFUNC(tapShoulder)), _target] call EFUNC(common,execRemoteFnc); }; }; From 21acccc228a1ab61ca918134e7cbd06955de2690 Mon Sep 17 00:00:00 2001 From: Thomas Kooi Date: Tue, 13 Jan 2015 17:35:39 +0100 Subject: [PATCH 28/50] Removed to_merge nametags folder (now called sys_nametags) --- TO_MERGE/cse/nametags/CfgEventHandlers.hpp | 11 --- TO_MERGE/cse/nametags/CfgVehicles.hpp | 64 ---------------- TO_MERGE/cse/nametags/XEH_postInit.sqf | 66 ---------------- TO_MERGE/cse/nametags/XEH_preInit.sqf | 17 ----- TO_MERGE/cse/nametags/config.cpp | 24 ------ TO_MERGE/cse/nametags/data/empty.paa | Bin 12010 -> 0 bytes TO_MERGE/cse/nametags/data/module_icon.paa | Bin 5625 -> 0 bytes .../nametags/data/soundwaves/soundwave1.paa | Bin 26293 -> 0 bytes .../nametags/data/soundwaves/soundwave2.paa | Bin 26529 -> 0 bytes .../nametags/data/soundwaves/soundwave3.paa | Bin 26253 -> 0 bytes .../nametags/data/soundwaves/soundwave4.paa | Bin 26802 -> 0 bytes .../nametags/data/soundwaves/soundwave5.paa | Bin 26662 -> 0 bytes .../nametags/data/soundwaves/soundwave6.paa | Bin 26473 -> 0 bytes .../nametags/data/soundwaves/soundwave7.paa | Bin 26996 -> 0 bytes .../nametags/data/soundwaves/soundwave8.paa | Bin 27615 -> 0 bytes .../nametags/data/soundwaves/soundwave9.paa | Bin 27049 -> 0 bytes .../data/soundwaves/soundwave_silent.paa | Bin 25425 -> 0 bytes .../cse/nametags/functions/fnc_allowSide.sqf | 15 ---- .../nametags/functions/fnc_drawNameTags.sqf | 71 ------------------ .../functions/fnc_findNearbyUnits.sqf | 65 ---------------- .../nametags/functions/fnc_handleSpeaking.sqf | 40 ---------- .../functions/fnc_initalizeModule.sqf | 24 ------ TO_MERGE/cse/nametags/script_component.hpp | 12 --- TO_MERGE/cse/nametags/stringtable.xml | 43 ----------- 24 files changed, 452 deletions(-) delete mode 100644 TO_MERGE/cse/nametags/CfgEventHandlers.hpp delete mode 100644 TO_MERGE/cse/nametags/CfgVehicles.hpp delete mode 100644 TO_MERGE/cse/nametags/XEH_postInit.sqf delete mode 100644 TO_MERGE/cse/nametags/XEH_preInit.sqf delete mode 100644 TO_MERGE/cse/nametags/config.cpp delete mode 100644 TO_MERGE/cse/nametags/data/empty.paa delete mode 100644 TO_MERGE/cse/nametags/data/module_icon.paa delete mode 100644 TO_MERGE/cse/nametags/data/soundwaves/soundwave1.paa delete mode 100644 TO_MERGE/cse/nametags/data/soundwaves/soundwave2.paa delete mode 100644 TO_MERGE/cse/nametags/data/soundwaves/soundwave3.paa delete mode 100644 TO_MERGE/cse/nametags/data/soundwaves/soundwave4.paa delete mode 100644 TO_MERGE/cse/nametags/data/soundwaves/soundwave5.paa delete mode 100644 TO_MERGE/cse/nametags/data/soundwaves/soundwave6.paa delete mode 100644 TO_MERGE/cse/nametags/data/soundwaves/soundwave7.paa delete mode 100644 TO_MERGE/cse/nametags/data/soundwaves/soundwave8.paa delete mode 100644 TO_MERGE/cse/nametags/data/soundwaves/soundwave9.paa delete mode 100644 TO_MERGE/cse/nametags/data/soundwaves/soundwave_silent.paa delete mode 100644 TO_MERGE/cse/nametags/functions/fnc_allowSide.sqf delete mode 100644 TO_MERGE/cse/nametags/functions/fnc_drawNameTags.sqf delete mode 100644 TO_MERGE/cse/nametags/functions/fnc_findNearbyUnits.sqf delete mode 100644 TO_MERGE/cse/nametags/functions/fnc_handleSpeaking.sqf delete mode 100644 TO_MERGE/cse/nametags/functions/fnc_initalizeModule.sqf delete mode 100644 TO_MERGE/cse/nametags/script_component.hpp delete mode 100644 TO_MERGE/cse/nametags/stringtable.xml 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 a354c7eb3879581ef6c3de727b6566041a4825c6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12010 zcmeI&F$%&!5QX7qOkt^Zg2fhsjd+GELeeNAig+CLKpwy&*xOoqjX0Btg@xEj@LyQm zL4-Iv^SR)*%A$yyS+R|&>QTkJxbV2N;c*e?xyOl3kJov=%xt~4xoS&&dvh?7!bBQR zrIXF8%`e7L$t6)=QDvs^{J?$4(o;bm>VjxQ9&SVR>~RljovkApSkUzs*n3xpD(~L@ zzTlNSPzUq@4&VR|-~bNb01n^)4&VR|-~bNb01n^)4&VR|-~bNb01n^)4&VR|G}D1h znbh&!J$`l3T>p@OJi)y!K~qyrb*mjTpH2hyGTe* zRpHn!QLLy9N32%VA;?WCnpRa+leim2p|TSa#|}}5pdmJw8acRka0YyiiMb=Uo_=q3 z&py^|T}okef8V{C_c!mod9yMvEA#rkQ?}Wg!5E9j(*^h@w*xC)?CK++{)Om6vjTr``U)eRK~#JCJ)Y}TzYX1qcHF_uK+K?D#lG#=eot+ z@}yB8GHORie_dCks;E)F`zUQ6u*{e{_SAt;w;3W_t!dg^_Pb;59iGX6SYIm3GWe|@ zXqvS6X^aVZoo0_E&v(=P#aTt$ldnA{3Hge|s)qZ>STV?%u7mV*;!UDssFks9bD*u?k!nn+!yZT0xg(MR)xk>=J=XHb1FqxG5%t;e!Me z4IAr2Imv~D^c&y~@ULCj;GZJ?iY!Y*(FBRlrw@`}+{GtO?8_4RGF9^xvGTT}inb!6 z`gC2VIoC6aSjFBHKLz|sUQGn148KcAmt67LYqZT>9UbZK$ECi0i;U39lm|4@TJY0a0VZR5sYf43o9_yfk@ zx@*kH3I+f4k)Zqj|M|_?m-f!Dc=iXxpTQrMBYfOrD@?Y-o~+QJ#sN#d4;l2INA-nC zf221c_8Z$Rxe|P$qbVl*iIu8ze|JVt4i8nGe~b7_lGp2g9l`A08WHkzSzcjWeDv_; zo!u549G+s$^=1b&gnt3E!$!$KDt=Y`ag8IZ$fygscL;wgda3S8B#!YuOMkGEsxNey z1D>SNAK{?R#opaM734`vKRR?uyFAHI&>SRvRn#x%`rD`cI~ELWd!FcC)bqil;eVx} zR@hJeTl(|CbGzOzJVJCh=sq96|HY#6H<2IWAI3-7JmQ(cnNh^A?GN9zhc7Gd>J9J) z{}^$XP(R)6+|1_*4`G!A%`tjn@nc-1xTRlaC5&%v6#j+zKIihEBpT|@U<+tA#3?z4 zKiFUnj+xeKCh3>*;$#~QT5JD5ZSO4X@JDuI-s+3w)`RL3F1R_%3o0K_KzZkiH~jnL^n_5r{p{5JMr3fznom)u-$AN6pEmh^y-)qg08UNr(% ziJ5$05jiGx$I3|F|5Bf3$rJwgk=RefhhB4%e|EIR>W@%x=k6b(>B}eb>62t-wzjSarTQc=ED6cyza@-2Idj(f~ghpc!(dR%jSI^{cY;qgBBW4pCq z=ufLYB*{Ve-;%E!{ASWa0Q#v|TzUchN6u#gQ?}eyiTXZ+QBjPQ&-Vm?3ehCN>eKmO=$+dii0nUVIakS!19 z-gJ9!v_Ee){{mLP7(HRIMghKPKWs=ufjxhR&yCuD5Cv71H9zh4pIQBc-DYHDG(X+i zIMBKixyYEN<>rd{ohI&vG=C-wQ~aF#o%pu6QG3VcJ@?RhO7n+5F?m^smDWfsA8TH? zlGYGCgTkP>Fk7{8F2bH$n=a=8H^--7f8{1z` z^Y5Oscr5UebuAS@w%o3NMks~+Bmp7Y~;TA$wKrTpo=f*vzXpH+{;^ec5JE-)T9 z5wwk7!yg$6b`!>}gx$+qYCUd4NiRJXkWlItTvX;y@!W8 z&B3O>fr9u^8Ox(*7M-Ec)9~t0Ff&yq)wDAC@A&7^qd6#bXeoO1UxK8>W z>BZ9^>vn}*&>wsPx0$BQQ$$CgYs=%C&wqIFaE~=#RW~Km!UAqm;;$U2dcazboYcRV zFkV`7Zi^LWz?+gSSDhw{*dj`wcUk|ki;q+;CAKI&?CT%x&U$}U-WI}|n!&zya{j#K oU#YDVYUD~XdpY=Jz1VAKfvRPoqQajqxVE2oZOwD;^bKX~pNvj5Y5)KL 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 ce4f85eb6941214cc6a169b42fc9afa0f15b76ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26293 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 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 0bc59cde24940b831d94bd6d4f9fb9f0af3fea27..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26529 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 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 39f3e8e95bd9e86515becd853e69cfe57ee29b2f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26253 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 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 7ab8b6d9442a2456f681099149d59fd112790773..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26802 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 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 f3e98d47aae32588a8e588d0a3d9be43374f5318..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26662 zcmeHP4SW>knSW+>16fJ3O8^a$uuncTn`AdczyM}8JAgu>BB4sf6U<7uN`I0B^~6|r z*%9hl@2Uy3o}5Qaiqfig)dh49>n6Jb7Otm4ZI7b4V!hs z+@BfCHf6fp5Y>#|s$3ZJb6Dets9OOu9+&M6tX#1(r{1rD%~9;$q6pS+HY=R;7{>!% zAV7vFg_`?9o#uoO9hNWaWE_^&a-H!Tpb9~h?R*64JIr-}rD0-50v_pHQ|@7A?;Yes zLWM#`;u63+vVG+AA=zHo+bE%vu59z0;-!Lb`4kQ^fw_G5Xwt-PhXGGj59fFJn!?%U zNbIMr@=xP9UAFtjN%*F0UvDp(A^3qOp)y^yAc+nS936x*32>61PdNS(Wh#$T82IC6 z-03$noaWAtVYZOZG2m>g0p~JL@1PA|AvQMqbE>c+oI@N=4CG-ZFZ7m^Kma>@CHNmI z=RwxkJE$u433*aNj;ZQpn{ZM?)FwlU-S0p0BjpIT$##<@@^aMbh-{SVd8fe9ykJ7f zA|GU=rMtowJQz0NleN$pclxg2dIup(9p?())Lc>Ehq@@9*xaHpVef@?8%pqi;)$VO z_7LZm4&vMqHgRHLU@Q%Fx33IerJ;ybH(>6@8PzM}4q@72s6WZDpcV$~cz1aE?ZEew zolIS&^#cLS?3ozBO1A(FOk>`m+DknAWrKsF?>)EaEY&eM7+5I z@S;?=nU(w6aH{ZNhBp!{=-WYT+{WxNCe8yUp-ah$;9?;k;oz_xMM20$Z*6{zLuaq4 zqZ_Y}m}1llpi;IMEBnkC2=iL=M%jb#6WQL`T!nLFyKSsV?2OxR9`RTj&Zv~R6&#ie z`4gonSW%k~l52g2ROEC+CSKBG>Yk6 z9#oycrH%o&s_eq^!*(K7`twMl*6?w*nfQ%Is@|ni0P-5Snq}0qy~ym zOVx!ng`14T!A@16Hw5TZZ0HGdNY)djLgpE2FLB7GJD~&fYQY;RR6IKnR%z1jmIKsL z6kt4v{K`IxRu193Yx^iB;stK-X7AcuPJ3M|@vxY_VUc17+s{CBlS?!T`KCy0sGXgr zh}JB16i#;qvu&HA^J&1#C^$tt-H_>2JmyNbC}DTlWP{aQ_pi|9J3j-uxdzB+0KAPx zex7*Xh`dhR%CW2Y`ZBqyu=nn+lJYQMPA!PiO)S)`h67xzy2y{$+X3eYP#K}65S^yL z2J9BhJWB7k#IZd5cq8|&y&muJo!}s+AEwKEv2ve?)*cgPnfSp#y|<4d$8>~4G~g1! zl}DD_O$JX$wqFxWl z)!;6Q6!koAE$>+c6~g1>W6;AktAo-}4IfGOOt4fiqow6#3m zrP!s0w{S}MnMwgB&-JardxURkF^xLs*Fuby?Jl^;Et_mx#CNdU4e_GhjX8+dlNoY1 z?myiwtC55zJDJ$2=8-0!cSCIXTjhaE83~o|rp&0BBo}x-LL1%zRM~>lBmw8g%*r0o z?DPZJ%u**#sNIlB9z9nWn`i`DXfEm5p4bSe+gsF)zSQF#&3i^p?Nx3skJroga-m=? zIDJ2$`Cu!X)601yliy=J=}`;BPmx=*Qy%uck^K;!QU|;|{4#0-L5x&Y5Pg3H!51{U zP-QV#PgrzB53dNYE-kG-s)mxpaTF->0Ne}Qcg9d!{u1CKU=-Eq+M5FWEw^-lQ_p`T zfWtWwfzO?GU!@56FuW~u8CsTD&qFn(gxX&GlHVL#!AZoMGn~D?9{6(F#wr3@`V_Tb zJ+o>VKxvOvO%f|T5QRF9)j4EqMxHm+-0@mmF7TY2!(x~+p*GH_~UKv@OAe?_dcXe<179;b)741u!DDU>~w`ayEa1r$p%+Tx+? zBkjtO&I!?FcbTQ?mfzC8gyV;;M+euA!y9DliVMzjQ*+uu)aAV>JPog))Ib_ZM#suI zJjAU7PzMel={-}nSB9&p;cUN^(#j52J-i4+$}h*_GTCa52Ulo01c_&g)@@*?+toa# zo-g-<8gvKj>|MJWMwgH0`Y9+^hq)@5Gu`VyLa82ZsHo@ z`GR*fWxKzN%d^9_+wVHXX7!lBUtpWn%P|y&ZL>w|jeVg9OWnNa>X~SJ%+whz6DDDH zj~Sg|b8mKYG0ini=5RK}`JU;f8pSH%wpwdP^d?u`=5i$mEZ3bZbwgdiWRd?<;kwc4 zA1gWiW2;tJ<`)Y>(fXRq%u3-#GDV?sV|Il*Uvj(iyM@|uY)}xgGQdlDCw=giVJob5 zhfS1z=i!P=gIQN$>9936SokguWi`#}nb^>{J)rDYF9N0AJ!Y{oY{uPk!HP|IDa#2p zmpF&pc&LzbRv)W&XGJMP&O*Cv<)X){TgX>3g{w{8HI!)v@o_TxtW4SzEX*2XQOs4W z=t{Kq^q3k*ZfsPnPrBV%Rc^Z6L9XuhXL{Yfv3L#59>;9|*tM0u3-D3Jnu%Gm6(>>n zj;V~fi7$L4eBDj^)qQ9RO-~6Tok6E;ovCJ=(brlbbEbm{tgECnY%>F&=VkMA%Y9I) zKyQ(IYY-dcX=b*rsiJyiF=oosOlxkeTiiT zaks3W?rrMO(lh&p{^Xd%{lckpUH z@r3MI#!wt4SqgVv7i`8dd2!JX7Ywz}kry}4kH~uw=E;lEC3NlTk3Ll?e%2s!bfEL zwD1I+O3HaMTDP)XnH0UlMR}H^c9CTbDFW@x`ed}ahWw6kKu$(M@(oh*&%+Z6Unn-C zbr_^rVQ=w})!{x*sto6v82t>|8pYLez_ju;`f1lXn*|QBQl3oI z%qOgbj*@Bt!U2a+m{Au!+^QUIEh!6IowSBK;Jj{lQw=R}4>3(&>Txdj&;Ju(2`nXX zXx`V=M40~0BvDRGFmW)-q?RsyT8H#EA_IT5^r2cjbfd^F;t5g*eQgb^Q&_?YGnMtn5lqY)p|7K9NWjrf@64n}-5;-e8C z(-y?pijT{Jq2@Joqf#HgN(yyGJ<2b1Jf@1uMev_hsM#aGpRlAH(Xq~=fzNjQj;Z>W zQu;nR$n!c%l+~tC3R^|8*Meh7`-+2vLEg`pI-Ufj+EVej zpKch_N2lv^8u)D6|4)zKMr8q1(N(PL-=<-@drpUD8&RzYYERl91`{`>ll17BbZ;Bo zV`r*=B>I1p{nx7Tpl+MmT$^vbitqKmq2tm1u~y^n=9(nEpIT4>rjFNlP=Bgc)bZ&4 zpLe`Zl|Q7GbSCss-XFU8#?Yi?I%Zy~Frh=o{cz2;k}IDfd&N}!p>~HdO&?>tp_Qkq zJg4;b-a}OHtJYW1p^g*(pt>baWgj}mD)w$5jSipC{?K-&e^kvp-9?oc>hRipIsNTQ zUqsofVAHKh-Tn?=z)4|O`}qeD|BT~Osk za+VS*^i9&$i*)=kCViqt(*FBndSX1i#mA+Wc*(eF`j{6CxzrjQy+7+8rH_Wv+l%Ov zq>qv}IvBLP7&IlJCy4 zn>k7z+nN6HQT87#k3%Bk{~7yt#7P-{MjyB~nEkJ$5?x;CrV^!ee;+YulKvON#Is6|L!X5sUT1KPVl#?n~YB-EIJ-BchWv*50gKD<`LQy`ux~GWChv+bUdcvM>A%J zno{=dR+}e6ntIk2-7%qWM|QG(ze=QvA-%t&JJ|BuP)l-u-$2Db9=0o6r^i2_;2&x^ zu49V-ME|{A$DcL+kG4N=3&?vTN|N7?TL17a>tcOllJ>}w9=T)AeN8nwf1~}K;{QA} zFG#irFSVpCQ*WPz^c+JlrC(Kt>Y>vU=!=Lof5H#vpXf+TW`#QH%fE)$ZEP)&F+8R?(?rlxQ=A)cVWq zpm@09!|g-)X;V$;=A{1s(nx9c&F%QI+Bc!U54Z2xq34JTv?o4vd)12cz)70FK=91` z-}wEPu#m2=b8WA4J>Rk*)wHJhLzU#|jHY4e|HHE-#FVa&ef{kPN7Csd4D0lB&A%~U zLIZ~W&rbX_{LAn!RRhNQGS-(K3k-iS)`JlbjCf$ggOmo0^R9LCi-%(jiFr|d18se-r1Os~l>N23 zzh9-}DzCE1KD4P($6E&4zPq13I(}|I)5ifF3)*;_%{m^?FrO@|{H*#a4AOkntCD4Q zWpvNCm0t0s&*um(D3V`pOqP|*>j=6_jz@-ddj4;2vefpQYIO|Cfd{tIN5|+pz0pG- z9ShzeRermUGanu5Ovlj!XX?Z9eR%(t!27r8?dzy)x!7|uSte!MEh&3F?2t;HA#B@Z%Fuejz6#Smy$om zfC_*=hWx5NVtW74@=yDI;Jt+bv#8Ta{*xsCULD(Zdrr>xIFn`Aa}Tw<{+hS#*Y{uJ zO)opq;dSJ#1HgZrAxA?f=;a?#@atOE8P-dplEQMj3Sh=Syk$v-Wg1?wQyNYh5JuB3i^J$j}y_%NNh#oB1qtjul&7_W?5tk zvcuA+3$y-owz&KR4U-gsv5$u{>A4mWz*^vvuYi)h9f)8-0}Mb|-e_srn*Nb2Yjcim%(IF{bosT5jR2sksw0K3Uwj3_6dS|K7q48# zFo)j^U%hPEDiNJun*dCk0aoJo7ic?xZ=4PVK&HmN3%Qs3 z@d){_W{uYSX8|_x8hBU84%IJH{QLT{g!4hdW-xnvAgAQJEnI+_&=3OIr-D%v`JV86 z)Iw6($n_>~053T#n2d3dl!IN0!f_Ou`Kllgy8uSi%`vc#O-*c~&Y^KmM13jonc^+9 zN_A2<8|gTs;73+^!cT7NyruL~ zAp|^D6{b=wt0*L4&lQT!ht3!u`6`sarFqn$SbnlHMmpq2yc^o0SrX4 zD6djH3&8wNM{m*{yqp^v2P>O@d1zjI6-@L|QW1Js3Uf_6%E>|1pCBQ{kD{_f@aV3X zffK`Hd8rj}jwco`d-+*@wAv5NA5z9K6Op2ABh6!BVh$C?NsUi{7K+QSRh;FagWaT1 zc&Rq{Qkii-fotMrL*pX$y?|7BeMKU%br#0y)qnZ+>*d6yIF0gvZDe2Z2sws?4Zj+_ zu_4;pKwNQyjJ&Z0Eo7bQ43zq-qW6_ohnt#tl$a01M>sq;Y>O`qB@M*w=MvP6TfpU$ zPMRbhUy)2cQ2nnGlr<%Gwg?Job+DO@fw}S41QnUu!Tq==5eJG#_TmAyPdXDEaSs_H z{p7m1AweY^;f>9?0X1EU@!jhq$TVMD+^1d%d&b@&6*2Bjj*vT0w6H>P_O^M+BE{** zGl;!O2U(&z#fq4zM&Z_R1a)MVG?!F27J=mHG)bjyADGD{gNFVEY&QH_^^2u+OZ~=U zq@we|0Nr3I=sC=IE1~+#iu;0vJcwfcJ17y?;4C0Ep$L`WWEWLXkgh>Pf?O#C$tSAQ zi)1~Ci;+%YEjtalUEL5b8S}b@-#hB0mr9hK4KYLCZ|XN)N-BbdeZRLT!vt;#K1)1! zv^dFE^2s6OVS;IGf~-QW0lApk0+fZW zvl4fB34q_aYyDdjcDKI>BIRtUA=+Jz$~KKOtInYdx!En~-PSPso6F51c)+Ka8NMMv zuZpzv3wi9!``D(~3Ix=eD^w>qUN(r()GY+R%T&u0PfT=C6bEq$f+4ckHZovyL}bRL z1_4Uq{(dmKRll*uCnEb`#-ua;N8$;dZ-RcV1xzhKzK0xyc94*&m3(uwtt#|SeMr_$ zVrv9ZT2G^GIPYonU*lwv05x%RKys}LI|y_udAtPqqcC6CU8de661%#aSPk5GxH&*9 z!N(nN9gLC$vSqd4=_w|K!R{IXV#T-~yy#z_poDA@c*i>UpF+3+z&IRjog2MzF0$2R zl<5g4J?<-3rE%g34NJb@a3Sjj*ac$Yt|d<%9T#GoNtXa~ zxk(3kfjVnDcyfp8l+eY8`y~KUB)}X_+VU+WMA*Fh8X-X|pDn(~rx+X$iSLp=A0$hM zcIFdu9WuLM=kUocg*gk{=fiX;TB3x>GZ>xLzE$O4MA?!)085*JSOuPsW8^uQS{Y8_ z(YX*Y*9?kAcL=~?lzPd`#vNwV%Ef8n;sH_~wtR38PyQ3fyW>kG%FJ?k%2@;aR)8K# zDq{!Go#SZMN`!eNb%D`FfI^#W(ctThS(n9rH-+B{mf)$E%O7j~U*Bv1^rNRmp5jBl z0JrBP!AF^ENVlVC;&^ozaK+OwiGCi)6+qE3<8yx!;3jU(7{{*vD1gg7p13zyp0y%t1uE(hf|3T>hSU)Z}PI(Ucd1~MG!VSFyPlWLO|YN!YIj3eZFrF zhqQDAc`lHONDB9nv0eaP2FxYWDT7&cIjTcWp3EQQgtg<`Tny=zgYzPhTmKII{Ptwj zcBD%^(mPYWK5Ufg+uz4vKxRzZkB)Df4gugemN{0$0TajS7;ls@nPUlBUC4BvFN6Wq zm&%&1h}DwIeIVtJM2xs?o|4Z)(mn=F;0ij(Jj@ze!c~gBMg`gQCd))HWn*!7dDDMagh0e}F^^oY*p117b*WUqrPvK}(++g$7+htyO3>eZv)8HiqzChj zz|EMAevnia#vI%3I6)T-8X#2cSTMv9Pa1pT$8i^-nBqw9mb@vl*Cq(4V zC)>(h%0hSO{3bk&agk8W+nQJIFR$-B-z#1HoL~KqNv@@z*nBI+;B#fdN|!Q^TUy_` zfaFbrcZ;=x8+isb=TXJJZh;y7w1wIeR3-(gop=-naVmEIprOT$d*Yco5*yakZ#qWu zhQ3ck_u$MYd_Jq!Cs;|uhc7uo=72AhC*xMueqs;hp(a?9h>ALDFj09}wVR1mv6I>8 zfcuc(1hIw8V$Gm2;TtrHxWtJn5)<^UzG3)dKG&es;(#>+6v}67ySSG3sN3RDZQKHObyok>a+dvEc-k~n4-iAlSds28j;&gh`c!8PXBr7p|pMgI3A< zDkfCicImFRYM(7Yz?{k{e~qX1O7&Y$)Nd^#d5uCqE>W-C>!MDtw5(e3)eOxDpq;>X zl}yY&yDk=3`@dW80<4BLND%hEF0dFO;TMPq(~VNVi1JGf;-6V`{LSJAlX$k_ANq8h zWe3`W&W{{+=={+2LH7?i2BG^0-9P52gYF-7|ET-N9D~sPqwXJb)Is-;x_{LDV~#=S z{!#ajIqIPMN8LZ_{xQcO&X#|?TgE$%(YA7J{iYP|l{Ks#LC5FXKPQ+yNLhIt9p`xs zr7KgjD2weP%6HkH6-|EPIATzSDP`+PFd*YC(LW?J{n~v?ZG0iSBi-~EgDHFL7)888 zJ)&W4PaU5d{n*ar6KyNg_>VWK5%(H33?eJY>B`D?Jbhm}(=VUeAJ~rf%qi24G(FVI zZl^o4@pu&P^W#J7Pw7LBesnVZxGVIA*01YFnggHD4`z?4`;(~&+W5i%mV@B!RSgFY zr%N(4ocy%DJ&8pe8YW(PJd7n98vbkL58F@G4{zPcK8iJ~+Isn;UFt|&J)mJKou(g= zQ}u&j#R*KLrlTJ51{bxX&a#w>(w!!J~4{IpXh4S_V>!WZo7Wh?2LY-$xV~Q&K8vSIzQce zBhH`Vl!O;(5*jWNQTQEM`~GbCV;wfYd1p@k>GPZe`5PK?I zi&Mk@U;lr){CP)MIS^Mf{Qf-qhvT%5j!etQ!zw*+>!N#FpVQ7qWyZd&J#2~K`vI_u zTkB6T7k~WiRGHdm=6^%-sr`ZN zSncM|#&_=}>GFDQ{n2;2utF`A@n=Lre+OCnD~O;!+>t%cXVXK|u5fCAw!S_-&4Dw; zk9=|2Mtpsc(T_$E->Z>>@0LGEPJXa8=kou7;Y8T*@32p#M3VoDWKzjS@j^+DH%EC+OZ(Cs0s4SM|4?LoH(-5#9Ne5Gni9MqO_}n)S zf79K7PQPXg?6)2kb$$3M^r0Yt_oSo$mMvSI+VtzMfA}eXNQ;>Iywn0oqleI_?W(39 zZql$fpx*DCxPOC&w~a+@um2#HDZ_nwjPd8bgId2Ple2|O25>+8I4EuXO18iEh788C zJAi8nRINXS|9=0ZhTGqpcFcG5ZJ&lgJ$P>qJ~T{%CwKbsp8m(wI(dk5LSn zm%x;MGcaMbwMM3asYYqto(vE0nXew7Yc=?C`xg_8(fBE;U)GGJsedb=%@)q$l z@MVV)*FW~2hF^wzRr?E~Rl~1%{`B)lFMQ%I4KE(Wcjvt3Sf}A)Hvg{B8V&z*YQG(s z>et=S9KnBUkipB}GvAV%wlu%l-(H4GX!ET@D-YCtr`4e0%U-$Z+JCrdS-yswM_-#g zV`p}JY2ej6bJMT~@q^5B_nT5b-3`(^4`>|lQi z#MHK}PE&&wk2AdMVh!6LkJ?5a?fHd<%XYK=;^#G7zH-?qYFEBz#m3egwX1%j`NI7< z_~M>9rxbN-1W>y6*r{y%V%UuDYZ39yE#G6uvUw;CB^ev$Kg4h^9y5(C+YV3FmWPtq jO@9V~e@Sa|8XM80B0qijuPdH+_MlM>jpH&?W&i&R-wcz} 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 e705c70b422e2d41e0475a62810c5c2281c1cc92..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 26996 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 LFm-eGg|7bxu#VuD 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 27f34b38abc77d69ae2b9f0ed0793e00ec7f78fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25425 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 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 From 2336b51e5b21cabae03ca4952285854d4014b1a9 Mon Sep 17 00:00:00 2001 From: commy2 Date: Tue, 13 Jan 2015 17:42:56 +0100 Subject: [PATCH 29/50] fix key input not working --- addons/common/config.cpp | 4 ++-- addons/common/functions/fnc_setKeyDefault.sqf | 4 ++-- addons/common/scripts/KeyInput/initKeys.sqf | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/addons/common/config.cpp b/addons/common/config.cpp index 771511ac04..31ab380344 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; diff --git a/addons/common/functions/fnc_setKeyDefault.sqf b/addons/common/functions/fnc_setKeyDefault.sqf index 210e18e1c7..ffb3edc709 100644 --- a/addons/common/functions/fnc_setKeyDefault.sqf +++ b/addons/common/functions/fnc_setKeyDefault.sqf @@ -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/scripts/KeyInput/initKeys.sqf b/addons/common/scripts/KeyInput/initKeys.sqf index 15d3960675..7d4283d802 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" -_config = configFile >> ACE_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))]; From 270ff5535ab9af1456ecbcaa30b5369f72a1bf58 Mon Sep 17 00:00:00 2001 From: commy2 Date: Tue, 13 Jan 2015 19:14:34 +0100 Subject: [PATCH 30/50] fix interaction menu --- addons/attach/config.cpp | 4 +- addons/interaction/config.cpp | 158 +++++++++--------- .../interaction/functions/fnc_GetActions.sqf | 4 +- .../interaction/functions/fnc_getActions2.sqf | 4 +- .../functions/fnc_initialiseInteraction.sqf | 6 +- addons/interaction/functions/fnc_onClick.sqf | 2 +- addons/main/script_macros.hpp | 2 + 7 files changed, 91 insertions(+), 89 deletions(-) diff --git a/addons/attach/config.cpp b/addons/attach/config.cpp index c7948fc323..5449155017 100644 --- a/addons/attach/config.cpp +++ b/addons/attach/config.cpp @@ -39,8 +39,8 @@ class CfgFunctions { class CfgVehicles { class Man; class CAManBase: Man { - class AGM_SelfActions { - class AGM_Equipment { + class ACE_SelfActions { + class ACE_Equipment { class GVAR(Attach) { displayName = "$STR_AGM_Attach_AttachDetach"; condition = QUOTE( [_player, ''] call FUNC(canAttach) ); diff --git a/addons/interaction/config.cpp b/addons/interaction/config.cpp index ab3645eba3..860acf3997 100644 --- a/addons/interaction/config.cpp +++ b/addons/interaction/config.cpp @@ -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([ARR2(_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; }; }; @@ -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/fnc_GetActions.sqf b/addons/interaction/functions/fnc_GetActions.sqf index ede8adf3a8..67386331c1 100644 --- a/addons/interaction/functions/fnc_GetActions.sqf +++ b/addons/interaction/functions/fnc_GetActions.sqf @@ -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/fnc_getActions2.sqf b/addons/interaction/functions/fnc_getActions2.sqf index 2f7ad4b07e..ab64d8d390 100644 --- a/addons/interaction/functions/fnc_getActions2.sqf +++ b/addons/interaction/functions/fnc_getActions2.sqf @@ -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/fnc_initialiseInteraction.sqf b/addons/interaction/functions/fnc_initialiseInteraction.sqf index 180a7024bb..43e45edaa4 100644 --- a/addons/interaction/functions/fnc_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]; @@ -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/fnc_onClick.sqf b/addons/interaction/functions/fnc_onClick.sqf index 68047a5fba..39581db3a3 100644 --- a/addons/interaction/functions/fnc_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/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 From b7050a4a92b25aa49829c80d11d7d6c112b903ad Mon Sep 17 00:00:00 2001 From: commy2 Date: Tue, 13 Jan 2015 19:31:26 +0100 Subject: [PATCH 31/50] fixing macros --- addons/common/CfgVehicles.hpp | 2 +- addons/common/XEH_preInit.sqf | 2 +- addons/common/config.cpp | 2 +- ...oadEventhandler.sqf => fnc_addCuratorUnloadEventhandler.sqf} | 0 4 files changed, 3 insertions(+), 3 deletions(-) rename addons/common/functions/{fnc_addUnloadEventhandler.sqf => fnc_addCuratorUnloadEventhandler.sqf} (100%) diff --git a/addons/common/CfgVehicles.hpp b/addons/common/CfgVehicles.hpp index 8ed770d786..94bc6f057f 100644 --- a/addons/common/CfgVehicles.hpp +++ b/addons/common/CfgVehicles.hpp @@ -30,7 +30,7 @@ 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 = QUOTE(PATHTOF(UI\IconCheckPBO_ca.paa)); 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 31ab380344..db8b8f532b 100644 --- a/addons/common/config.cpp +++ b/addons/common/config.cpp @@ -72,7 +72,7 @@ class ACE_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 = "[_this,""RscAttributeInventory"",'CuratorCommon'] call (uinamespace getvariable ""BIS_fnc_initCuratorAttribute""); _this select 0 call ACE_Common_fnc_addCuratorUnloadEventhandler;"; }; */ diff --git a/addons/common/functions/fnc_addUnloadEventhandler.sqf b/addons/common/functions/fnc_addCuratorUnloadEventhandler.sqf similarity index 100% rename from addons/common/functions/fnc_addUnloadEventhandler.sqf rename to addons/common/functions/fnc_addCuratorUnloadEventhandler.sqf From 7271e25c5663b02fb3b4e969cd51caa2964258fd Mon Sep 17 00:00:00 2001 From: bux578 Date: Tue, 13 Jan 2015 20:12:41 +0100 Subject: [PATCH 32/50] probably fixing config --- addons/nametags/CfgVehicles.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/nametags/CfgVehicles.hpp b/addons/nametags/CfgVehicles.hpp index 5fdd441933..444622f0ed 100644 --- a/addons/nametags/CfgVehicles.hpp +++ b/addons/nametags/CfgVehicles.hpp @@ -4,7 +4,7 @@ class CfgVehicles { author = "$STR_ACE_Common_ACETeam"; category = "ACE"; displayName = "Name Tags"; - function = FUNC(moduleNameTags); + function = QFUNC(moduleNameTags); scope = 2; isGlobal = 1; icon = QUOTE(PATHTOF(UI\IconNameTags_ca.paa)); From e071b2f68487f94bd6942515bf996abe29a50eb4 Mon Sep 17 00:00:00 2001 From: commy2 Date: Tue, 13 Jan 2015 20:56:02 +0100 Subject: [PATCH 33/50] fix macros in common' config --- addons/common/MainMenu.hpp | 2 +- addons/common/MenuConfig.hpp | 360 +++++++++--------- addons/common/XEH_postInit.sqf | 2 +- .../functions/fnc_addActionEventHandler.sqf | 2 +- .../fnc_addActionMenuEventHandler.sqf | 2 +- .../functions/fnc_addCameraEventHandler.sqf | 2 +- .../fnc_addCuratorUnloadEventhandler.sqf | 2 +- .../functions/fnc_addCustomEventHandler.sqf | 2 +- .../fnc_addInfoDisplayEventHandler.sqf | 2 +- ..._addInventoryDisplayLoadedEventHandler.sqf | 2 +- .../fnc_addMapMarkerCreatedEventHandler.sqf | 2 +- .../fnc_addScrollWheelEventHandler.sqf | 2 +- addons/common/functions/fnc_adminKick.sqf | 2 +- .../functions/fnc_ambientBrightness.sqf | 2 +- .../functions/fnc_applyForceWalkStatus.sqf | 2 +- .../common/functions/fnc_binarizeNumber.sqf | 2 +- .../functions/fnc_callCustomEventHandlers.sqf | 2 +- .../fnc_callCustomEventHandlersGlobal.sqf | 2 +- .../common/functions/fnc_canGetInPosition.sqf | 2 +- .../common/functions/fnc_canInteractWith.sqf | 2 +- addons/common/functions/fnc_canUseWeapon.sqf | 2 +- .../fnc_changeProjectileDirection.sqf | 2 +- addons/common/functions/fnc_checkPBOs.sqf | 2 +- addons/common/functions/fnc_claim.sqf | 2 +- .../fnc_closeDialogIfTargetMoves.sqf | 2 +- addons/common/functions/fnc_codeToLetter.sqf | 2 +- addons/common/functions/fnc_codeToString.sqf | 2 +- .../common/functions/fnc_convertKeyCode.sqf | 2 +- .../common/functions/fnc_currentChannel.sqf | 2 +- .../common/functions/fnc_disableUserInput.sqf | 2 +- addons/common/functions/fnc_displayText.sqf | 2 +- .../functions/fnc_displayTextPicture.sqf | 2 +- .../functions/fnc_displayTextStructured.sqf | 2 +- addons/common/functions/fnc_doAnimation.sqf | 2 +- .../functions/fnc_endRadioTransmission.sqf | 2 +- .../functions/fnc_execPersistentFnc.sqf | 2 +- addons/common/functions/fnc_execRemoteFnc.sqf | 2 +- .../functions/fnc_executePersistent.sqf | 2 +- addons/common/functions/fnc_exportConfig.sqf | 2 +- addons/common/functions/fnc_filter.sqf | 2 +- .../common/functions/fnc_fixCrateContent.sqf | 2 +- .../fnc_fixLoweredRifleAnimation.sqf | 2 +- .../functions/fnc_getCaptivityStatus.sqf | 2 +- addons/common/functions/fnc_getChildren.sqf | 2 +- .../functions/fnc_getConfigCommander.sqf | 2 +- .../common/functions/fnc_getConfigGunner.sqf | 2 +- .../common/functions/fnc_getDefaultAnim.sqf | 2 +- .../functions/fnc_getDisplayConfigName.sqf | 2 +- .../common/functions/fnc_getDoorTurrets.sqf | 2 +- .../functions/fnc_getForceWalkStatus.sqf | 2 +- addons/common/functions/fnc_getHitPoints.sqf | 2 +- .../fnc_getHitPointsWithSelections.sqf | 2 +- addons/common/functions/fnc_getInPosition.sqf | 2 +- addons/common/functions/fnc_getMarkerType.sqf | 2 +- addons/common/functions/fnc_getName.sqf | 2 +- .../functions/fnc_getNumberFromMissionSQM.sqf | 2 +- .../common/functions/fnc_getPitchBankYaw.sqf | 2 +- .../functions/fnc_getStringFromMissionSQM.sqf | 2 +- .../fnc_getTargetAzimuthAndInclination.sqf | 2 +- .../functions/fnc_getTargetDistance.sqf | 2 +- .../common/functions/fnc_getTargetObject.sqf | 2 +- .../functions/fnc_getTurretCommander.sqf | 2 +- .../functions/fnc_getTurretConfigPath.sqf | 2 +- .../common/functions/fnc_getTurretCopilot.sqf | 2 +- .../common/functions/fnc_getTurretGunner.sqf | 2 +- .../common/functions/fnc_getTurretIndex.sqf | 2 +- addons/common/functions/fnc_getTurrets.sqf | 2 +- addons/common/functions/fnc_getTurretsFFV.sqf | 2 +- .../common/functions/fnc_getTurretsOther.sqf | 2 +- .../functions/fnc_getUavControlPosition.sqf | 2 +- .../common/functions/fnc_getVehicleCargo.sqf | 2 +- .../functions/fnc_getVehicleCodriver.sqf | 2 +- .../common/functions/fnc_getVehicleCrew.sqf | 2 +- .../fnc_getWeaponAzimuthAndInclination.sqf | 2 +- addons/common/functions/fnc_getWeaponType.sqf | 2 +- .../common/functions/fnc_getWindDirection.sqf | 2 +- addons/common/functions/fnc_goKneeling.sqf | 2 +- .../common/functions/fnc_hadamardProduct.sqf | 2 +- .../common/functions/fnc_inTransitionAnim.sqf | 2 +- .../functions/fnc_interpolateFromArray.sqf | 2 +- addons/common/functions/fnc_isAutoWind.sqf | 2 +- addons/common/functions/fnc_isEOD.sqf | 2 +- addons/common/functions/fnc_isEngineer.sqf | 2 +- addons/common/functions/fnc_isInBuilding.sqf | 2 +- addons/common/functions/fnc_isMedic.sqf | 2 +- addons/common/functions/fnc_isPlayer.sqf | 2 +- addons/common/functions/fnc_isTurnedOut.sqf | 2 +- addons/common/functions/fnc_letterToCode.sqf | 2 +- addons/common/functions/fnc_log.sqf | 2 +- addons/common/functions/fnc_logControls.sqf | 2 +- addons/common/functions/fnc_logDisplays.sqf | 2 +- addons/common/functions/fnc_map.sqf | 2 +- .../common/functions/fnc_moduleCheckPBOs.sqf | 2 +- .../functions/fnc_moduleLSDVehicles.sqf | 2 +- addons/common/functions/fnc_monitor.sqf | 2 +- addons/common/functions/fnc_muteUnit.sqf | 2 +- .../common/functions/fnc_numberToDigits.sqf | 2 +- .../functions/fnc_numberToDigitsString.sqf | 2 +- .../functions/fnc_onLoadRscDisplayChannel.sqf | 2 +- addons/common/functions/fnc_owned.sqf | 2 +- addons/common/functions/fnc_player.sqf | 2 +- addons/common/functions/fnc_playerSide.sqf | 2 +- addons/common/functions/fnc_progressBar.sqf | 2 +- .../common/functions/fnc_queueAnimation.sqf | 2 +- .../fnc_readBooleanParameterFromModule.sqf | 2 +- .../fnc_readNumericParameterFromModule.sqf | 2 +- .../fnc_removeActionEventHandler.sqf | 2 +- .../fnc_removeActionMenuEventHandler.sqf | 2 +- .../fnc_removeCameraEventHandler.sqf | 2 +- .../fnc_removeCustomEventHandler.sqf | 2 +- .../fnc_removeInfoDisplayEventHandler.sqf | 2 +- ...moveInventoryDisplayLoadedEventHandler.sqf | 2 +- ...fnc_removeMapMarkerCreatedEventHandler.sqf | 2 +- .../fnc_removeScrollWheelEventHandler.sqf | 2 +- .../functions/fnc_restoreVariablesJIP.sqf | 2 +- .../functions/fnc_revertKeyCodeLocalized.sqf | 2 +- .../common/functions/fnc_sanitizeString.sqf | 2 +- addons/common/functions/fnc_serverLog.sqf | 2 +- .../functions/fnc_setCaptivityStatus.sqf | 2 +- .../functions/fnc_setForceWalkStatus.sqf | 2 +- addons/common/functions/fnc_setKeyDefault.sqf | 2 +- addons/common/functions/fnc_setName.sqf | 2 +- addons/common/functions/fnc_setParameter.sqf | 2 +- .../common/functions/fnc_setPitchBankYaw.sqf | 2 +- .../common/functions/fnc_setVariableJIP.sqf | 2 +- addons/common/functions/fnc_showUser.sqf | 2 +- .../functions/fnc_stringToColoredText.sqf | 2 +- addons/common/functions/fnc_subString.sqf | 2 +- addons/common/functions/fnc_toBin.sqf | 2 +- addons/common/functions/fnc_toBitmask.sqf | 2 +- addons/common/functions/fnc_toHex.sqf | 2 +- addons/common/functions/fnc_toNumber.sqf | 2 +- addons/common/functions/fnc_unmuteUnit.sqf | 2 +- addons/interaction/config.cpp | 2 +- 134 files changed, 313 insertions(+), 313 deletions(-) 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 4d84bfb78b..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,123 +245,123 @@ 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; @@ -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/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/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_addCuratorUnloadEventhandler.sqf b/addons/common/functions/fnc_addCuratorUnloadEventhandler.sqf index 4d279c0f7a..0d1606aaf6 100644 --- a/addons/common/functions/fnc_addCuratorUnloadEventhandler.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 ffb3edc709..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"]; 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/interaction/config.cpp b/addons/interaction/config.cpp index 860acf3997..e597349599 100644 --- a/addons/interaction/config.cpp +++ b/addons/interaction/config.cpp @@ -160,7 +160,7 @@ class CfgVehicles { displayName = "$STR_ACE_Interaction_JoinTeamRed"; distance = 4; condition = QUOTE(alive _target && {!isPlayer _target} && {_target in units group _player}); - statement = QUOTE([ARR2(_target,'RED')] call DFUNC(joinTeam)); + statement = QUOTE([ARR_2(_target,'RED')] call DFUNC(joinTeam)); showDisabled = 1; icon = PATHTOF(UI\team\team_red_ca.paa); priority = 2.4; From 46a0fc56316ec1b513863474d8221157b3ac647d Mon Sep 17 00:00:00 2001 From: commy2 Date: Tue, 13 Jan 2015 22:32:56 +0100 Subject: [PATCH 34/50] more macros for common --- addons/common/CfgVehicles.hpp | 4 ++-- addons/common/ProgressScreen.hpp | 8 ++++---- addons/common/config.cpp | 2 +- .../common/scripts/KeyInput/initCanInteractFunction.sqf | 2 +- addons/common/scripts/KeyInput/initKeys.sqf | 2 +- addons/common/scripts/KeyInput/initScrollWheel.sqf | 2 +- addons/common/scripts/KeyInput/script_component.hpp | 1 + addons/common/scripts/Version/checkVersionNumber.sqf | 4 ++-- addons/common/scripts/Version/script_component.hpp | 1 + addons/common/scripts/assignedItemFix.sqf | 2 +- addons/common/scripts/closeMenu.sqf | 2 +- addons/common/scripts/editKey.sqf | 2 +- addons/common/scripts/keyInput.sqf | 2 +- addons/common/scripts/keyRelease.sqf | 2 +- addons/common/scripts/nextKeys.sqf | 2 +- addons/common/scripts/openMenu.sqf | 2 +- addons/common/scripts/readParameters.sqf | 2 +- addons/common/scripts/script_component.hpp | 1 + addons/common/scripts/toggleState.sqf | 2 +- 19 files changed, 24 insertions(+), 21 deletions(-) create mode 100644 addons/common/scripts/KeyInput/script_component.hpp create mode 100644 addons/common/scripts/Version/script_component.hpp create mode 100644 addons/common/scripts/script_component.hpp diff --git a/addons/common/CfgVehicles.hpp b/addons/common/CfgVehicles.hpp index 94bc6f057f..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; }; }; 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/config.cpp b/addons/common/config.cpp index db8b8f532b..a11bbc80b7 100644 --- a/addons/common/config.cpp +++ b/addons/common/config.cpp @@ -72,7 +72,7 @@ class ACE_Options { /* class RscControlsGroupNoScrollbars; class RscAttributeInventory: RscControlsGroupNoScrollbars { - onSetFocus = "[_this,""RscAttributeInventory"",'CuratorCommon'] call (uinamespace getvariable ""BIS_fnc_initCuratorAttribute""); _this select 0 call ACE_Common_fnc_addCuratorUnloadEventhandler;"; + onSetFocus = QUOTE([ARR_3(_this,""RscAttributeInventory"",'CuratorCommon')] call (uinamespace getvariable ""BIS_fnc_initCuratorAttribute""); _this select 0 call DFUNC(addCuratorUnloadEventhandler);); }; */ 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 7d4283d802..5097cfd89e 100644 --- a/addons/common/scripts/KeyInput/initKeys.sqf +++ b/addons/common/scripts/KeyInput/initKeys.sqf @@ -1,5 +1,5 @@ // by commy2 -#include "\z\ace\addons\common\script_component.hpp" +#include "script_component.hpp" _config = configFile >> "ACE_Default_Keys"; _count = count _config; 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; From 2b348a94def0a8b4b9f58654feda7b15ae76a0ad Mon Sep 17 00:00:00 2001 From: commy2 Date: Tue, 13 Jan 2015 22:47:46 +0100 Subject: [PATCH 35/50] fix that blank module --- extras/blank/CfgEventHandlers.hpp | 6 ++++++ extras/{blank_module => blank}/XEH_preInit.sqf | 2 +- extras/blank/config.cpp | 15 +++++++++++++++ extras/blank/functions/fnc_empty.sqf | 3 +++ extras/blank/functions/script_component.hpp | 1 + .../script_component.hpp | 0 extras/blank_module/CfgEventHandlers.hpp | 5 ----- extras/blank_module/config.cpp | 17 ----------------- extras/blank_module/functions/fnc_empty.sqf | 3 --- 9 files changed, 26 insertions(+), 26 deletions(-) create mode 100644 extras/blank/CfgEventHandlers.hpp rename extras/{blank_module => blank}/XEH_preInit.sqf (71%) create mode 100644 extras/blank/config.cpp create mode 100644 extras/blank/functions/fnc_empty.sqf create mode 100644 extras/blank/functions/script_component.hpp rename extras/{blank_module => blank}/script_component.hpp (100%) delete mode 100644 extras/blank_module/CfgEventHandlers.hpp delete mode 100644 extras/blank_module/config.cpp delete mode 100644 extras/blank_module/functions/fnc_empty.sqf 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 From c8fd07a5abac38d3596215e453a1469d11c085cc Mon Sep 17 00:00:00 2001 From: KoffeinFlummi Date: Tue, 13 Jan 2015 22:51:02 +0100 Subject: [PATCH 36/50] Finalize FCS port --- addons/fcs/CfgEventHandlers.hpp | 4 +-- addons/fcs/XEH_preInit.sqf | 21 ++++++++-------- addons/fcs/config.cpp | 30 +++++++++++------------ addons/fcs/functions/fnc_canResetFCS.sqf | 16 ++++++++++++ addons/fcs/functions/fnc_firedEH.sqf | 2 +- addons/fcs/functions/fnc_keyDown.sqf | 8 +++--- addons/fcs/functions/fnc_keyUp.sqf | 9 ++++--- addons/fcs/functions/fnc_reset.sqf | 2 +- addons/fcs/functions/fnc_vehicleInit.sqf | 2 ++ addons/fcs/functions/script_component.hpp | 12 +++++++++ 10 files changed, 70 insertions(+), 36 deletions(-) create mode 100644 addons/fcs/functions/fnc_canResetFCS.sqf create mode 100644 addons/fcs/functions/script_component.hpp diff --git a/addons/fcs/CfgEventHandlers.hpp b/addons/fcs/CfgEventHandlers.hpp index c1e0bb73f1..69ef4a3057 100644 --- a/addons/fcs/CfgEventHandlers.hpp +++ b/addons/fcs/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/fcs/XEH_preInit.sqf b/addons/fcs/XEH_preInit.sqf index c9726ac36b..ce6f5c99dd 100644 --- a/addons/fcs/XEH_preInit.sqf +++ b/addons/fcs/XEH_preInit.sqf @@ -1,12 +1,13 @@ #include "script_component.hpp" -PREPF(adjustRange) -PREPF(canUseFCS) -PREPF(canUseRangefinder) -PREPF(firedEH) -PREPF(getAngle) -PREPF(getRange) -PREPF(keyDown) -PREPF(keyUp) -PREPF(reset) -PREPF(vehicleInit) +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 index 737f1d06e9..ddd490e674 100644 --- a/addons/fcs/config.cpp +++ b/addons/fcs/config.cpp @@ -5,7 +5,7 @@ class CfgPatches { units[] = {}; weapons[] = {}; requiredVersion = 0.60; - requiredAddons[] = {ace_core, ace_interaction}; + requiredAddons[] = {ace_common, ace_interaction}; version = QUOTE(VERSION); versionStr = QUOTE(VERSION); versionAr[] = {VERSION_AR}; @@ -16,22 +16,22 @@ class CfgPatches { #include "CfgEventHandlers.hpp" -class EGVAR(Core, Default_Keys) { +class ACE_Default_Keys { class laseTarget { - displayName = $STR_ACE_FireControlSystem_LaseTarget; + displayName = $STR_ACE_FCS_LaseTarget; condition = QUOTE(call FUNC(canUseRangefinder) || FUNC(canUseFCS)); - statement = QUOTE(_range = call FUNC(getRange); if (call FUNC(canUseFCS)) then {[_vehicle, _range] call FUNC(keyDown)};); + statement = QUOTE([_vehicle] call FUNC(keyDown)); conditionUp = QUOTE(GVAR(enabled) && FUNC(canUseFCS)); - statementUp = QUOTE(_range = call FUNC(getRange); if (GVAR(enabled) && FUNC(canUseFCS)) then {[_vehicle, _range] call FUNC(keyUp)};); + statementUp = QUOTE([_vehicle] call FUNC(keyUp)); key = 15; shift = 0; control = 0; alt = 0; }; class adjustRangeUp { - displayName = $STR_ACE_FireControlSystem_AdjustRangeUp; - condition = QUOTE(ACE_player == gunner _vehicle && {getNumber (configFile >> 'CfgVehicles' >> (typeOf _vehicle) >> QGVAR(Enabled)) == 1}); - statement = QUOTE([_vehicle, 50] call FUNC(adjustRange)); + 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; @@ -39,7 +39,7 @@ class EGVAR(Core, Default_Keys) { allowHolding = 1; }; class adjustRangeDown: adjustRangeUp { - displayName = $STR_ACE_FireControlSystem_AdjustRangeDown; + displayName = $STR_ACE_FCS_AdjustRangeDown; statement = QUOTE([_vehicle, -50] call FUNC(adjustRange)); key = 209; }; @@ -71,9 +71,9 @@ class CfgVehicles { class Car: LandVehicle { class ACE_SelfActions { class ResetFCS { - displayName = $STR_ACE_FireControlSystem_ResetFCS; + displayName = $STR_ACE_FCS_ResetFCS; enableInside = 1; - condition = QUOTE((count (_vehicle getVariable [QGVAR(Magazines), []]) > 1) and (_player == gunner _vehicle)); + condition = QUOTE(call FUNC(canResetFCS)); statement = QUOTE([vehicle _player] call FUNC(reset);); showDisabled = 0; priority = 1; @@ -125,9 +125,9 @@ class CfgVehicles { GVAR(Enabled) = 1; // all tracked vehicles get one by default class ACE_SelfActions { class ResetFCS { - displayName = $STR_ACE_FireControlSystem_ResetFCS; + displayName = $STR_ACE_FCS_ResetFCS; enableInside = 1; - condition = QUOTE((count (_vehicle getVariable [QGVAR(Magazines), []]) > 1) and (_player == gunner _vehicle)); + condition = QUOTE(call FUNC(canResetFCS)); statement = QUOTE([vehicle _player] call FUNC(reset);); showDisabled = 0; priority = 1; @@ -243,9 +243,9 @@ class CfgVehicles { class Helicopter: Air { class ACE_SelfActions { class ResetFCS { - displayName = $STR_ACE_FireControlSystem_ResetFCS; + displayName = $STR_ACE_FCS_ResetFCS; enableInside = 1; - condition = QUOTE((count (_vehicle getVariable [QGVAR(Magazines), []]) > 1) and (_player == gunner _vehicle)); + condition = QUOTE(call FUNC(canResetFCS)); statement = QUOTE([vehicle _player] call FUNC(reset);); showDisabled = 0; priority = 1; 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_firedEH.sqf b/addons/fcs/functions/fnc_firedEH.sqf index c8b5649f6a..235e4531b8 100644 --- a/addons/fcs/functions/fnc_firedEH.sqf +++ b/addons/fcs/functions/fnc_firedEH.sqf @@ -34,7 +34,7 @@ _offset = 0; }; } forEach _FCSMagazines; -[_round, (_unit getVariable QGVAR(Azimuth)), _offset, 0] call EFUNC(core, changeProjectileDirection); +[_round, (_unit getVariable QGVAR(Azimuth)), _offset, 0] call EFUNC(common,changeProjectileDirection); // Air burst missile // may need to get rewritten diff --git a/addons/fcs/functions/fnc_keyDown.sqf b/addons/fcs/functions/fnc_keyDown.sqf index 41f9d793dc..e0c6cd35f9 100644 --- a/addons/fcs/functions/fnc_keyDown.sqf +++ b/addons/fcs/functions/fnc_keyDown.sqf @@ -4,7 +4,7 @@ * Starts watching the target for sideways correction. * * Arguments: - * none + * 0: Vehicle * * Return Value: * none @@ -15,13 +15,15 @@ private ["_vehicle", "_distance", "_weaponDirection"]; _vehicle = _this select 0; -_distance = _this select 1; +_distance = call FUNC(getRange); + +if !(call FUNC(canUseFCS)) exitWith {}; GVAR(Enabled) = true; GVAR(Time) = time; if (_distance == 0) then { - _distance = [5, 5000, 0] call EFUNC(core, getTargetDistance); // maximum distance: 5000m, 5m precision + _distance = [5, 5000, 0] call EFUNC(common,getTargetDistance); // maximum distance: 5000m, 5m precision }; _weaponDirection = _vehicle weaponDirection currentWeapon _vehicle; diff --git a/addons/fcs/functions/fnc_keyUp.sqf b/addons/fcs/functions/fnc_keyUp.sqf index 7ad410a241..69c11137cf 100644 --- a/addons/fcs/functions/fnc_keyUp.sqf +++ b/addons/fcs/functions/fnc_keyUp.sqf @@ -5,7 +5,6 @@ * * Arguments: * 0: The vehicle - * 1: Range Override (Optional) * * Return Value: * none @@ -16,7 +15,9 @@ 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; @@ -25,7 +26,7 @@ if (_distance == 0) then { getNumber (configFile >> "CfgVehicles" >> typeOf _vehicle >> QGVAR(DistanceInterval)), getNumber (configFile >> "CfgVehicles" >> typeOf _vehicle >> QGVAR(MaxDistance)), getNumber (configFile >> "CfgVehicles" >> typeOf _vehicle >> QGVAR(MinDistance)) - ] call EFUNC(core, getTargetDistance); // maximum distance: 5000m, 5m precision + ] call EFUNC(common,getTargetDistance); // maximum distance: 5000m, 5m precision }; _weaponDirection = _vehicle weaponDirection currentWeapon _vehicle; @@ -159,4 +160,4 @@ GVAR(backgroundCalculation) = [_vehicle, _magazines, _distance, _angleTarget, _F _vehicle setVariable [QGVAR(Elevation), _FCSElevation, true]; }; -[format ["%1: %2", localize "STR_ACE_FireControlSystem_ZeroedTo", _distance]] call EFUNC(core, 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 index 326b5c3212..f49c4c9589 100644 --- a/addons/fcs/functions/fnc_reset.sqf +++ b/addons/fcs/functions/fnc_reset.sqf @@ -21,4 +21,4 @@ _vehicle setVariable [QGVAR(Magazines), [], true]; _vehicle setVariable [QGVAR(Elevation), 0, true]; _vehicle setVariable [QGVAR(Azimuth), 0, true]; -[localize "STR_ACE_FireControlSystem_HasBeenReset"] call EFUNC(core, displayTextStructured); +[localize "STR_ACE_FCS_HasBeenReset"] call EFUNC(common,displayTextStructured); diff --git a/addons/fcs/functions/fnc_vehicleInit.sqf b/addons/fcs/functions/fnc_vehicleInit.sqf index 87d27e1d84..f65ce6dc7d 100644 --- a/addons/fcs/functions/fnc_vehicleInit.sqf +++ b/addons/fcs/functions/fnc_vehicleInit.sqf @@ -10,6 +10,8 @@ * none */ +#include "script_component.hpp" + private ["_gunBeg", "_gunnerView", "_gunBegPos", "_gunnerViewPos", "_viewDiff"]; if (getNumber (configFile >> "CfgVehicles" >> (typeOf (_this select 0)) >> QGVAR(Enabled)) == 1) then { 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" From ee7ae79f150372bc554100fe1a564fb6a949f0af Mon Sep 17 00:00:00 2001 From: commy2 Date: Tue, 13 Jan 2015 23:54:21 +0100 Subject: [PATCH 37/50] fix key release issues --- addons/interaction/config.cpp | 24 +++++++++---------- .../functions/fnc_initialiseInteraction.sqf | 6 ++--- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/addons/interaction/config.cpp b/addons/interaction/config.cpp index e597349599..ac9c38e88c 100644 --- a/addons/interaction/config.cpp +++ b/addons/interaction/config.cpp @@ -20,9 +20,9 @@ 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_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_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_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_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; diff --git a/addons/interaction/functions/fnc_initialiseInteraction.sqf b/addons/interaction/functions/fnc_initialiseInteraction.sqf index 43e45edaa4..f0ca6e85e6 100644 --- a/addons/interaction/functions/fnc_initialiseInteraction.sqf +++ b/addons/interaction/functions/fnc_initialiseInteraction.sqf @@ -59,10 +59,10 @@ if (_this select 2) then { (findDisplay 46) createDisplay QGVAR(Dialog); // Add eventhandlers - (findDisplay 1713999) displayAddEventHandler ["KeyDown", QUOTE( _this call EFUNC(common,onKeyDown) )]; - (findDisplay 1713999) displayAddEventHandler ["KeyUp", QUOTE( _this call EFUNC(common,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); From e24d6aa42f4c92f758ab31fdeb42617f188bea3f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=A1s=20Badano?= Date: Tue, 13 Jan 2015 19:59:16 -0300 Subject: [PATCH 38/50] Fix in interaction menu for attaching --- addons/interaction/functions/fnc_openSelectMenu.sqf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/addons/interaction/functions/fnc_openSelectMenu.sqf b/addons/interaction/functions/fnc_openSelectMenu.sqf index ae7d5ce21b..ba2cf7ce10 100644 --- a/addons/interaction/functions/fnc_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; From e090119d82cde31eb36c9e99799d24c7b0501ecc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=A1s=20Badano?= Date: Tue, 13 Jan 2015 20:00:31 -0300 Subject: [PATCH 39/50] Tag replacements in attach --- addons/attach/config.cpp | 38 +++++++++---------- addons/attach/functions/fnc_detach.sqf | 10 ++--- .../attach/functions/fnc_detachDelayFix.sqf | 2 - addons/attach/functions/fnc_openAttachUI.sqf | 12 +++--- addons/attach/stringtable.xml | 26 ++++++------- 5 files changed, 42 insertions(+), 46 deletions(-) diff --git a/addons/attach/config.cpp b/addons/attach/config.cpp index 5449155017..3f324425cd 100644 --- a/addons/attach/config.cpp +++ b/addons/attach/config.cpp @@ -3,7 +3,7 @@ class CfgPatches { class ADDON { units[] = {}; - weapons[] = {"AGM_IR_Strobe_Item"}; + weapons[] = {"ACE_IR_Strobe_Item"}; requiredVersion = 0.60; requiredAddons[] = {"ace_common", "ace_interaction"}; version = "0.95"; @@ -42,20 +42,20 @@ class CfgVehicles { class ACE_SelfActions { class ACE_Equipment { class GVAR(Attach) { - displayName = "$STR_AGM_Attach_AttachDetach"; + displayName = "$STR_ACE_Attach_AttachDetach"; condition = QUOTE( [_player, ''] call FUNC(canAttach) ); statement = QUOTE( [_player] call FUNC(openAttachUI); ); - exceptions[] = {"AGM_Drag_isNotDragging"}; + exceptions[] = {"ACE_Drag_isNotDragging"}; showDisabled = 0; priority = 5; icon = PATHTOF(UI\attach_ca.paa); hotkey = "T"; }; class GVAR(Detach) { - displayName = "$STR_AGM_Attach_Detach"; + displayName = "$STR_ACE_Attach_Detach"; condition = QUOTE( [_player] call FUNC(canDetach) ); statement = QUOTE( [_player] call FUNC(detach) ); - exceptions[] = {"AGM_Drag_isNotDragging"}; + exceptions[] = {"ACE_Drag_isNotDragging"}; showDisabled = 0; priority = 5; icon = PATHTOF(UI\detach_ca.paa); @@ -66,7 +66,7 @@ class CfgVehicles { }; class All; - class AGM_IR_Strobe_Effect: All { + class ACE_IR_Strobe_Effect: All { scope = 1; displayName = "IR Strobe"; model = "\A3\Weapons_F\empty.p3d"; @@ -107,46 +107,46 @@ class CfgVehicles { class Box_NATO_Support_F: NATO_Box_Base { class TransportItems { - MACRO_ADDITEM(AGM_IR_Strobe_Item,12) + MACRO_ADDITEM(ACE_IR_Strobe_Item,12) }; }; class Box_East_Support_F: EAST_Box_Base { class TransportItems { - MACRO_ADDITEM(AGM_IR_Strobe_Item,12) + MACRO_ADDITEM(ACE_IR_Strobe_Item,12) }; }; class Box_IND_Support_F: IND_Box_Base { class TransportItems { - MACRO_ADDITEM(AGM_IR_Strobe_Item,12) + MACRO_ADDITEM(ACE_IR_Strobe_Item,12) }; }; class Box_FIA_Support_F: FIA_Box_Base_F { class TransportItems { - MACRO_ADDITEM(AGM_IR_Strobe_Item,12) + MACRO_ADDITEM(ACE_IR_Strobe_Item,12) }; }; - class AGM_Box_Misc: Box_NATO_Support_F { + class ACE_Box_Misc: Box_NATO_Support_F { class TransportItems { - MACRO_ADDITEM(AGM_IR_Strobe_Item,12) + MACRO_ADDITEM(ACE_IR_Strobe_Item,12) }; }; }; class CfgWeapons { - class AGM_ItemCore; + class ACE_ItemCore; class InventoryItem_Base_F; - class AGM_IR_Strobe_Item: AGM_ItemCore { - displayName = "$STR_AGM_IrStrobe_Name"; - descriptionShort = "$STR_AGM_IrStrobe_Description"; + 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; - AGM_attachable = 1; + ACE_attachable = 1; class ItemInfo: InventoryItem_Base_F { mass = 1; }; @@ -156,10 +156,10 @@ class CfgWeapons { class CfgMagazines { class CA_Magazine; class B_IR_Grenade: CA_Magazine { - AGM_Attachable = 1; + ACE_Attachable = 1; }; class SmokeShell; class Chemlight_green: SmokeShell { - AGM_Attachable = 1; + ACE_Attachable = 1; }; }; diff --git a/addons/attach/functions/fnc_detach.sqf b/addons/attach/functions/fnc_detach.sqf index 07d1eda906..b55d6e1b70 100644 --- a/addons/attach/functions/fnc_detach.sqf +++ b/addons/attach/functions/fnc_detach.sqf @@ -25,7 +25,7 @@ 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(common,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 { @@ -45,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(common,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(common,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(common,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 index b84761c9fe..ac4ef0b276 100644 --- a/addons/attach/functions/fnc_detachDelayFix.sqf +++ b/addons/attach/functions/fnc_detachDelayFix.sqf @@ -1,6 +1,4 @@ /* - Name: ACE_attach_fnc_detachFix - Author: Pabst Mirror Description: diff --git a/addons/attach/functions/fnc_openAttachUI.sqf b/addons/attach/functions/fnc_openAttachUI.sqf index c36b3445ae..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,7 +53,7 @@ _attachables = items _unit; [ _actions, { - [AGM_player, _this] call FUNC(attach); + [ACE_player, _this] call FUNC(attach); call EFUNC(interaction,hideMenu); }, { 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. From 46cf9a194a33e0e103671a3ce3128eefa0957a22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=A1s=20Badano?= Date: Tue, 13 Jan 2015 20:03:12 -0300 Subject: [PATCH 40/50] Extract stuff out of attach config.cpp --- addons/attach/CfgMagazines.hpp | 10 +++ addons/attach/CfgVehicles.hpp | 104 +++++++++++++++++++++++ addons/attach/CfgWeapons.hpp | 16 ++++ addons/attach/config.cpp | 148 +-------------------------------- 4 files changed, 133 insertions(+), 145 deletions(-) create mode 100644 addons/attach/CfgMagazines.hpp create mode 100644 addons/attach/CfgVehicles.hpp create mode 100644 addons/attach/CfgWeapons.hpp 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/config.cpp b/addons/attach/config.cpp index 3f324425cd..e3db2b64e6 100644 --- a/addons/attach/config.cpp +++ b/addons/attach/config.cpp @@ -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 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) - }; - }; -}; - -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; - }; - }; -}; - -class CfgMagazines { - class CA_Magazine; - class B_IR_Grenade: CA_Magazine { - ACE_Attachable = 1; - }; - class SmokeShell; - class Chemlight_green: SmokeShell { - ACE_Attachable = 1; - }; -}; +#include "CfgMagazines.hpp" From d4bcc413b01df3ee65e64ffadd2610d4d8259b27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=A1s=20Badano?= Date: Tue, 13 Jan 2015 20:07:52 -0300 Subject: [PATCH 41/50] Replace tags in attach --- addons/attach/functions/fnc_attach.sqf | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/addons/attach/functions/fnc_attach.sqf b/addons/attach/functions/fnc_attach.sqf index 0c96e6f8ca..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(common,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(common,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(common,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(common,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(common,displayTextStructured);; + [localize "STR_ACE_Attach_Chemlight_Attached"] call EFUNC(common,displayTextStructured);; }; default { if (true) exitWith {}; From f90b23b4f616f1656caf88c6bc132e007a99ab15 Mon Sep 17 00:00:00 2001 From: Nou Date: Tue, 13 Jan 2015 15:27:42 -0800 Subject: [PATCH 42/50] Added network event handlers, ref ticket #12. --- addons/common/XEH_postInit.sqf | 6 ++ addons/common/XEH_preInit.sqf | 10 ++++ .../common/functions/fnc__handleNetEvent.sqf | 59 +++++++++++++++++++ .../functions/fnc_addNetEventHandler.sqf | 32 ++++++++++ addons/common/functions/fnc_globalEvent.sqf | 22 +++++++ addons/common/functions/fnc_serverEvent.sqf | 25 ++++++++ addons/common/functions/fnc_targetEvent.sqf | 29 +++++++++ 7 files changed, 183 insertions(+) create mode 100644 addons/common/functions/fnc__handleNetEvent.sqf create mode 100644 addons/common/functions/fnc_addNetEventHandler.sqf create mode 100644 addons/common/functions/fnc_globalEvent.sqf create mode 100644 addons/common/functions/fnc_serverEvent.sqf create mode 100644 addons/common/functions/fnc_targetEvent.sqf diff --git a/addons/common/XEH_postInit.sqf b/addons/common/XEH_postInit.sqf index 5c37862c7b..4a7b12a8c5 100644 --- a/addons/common/XEH_postInit.sqf +++ b/addons/common/XEH_postInit.sqf @@ -19,6 +19,10 @@ if (_currentVersion != _previousVersion) then { 0 spawn COMPILE_FILE(scripts\Version\checkVersionNumber); +//add network event handlers +"ACEg" addPublicVariableEventHandler { _this call FUNC(_handletNetEvent); }; +"ACEc" addPublicVariableEventHandler { _this call FUNC(_handletNetEvent); }; + // everything that only player controlled machines need, goes below this if (!hasInterface) exitWith {}; @@ -67,3 +71,5 @@ enableCamShake true; [_this select 1] call FUNC(setName) }; }] call FUNC(addCustomEventhandler); + + diff --git a/addons/common/XEH_preInit.sqf b/addons/common/XEH_preInit.sqf index 52ccdff4d4..57713d2611 100644 --- a/addons/common/XEH_preInit.sqf +++ b/addons/common/XEH_preInit.sqf @@ -137,6 +137,16 @@ PREP(showUser); PREP(addCuratorUnloadEventhandler); PREP(fixCrateContent); +//ACE events global variables +GVAR(netEvents) = [[],[]]; + +PREP(globalEvent); +PREP(_handleNetEvent); +PREP(addNetEventHandler); +PREP(targetEvent); +PREP(serverEvent); + + // Loop to update the ACE_player variable ACE_player = player; if (hasInterface) then { diff --git a/addons/common/functions/fnc__handleNetEvent.sqf b/addons/common/functions/fnc__handleNetEvent.sqf new file mode 100644 index 0000000000..37a8ce8e6e --- /dev/null +++ b/addons/common/functions/fnc__handleNetEvent.sqf @@ -0,0 +1,59 @@ +//fnc__handleNetEvent.sqf +// internal handler for net events +#include "script_component.hpp" + +private ["_eventType", "_event", "_eventName", "_eventArgs", "_eventNames", "_eventIndex", "_eventTargets", "_sentEvents", "_owner", "_serverFlagged"]; + +_eventType = _this select 0; +_event = _this select 1; + + +if(_eventType == "ACEg") then { + _eventName = _event select 0; + _eventArgs = _event select 1; + + _eventNames = GVAR(netEvents) select 0; + _eventIndex = _eventNames find _eventName; + if(_eventIndex != -1) then { + _events = (GVAR(netEvents) select 1) select _eventIndex; + { + if(!isNil "_x") then { + _eventArgs call CALLSTACK_NAMED(_x, format[ARR_3("Net Event %1 ID: %2",_eventName,_forEachIndex)]); + }; + } forEach _events; + }; +}; + +if(_eventType == "ACEc") then { + if(isServer) then { + _eventName = _event select 0; + _eventTargets = _event select 1; + _eventArgs = _event select 2; + + _sentEvents = []; + if(!IS_ARRAY(_eventTargets)) then { + _eventTargets = [_eventTargets]; + }; + _serverFlagged = false; + { + _owner = _x; + if(IS_OBJECT(_x)) then { + _owner = owner _x; + }; + if(!(_owner in _sentEvents)) then { + PUSH(_sentEvents, _owner); + ACEg = [_eventName, _eventArgs]; + if(isDedicated || {_x != ACE_player}) then { + if(isDedicated && {local _x} && {!_serverFlagged}) then { + _serverFlagged = true; + ["ACEg", ACEg] call FUNC(_handleNetEvent); + } else { + _owner publicVariableClient "ACEg"; + }; + } else { + ["ACEg", ACEg] call FUNC(_handleNetEvent); + }; + }; + } forEach _eventTargets; + }; +}; \ No newline at end of file diff --git a/addons/common/functions/fnc_addNetEventHandler.sqf b/addons/common/functions/fnc_addNetEventHandler.sqf new file mode 100644 index 0000000000..1a6160e93c --- /dev/null +++ b/addons/common/functions/fnc_addNetEventHandler.sqf @@ -0,0 +1,32 @@ +/* + * Author: Nou + * + * Add a network event handler. + * + * Argument: + * 0: Event name (string) + * 1: Event code (code) + * + * Return value: + * Event handler ID number (for use with fnc_removeNetEventHandler) + */ +#include "script_component.hpp" +private ["_eventName", "_eventCode", "_eventNames", "_eventFunctions", "_eventNameCount", "_eventIndex", "_eventFunctionCount"]; +_eventName = _this select 0; +_eventCode = _this select 1; + +_eventNames = GVAR(netEvents) select 0; +_eventFunctions = []; +_eventIndex = _eventNames find _eventName; +if(_eventIndex != -1) then { + _eventFunctions = (GVAR(netEvents) select 1) select _eventIndex; +} else { + _eventNameCount = count _eventNames; + _eventNames set[_eventNameCount, _eventName]; + (GVAR(netEvents) select 1) set[_eventNameCount, _eventFunctions]; +}; + +_eventFunctionCount = count _eventFunctions; +_eventFunctions set[_eventFunctionCount, _eventCode]; + +_eventFunctionCount; \ No newline at end of file diff --git a/addons/common/functions/fnc_globalEvent.sqf b/addons/common/functions/fnc_globalEvent.sqf new file mode 100644 index 0000000000..dcf40261cf --- /dev/null +++ b/addons/common/functions/fnc_globalEvent.sqf @@ -0,0 +1,22 @@ +/* + * Author: Nou + * + * Execute a global event on all clients, including self. + * + * Argument: + * 0: Event name (string) + * 1: Event args (any) + * + * Return value: + * Nothing + */ +#include "script_component.hpp" +private ["_eventName", "_eventArgs"]; + +_eventName = _this select 0; +_eventArgs = _this select 1; + + +ACEg = [_eventName, _eventArgs]; +publicVariable "ACEg"; +["ACEg", ACEg] call FUNC(_handleNetEvent); \ No newline at end of file diff --git a/addons/common/functions/fnc_serverEvent.sqf b/addons/common/functions/fnc_serverEvent.sqf new file mode 100644 index 0000000000..5e7ba3f92b --- /dev/null +++ b/addons/common/functions/fnc_serverEvent.sqf @@ -0,0 +1,25 @@ +/* + * Author: Nou + * + * Execute a event only on the server. + * + * Argument: + * 0: Event name (string) + * 1: Event args (any) + * + * Return value: + * Nothing + */ +#include "script_component.hpp" +private ["_eventName", "_eventArgs"]; + +_eventName = _this select 0; +_eventArgs = _this select 1; + + +ACEg = [_eventName, _eventArgs]; +if(!isServer) then { + publicVariableServer "ACEg"; +} else { + ["ACEg", ACEg] call FUNC(_handleNetEvent); +}; diff --git a/addons/common/functions/fnc_targetEvent.sqf b/addons/common/functions/fnc_targetEvent.sqf new file mode 100644 index 0000000000..4984c3d720 --- /dev/null +++ b/addons/common/functions/fnc_targetEvent.sqf @@ -0,0 +1,29 @@ +/* + * Author: Nou + * + * Execute a event only on specific clients. + * + * Argument: + * 0: Event name (string) + * 1: Event targets (object or array of objects) + * 2: Event args (any) + * + * Note: If local executor is in list of targets, event will execute with + * network delay, and not immediatly. + * + * Return value: + * Nothing + */ +#include "script_component.hpp" +private ["_eventName", "_eventArgs", "_eventTargets"]; + +_eventName = _this select 0; +_eventTargets = _this select 1; +_eventArgs = _this select 2; + +ACEc = [_eventName, _eventTargets, _eventArgs]; +if(!isServer) then { + publicVariableServer "ACEc"; +} else { + ["ACEc", ACEc] call FUNC(_handleNetEvent); +}; \ No newline at end of file From bed800daa5486686414973c2971548518cadd135 Mon Sep 17 00:00:00 2001 From: commy2 Date: Wed, 14 Jan 2015 00:52:37 +0100 Subject: [PATCH 43/50] port aircraft --- TO_MERGE/agm/Aircraft/_hud_thunderbolt.hpp | 6562 ----------------- TO_MERGE/agm/Aircraft/config.cpp | 1174 --- TO_MERGE/agm/Aircraft/hmd_thunderbolt.hpp | 6562 ----------------- TO_MERGE/agm/Aircraft/mfd_comanche.hpp | 1310 ---- TO_MERGE/agm/Aircraft/mfd_ghosthawk.hpp | 1409 ---- TO_MERGE/agm/Aircraft/mfd_littlebird.hpp | 565 -- .../agm/Aircraft/mfd_littlebird_armed.hpp | 694 -- TO_MERGE/agm/Aircraft/mfd_merlin.hpp | 1296 ---- TO_MERGE/agm/Aircraft/mfd_thunderbolt.hpp | 1979 ----- TO_MERGE/agm/Aircraft/mfd_wildcat.hpp | 784 -- TO_MERGE/agm/Aircraft/mfd_wildcat_unarmed.hpp | 896 --- addons/aircraft/CfgAmmo.hpp | 302 + addons/aircraft/CfgMagazines.hpp | 202 + addons/aircraft/CfgVehicles.hpp | 402 + addons/aircraft/CfgWeapons.hpp | 240 + addons/aircraft/config.cpp | 18 + .../aircraft}/flightmodel_alca.hpp | 0 .../aircraft}/flightmodel_thunderbolt.hpp | 0 .../aircraft}/flightmodel_yak.hpp | 0 addons/aircraft/script_component.hpp | 12 + .../aircraft}/stringtable.xml | 8 +- 21 files changed, 1180 insertions(+), 23235 deletions(-) delete mode 100644 TO_MERGE/agm/Aircraft/_hud_thunderbolt.hpp delete mode 100644 TO_MERGE/agm/Aircraft/config.cpp delete mode 100644 TO_MERGE/agm/Aircraft/hmd_thunderbolt.hpp delete mode 100644 TO_MERGE/agm/Aircraft/mfd_comanche.hpp delete mode 100644 TO_MERGE/agm/Aircraft/mfd_ghosthawk.hpp delete mode 100644 TO_MERGE/agm/Aircraft/mfd_littlebird.hpp delete mode 100644 TO_MERGE/agm/Aircraft/mfd_littlebird_armed.hpp delete mode 100644 TO_MERGE/agm/Aircraft/mfd_merlin.hpp delete mode 100644 TO_MERGE/agm/Aircraft/mfd_thunderbolt.hpp delete mode 100644 TO_MERGE/agm/Aircraft/mfd_wildcat.hpp delete mode 100644 TO_MERGE/agm/Aircraft/mfd_wildcat_unarmed.hpp create mode 100644 addons/aircraft/CfgAmmo.hpp create mode 100644 addons/aircraft/CfgMagazines.hpp create mode 100644 addons/aircraft/CfgVehicles.hpp create mode 100644 addons/aircraft/CfgWeapons.hpp create mode 100644 addons/aircraft/config.cpp rename {TO_MERGE/agm/Aircraft => addons/aircraft}/flightmodel_alca.hpp (100%) rename {TO_MERGE/agm/Aircraft => addons/aircraft}/flightmodel_thunderbolt.hpp (100%) rename {TO_MERGE/agm/Aircraft => addons/aircraft}/flightmodel_yak.hpp (100%) create mode 100644 addons/aircraft/script_component.hpp rename {TO_MERGE/agm/Aircraft => addons/aircraft}/stringtable.xml (87%) diff --git a/TO_MERGE/agm/Aircraft/_hud_thunderbolt.hpp b/TO_MERGE/agm/Aircraft/_hud_thunderbolt.hpp deleted file mode 100644 index 84ecbe6d32..0000000000 --- a/TO_MERGE/agm/Aircraft/_hud_thunderbolt.hpp +++ /dev/null @@ -1,6562 +0,0 @@ - - - -class MFD3 -{ - class HUD_1 - { - topLeft="HUD_top_left"; - topRight="HUD_top_right"; - bottomLeft="HUD_bottom_left"; - borderLeft=0.12; - borderRight=0.12; - borderTop=0.05; - borderBottom=0.15; - color[]={0,1,0,0.1}; - enableParallax=1; - class Bones - { - class WeaponAim - { - type="vector"; - source="weapon"; - pos0[]={0.5,0.38}; - pos10[]={1.166,1.215}; - }; - class Target - { - type="vector"; - source="target"; - pos0[]={0.5,0.38}; - pos10[]={1.166,1.215}; - }; - class Velocity - { - type="vector"; - source="velocity"; - pos0[]={0.5,0.5}; - pos10[]={1.215,1.215}; - }; - class VerticalSpeed - { - type="linear"; - source="vspeed"; - sourceScale=1; - min=-100; - max=100; - minPos[]={0,0.15000001}; - maxPos[]={0,-0.15000001}; - }; - class center - { - type="fixed"; - pos[]={0.5,0.38}; - }; - class RangeBone - { - type="linear"; - source="targetDist"; - sourceScale=1; //meters - min=0; - max=12000; - minPos[]={0.08,0.40}; - maxPos[]={0.08,0.60}; - }; - class RadarAltitudeBone - { - type="linear"; - source="altitudeAGL"; - sourceScale=1; // meters - //hideValue=1500; - min=0; - max=500; - minPos[]={0.71,0.40}; - maxPos[]={0.71,0.60}; - }; - class VspeedBone - { - type="linear"; - source="vspeed"; - sourceScale=1; // m/s - min=-50; - max=50; - minPos[]={0.94,0.40}; - maxPos[]={0.94,0.60}; - }; - }; - class Draw - { - color[]={0.15000001,1,0.15000001}; - alpha=0.9; - clipTL[]={0,0}; - clipBR[]={1,1}; - condition="on"; - - class WeaponName - { - type="text"; - source="weapon"; - sourceScale=1; - align="left"; - scale=1; - pos[]= - { - {"0.15 + 0.1",0.85}, - 1 - }; - right[]= - { - {"0.19 + 0.1",0.85}, - 1 - }; - down[]= - { - {"0.15 + 0.1",0.89}, - 1 - }; - }; - class AmmoCount - { - type="text"; - source="ammo"; - sourceScale=1; - align="left"; - scale=1; - pos[]= - { - {"0.15 + 0.1",0.89}, - 1 - }; - right[]= - { - {"0.19 + 0.1",0.89}, - 1 - }; - down[]= - { - {"0.15 + 0.1",0.93}, - 1 - }; - }; - class GearGroup - { - type="group"; - condition="ils"; - class GearText - { - type="text"; - source="static"; - text="GEAR"; - align="left"; - scale=1; - pos[]= - { - - { - "0.15 + 0.1", - "0.53 - 0.40" - }, - 1 - }; - right[]= - { - - { - "0.20 + 0.1", - "0.53 - 0.40" - }, - 1 - }; - down[]= - { - - { - "0.15 + 0.1", - "0.53 - 0.40 + 0.05" - }, - 1 - }; - }; - class radarbanda - { - type="line"; - width=4; - points[]= - { - { - "RadarAltitudeBone", - {-0.005,0.005}, - 1 - }, - { - "RadarAltitudeBone", - {-0.005,0}, - 1 - }, - { - "RadarAltitudeBone", - {0,0}, - 1 - }, - {{ 0.71,0.60 },1 }, - { }, - - {{ 0.71,0.40 },1 }, - {{ 0.72,0.40 },1 }, - { }, - {{ 0.71,0.44 },1 }, - {{ 0.72,0.44 },1 }, - { }, - {{ 0.71,0.48 },1 }, - {{ 0.72,0.48 },1 }, - { }, - {{ 0.71,0.52 },1 }, - {{ 0.72,0.52 },1 }, - { }, - {{ 0.71,0.56 },1 }, - {{ 0.72,0.56 },1 }, - { }, - {{ 0.71,0.60 },1 }, - {{ 0.72,0.60 },1 } - }; - }; - class radartext_5 - { - type="text"; - source="static"; - text="5"; - align="right"; - scale=1; - pos[]= {{0.721,"0.385 + 0.00"},1}; - right[]= {{0.751,"0.385 + 0.00"},1}; - down[]= {{0.721,"0.415 + 0.00"},1}; - }; - class radartext_4 - { - type="text"; - source="static"; - text="4"; - align="right"; - scale=1; - pos[]= {{0.721,"0.385 + 0.04"},1}; - right[]= {{0.751,"0.385 + 0.04"},1}; - down[]= {{0.721,"0.415 + 0.04"},1}; - }; - class radartext_3 - { - type="text"; - source="static"; - text="3"; - align="right"; - scale=1; - pos[]= {{0.721,"0.385 + 0.08"},1}; - right[]= {{0.751,"0.385 + 0.08"},1}; - down[]= {{0.721,"0.415 + 0.08"},1}; - }; - class radartext_2 - { - type="text"; - source="static"; - text="2"; - align="right"; - scale=1; - pos[]= {{0.721,"0.385 + 0.120"},1}; - right[]= {{0.751,"0.385 + 0.120"},1}; - down[]= {{0.721,"0.415 + 0.120"},1}; - }; - class radartext_1 - { - type="text"; - source="static"; - text="1"; - align="right"; - scale=1; - pos[]= {{0.721,"0.385 + 0.160"},1}; - right[]= {{0.751,"0.385 + 0.160"},1}; - down[]= {{0.721,"0.415 + 0.160"},1}; - }; - class radartext_0 - { - type="text"; - source="static"; - text="0"; - align="right"; - scale=1; - pos[]= {{0.721,"0.385 + 0.200"},1}; - right[]= {{0.751,"0.385 + 0.200"},1}; - down[]= {{0.721,"0.415 + 0.200"},1}; - }; - - /*class Vspeedbanda - { - type="line"; - width=4; - points[]= - { - { - "VspeedBone", - {0.007,-0.007}, - 1 - }, - { - "VspeedBone", - {0,0}, - 1 - }, - { - "VspeedBone", - {0.007,0.007}, - 1 - }, - { }, - { - "VspeedBone", - {0,0}, - 1 - }, - { - "VspeedBone", - {0.012,0}, - 1 - }, - {{ 0.952,0.50 },1 }, - { }, - - {{ 0.92,0.40 },1 }, // - {{ 0.94,0.40 },1 }, - { }, - {{ 0.92,0.42 },1 }, - {{ 0.93,0.42 },1 }, - { }, - {{ 0.92,0.44 },1 }, - {{ 0.93,0.44 },1 }, - { }, - {{ 0.92,0.46 },1 }, - {{ 0.93,0.46 },1 }, - { }, - {{ 0.92,0.48 },1 }, - {{ 0.93,0.48 },1 }, - { }, - {{ 0.92,0.50 },1 }, // - {{ 0.94,0.50 },1 }, - { }, - {{ 0.92,0.52 },1 }, - {{ 0.93,0.52 },1 }, - { }, - {{ 0.92,0.54 },1 }, - {{ 0.93,0.54 },1 }, - { }, - {{ 0.92,0.56 },1 }, - {{ 0.93,0.56 },1 }, - { }, - {{ 0.92,0.58 },1 }, - {{ 0.93,0.58 },1 }, - { }, - {{ 0.92,0.60 },1 }, // - {{ 0.94,0.60 },1 }, - }; - };*/ - }; - class Vspeedbanda1 - { - type="line"; - width=4; - points[]= - { - { - "VspeedBone", - {0.007,-0.007}, - 1 - }, - { - "VspeedBone", - {0,0}, - 1 - }, - { - "VspeedBone", - {0.007,0.007}, - 1 - }, - { }, - { - "VspeedBone", - {0,0}, - 1 - }, - { - "VspeedBone", - {0.012,0}, - 1 - }, - {{ 0.952,0.50 },1 }, - { }, - - {{ 0.92,0.40 },1 }, // - {{ 0.94,0.40 },1 }, - { }, - {{ 0.92,0.42 },1 }, - {{ 0.93,0.42 },1 }, - { }, - {{ 0.92,0.44 },1 }, - {{ 0.93,0.44 },1 }, - { }, - {{ 0.92,0.46 },1 }, - {{ 0.93,0.46 },1 }, - { }, - {{ 0.92,0.48 },1 }, - {{ 0.93,0.48 },1 }, - { }, - {{ 0.92,0.50 },1 }, // - {{ 0.94,0.50 },1 }, - { }, - {{ 0.92,0.52 },1 }, - {{ 0.93,0.52 },1 }, - { }, - {{ 0.92,0.54 },1 }, - {{ 0.93,0.54 },1 }, - { }, - {{ 0.92,0.56 },1 }, - {{ 0.93,0.56 },1 }, - { }, - {{ 0.92,0.58 },1 }, - {{ 0.93,0.58 },1 }, - { }, - {{ 0.92,0.60 },1 }, // - {{ 0.94,0.60 },1 }, - }; - }; - class StallGroup - { - type="group"; - condition="stall"; - color[]={1,0,0}; - blinkingPattern[]={0.2,0.2}; - blinkingStartsOn=1; - class StallText - { - type="text"; - source="static"; - text="STALL"; - align="center"; - scale=1; - pos[]= - { - - { - 0.5, - "0.53 - 0.25" - }, - 1 - }; - right[]= - { - - { - 0.55000001, - "0.53 - 0.25" - }, - 1 - }; - down[]= - { - - { - 0.5, - "0.53 - 0.21" - }, - 1 - }; - }; - }; - class FLAPSGroup - { - type="group"; - condition="flaps"; - class FLAPSText - { - type="text"; - source="static"; - text="FLAPS"; - align="left"; - scale=1; - pos[]= - { - - { - "0.15 + 0.1", - "0.53 - 0.35" - }, - 1 - }; - right[]= - { - - { - "0.20 + 0.1", - "0.53 - 0.35" - }, - 1 - }; - down[]= - { - - { - "0.15 + 0.1", - "0.53 - 0.35 + 0.05" - }, - 1 - }; - }; - }; - class CollisionLightsGroup - { - type="group"; - condition="collisionlights"; - class CollisionLightsText - { - type="text"; - source="static"; - text="A-COL"; - align="left"; - scale=1; - pos[]= - { - - { - "0.15 + 0.1", - "0.53 - 0.25" - }, - 1 - }; - right[]= - { - - { - "0.20 + 0.1", - "0.53 - 0.25" - }, - 1 - }; - down[]= - { - - { - "0.15 + 0.1", - "0.53 - 0.25 + 0.05" - }, - 1 - }; - }; - }; - class LightsGroup - { - type="group"; - condition="lights"; - class LightsText - { - type="text"; - source="static"; - text="LLS"; - align="left"; - scale=1; - pos[]= - { - - { - "0.15 + 0.1", - "0.53 - 0.30" - }, - 1 - }; - right[]= - { - - { - "0.20 + 0.1", - "0.53 - 0.30" - }, - 1 - }; - down[]= - { - - { - "0.15 + 0.1", - "0.53 - 0.30 + 0.05" - }, - 1 - }; - }; - }; - class SpeedNumber - { - type="text"; - align="left"; - scale=1; - source="speed"; - sourceScale=3.5999999; - pos[]= - { - {"0.15 + 0.1",0.47}, - 1 - }; - right[]= - { - {"0.21 + 0.1",0.47}, - 1 - }; - down[]= - { - {"0.15 + 0.1",0.52999998}, - 1 - }; - }; - /*class GroundSpeedNumber - { - type="text"; - align="left"; - scale=1; - source="sqrt((""speed""*""speed"")-(""vspeed""*""vspeed""))"; - sourceScale=3.5999999; - pos[]= - { - {"0.15 + 0.1",0.37}, - 1 - }; - right[]= - { - {"0.21 + 0.1",0.37}, - 1 - }; - down[]= - { - {"0.15 + 0.1",0.42999998}, - 1 - }; - }; - */ - class MachNumber - { - type="text"; - align="left"; - scale=1; - source="speed"; - sourceScale=0.0288; - pos[]= - { - {"0.12 + 0.1",0.53}, - 1 - }; - right[]= - { - {"0.17 + 0.1",0.53}, - 1 - }; - down[]= - { - {"0.12 + 0.1",0.58}, - 1 - }; - }; - class MachText - { - type="text"; - source="static"; - text="0."; - align="left"; - scale=1; - pos[]= - { - {"0.09 + 0.1",0.53}, - 1 - }; - right[]= - { - {"0.14 + 0.1",0.53}, - 1 - }; - down[]= - { - {"0.09 + 0.1",0.58}, - 1 - }; - }; - class MachTextM - { - type="text"; - source="static"; - text="M"; - align="left"; - scale=1; - pos[]= - { - {"0.1501 + 0.1",0.53}, - 1 - }; - right[]= - { - {"0.2001 + 0.1",0.53}, - 1 - }; - down[]= - { - {"0.1501 + 0.1",0.58}, - 1 - }; - }; - class HeadingNumber: SpeedNumber - { - source="heading"; - sourceScale=1; - align="right"; - pos[]= - { - {"0.85 - 0.1",0.15}, - 1 - }; - right[]= - { - {"0.90 - 0.1",0.15}, - 1 - }; - down[]= - { - {"0.85 - 0.1",0.20}, - 1 - }; - }; - class AltNumber: SpeedNumber - { - align="right"; - source="altitudeASL"; - sourceScale=1; - pos[]= - { - {"0.85 - 0.1",0.47}, - 1 - }; - right[]= - { - {"0.91 - 0.1",0.47}, - 1 - }; - down[]= - { - {"0.85 - 0.1",0.52999998}, - 1 - }; - }; - class PitcherNumber: SpeedNumber - { - type="text"; - source="horizonDive"; - sourceScale=57.29578; - align="right"; - scale=1; - pos[]= - { - {"0.85 - 0.1",0.54}, - 1 - }; - right[]= - { - {"0.90 - 0.1",0.54}, - 1 - }; - down[]= - { - {"0.85 - 0.1",0.59}, - 1 - }; - }; - class AGLText - { - type="text"; - source="static"; - text="AGL/"; - align="right"; - scale=1; - pos[]= - { - {"0.85 - 0.1",0.76}, - 1 - }; - right[]= - { - {"0.89000002 - 0.1",0.76}, - 1 - }; - down[]= - { - {"0.85 - 0.1",0.80}, - 1 - }; - }; - class AGLNumber - { - type="text"; - source="altitudeAGL"; - sourceScale=1; - align="right"; - scale=1; - pos[]= - { - {"0.85 - 0.1",0.80}, - 1 - }; - right[]= - { - {"0.89 - 0.1",0.80}, - 1 - }; - down[]= - { - {"0.85 - 0.1",0.84}, - 1 - }; - }; - class ClimbText - { - type="text"; - source="static"; - text="CLIMB/"; - align="right"; - scale=1; - pos[]= - { - {"0.85 - 0.1",0.85001}, - 1 - }; - right[]= - { - {"0.89 - 0.1",0.85001}, - 1 - }; - down[]= - { - {"0.85 - 0.1",0.89001}, - 1 - }; - }; - class ClimbNumber - { - type="text"; - source="vspeed"; - sourceScale=1; - align="right"; - scale=1; - pos[]= - { - {"0.85 - 0.1",0.89001}, - 1 - }; - right[]= - { - {"0.89 - 0.1",0.89001}, - 1 - }; - down[]= - { - {"0.85 - 0.1",0.93001}, - 1 - }; - }; - class RangeText - { - type="text"; - source="static"; - text="RNG/"; - align="left"; - scale=1; - pos[]= - { - {"0.15 + 0.1",0.76}, - 1 - }; - right[]= - { - {"0.19 + 0.1",0.76}, - 1 - }; - down[]= - { - {"0.15 + 0.1",0.80}, - 1 - }; - }; - class RangeNumber - { - type="text"; - source="targetDist"; - sourceScale=1; - align="left"; - scale=1; - pos[]= - { - {"0.15 + 0.1",0.80}, - 1 - }; - right[]= - { - {"0.19 + 0.1",0.80}, - 1 - }; - down[]= - { - {"0.15 + 0.1",0.84}, - 1 - }; - }; - class ATRangeScale - { - condition="ATmissile"; - type="group"; - class RangeBand - { - type="line"; - width=3.0; - points[]= - { - - { - "RangeBone", - {0.00,0.0}, - 1 - }, - - { - "RangeBone", - {-0.01,-0.01}, - 1 - }, - - { - "RangeBone", - {-0.01,0.01}, - 1 - }, - - { - "RangeBone", - {0.00,0.0}, - 1 - } - }; - }; - class ATMissileRange - { - type="line"; - width=3.0; - points[] = - { - ///////////////////////////////// range marks - { { 0.08,0.40 },1 }, - { { 0.10,0.40 },1 }, - {}, - { { 0.08,0.467 },1 }, - { { 0.10,0.467 },1 }, - {}, - { { 0.08,0.567 },1 }, - { { 0.10,0.567 },1 }, - {}, - { { 0.08,0.60 },1 }, - { { 0.10,0.60 },1 }, - {}, - - { { 0.08,0.467 },1 }, // line - { { 0.08,0.567 },1 }, - {} - }; - }; - }; - class HeadingArrow - { - type="line"; - width=4; - points[]= - { - - { - {0.50,0.95}, - 1 - }, - { - {0.515,0.965}, - 1 - }, - { - {0.485,0.965}, - 1 - }, - { - {0.50,0.95}, - 1 - } - }; - }; - class HeadingScale - { - type="scale"; - horizontal=1; - source="heading"; - sourceScale=0.1; - width=5; - top=0.35; - center=0.50; - bottom=0.65; - lineXleft="0.06 + 0.89"; - lineYright="0.05 + 0.89"; - lineXleftMajor="0.06 + 0.89"; - lineYrightMajor="0.04 + 0.89"; - majorLineEach=2; - numberEach=2; - step="1 / 2"; - stepSize="(0.65 - 0.35) / 5"; - align="center"; - scale=1; - pos[]= - { - 0.35, - "0.0 + 0.89" - }; - right[]= - { - 0.38, - "0.0 + 0.89" - }; - down[]= - { - 0.35, - "0.03 + 0.89" - }; - }; - }; - }; - class HUD_2 - { - topLeft="HUD_top_left"; - topRight="HUD_top_right"; - bottomLeft="HUD_bottom_left"; - borderLeft=0.12; - borderRight=0.12; - borderTop=0.05; - borderBottom=0.15; - color[]={0,1,0,0.1}; - enableParallax=1; - class Bones - { - class ForwardVec1 - { - type = "vector"; - source = "forward"; - pos0[] = {0,0}; - //pos10[] = {0.25,0.25}; - //pos0[]={0.50,0.32}; - //pos10[]={"1.382 - 0.5","1.145 - 0.32"}; - pos10[] = {0.0,0.0}; - }; - class ForwardVec - { - type = "vector"; - source = "forward"; - pos0[] = {0.0,0.0}; - //pos10[] = {"0.253 + 0.0","0.253 + 0.0"}; - pos10[] = {0.0,0.0}; - }; - class RadarContact - { - //source="radar"; - type="fixed"; - pos[]={0,0}; - }; - class HorizonBankRot - { - type="rotational"; - source="horizonBank"; - center[]={0.5,0.32}; - min=3.1416; - max=-3.1416; - //max=0.52359998; - minAngle=-180; - maxAngle=180; - aspectRatio=1; - }; - class VspeedBone - { - type="linear"; - source="vspeed"; - sourceScale=1; - min=-10; - max=10; - minPos[]={0.2,0.35}; - maxPos[]={0.2,0.65}; - }; - class ILS_H - { - type = "ils"; - pos0[] = {0.5,0.32}; - pos3[] = {0.7,0.32}; - }; - class ILS_W: ILS_H - { - pos3[] = {0.5,0.53}; - }; - class WeaponAimGUN - { - type = "vector"; - source = "weapon"; - //pos0[] = {0.5,0.125}; - pos0[] = {0.5,0.32}; - pos10[] = {" 0.5 + 0.253 "," 0.32 + 0.253 "}; - }; - class WeaponAimROCKET - { - type = "vector"; - source = "weapon"; - pos0[] = {0.5,0.390}; - pos10[] = {" 0.5 + 0.253 "," 0.390 + 0.253 "}; - }; - class RadarAltitudeBone - { - type="linear"; - source="altitudeAGL"; - sourceScale=0.10; - min=0; - max=200; - minPos[]={0.5,0.10}; - maxPos[]={0.5,0.85}; - }; - class TargetSelected - { - type = "vector"; - source = "target"; - pos0[]={ 0.50, 0.32 }; - //pos10[]={" 0.5 + 1.5 ", " 0.32 + 1.5"}; - pos10[]={1.382,1.145}; - }; - class Velocity - { - type="vector"; - source="velocity"; - pos0[]={0.5,0.32}; - pos10[]={0.8,0.62}; - //pos10[]={1.5,1.32}; - }; - class center - { - type="fixed"; - pos[]={0.5,0.38}; - }; - class Level0 - { - type="horizon"; - pos0[]={0.50,0.32}; - pos10[]={1.5,1.32}; - //pos10[]={1.382,1.145}; - angle=0; - }; - class LevelP5: Level0 - { - angle=5; - }; - class LevelM5: Level0 - { - angle=-5; - }; - class LevelP10: Level0 - { - angle=10; - }; - class LevelM10: Level0 - { - angle=-10; - }; - class LevelP15: Level0 - { - angle=15; - }; - class LevelM15: Level0 - { - angle=-15; - }; - class LevelP20: Level0 - { - angle=20; - }; - class LevelM20: Level0 - { - angle=-20; - }; - class LevelP25: Level0 - { - angle=25; - }; - class LevelM25: Level0 - { - angle=-25; - }; - class LevelP30: Level0 - { - angle=30; - }; - class LevelM30: Level0 - { - angle=-30; - }; - class LevelP35: Level0 - { - angle=35; - }; - class LevelM35: Level0 - { - angle=-35; - }; - class LevelP40: Level0 - { - angle=40; - }; - class LevelM40: Level0 - { - angle=-40; - }; - class LevelP45: Level0 - { - angle=45; - }; - class LevelM45: Level0 - { - angle=-45; - }; - class LevelP50: Level0 - { - angle=50; - }; - class LevelM50: Level0 - { - angle=-50; - }; - }; - class Draw - { - color[]={0.15000001,1,0.15000001}; - alpha=0.9; - clipTL[]={0,0}; - clipBR[]={1,1}; - condition="on"; - /*class Horizont // default - { - clipTL[]={0.10,0.10}; - clipBR[]={0.90,0.90}; - class Dimmed - { - class Level0 - { - type="line"; - points[]= - { - - { - "Level0", - {-0.2,0}, - 1 - }, - - { - "Level0", - {-0.050000001,0}, - 1 - }, - {}, - - { - "Level0", - {0.050000001,0}, - 1 - }, - - { - "Level0", - {0.2,0}, - 1 - } - }; - }; - class VALM_1_0 - { - type="text"; - source="static"; - text=0; - align="left"; - scale=1; - sourceScale=57.2958; - pos[]= - { - "Level0", - {-0.23,-0.025}, - 1 - }; - right[]= - { - "Level0", - {-0.13,-0.025}, - 1 - }; - down[]= - { - "Level0", - {-0.23,0.025}, - 1 - }; - }; - class VALM_2_0: VALM_1_0 - { - align="right"; - pos[]= - { - "Level0", - {0.22,-0.025}, - 1 - }; - right[]= - { - "Level0", - {0.31999999,-0.025}, - 1 - }; - down[]= - { - "Level0", - {0.22,0.025}, - 1 - }; - }; - class LevelM5: Level0 - { - type="line"; - points[]= - { - - { - "LevelM5", - {-0.2,-0.029999999}, - 1 - }, - - { - "LevelM5", - {-0.2,0}, - 1 - }, - - { - "LevelM5", - {-0.15000001,0}, - 1 - }, - {}, - - { - "LevelM5", - {-0.1,0}, - 1 - }, - - { - "LevelM5", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelM5", - {0.050000001,0}, - 1 - }, - - { - "LevelM5", - {0.1,0}, - 1 - }, - {}, - - { - "LevelM5", - {0.15000001,0}, - 1 - }, - - { - "LevelM5", - {0.2,0}, - 1 - }, - - { - "LevelM5", - {0.2,-0.029999999}, - 1 - } - }; - }; - class VALM_1_5 - { - type="text"; - source="static"; - text=-5; - align="left"; - scale=1; - sourceScale=57.2958; - pos[]= - { - "LevelM5", - {-0.23,-0.085000001}, - 1 - }; - right[]= - { - "LevelM5", - {-0.13,-0.085000001}, - 1 - }; - down[]= - { - "LevelM5", - {-0.23,-0.035}, - 1 - }; - }; - class VALM_2_5: VALM_1_5 - { - align="right"; - pos[]= - { - "LevelM5", - {0.22,-0.085000001}, - 1 - }; - right[]= - { - "LevelM5", - {0.31999999,-0.085000001}, - 1 - }; - down[]= - { - "LevelM5", - {0.22,-0.035}, - 1 - }; - }; - class LevelP5: Level0 - { - type="line"; - points[]= - { - - { - "LevelP5", - {-0.2,0.029999999}, - 1 - }, - - { - "LevelP5", - {-0.2,0}, - 1 - }, - - { - "LevelP5", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelP5", - {0.050000001,0}, - 1 - }, - - { - "LevelP5", - {0.2,0}, - 1 - }, - - { - "LevelP5", - {0.2,0.029999999}, - 1 - } - }; - }; - class VALP_1_5 - { - type="text"; - source="static"; - text="5"; - align="left"; - scale=1; - sourceScale=57.2958; - pos[]= - { - "LevelP5", - {-0.23,0.035}, - 1 - }; - right[]= - { - "LevelP5", - {-0.13,0.035}, - 1 - }; - down[]= - { - "LevelP5", - {-0.23,0.085000001}, - 1 - }; - }; - class VALP_2_5: VALP_1_5 - { - align="right"; - pos[]= - { - "LevelP5", - {0.22,0.035}, - 1 - }; - right[]= - { - "LevelP5", - {0.31999999,0.035}, - 1 - }; - down[]= - { - "LevelP5", - {0.22,0.085000001}, - 1 - }; - }; - class LevelM10: Level0 - { - type="line"; - points[]= - { - - { - "LevelM10", - {-0.2,-0.029999999}, - 1 - }, - - { - "LevelM10", - {-0.2,0}, - 1 - }, - - { - "LevelM10", - {-0.15000001,0}, - 1 - }, - {}, - - { - "LevelM10", - {-0.1,0}, - 1 - }, - - { - "LevelM10", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelM10", - {0.050000001,0}, - 1 - }, - - { - "LevelM10", - {0.1,0}, - 1 - }, - {}, - - { - "LevelM10", - {0.15000001,0}, - 1 - }, - - { - "LevelM10", - {0.2,0}, - 1 - }, - - { - "LevelM10", - {0.2,-0.029999999}, - 1 - } - }; - }; - class VALM_1_10 - { - type="text"; - source="static"; - text=-10; - align="left"; - scale=1; - sourceScale=57.2958; - pos[]= - { - "LevelM10", - {-0.23,-0.085000001}, - 1 - }; - right[]= - { - "LevelM10", - {-0.13,-0.085000001}, - 1 - }; - down[]= - { - "LevelM10", - {-0.23,-0.035}, - 1 - }; - }; - class VALM_2_10: VALM_1_10 - { - align="right"; - pos[]= - { - "LevelM10", - {0.22,-0.085000001}, - 1 - }; - right[]= - { - "LevelM10", - {0.31999999,-0.085000001}, - 1 - }; - down[]= - { - "LevelM10", - {0.22,-0.035}, - 1 - }; - }; - class LevelP10: Level0 - { - type="line"; - points[]= - { - - { - "LevelP10", - {-0.2,0.029999999}, - 1 - }, - - { - "LevelP10", - {-0.2,0}, - 1 - }, - - { - "LevelP10", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelP10", - {0.050000001,0}, - 1 - }, - - { - "LevelP10", - {0.2,0}, - 1 - }, - - { - "LevelP10", - {0.2,0.029999999}, - 1 - } - }; - }; - class VALP_1_10 - { - type="text"; - source="static"; - text="10"; - align="left"; - scale=1; - sourceScale=57.2958; - pos[]= - { - "LevelP10", - {-0.23,0.035}, - 1 - }; - right[]= - { - "LevelP10", - {-0.13,0.035}, - 1 - }; - down[]= - { - "LevelP10", - {-0.23,0.085000001}, - 1 - }; - }; - class VALP_2_10: VALP_1_10 - { - align="right"; - pos[]= - { - "LevelP10", - {0.22,0.035}, - 1 - }; - right[]= - { - "LevelP10", - {0.31999999,0.035}, - 1 - }; - down[]= - { - "LevelP10", - {0.22,0.085000001}, - 1 - }; - }; - class LevelM15: Level0 - { - type="line"; - points[]= - { - - { - "LevelM15", - {-0.2,-0.029999999}, - 1 - }, - - { - "LevelM15", - {-0.2,0}, - 1 - }, - - { - "LevelM15", - {-0.15000001,0}, - 1 - }, - {}, - - { - "LevelM15", - {-0.1,0}, - 1 - }, - - { - "LevelM15", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelM15", - {0.050000001,0}, - 1 - }, - - { - "LevelM15", - {0.1,0}, - 1 - }, - {}, - - { - "LevelM15", - {0.15000001,0}, - 1 - }, - - { - "LevelM15", - {0.2,0}, - 1 - }, - - { - "LevelM15", - {0.2,-0.029999999}, - 1 - } - }; - }; - class VALM_1_15 - { - type="text"; - source="static"; - text=-15; - align="left"; - scale=1; - sourceScale=57.2958; - pos[]= - { - "LevelM15", - {-0.23,-0.085000001}, - 1 - }; - right[]= - { - "LevelM15", - {-0.13,-0.085000001}, - 1 - }; - down[]= - { - "LevelM15", - {-0.23,-0.035}, - 1 - }; - }; - class VALM_2_15: VALM_1_15 - { - align="right"; - pos[]= - { - "LevelM15", - {0.22,-0.085000001}, - 1 - }; - right[]= - { - "LevelM15", - {0.31999999,-0.085000001}, - 1 - }; - down[]= - { - "LevelM15", - {0.22,-0.035}, - 1 - }; - }; - class LevelP15: Level0 - { - type="line"; - points[]= - { - - { - "LevelP15", - {-0.2,0.029999999}, - 1 - }, - - { - "LevelP15", - {-0.2,0}, - 1 - }, - - { - "LevelP15", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelP15", - {0.050000001,0}, - 1 - }, - - { - "LevelP15", - {0.2,0}, - 1 - }, - - { - "LevelP15", - {0.2,0.029999999}, - 1 - } - }; - }; - class VALP_1_15 - { - type="text"; - source="static"; - text="15"; - align="left"; - scale=1; - sourceScale=57.2958; - pos[]= - { - "LevelP15", - {-0.23,0.035}, - 1 - }; - right[]= - { - "LevelP15", - {-0.13,0.035}, - 1 - }; - down[]= - { - "LevelP15", - {-0.23,0.085000001}, - 1 - }; - }; - class VALP_2_15: VALP_1_15 - { - align="right"; - pos[]= - { - "LevelP15", - {0.22,0.035}, - 1 - }; - right[]= - { - "LevelP15", - {0.31999999,0.035}, - 1 - }; - down[]= - { - "LevelP15", - {0.22,0.085000001}, - 1 - }; - }; - class LevelM20: Level0 - { - type="line"; - points[]= - { - - { - "LevelM20", - {-0.2,-0.029999999}, - 1 - }, - - { - "LevelM20", - {-0.2,0}, - 1 - }, - - { - "LevelM20", - {-0.15000001,0}, - 1 - }, - {}, - - { - "LevelM20", - {-0.1,0}, - 1 - }, - - { - "LevelM20", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelM20", - {0.050000001,0}, - 1 - }, - - { - "LevelM20", - {0.1,0}, - 1 - }, - {}, - - { - "LevelM20", - {0.15000001,0}, - 1 - }, - - { - "LevelM20", - {0.2,0}, - 1 - }, - - { - "LevelM20", - {0.2,-0.029999999}, - 1 - } - }; - }; - class VALM_1_20 - { - type="text"; - source="static"; - text=-20; - align="left"; - scale=1; - sourceScale=57.2958; - pos[]= - { - "LevelM20", - {-0.23,-0.085000001}, - 1 - }; - right[]= - { - "LevelM20", - {-0.13,-0.085000001}, - 1 - }; - down[]= - { - "LevelM20", - {-0.23,-0.035}, - 1 - }; - }; - class VALM_2_20: VALM_1_20 - { - align="right"; - pos[]= - { - "LevelM20", - {0.22,-0.085000001}, - 1 - }; - right[]= - { - "LevelM20", - {0.31999999,-0.085000001}, - 1 - }; - down[]= - { - "LevelM20", - {0.22,-0.035}, - 1 - }; - }; - class LevelP20: Level0 - { - type="line"; - points[]= - { - - { - "LevelP20", - {-0.2,0.029999999}, - 1 - }, - - { - "LevelP20", - {-0.2,0}, - 1 - }, - - { - "LevelP20", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelP20", - {0.050000001,0}, - 1 - }, - - { - "LevelP20", - {0.2,0}, - 1 - }, - - { - "LevelP20", - {0.2,0.029999999}, - 1 - } - }; - }; - class VALP_1_20 - { - type="text"; - source="static"; - text="20"; - align="left"; - scale=1; - sourceScale=57.2958; - pos[]= - { - "LevelP20", - {-0.23,0.035}, - 1 - }; - right[]= - { - "LevelP20", - {-0.13,0.035}, - 1 - }; - down[]= - { - "LevelP20", - {-0.23,0.085000001}, - 1 - }; - }; - class VALP_2_20: VALP_1_20 - { - align="right"; - pos[]= - { - "LevelP20", - {0.22,0.035}, - 1 - }; - right[]= - { - "LevelP20", - {0.31999999,0.035}, - 1 - }; - down[]= - { - "LevelP20", - {0.22,0.085000001}, - 1 - }; - }; - class LevelM25: Level0 - { - type="line"; - points[]= - { - - { - "LevelM25", - {-0.2,-0.029999999}, - 1 - }, - - { - "LevelM25", - {-0.2,0}, - 1 - }, - - { - "LevelM25", - {-0.15000001,0}, - 1 - }, - {}, - - { - "LevelM25", - {-0.1,0}, - 1 - }, - - { - "LevelM25", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelM25", - {0.050000001,0}, - 1 - }, - - { - "LevelM25", - {0.1,0}, - 1 - }, - {}, - - { - "LevelM25", - {0.15000001,0}, - 1 - }, - - { - "LevelM25", - {0.2,0}, - 1 - }, - - { - "LevelM25", - {0.2,-0.029999999}, - 1 - } - }; - }; - class VALM_1_25 - { - type="text"; - source="static"; - text=-25; - align="left"; - scale=1; - sourceScale=57.2958; - pos[]= - { - "LevelM25", - {-0.23,-0.085000001}, - 1 - }; - right[]= - { - "LevelM25", - {-0.13,-0.085000001}, - 1 - }; - down[]= - { - "LevelM25", - {-0.23,-0.035}, - 1 - }; - }; - class VALM_2_25: VALM_1_25 - { - align="right"; - pos[]= - { - "LevelM25", - {0.22,-0.085000001}, - 1 - }; - right[]= - { - "LevelM25", - {0.31999999,-0.085000001}, - 1 - }; - down[]= - { - "LevelM25", - {0.22,-0.035}, - 1 - }; - }; - class LevelP25: Level0 - { - type="line"; - points[]= - { - - { - "LevelP25", - {-0.2,0.029999999}, - 1 - }, - - { - "LevelP25", - {-0.2,0}, - 1 - }, - - { - "LevelP25", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelP25", - {0.050000001,0}, - 1 - }, - - { - "LevelP25", - {0.2,0}, - 1 - }, - - { - "LevelP25", - {0.2,0.029999999}, - 1 - } - }; - }; - class VALP_1_25 - { - type="text"; - source="static"; - text="25"; - align="left"; - scale=1; - sourceScale=57.2958; - pos[]= - { - "LevelP25", - {-0.23,0.035}, - 1 - }; - right[]= - { - "LevelP25", - {-0.13,0.035}, - 1 - }; - down[]= - { - "LevelP25", - {-0.23,0.085000001}, - 1 - }; - }; - class VALP_2_25: VALP_1_25 - { - align="right"; - pos[]= - { - "LevelP25", - {0.22,0.035}, - 1 - }; - right[]= - { - "LevelP25", - {0.31999999,0.035}, - 1 - }; - down[]= - { - "LevelP25", - {0.22,0.085000001}, - 1 - }; - }; - class LevelM30: Level0 - { - type="line"; - points[]= - { - - { - "LevelM30", - {-0.2,-0.029999999}, - 1 - }, - - { - "LevelM30", - {-0.2,0}, - 1 - }, - - { - "LevelM30", - {-0.15000001,0}, - 1 - }, - {}, - - { - "LevelM30", - {-0.1,0}, - 1 - }, - - { - "LevelM30", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelM30", - {0.050000001,0}, - 1 - }, - - { - "LevelM30", - {0.1,0}, - 1 - }, - {}, - - { - "LevelM30", - {0.15000001,0}, - 1 - }, - - { - "LevelM30", - {0.2,0}, - 1 - }, - - { - "LevelM30", - {0.2,-0.029999999}, - 1 - } - }; - }; - class VALM_1_30 - { - type="text"; - source="static"; - text=-30; - align="left"; - scale=1; - sourceScale=57.2958; - pos[]= - { - "LevelM30", - {-0.23,-0.085000001}, - 1 - }; - right[]= - { - "LevelM30", - {-0.13,-0.085000001}, - 1 - }; - down[]= - { - "LevelM30", - {-0.23,-0.035}, - 1 - }; - }; - class VALM_2_30: VALM_1_30 - { - align="right"; - pos[]= - { - "LevelM30", - {0.22,-0.085000001}, - 1 - }; - right[]= - { - "LevelM30", - {0.31999999,-0.085000001}, - 1 - }; - down[]= - { - "LevelM30", - {0.22,-0.035}, - 1 - }; - }; - class LevelP30: Level0 - { - type="line"; - points[]= - { - - { - "LevelP30", - {-0.2,0.029999999}, - 1 - }, - - { - "LevelP30", - {-0.2,0}, - 1 - }, - - { - "LevelP30", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelP30", - {0.050000001,0}, - 1 - }, - - { - "LevelP30", - {0.2,0}, - 1 - }, - - { - "LevelP30", - {0.2,0.029999999}, - 1 - } - }; - }; - class VALP_1_30 - { - type="text"; - source="static"; - text="30"; - align="left"; - scale=1; - sourceScale=57.2958; - pos[]= - { - "LevelP30", - {-0.23,0.035}, - 1 - }; - right[]= - { - "LevelP30", - {-0.13,0.035}, - 1 - }; - down[]= - { - "LevelP30", - {-0.23,0.085000001}, - 1 - }; - }; - class VALP_2_30: VALP_1_30 - { - align="right"; - pos[]= - { - "LevelP30", - {0.22,0.035}, - 1 - }; - right[]= - { - "LevelP30", - {0.31999999,0.035}, - 1 - }; - down[]= - { - "LevelP30", - {0.22,0.085000001}, - 1 - }; - }; - class LevelM35: Level0 - { - type="line"; - points[]= - { - - { - "LevelM35", - {-0.2,-0.029999999}, - 1 - }, - - { - "LevelM35", - {-0.2,0}, - 1 - }, - - { - "LevelM35", - {-0.15000001,0}, - 1 - }, - {}, - - { - "LevelM35", - {-0.1,0}, - 1 - }, - - { - "LevelM35", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelM35", - {0.050000001,0}, - 1 - }, - - { - "LevelM35", - {0.1,0}, - 1 - }, - {}, - - { - "LevelM35", - {0.15000001,0}, - 1 - }, - - { - "LevelM35", - {0.2,0}, - 1 - }, - - { - "LevelM35", - {0.2,-0.029999999}, - 1 - } - }; - }; - class VALM_1_35 - { - type="text"; - source="static"; - text=-35; - align="left"; - scale=1; - sourceScale=57.2958; - pos[]= - { - "LevelM35", - {-0.23,-0.085000001}, - 1 - }; - right[]= - { - "LevelM35", - {-0.13,-0.085000001}, - 1 - }; - down[]= - { - "LevelM35", - {-0.23,-0.035}, - 1 - }; - }; - class VALM_2_35: VALM_1_35 - { - align="right"; - pos[]= - { - "LevelM35", - {0.22,-0.085000001}, - 1 - }; - right[]= - { - "LevelM35", - {0.31999999,-0.085000001}, - 1 - }; - down[]= - { - "LevelM35", - {0.22,-0.035}, - 1 - }; - }; - class LevelP35: Level0 - { - type="line"; - points[]= - { - - { - "LevelP35", - {-0.2,0.029999999}, - 1 - }, - - { - "LevelP35", - {-0.2,0}, - 1 - }, - - { - "LevelP35", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelP35", - {0.050000001,0}, - 1 - }, - - { - "LevelP35", - {0.2,0}, - 1 - }, - - { - "LevelP35", - {0.2,0.029999999}, - 1 - } - }; - }; - class VALP_1_35 - { - type="text"; - source="static"; - text="35"; - align="left"; - scale=1; - sourceScale=57.2958; - pos[]= - { - "LevelP35", - {-0.23,0.035}, - 1 - }; - right[]= - { - "LevelP35", - {-0.13,0.035}, - 1 - }; - down[]= - { - "LevelP35", - {-0.23,0.085000001}, - 1 - }; - }; - class VALP_2_35: VALP_1_35 - { - align="right"; - pos[]= - { - "LevelP35", - {0.22,0.035}, - 1 - }; - right[]= - { - "LevelP35", - {0.31999999,0.035}, - 1 - }; - down[]= - { - "LevelP35", - {0.22,0.085000001}, - 1 - }; - }; - class LevelM40: Level0 - { - type="line"; - points[]= - { - - { - "LevelM40", - {-0.2,-0.029999999}, - 1 - }, - - { - "LevelM40", - {-0.2,0}, - 1 - }, - - { - "LevelM40", - {-0.15000001,0}, - 1 - }, - {}, - - { - "LevelM40", - {-0.1,0}, - 1 - }, - - { - "LevelM40", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelM40", - {0.050000001,0}, - 1 - }, - - { - "LevelM40", - {0.1,0}, - 1 - }, - {}, - - { - "LevelM40", - {0.15000001,0}, - 1 - }, - - { - "LevelM40", - {0.2,0}, - 1 - }, - - { - "LevelM40", - {0.2,-0.029999999}, - 1 - } - }; - }; - class VALM_1_40 - { - type="text"; - source="static"; - text=-40; - align="left"; - scale=1; - sourceScale=57.2958; - pos[]= - { - "LevelM40", - {-0.23,-0.085000001}, - 1 - }; - right[]= - { - "LevelM40", - {-0.13,-0.085000001}, - 1 - }; - down[]= - { - "LevelM40", - {-0.23,-0.035}, - 1 - }; - }; - class VALM_2_40: VALM_1_40 - { - align="right"; - pos[]= - { - "LevelM40", - {0.22,-0.085000001}, - 1 - }; - right[]= - { - "LevelM40", - {0.31999999,-0.085000001}, - 1 - }; - down[]= - { - "LevelM40", - {0.22,-0.035}, - 1 - }; - }; - class LevelP40: Level0 - { - type="line"; - points[]= - { - - { - "LevelP40", - {-0.2,0.029999999}, - 1 - }, - - { - "LevelP40", - {-0.2,0}, - 1 - }, - - { - "LevelP40", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelP40", - {0.050000001,0}, - 1 - }, - - { - "LevelP40", - {0.2,0}, - 1 - }, - - { - "LevelP40", - {0.2,0.029999999}, - 1 - } - }; - }; - class VALP_1_40 - { - type="text"; - source="static"; - text="40"; - align="left"; - scale=1; - sourceScale=57.2958; - pos[]= - { - "LevelP40", - {-0.23,0.035}, - 1 - }; - right[]= - { - "LevelP40", - {-0.13,0.035}, - 1 - }; - down[]= - { - "LevelP40", - {-0.23,0.085000001}, - 1 - }; - }; - class VALP_2_40: VALP_1_40 - { - align="right"; - pos[]= - { - "LevelP40", - {0.22,0.035}, - 1 - }; - right[]= - { - "LevelP40", - {0.31999999,0.035}, - 1 - }; - down[]= - { - "LevelP40", - {0.22,0.085000001}, - 1 - }; - }; - class LevelM45: Level0 - { - type="line"; - points[]= - { - - { - "LevelM45", - {-0.2,-0.029999999}, - 1 - }, - - { - "LevelM45", - {-0.2,0}, - 1 - }, - - { - "LevelM45", - {-0.15000001,0}, - 1 - }, - {}, - - { - "LevelM45", - {-0.1,0}, - 1 - }, - - { - "LevelM45", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelM45", - {0.050000001,0}, - 1 - }, - - { - "LevelM45", - {0.1,0}, - 1 - }, - {}, - - { - "LevelM45", - {0.15000001,0}, - 1 - }, - - { - "LevelM45", - {0.2,0}, - 1 - }, - - { - "LevelM45", - {0.2,-0.029999999}, - 1 - } - }; - }; - class VALM_1_45 - { - type="text"; - source="static"; - text=-45; - align="left"; - scale=1; - sourceScale=57.2958; - pos[]= - { - "LevelM45", - {-0.23,-0.085000001}, - 1 - }; - right[]= - { - "LevelM45", - {-0.13,-0.085000001}, - 1 - }; - down[]= - { - "LevelM45", - {-0.23,-0.035}, - 1 - }; - }; - class VALM_2_45: VALM_1_45 - { - align="right"; - pos[]= - { - "LevelM45", - {0.22,-0.085000001}, - 1 - }; - right[]= - { - "LevelM45", - {0.31999999,-0.085000001}, - 1 - }; - down[]= - { - "LevelM45", - {0.22,-0.035}, - 1 - }; - }; - class LevelP45: Level0 - { - type="line"; - points[]= - { - - { - "LevelP45", - {-0.2,0.029999999}, - 1 - }, - - { - "LevelP45", - {-0.2,0}, - 1 - }, - - { - "LevelP45", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelP45", - {0.050000001,0}, - 1 - }, - - { - "LevelP45", - {0.2,0}, - 1 - }, - - { - "LevelP45", - {0.2,0.029999999}, - 1 - } - }; - }; - class VALP_1_45 - { - type="text"; - source="static"; - text="45"; - align="left"; - scale=1; - sourceScale=57.2958; - pos[]= - { - "LevelP45", - {-0.23,0.035}, - 1 - }; - right[]= - { - "LevelP45", - {-0.13,0.035}, - 1 - }; - down[]= - { - "LevelP45", - {-0.23,0.085000001}, - 1 - }; - }; - class VALP_2_45: VALP_1_45 - { - align="right"; - pos[]= - { - "LevelP45", - {0.22,0.035}, - 1 - }; - right[]= - { - "LevelP45", - {0.31999999,0.035}, - 1 - }; - down[]= - { - "LevelP45", - {0.22,0.085000001}, - 1 - }; - }; - class LevelM50: Level0 - { - type="line"; - points[]= - { - - { - "LevelM50", - {-0.2,-0.029999999}, - 1 - }, - - { - "LevelM50", - {-0.2,0}, - 1 - }, - - { - "LevelM50", - {-0.15000001,0}, - 1 - }, - {}, - - { - "LevelM50", - {-0.1,0}, - 1 - }, - - { - "LevelM50", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelM50", - {0.050000001,0}, - 1 - }, - - { - "LevelM50", - {0.1,0}, - 1 - }, - {}, - - { - "LevelM50", - {0.15000001,0}, - 1 - }, - - { - "LevelM50", - {0.2,0}, - 1 - }, - - { - "LevelM50", - {0.2,-0.029999999}, - 1 - } - }; - }; - class VALM_1_50 - { - type="text"; - source="static"; - text=-50; - align="left"; - scale=1; - sourceScale=57.2958; - pos[]= - { - "LevelM50", - {-0.23,-0.085000001}, - 1 - }; - right[]= - { - "LevelM50", - {-0.13,-0.085000001}, - 1 - }; - down[]= - { - "LevelM50", - {-0.23,-0.035}, - 1 - }; - }; - class VALM_2_50: VALM_1_50 - { - align="right"; - pos[]= - { - "LevelM50", - {0.22,-0.085000001}, - 1 - }; - right[]= - { - "LevelM50", - {0.31999999,-0.085000001}, - 1 - }; - down[]= - { - "LevelM50", - {0.22,-0.035}, - 1 - }; - }; - class LevelP50: Level0 - { - type="line"; - points[]= - { - - { - "LevelP50", - {-0.2,0.029999999}, - 1 - }, - - { - "LevelP50", - {-0.2,0}, - 1 - }, - - { - "LevelP50", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelP50", - {0.050000001,0}, - 1 - }, - - { - "LevelP50", - {0.2,0}, - 1 - }, - - { - "LevelP50", - {0.2,0.029999999}, - 1 - } - }; - }; - class VALP_1_50 - { - type="text"; - source="static"; - text="50"; - align="left"; - scale=1; - sourceScale=57.2958; - pos[]= - { - "LevelP50", - {-0.23,0.035}, - 1 - }; - right[]= - { - "LevelP50", - {-0.13,0.035}, - 1 - }; - down[]= - { - "LevelP50", - {-0.23,0.085000001}, - 1 - }; - }; - class VALP_2_50: VALP_1_50 - { - align="right"; - pos[]= - { - "LevelP50", - {0.22,0.035}, - 1 - }; - right[]= - { - "LevelP50", - {0.31999999,0.035}, - 1 - }; - down[]= - { - "LevelP50", - {0.22,0.085000001}, - 1 - }; - }; - }; - }; - */ - class Horizont - { - clipTL[]={0,0}; - clipBR[]={1.0,1.0}; - class Dimmed - { - class Level0 - { - type="line"; - points[]= - { - - { - "Level0", - {-0.3,0}, - 1 - }, - - { - "Level0", - {-0.050000001,0}, - 1 - }, - {}, - - { - "Level0", - {0.050000001,0}, - 1 - }, - - { - "Level0", - {0.3,0}, - 1 - } - }; - }; - /*class VALM_1_0 - { - type="text"; - source="static"; - text=0; - align="left"; - scale=1; - sourceScale=1; - pos[]= - { - "Level0", - {-0.23,-0.025}, - 1 - }; - right[]= - { - "Level0", - {-0.13,-0.025}, - 1 - }; - down[]= - { - "Level0", - {-0.23,0.025}, - 1 - }; - }; - class VALM_2_0: VALM_1_0 - { - align="right"; - pos[]= - { - "Level0", - {0.22,-0.025}, - 1 - }; - right[]= - { - "Level0", - {0.31999999,-0.025}, - 1 - }; - down[]= - { - "Level0", - {0.22,0.025}, - 1 - }; - }; - */ - class LevelM5: Level0 - { - type="line"; - width=3.0; - points[]= - { - - { - "LevelM5", - {-0.2,-0.029999999}, - 1 - }, - - { - "LevelM5", - {-0.2,0}, - 1 - }, - - { - "LevelM5", - {-0.15000001,0}, - 1 - }, - {}, - - { - "LevelM5", - {-0.1,0}, - 1 - }, - - { - "LevelM5", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelM5", - {0.050000001,0}, - 1 - }, - - { - "LevelM5", - {0.1,0}, - 1 - }, - {}, - - { - "LevelM5", - {0.15000001,0}, - 1 - }, - - { - "LevelM5", - {0.2,0}, - 1 - }, - - { - "LevelM5", - {0.2,-0.029999999}, - 1 - } - }; - }; - class VALM_1_5 - { - type="text"; - source="static"; - text=-5; - align="left"; - scale=1; - sourceScale=1; - pos[]= - { - "LevelM5", - {-0.22,-0.085000001}, - 1 - }; - right[]= - { - "LevelM5", - {-0.17,-0.085000001}, - 1 - }; - down[]= - { - "LevelM5", - {-0.22,-0.035}, - 1 - }; - }; - class VALM_2_5: VALM_1_5 - { - align="right"; - pos[]= - { - "LevelM5", - {0.22,-0.085000001}, - 1 - }; - right[]= - { - "LevelM5", - {0.27,-0.085000001}, - 1 - }; - down[]= - { - "LevelM5", - {0.22,-0.035}, - 1 - }; - }; - class LevelP5: Level0 - { - type="line"; - width=3.0; - points[]= - { - - { - "LevelP5", - {-0.2,0.029999999}, - 1 - }, - - { - "LevelP5", - {-0.2,0}, - 1 - }, - - { - "LevelP5", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelP5", - {0.050000001,0}, - 1 - }, - - { - "LevelP5", - {0.2,0}, - 1 - }, - - { - "LevelP5", - {0.2,0.029999999}, - 1 - } - }; - }; - class VALP_1_5 - { - type="text"; - source="static"; - text="5"; - align="left"; - scale=1; - sourceScale=1; - pos[]= - { - "LevelP5", - {-0.22,0.035}, - 1 - }; - right[]= - { - "LevelP5", - {-0.17,0.035}, - 1 - }; - down[]= - { - "LevelP5", - {-0.22,0.085000001}, - 1 - }; - }; - class VALP_2_5: VALP_1_5 - { - align="right"; - pos[]= - { - "LevelP5", - {0.22,0.035}, - 1 - }; - right[]= - { - "LevelP5", - {0.27,0.035}, - 1 - }; - down[]= - { - "LevelP5", - {0.22,0.085000001}, - 1 - }; - }; - class LevelM10: Level0 - { - type="line"; - width=3.0; - points[]= - { - - { - "LevelM10", - {-0.2,-0.029999999}, - 1 - }, - - { - "LevelM10", - {-0.2,0}, - 1 - }, - - { - "LevelM10", - {-0.15000001,0}, - 1 - }, - {}, - - { - "LevelM10", - {-0.1,0}, - 1 - }, - - { - "LevelM10", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelM10", - {0.050000001,0}, - 1 - }, - - { - "LevelM10", - {0.1,0}, - 1 - }, - {}, - - { - "LevelM10", - {0.15000001,0}, - 1 - }, - - { - "LevelM10", - {0.2,0}, - 1 - }, - - { - "LevelM10", - {0.2,-0.029999999}, - 1 - } - }; - }; - class VALM_1_10 - { - type="text"; - source="static"; - text=-10; - align="left"; - scale=1; - sourceScale=1; - pos[]= - { - "LevelM10", - {-0.22,-0.085000001}, - 1 - }; - right[]= - { - "LevelM10", - {-0.17,-0.085000001}, - 1 - }; - down[]= - { - "LevelM10", - {-0.22,-0.035}, - 1 - }; - }; - class VALM_2_10: VALM_1_10 - { - align="right"; - pos[]= - { - "LevelM10", - {0.22,-0.085000001}, - 1 - }; - right[]= - { - "LevelM10", - {0.27,-0.085000001}, - 1 - }; - down[]= - { - "LevelM10", - {0.22,-0.035}, - 1 - }; - }; - class LevelP10: Level0 - { - type="line"; - width=3.0; - points[]= - { - - { - "LevelP10", - {-0.2,0.029999999}, - 1 - }, - - { - "LevelP10", - {-0.2,0}, - 1 - }, - - { - "LevelP10", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelP10", - {0.050000001,0}, - 1 - }, - - { - "LevelP10", - {0.2,0}, - 1 - }, - - { - "LevelP10", - {0.2,0.029999999}, - 1 - } - }; - }; - class VALP_1_10 - { - type="text"; - source="static"; - text="10"; - align="left"; - scale=1; - sourceScale=1; - pos[]= - { - "LevelP10", - {-0.22,0.035}, - 1 - }; - right[]= - { - "LevelP10", - {-0.17,0.035}, - 1 - }; - down[]= - { - "LevelP10", - {-0.22,0.085000001}, - 1 - }; - }; - class VALP_2_10: VALP_1_10 - { - align="right"; - pos[]= - { - "LevelP10", - {0.22,0.035}, - 1 - }; - right[]= - { - "LevelP10", - {0.27,0.035}, - 1 - }; - down[]= - { - "LevelP10", - {0.22,0.085000001}, - 1 - }; - }; - class LevelM15: Level0 - { - type="line"; - width=3.0; - points[]= - { - - { - "LevelM15", - {-0.2,-0.029999999}, - 1 - }, - - { - "LevelM15", - {-0.2,0}, - 1 - }, - - { - "LevelM15", - {-0.15000001,0}, - 1 - }, - {}, - - { - "LevelM15", - {-0.1,0}, - 1 - }, - - { - "LevelM15", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelM15", - {0.050000001,0}, - 1 - }, - - { - "LevelM15", - {0.1,0}, - 1 - }, - {}, - - { - "LevelM15", - {0.15000001,0}, - 1 - }, - - { - "LevelM15", - {0.2,0}, - 1 - }, - - { - "LevelM15", - {0.2,-0.029999999}, - 1 - } - }; - }; - class VALM_1_15 - { - type="text"; - source="static"; - text=-15; - align="left"; - scale=1; - sourceScale=1; - pos[]= - { - "LevelM15", - {-0.22,-0.085000001}, - 1 - }; - right[]= - { - "LevelM15", - {-0.17,-0.085000001}, - 1 - }; - down[]= - { - "LevelM15", - {-0.22,-0.035}, - 1 - }; - }; - class VALM_2_15: VALM_1_15 - { - align="right"; - pos[]= - { - "LevelM15", - {0.22,-0.085000001}, - 1 - }; - right[]= - { - "LevelM15", - {0.27,-0.085000001}, - 1 - }; - down[]= - { - "LevelM15", - {0.22,-0.035}, - 1 - }; - }; - class LevelP15: Level0 - { - type="line"; - width=3.0; - points[]= - { - - { - "LevelP15", - {-0.2,0.029999999}, - 1 - }, - - { - "LevelP15", - {-0.2,0}, - 1 - }, - - { - "LevelP15", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelP15", - {0.050000001,0}, - 1 - }, - - { - "LevelP15", - {0.2,0}, - 1 - }, - - { - "LevelP15", - {0.2,0.029999999}, - 1 - } - }; - }; - class VALP_1_15 - { - type="text"; - source="static"; - text="15"; - align="left"; - scale=1; - sourceScale=1; - pos[]= - { - "LevelP15", - {-0.22,0.035}, - 1 - }; - right[]= - { - "LevelP15", - {-0.17,0.035}, - 1 - }; - down[]= - { - "LevelP15", - {-0.22,0.085000001}, - 1 - }; - }; - class VALP_2_15: VALP_1_15 - { - align="right"; - pos[]= - { - "LevelP15", - {0.22,0.035}, - 1 - }; - right[]= - { - "LevelP15", - {0.27,0.035}, - 1 - }; - down[]= - { - "LevelP15", - {0.22,0.085000001}, - 1 - }; - }; - class LevelM20: Level0 - { - type="line"; - width=3.0; - points[]= - { - - { - "LevelM20", - {-0.2,-0.029999999}, - 1 - }, - - { - "LevelM20", - {-0.2,0}, - 1 - }, - - { - "LevelM20", - {-0.15000001,0}, - 1 - }, - {}, - - { - "LevelM20", - {-0.1,0}, - 1 - }, - - { - "LevelM20", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelM20", - {0.050000001,0}, - 1 - }, - - { - "LevelM20", - {0.1,0}, - 1 - }, - {}, - - { - "LevelM20", - {0.15000001,0}, - 1 - }, - - { - "LevelM20", - {0.2,0}, - 1 - }, - - { - "LevelM20", - {0.2,-0.029999999}, - 1 - } - }; - }; - class VALM_1_20 - { - type="text"; - source="static"; - text=-20; - align="left"; - scale=1; - sourceScale=1; - pos[]= - { - "LevelM20", - {-0.22,-0.085000001}, - 1 - }; - right[]= - { - "LevelM20", - {-0.17,-0.085000001}, - 1 - }; - down[]= - { - "LevelM20", - {-0.22,-0.035}, - 1 - }; - }; - class VALM_2_20: VALM_1_20 - { - align="right"; - pos[]= - { - "LevelM20", - {0.22,-0.085000001}, - 1 - }; - right[]= - { - "LevelM20", - {0.27,-0.085000001}, - 1 - }; - down[]= - { - "LevelM20", - {0.22,-0.035}, - 1 - }; - }; - class LevelP20: Level0 - { - type="line"; - width=3.0; - points[]= - { - - { - "LevelP20", - {-0.2,0.029999999}, - 1 - }, - - { - "LevelP20", - {-0.2,0}, - 1 - }, - - { - "LevelP20", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelP20", - {0.050000001,0}, - 1 - }, - - { - "LevelP20", - {0.2,0}, - 1 - }, - - { - "LevelP20", - {0.2,0.029999999}, - 1 - } - }; - }; - class VALP_1_20 - { - type="text"; - source="static"; - text="20"; - align="left"; - scale=1; - sourceScale=1; - pos[]= - { - "LevelP20", - {-0.22,0.035}, - 1 - }; - right[]= - { - "LevelP20", - {-0.17,0.035}, - 1 - }; - down[]= - { - "LevelP20", - {-0.22,0.085000001}, - 1 - }; - }; - class VALP_2_20: VALP_1_20 - { - align="right"; - pos[]= - { - "LevelP20", - {0.22,0.035}, - 1 - }; - right[]= - { - "LevelP20", - {0.27,0.035}, - 1 - }; - down[]= - { - "LevelP20", - {0.22,0.085000001}, - 1 - }; - }; - class LevelM25: Level0 - { - type="line"; - width=3.0; - points[]= - { - - { - "LevelM25", - {-0.2,-0.029999999}, - 1 - }, - - { - "LevelM25", - {-0.2,0}, - 1 - }, - - { - "LevelM25", - {-0.15000001,0}, - 1 - }, - {}, - - { - "LevelM25", - {-0.1,0}, - 1 - }, - - { - "LevelM25", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelM25", - {0.050000001,0}, - 1 - }, - - { - "LevelM25", - {0.1,0}, - 1 - }, - {}, - - { - "LevelM25", - {0.15000001,0}, - 1 - }, - - { - "LevelM25", - {0.2,0}, - 1 - }, - - { - "LevelM25", - {0.2,-0.029999999}, - 1 - } - }; - }; - class VALM_1_25 - { - type="text"; - source="static"; - text=-25; - align="left"; - scale=1; - sourceScale=1; - pos[]= - { - "LevelM25", - {-0.22,-0.085000001}, - 1 - }; - right[]= - { - "LevelM25", - {-0.17,-0.085000001}, - 1 - }; - down[]= - { - "LevelM25", - {-0.22,-0.035}, - 1 - }; - }; - class VALM_2_25: VALM_1_25 - { - align="right"; - pos[]= - { - "LevelM25", - {0.22,-0.085000001}, - 1 - }; - right[]= - { - "LevelM25", - {0.27,-0.085000001}, - 1 - }; - down[]= - { - "LevelM25", - {0.22,-0.035}, - 1 - }; - }; - class LevelP25: Level0 - { - type="line"; - width=3.0; - points[]= - { - - { - "LevelP25", - {-0.2,0.029999999}, - 1 - }, - - { - "LevelP25", - {-0.2,0}, - 1 - }, - - { - "LevelP25", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelP25", - {0.050000001,0}, - 1 - }, - - { - "LevelP25", - {0.2,0}, - 1 - }, - - { - "LevelP25", - {0.2,0.029999999}, - 1 - } - }; - }; - class VALP_1_25 - { - type="text"; - source="static"; - text="25"; - align="left"; - scale=1; - sourceScale=1; - pos[]= - { - "LevelP25", - {-0.22,0.035}, - 1 - }; - right[]= - { - "LevelP25", - {-0.17,0.035}, - 1 - }; - down[]= - { - "LevelP25", - {-0.22,0.085000001}, - 1 - }; - }; - class VALP_2_25: VALP_1_25 - { - align="right"; - pos[]= - { - "LevelP25", - {0.22,0.035}, - 1 - }; - right[]= - { - "LevelP25", - {0.27,0.035}, - 1 - }; - down[]= - { - "LevelP25", - {0.22,0.085000001}, - 1 - }; - }; - class LevelM30: Level0 - { - type="line"; - width=3.0; - points[]= - { - - { - "LevelM30", - {-0.2,-0.029999999}, - 1 - }, - - { - "LevelM30", - {-0.2,0}, - 1 - }, - - { - "LevelM30", - {-0.15000001,0}, - 1 - }, - {}, - - { - "LevelM30", - {-0.1,0}, - 1 - }, - - { - "LevelM30", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelM30", - {0.050000001,0}, - 1 - }, - - { - "LevelM30", - {0.1,0}, - 1 - }, - {}, - - { - "LevelM30", - {0.15000001,0}, - 1 - }, - - { - "LevelM30", - {0.2,0}, - 1 - }, - - { - "LevelM30", - {0.2,-0.029999999}, - 1 - } - }; - }; - class VALM_1_30 - { - type="text"; - source="static"; - text=-30; - align="left"; - scale=1; - sourceScale=1; - pos[]= - { - "LevelM30", - {-0.22,-0.085000001}, - 1 - }; - right[]= - { - "LevelM30", - {-0.17,-0.085000001}, - 1 - }; - down[]= - { - "LevelM30", - {-0.22,-0.035}, - 1 - }; - }; - class VALM_2_30: VALM_1_30 - { - align="right"; - pos[]= - { - "LevelM30", - {0.22,-0.085000001}, - 1 - }; - right[]= - { - "LevelM30", - {0.27,-0.085000001}, - 1 - }; - down[]= - { - "LevelM30", - {0.22,-0.035}, - 1 - }; - }; - class LevelP30: Level0 - { - type="line"; - width=3.0; - points[]= - { - - { - "LevelP30", - {-0.2,0.029999999}, - 1 - }, - - { - "LevelP30", - {-0.2,0}, - 1 - }, - - { - "LevelP30", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelP30", - {0.050000001,0}, - 1 - }, - - { - "LevelP30", - {0.2,0}, - 1 - }, - - { - "LevelP30", - {0.2,0.029999999}, - 1 - } - }; - }; - class VALP_1_30 - { - type="text"; - source="static"; - text="30"; - align="left"; - scale=1; - sourceScale=1; - pos[]= - { - "LevelP30", - {-0.22,0.035}, - 1 - }; - right[]= - { - "LevelP30", - {-0.17,0.035}, - 1 - }; - down[]= - { - "LevelP30", - {-0.22,0.085000001}, - 1 - }; - }; - class VALP_2_30: VALP_1_30 - { - align="right"; - pos[]= - { - "LevelP30", - {0.22,0.035}, - 1 - }; - right[]= - { - "LevelP30", - {0.27,0.035}, - 1 - }; - down[]= - { - "LevelP30", - {0.22,0.085000001}, - 1 - }; - }; - class LevelM35: Level0 - { - type="line"; - width=3.0; - points[]= - { - - { - "LevelM35", - {-0.2,-0.029999999}, - 1 - }, - - { - "LevelM35", - {-0.2,0}, - 1 - }, - - { - "LevelM35", - {-0.15000001,0}, - 1 - }, - {}, - - { - "LevelM35", - {-0.1,0}, - 1 - }, - - { - "LevelM35", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelM35", - {0.050000001,0}, - 1 - }, - - { - "LevelM35", - {0.1,0}, - 1 - }, - {}, - - { - "LevelM35", - {0.15000001,0}, - 1 - }, - - { - "LevelM35", - {0.2,0}, - 1 - }, - - { - "LevelM35", - {0.2,-0.029999999}, - 1 - } - }; - }; - class VALM_1_35 - { - type="text"; - source="static"; - text=-35; - align="left"; - scale=1; - sourceScale=1; - pos[]= - { - "LevelM35", - {-0.22,-0.085000001}, - 1 - }; - right[]= - { - "LevelM35", - {-0.17,-0.085000001}, - 1 - }; - down[]= - { - "LevelM35", - {-0.22,-0.035}, - 1 - }; - }; - class VALM_2_35: VALM_1_35 - { - align="right"; - pos[]= - { - "LevelM35", - {0.22,-0.085000001}, - 1 - }; - right[]= - { - "LevelM35", - {0.27,-0.085000001}, - 1 - }; - down[]= - { - "LevelM35", - {0.22,-0.035}, - 1 - }; - }; - class LevelP35: Level0 - { - type="line"; - width=3.0; - points[]= - { - - { - "LevelP35", - {-0.2,0.029999999}, - 1 - }, - - { - "LevelP35", - {-0.2,0}, - 1 - }, - - { - "LevelP35", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelP35", - {0.050000001,0}, - 1 - }, - - { - "LevelP35", - {0.2,0}, - 1 - }, - - { - "LevelP35", - {0.2,0.029999999}, - 1 - } - }; - }; - class VALP_1_35 - { - type="text"; - source="static"; - text="35"; - align="left"; - scale=1; - sourceScale=1; - pos[]= - { - "LevelP35", - {-0.22,0.035}, - 1 - }; - right[]= - { - "LevelP35", - {-0.17,0.035}, - 1 - }; - down[]= - { - "LevelP35", - {-0.22,0.085000001}, - 1 - }; - }; - class VALP_2_35: VALP_1_35 - { - align="right"; - pos[]= - { - "LevelP35", - {0.22,0.035}, - 1 - }; - right[]= - { - "LevelP35", - {0.27,0.035}, - 1 - }; - down[]= - { - "LevelP35", - {0.22,0.085000001}, - 1 - }; - }; - class LevelM40: Level0 - { - type="line"; - width=3.0; - points[]= - { - - { - "LevelM40", - {-0.2,-0.029999999}, - 1 - }, - - { - "LevelM40", - {-0.2,0}, - 1 - }, - - { - "LevelM40", - {-0.15000001,0}, - 1 - }, - {}, - - { - "LevelM40", - {-0.1,0}, - 1 - }, - - { - "LevelM40", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelM40", - {0.050000001,0}, - 1 - }, - - { - "LevelM40", - {0.1,0}, - 1 - }, - {}, - - { - "LevelM40", - {0.15000001,0}, - 1 - }, - - { - "LevelM40", - {0.2,0}, - 1 - }, - - { - "LevelM40", - {0.2,-0.029999999}, - 1 - } - }; - }; - class VALM_1_40 - { - type="text"; - source="static"; - text=-40; - align="left"; - scale=1; - sourceScale=1; - pos[]= - { - "LevelM40", - {-0.22,-0.085000001}, - 1 - }; - right[]= - { - "LevelM40", - {-0.17,-0.085000001}, - 1 - }; - down[]= - { - "LevelM40", - {-0.22,-0.035}, - 1 - }; - }; - class VALM_2_40: VALM_1_40 - { - align="right"; - pos[]= - { - "LevelM40", - {0.22,-0.085000001}, - 1 - }; - right[]= - { - "LevelM40", - {0.27,-0.085000001}, - 1 - }; - down[]= - { - "LevelM40", - {0.22,-0.035}, - 1 - }; - }; - class LevelP40: Level0 - { - type="line"; - width=3.0; - points[]= - { - - { - "LevelP40", - {-0.2,0.029999999}, - 1 - }, - - { - "LevelP40", - {-0.2,0}, - 1 - }, - - { - "LevelP40", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelP40", - {0.050000001,0}, - 1 - }, - - { - "LevelP40", - {0.2,0}, - 1 - }, - - { - "LevelP40", - {0.2,0.029999999}, - 1 - } - }; - }; - class VALP_1_40 - { - type="text"; - source="static"; - text="40"; - align="left"; - scale=1; - sourceScale=1; - pos[]= - { - "LevelP40", - {-0.22,0.035}, - 1 - }; - right[]= - { - "LevelP40", - {-0.17,0.035}, - 1 - }; - down[]= - { - "LevelP40", - {-0.22,0.085000001}, - 1 - }; - }; - class VALP_2_40: VALP_1_40 - { - align="right"; - pos[]= - { - "LevelP40", - {0.22,0.035}, - 1 - }; - right[]= - { - "LevelP40", - {0.27,0.035}, - 1 - }; - down[]= - { - "LevelP40", - {0.22,0.085000001}, - 1 - }; - }; - class LevelM45: Level0 - { - type="line"; - width=3.0; - points[]= - { - - { - "LevelM45", - {-0.2,-0.029999999}, - 1 - }, - - { - "LevelM45", - {-0.2,0}, - 1 - }, - - { - "LevelM45", - {-0.15000001,0}, - 1 - }, - {}, - - { - "LevelM45", - {-0.1,0}, - 1 - }, - - { - "LevelM45", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelM45", - {0.050000001,0}, - 1 - }, - - { - "LevelM45", - {0.1,0}, - 1 - }, - {}, - - { - "LevelM45", - {0.15000001,0}, - 1 - }, - - { - "LevelM45", - {0.2,0}, - 1 - }, - - { - "LevelM45", - {0.2,-0.029999999}, - 1 - } - }; - }; - class VALM_1_45 - { - type="text"; - source="static"; - text=-45; - align="left"; - scale=1; - sourceScale=1; - pos[]= - { - "LevelM45", - {-0.22,-0.085000001}, - 1 - }; - right[]= - { - "LevelM45", - {-0.17,-0.085000001}, - 1 - }; - down[]= - { - "LevelM45", - {-0.22,-0.035}, - 1 - }; - }; - class VALM_2_45: VALM_1_45 - { - align="right"; - pos[]= - { - "LevelM45", - {0.22,-0.085000001}, - 1 - }; - right[]= - { - "LevelM45", - {0.27,-0.085000001}, - 1 - }; - down[]= - { - "LevelM45", - {0.22,-0.035}, - 1 - }; - }; - class LevelP45: Level0 - { - type="line"; - width=3.0; - points[]= - { - - { - "LevelP45", - {-0.2,0.029999999}, - 1 - }, - - { - "LevelP45", - {-0.2,0}, - 1 - }, - - { - "LevelP45", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelP45", - {0.050000001,0}, - 1 - }, - - { - "LevelP45", - {0.2,0}, - 1 - }, - - { - "LevelP45", - {0.2,0.029999999}, - 1 - } - }; - }; - class VALP_1_45 - { - type="text"; - source="static"; - text="45"; - align="left"; - scale=1; - sourceScale=1; - pos[]= - { - "LevelP45", - {-0.22,0.035}, - 1 - }; - right[]= - { - "LevelP45", - {-0.17,0.035}, - 1 - }; - down[]= - { - "LevelP45", - {-0.22,0.085000001}, - 1 - }; - }; - class VALP_2_45: VALP_1_45 - { - align="right"; - pos[]= - { - "LevelP45", - {0.22,0.035}, - 1 - }; - right[]= - { - "LevelP45", - {0.27,0.035}, - 1 - }; - down[]= - { - "LevelP45", - {0.22,0.085000001}, - 1 - }; - }; - class LevelM50: Level0 - { - type="line"; - width=3.0; - points[]= - { - - { - "LevelM50", - {-0.2,-0.029999999}, - 1 - }, - - { - "LevelM50", - {-0.2,0}, - 1 - }, - - { - "LevelM50", - {-0.15000001,0}, - 1 - }, - {}, - - { - "LevelM50", - {-0.1,0}, - 1 - }, - - { - "LevelM50", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelM50", - {0.050000001,0}, - 1 - }, - - { - "LevelM50", - {0.1,0}, - 1 - }, - {}, - - { - "LevelM50", - {0.15000001,0}, - 1 - }, - - { - "LevelM50", - {0.2,0}, - 1 - }, - - { - "LevelM50", - {0.2,-0.029999999}, - 1 - } - }; - }; - class VALM_1_50 - { - type="text"; - source="static"; - text=-50; - align="left"; - scale=1; - sourceScale=1; - pos[]= - { - "LevelM50", - {-0.22,-0.085000001}, - 1 - }; - right[]= - { - "LevelM50", - {-0.17,-0.085000001}, - 1 - }; - down[]= - { - "LevelM50", - {-0.22,-0.035}, - 1 - }; - }; - class VALM_2_50: VALM_1_50 - { - align="right"; - pos[]= - { - "LevelM50", - {0.22,-0.085000001}, - 1 - }; - right[]= - { - "LevelM50", - {0.27,-0.085000001}, - 1 - }; - down[]= - { - "LevelM50", - {0.22,-0.035}, - 1 - }; - }; - class LevelP50: Level0 - { - type="line"; - width=3.0; - points[]= - { - - { - "LevelP50", - {-0.2,0.029999999}, - 1 - }, - - { - "LevelP50", - {-0.2,0}, - 1 - }, - - { - "LevelP50", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelP50", - {0.050000001,0}, - 1 - }, - - { - "LevelP50", - {0.2,0}, - 1 - }, - - { - "LevelP50", - {0.2,0.029999999}, - 1 - } - }; - }; - class VALP_1_50 - { - type="text"; - source="static"; - text="50"; - align="left"; - scale=1; - sourceScale=1; - pos[]= - { - "LevelP50", - {-0.22,0.035}, - 1 - }; - right[]= - { - "LevelP50", - {-0.17,0.035}, - 1 - }; - down[]= - { - "LevelP50", - {-0.22,0.085000001}, - 1 - }; - }; - class VALP_2_50: VALP_1_50 - { - align="right"; - pos[]= - { - "LevelP50", - {0.22,0.035}, - 1 - }; - right[]= - { - "LevelP50", - {0.27,0.035}, - 1 - }; - down[]= - { - "LevelP50", - {0.22,0.085000001}, - 1 - }; - }; - }; - }; - class PlaneMovementCrosshair //fwd - { - clipTL[]={0,1}; - clipBR[]={1,0}; - type="line"; - width=6; - points[]= - { - {"ForwardVec1",1,"Velocity",1,{"0 *2 /3","-0.02 *2 /3"},1}, - {"ForwardVec1",1,"Velocity",1,{"0.0099999998 *2 /3","-0.01732 *2 /3"},1}, - {"ForwardVec1",1,"Velocity",1,{"0.01732 *2 /3","-0.0099999998 *2 /3"},1}, - {"ForwardVec1",1,"Velocity",1,{"0.02 *2 /3","0 *2 /3"},1}, - {"ForwardVec1",1,"Velocity",1,{"0.01732 *2 /3","0.0099999998 *2 /3"},1}, - {"ForwardVec1",1,"Velocity",1,{"0.0099999998 *2 /3","0.01732 *2 /3"},1}, - {"ForwardVec1",1,"Velocity",1,{"0 *2 /3","0.02 *2 /3"},1}, - {"ForwardVec1",1,"Velocity",1,{"-0.0099999998 *2 /3","0.01732 *2 /3"},1}, - {"ForwardVec1",1,"Velocity",1,{"-0.01732 *2 /3","0.0099999998 *2 /3"},1}, - {"ForwardVec1",1,"Velocity",1,{"-0.02 *2 /3","0 *2 /3"},1}, - {"ForwardVec1",1,"Velocity",1,{"-0.01732 *2 /3","-0.0099999998 *2 /3"},1}, - {"ForwardVec1",1,"Velocity",1,{"-0.0099999998 *2 /3","-0.01732 *2 /3"},1}, - {"ForwardVec1",1,"Velocity",1,{"0 *2 /3","-0.02 *2 /3"},1}, - - {}, - - {"ForwardVec1",1,"Velocity",1,{0.035,0},1}, - {"ForwardVec1",1,"Velocity",1,{"0.02 *2 /3",0},1}, - - {}, - - {"ForwardVec1",1,"Velocity",1,{-0.035,0},1}, - {"ForwardVec1",1,"Velocity",1,{"-0.02 *2 /3",0},1}, - - {}, - - {"ForwardVec1",1,"Velocity",1,{0,"-0.039999999 *2 /3"},1}, - {"ForwardVec1",1,"Velocity",1,{0,"-0.02 *2 /3"},1} - }; - }; - class RadarTargets //fwd - { - type="radar"; - //pos0[]={0.50,0.38}; - //pos10[]={1.40,1.22}; - ///pos0[]={0.50,0.27}; - ///pos10[]={1.40,1.10}; - pos0[]={0.50,0.32}; - pos10[]={1.382,1.145}; - width=2.5; - points[]= - { - - { - "ForwardVec",1,"RadarContact", - {-0.02,-0.02}, - 1 - }, - - { - "ForwardVec",1,"RadarContact", - {0.02,-0.02}, - 1 - }, - - { - "ForwardVec",1,"RadarContact", - {0.02,0.02}, - 1 - }, - - { - "ForwardVec",1,"RadarContact", - {-0.02,0.02}, - 1 - }, - - { - "ForwardVec",1,"RadarContact", - {-0.02,-0.02}, - 1 - } - }; - }; - class AA_target //fwd - { - condition="AAmissile"; - class Target - { - type = "line"; - points[] = - { - /*{ "TargetSelected",{ 0,"-0.08 + 0.2" },1 }, - { "TargetSelected",{ 0.05,"-0.0696 + 0.2" },1 }, - { "TargetSelected",{ 0.087,"-0.50*0.10/(1.5/1.2) + 0.2" },1 }, - { "TargetSelected",{ 0.1,"0 + 0.2"},1 }, - { "TargetSelected",{ 0.087,"0.04 + 0.2" },1 }, - { "TargetSelected",{ 0.05,"+0.87*0.10/(1.5/1.2) + 0.2" },1 }, - { "TargetSelected",{ 0,"0.08 + 0.2"},1 }, - { "TargetSelected",{ -0.05,"0.0696 + 0.2"},1 }, - { "TargetSelected",{ -0.087,"+0.50*0.10/(1.5/1.2) + 0.2" },1 }, - { "TargetSelected",{ -0.1,"0 + 0.2" },1 }, - { "TargetSelected",{ -0.087,"-0.04 + 0.2" },1 }, - { "TargetSelected",{ -0.05,"-0.87*0.10/(1.5/1.2) + 0.2" },1 }, - { "TargetSelected",{ 0,"-0.08 + 0.2" },1 }*/ - - { - "ForwardVec",1,"TargetSelected",1, - {0,-0.02}, - 1 - }, - - { - "ForwardVec",1,"TargetSelected",1, - {0.0099999998,-0.01732}, - 1 - }, - - { - "ForwardVec",1,"TargetSelected",1, - {0.01732,-0.0099999998}, - 1 - }, - - { - "ForwardVec",1,"TargetSelected",1, - {0.02,0}, - 1 - }, - - { - "ForwardVec",1,"TargetSelected",1, - {0.01732,0.0099999998}, - 1 - }, - - { - "ForwardVec",1,"TargetSelected",1, - {0.0099999998,0.01732}, - 1 - }, - - { - "ForwardVec",1,"TargetSelected",1, - {0,0.02}, - 1 - }, - - { - "ForwardVec",1,"TargetSelected",1, - {-0.0099999998,0.01732}, - 1 - }, - - { - "ForwardVec",1,"TargetSelected",1, - {-0.01732,0.0099999998}, - 1 - }, - - { - "ForwardVec",1,"TargetSelected",1, - {-0.02,0}, - 1 - }, - - { - "ForwardVec",1,"TargetSelected",1, - {-0.01732,-0.0099999998}, - 1 - }, - - { - "ForwardVec",1,"TargetSelected",1, - {-0.0099999998,-0.01732}, - 1 - }, - - { - "ForwardVec",1,"TargetSelected",1, - {0,-0.02}, - 1 - } - }; - }; - }; - class AG_target //fwd - { - condition="ATmissile"; - class Target - { - type = "line"; - points[] = - { - /*{ "TargetSelected",{ 0,"-0.08" },1 }, - { "TargetSelected",{ 0.05,"-0.0696" },1 }, - { "TargetSelected",{ 0.087,"-0.50*0.10/(1.5/1.2)" },1 }, - { "TargetSelected",{ 0.1,"0"},1 }, - { "TargetSelected",{ 0.087,"0.04" },1 }, - { "TargetSelected",{ 0.05,"+0.87*0.10/(1.5/1.2)" },1 }, - { "TargetSelected",{ 0,"0.08"},1 }, - { "TargetSelected",{ -0.05,"0.0696"},1 }, - { "TargetSelected",{ -0.087,"+0.50*0.10/(1.5/1.2)" },1 }, - { "TargetSelected",{ -0.1,"0" },1 }, - { "TargetSelected",{ -0.087,"-0.04" },1 }, - { "TargetSelected",{ -0.05,"-0.87*0.10/(1.5/1.2)" },1 }, - { "TargetSelected",{ 0,"-0.08" },1 },*/ - - { - "ForwardVec",1,"TargetSelected",1, - {0,-0.02}, - 1 - }, - - { - "ForwardVec",1,"TargetSelected",1, - {0.0099999998,-0.01732}, - 1 - }, - - { - "ForwardVec",1,"TargetSelected",1, - {0.01732,-0.0099999998}, - 1 - }, - - { - "ForwardVec",1,"TargetSelected",1, - {0.02,0}, - 1 - }, - - { - "ForwardVec",1,"TargetSelected",1, - {0.01732,0.0099999998}, - 1 - }, - - { - "ForwardVec",1,"TargetSelected",1, - {0.0099999998,0.01732}, - 1 - }, - - { - "ForwardVec",1,"TargetSelected",1, - {0,0.02}, - 1 - }, - - { - "ForwardVec",1,"TargetSelected",1, - {-0.0099999998,0.01732}, - 1 - }, - - { - "ForwardVec",1,"TargetSelected",1, - {-0.01732,0.0099999998}, - 1 - }, - - { - "ForwardVec",1,"TargetSelected",1, - {-0.02,0}, - 1 - }, - - { - "ForwardVec",1,"TargetSelected",1, - {-0.01732,-0.0099999998}, - 1 - }, - - { - "ForwardVec",1,"TargetSelected",1, - {-0.0099999998,-0.01732}, - 1 - }, - - { - "ForwardVec",1,"TargetSelected",1, - {0,-0.02}, - 1 - }, - - - {}, - { "ForwardVec",1,"TargetSelected",1,{ 0,-0.02 },1 }, - { "ForwardVec",1,"TargetSelected",1,{ 0,-0.01 },1 }, - {}, - { "ForwardVec",1,"TargetSelected",1,{ 0,0.02 },1 }, - { "ForwardVec",1,"TargetSelected",1,{ 0,0.01 },1 }, - {}, - { "ForwardVec",1,"TargetSelected",1,{ 0.02,0 },1 }, - { "ForwardVec",1,"TargetSelected",1,{ 0.01,0 },1 }, - {}, - { "ForwardVec",1,"TargetSelected",1,{ -0.02,0 },1 }, - { "ForwardVec",1,"TargetSelected",1,{ -0.01,0 },1 } - }; - }; - }; - class GUN_target //fwd - { - condition="mgun"; - class Target - { - type="line"; - width=4; - points[]= - { - //////////////////////////////////////////////// UP - - /*{ "ForwardVec",1,"target",{ 0,-0.060 },1 }, - { "ForwardVec",1,"target",{ 0,-0.055 },1 }, - {}, - { "ForwardVec",1,"target",{ 0,-0.050 },1 }, - { "ForwardVec",1,"target",{ 0,-0.045 },1 }, - {}, - { "ForwardVec",1,"target",{ 0,-0.040 },1 }, - { "ForwardVec",1,"target",{ 0,-0.035 },1 }, - {},*/ - { "ForwardVec",1,"TargetSelected",1,{ 0,-0.030 },1 }, - { "ForwardVec",1,"TargetSelected",1,{ 0,-0.025 },1 }, - {}, - { "ForwardVec",1,"TargetSelected",1,{ 0,-0.020 },1 }, - { "ForwardVec",1,"TargetSelected",1,{ 0,-0.015 },1 }, - {}, - { "ForwardVec",1,"TargetSelected",1,{ 0,-0.010 },1 }, - { "ForwardVec",1,"TargetSelected",1,{ 0,-0.005 },1 }, - {}, - //////////////////////////////////////////////// center - { "ForwardVec",1,"TargetSelected",1,{ 0,0 },1 }, - { "ForwardVec",1,"TargetSelected",1,{ 0,0 },1 }, - {}, - /////////////////////////////////////////////// DOWN - - /*{ "ForwardVec",1,"target",{ 0,0.060 },1 }, - { "ForwardVec",1,"target",{ 0,0.055 },1 }, - {}, - { "ForwardVec",1,"target",{ 0,0.050 },1 }, - { "ForwardVec",1,"target",{ 0,0.045 },1 }, - {}, - { "ForwardVec",1,"target",{ 0,0.040 },1 }, - { "ForwardVec",1,"target",{ 0,0.035 },1 }, - {},*/ - { "ForwardVec",1,"TargetSelected",1,{ 0,0.030 },1 }, - { "ForwardVec",1,"TargetSelected",1,{ 0,0.025 },1 }, - {}, - { "ForwardVec",1,"TargetSelected",1,{ 0,0.020 },1 }, - { "ForwardVec",1,"TargetSelected",1,{ 0,0.015 },1 }, - {}, - { "ForwardVec",1,"TargetSelected",1,{ 0,0.010 },1 }, - { "ForwardVec",1,"TargetSelected",1,{ 0,0.005 },1 }, - {}, - /////////////////////////////////////////////// LEFT - - /*{ "ForwardVec",1,"target",{ -0.060, 0 },1 }, - { "ForwardVec",1,"target",{ -0.055, 0 },1 }, - {}, - { "ForwardVec",1,"target",{ -0.050, 0 },1 }, - { "ForwardVec",1,"target",{ -0.045, 0 },1 }, - {}, - { "ForwardVec",1,"target",{ -0.040, 0 },1 }, - { "ForwardVec",1,"target",{ -0.035, 0 },1 }, - {},*/ - { "ForwardVec",1,"TargetSelected",1,{ -0.030, 0 },1 }, - { "ForwardVec",1,"TargetSelected",1,{ -0.025, 0 },1 }, - {}, - { "ForwardVec",1,"TargetSelected",1,{ -0.020, 0 },1 }, - { "ForwardVec",1,"TargetSelected",1,{ -0.015, 0 },1 }, - {}, - { "ForwardVec",1,"TargetSelected",1,{ -0.010, 0 },1 }, - { "ForwardVec",1,"TargetSelected",1,{ -0.005, 0 },1 }, - {}, - /////////////////////////////////////////////// RIGHT - - /*{ "ForwardVec",1,"target",{ 0.060, 0 },1 }, - { "ForwardVec",1,"target",{ 0.055, 0 },1 }, - {}, - { "ForwardVec",1,"target",{ 0.050, 0 },1 }, - { "ForwardVec",1,"target",{ 0.045, 0 },1 }, - {}, - { "ForwardVec",1,"target",{ 0.040, 0 },1 }, - { "ForwardVec",1,"target",{ 0.035, 0 },1 }, - {},*/ - { "ForwardVec",1,"TargetSelected",1,{ 0.030, 0 },1 }, - { "ForwardVec",1,"TargetSelected",1,{ 0.025, 0 },1 }, - {}, - { "ForwardVec",1,"TargetSelected",1,{ 0.020, 0 },1 }, - { "ForwardVec",1,"TargetSelected",1,{ 0.015, 0 },1 }, - {}, - { "ForwardVec",1,"TargetSelected",1,{ 0.010, 0 },1 }, - { "ForwardVec",1,"TargetSelected",1,{ 0.005, 0 },1 }, - {} - }; - }; - }; - class Rocket_target //fwd - { - condition="rocket"; - class Target - { - type="line"; - width=4; - points[]= - { - //////////////////////////////////////////////// UP - - /*{ "ForwardVec",1,"target",{ 0,-0.060 },1 }, - { "ForwardVec",1,"target",{ 0,-0.055 },1 }, - {}, - { "ForwardVec",1,"target",{ 0,-0.050 },1 }, - { "ForwardVec",1,"target",{ 0,-0.045 },1 }, - {}, - { "ForwardVec",1,"target",{ 0,-0.040 },1 }, - { "ForwardVec",1,"target",{ 0,-0.035 },1 }, - {},*/ - { "ForwardVec",1,"TargetSelected",1,{ 0,-0.030 },1 }, - { "ForwardVec",1,"TargetSelected",1,{ 0,-0.025 },1 }, - {}, - { "ForwardVec",1,"TargetSelected",1,{ 0,-0.020 },1 }, - { "ForwardVec",1,"TargetSelected",1,{ 0,-0.015 },1 }, - {}, - { "ForwardVec",1,"TargetSelected",1,{ 0,-0.010 },1 }, - { "ForwardVec",1,"TargetSelected",1,{ 0,-0.005 },1 }, - {}, - //////////////////////////////////////////////// center - { "ForwardVec",1,"TargetSelected",1,{ 0,0 },1 }, - { "ForwardVec",1,"TargetSelected",1,{ 0,0 },1 }, - {}, - /////////////////////////////////////////////// DOWN - - /*{ "ForwardVec",1,"target",{ 0,0.060 },1 }, - { "ForwardVec",1,"target",{ 0,0.055 },1 }, - {}, - { "ForwardVec",1,"target",{ 0,0.050 },1 }, - { "ForwardVec",1,"target",{ 0,0.045 },1 }, - {}, - { "ForwardVec",1,"target",{ 0,0.040 },1 }, - { "ForwardVec",1,"target",{ 0,0.035 },1 }, - {},*/ - { "ForwardVec",1,"TargetSelected",1,{ 0,0.030 },1 }, - { "ForwardVec",1,"TargetSelected",1,{ 0,0.025 },1 }, - {}, - { "ForwardVec",1,"TargetSelected",1,{ 0,0.020 },1 }, - { "ForwardVec",1,"TargetSelected",1,{ 0,0.015 },1 }, - {}, - { "ForwardVec",1,"TargetSelected",1,{ 0,0.010 },1 }, - { "ForwardVec",1,"TargetSelected",1,{ 0,0.005 },1 }, - {}, - /////////////////////////////////////////////// LEFT - - /*{ "ForwardVec",1,"target",{ -0.060, 0 },1 }, - { "ForwardVec",1,"target",{ -0.055, 0 },1 }, - {}, - { "ForwardVec",1,"target",{ -0.050, 0 },1 }, - { "ForwardVec",1,"target",{ -0.045, 0 },1 }, - {}, - { "ForwardVec",1,"target",{ -0.040, 0 },1 }, - { "ForwardVec",1,"target",{ -0.035, 0 },1 }, - {},*/ - { "ForwardVec",1,"TargetSelected",1,{ -0.030, 0 },1 }, - { "ForwardVec",1,"TargetSelected",1,{ -0.025, 0 },1 }, - {}, - { "ForwardVec",1,"TargetSelected",1,{ -0.020, 0 },1 }, - { "ForwardVec",1,"TargetSelected",1,{ -0.015, 0 },1 }, - {}, - { "ForwardVec",1,"TargetSelected",1,{ -0.010, 0 },1 }, - { "ForwardVec",1,"TargetSelected",1,{ -0.005, 0 },1 }, - {}, - /////////////////////////////////////////////// RIGHT - - /*{ "ForwardVec",1,"target",{ 0.060, 0 },1 }, - { "ForwardVec",1,"target",{ 0.055, 0 },1 }, - {}, - { "ForwardVec",1,"target",{ 0.050, 0 },1 }, - { "ForwardVec",1,"target",{ 0.045, 0 },1 }, - {}, - { "ForwardVec",1,"target",{ 0.040, 0 },1 }, - { "ForwardVec",1,"target",{ 0.035, 0 },1 }, - {},*/ - { "ForwardVec",1,"TargetSelected",1,{ 0.030, 0 },1 }, - { "ForwardVec",1,"TargetSelected",1,{ 0.025, 0 },1 }, - {}, - { "ForwardVec",1,"TargetSelected",1,{ 0.020, 0 },1 }, - { "ForwardVec",1,"TargetSelected",1,{ 0.015, 0 },1 }, - {}, - { "ForwardVec",1,"TargetSelected",1,{ 0.010, 0 },1 }, - { "ForwardVec",1,"TargetSelected",1,{ 0.005, 0 },1 }, - {} - }; - }; - }; - class GunCross //fwd - { - type="group"; - condition = "mgun"; - class CCIP_circle - { - type = "line"; - width = 5.0; - points[] = - { - { "ForwardVec",1,"WeaponAimGUN",1,{ "-1.2000 * 0.06","-0.0000 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "-1.0000 * 0.06","-0.0000 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "-0.9877 * 0.06","-0.1736 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "-0.9397 * 0.06","-0.3420 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "-0.8660 * 0.06","-0.5000 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "-0.7660 * 0.06","-0.6428 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "-0.6428 * 0.06","-0.7660 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "-0.5000 * 0.06","-0.8660 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "-0.3420 * 0.06","-0.9397 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "-0.1736 * 0.06","-0.9877 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "-0.0000 * 0.06","-1.0000 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "0.1736 * 0.06","-0.9877 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "0.3420 * 0.06","-0.9397 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "0.5000 * 0.06","-0.8660 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "0.6428 * 0.06","-0.7660 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "0.7660 * 0.06","-0.6428 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "0.8660 * 0.06","-0.5000 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "0.9397 * 0.06","-0.3420 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "0.9877 * 0.06","-0.1736 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "1.0000 * 0.06","-0.0000 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "1.2000 * 0.06","-0.0000 * 0.06" },1 }, - { }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "-1.2000 * 0.06","0.0000 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "-1.0000 * 0.06","0.0000 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "-0.9877 * 0.06","0.1736 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "-0.9397 * 0.06","0.3420 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "-0.8660 * 0.06","0.5000 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "-0.7660 * 0.06","0.6428 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "-0.6428 * 0.06","0.7660 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "-0.5000 * 0.06","0.8660 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "-0.3420 * 0.06","0.9397 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "-0.1736 * 0.06","0.9877 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "-0.0000 * 0.06","1.0000 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "0.1736 * 0.06","0.9877 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "0.3420 * 0.06","0.9397 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "0.5000 * 0.06","0.8660 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "0.6428 * 0.06","0.7660 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "0.7660 * 0.06","0.6428 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "0.8660 * 0.06","0.5000 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "0.9397 * 0.06","0.3420 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "0.9877 * 0.06","0.1736 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "1.0000 * 0.06","0.0000 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "1.2000 * 0.06","0.0000 * 0.06" },1 }, - { }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "-0.0000 * 0.06","-1.0000 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "-0.0000 * 0.06","-1.2000 * 0.06" },1 }, - { }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "-0.0000 * 0.06","1.0000 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "-0.0000 * 0.06","1.2000 * 0.06" },1 }, - { }, - { "ForwardVec",1,"WeaponAimGUN",1,{ 0.005,0 },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ -0.005,0 },1 }, - { }, - { "ForwardVec",1,"WeaponAimGUN",1,{ 0,0.005 },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ 0,-0.005 },1 } - }; - }; - }; - class RocketCross //fwd - { - type="group"; - condition="rocket"; - class CCIP_circle - { - type = "line"; - width = 5.0; - points[] = - { - { "ForwardVec",1,"WeaponAimROCKET",1,{ "-1.2000 * 0.06","-0.0000 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "-1.0000 * 0.06","-0.0000 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "-0.9877 * 0.06","-0.1736 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "-0.9397 * 0.06","-0.3420 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "-0.8660 * 0.06","-0.5000 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "-0.7660 * 0.06","-0.6428 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "-0.6428 * 0.06","-0.7660 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "-0.5000 * 0.06","-0.8660 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "-0.3420 * 0.06","-0.9397 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "-0.1736 * 0.06","-0.9877 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "-0.0000 * 0.06","-1.0000 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "0.1736 * 0.06","-0.9877 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "0.3420 * 0.06","-0.9397 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "0.5000 * 0.06","-0.8660 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "0.6428 * 0.06","-0.7660 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "0.7660 * 0.06","-0.6428 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "0.8660 * 0.06","-0.5000 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "0.9397 * 0.06","-0.3420 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "0.9877 * 0.06","-0.1736 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "1.0000 * 0.06","-0.0000 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "1.2000 * 0.06","-0.0000 * 0.06" },1 }, - { }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "-1.2000 * 0.06","0.0000 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "-1.0000 * 0.06","0.0000 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "-0.9877 * 0.06","0.1736 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "-0.9397 * 0.06","0.3420 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "-0.8660 * 0.06","0.5000 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "-0.7660 * 0.06","0.6428 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "-0.6428 * 0.06","0.7660 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "-0.5000 * 0.06","0.8660 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "-0.3420 * 0.06","0.9397 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "-0.1736 * 0.06","0.9877 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "-0.0000 * 0.06","1.0000 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "0.1736 * 0.06","0.9877 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "0.3420 * 0.06","0.9397 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "0.5000 * 0.06","0.8660 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "0.6428 * 0.06","0.7660 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "0.7660 * 0.06","0.6428 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "0.8660 * 0.06","0.5000 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "0.9397 * 0.06","0.3420 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "0.9877 * 0.06","0.1736 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "1.0000 * 0.06","0.0000 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "1.2000 * 0.06","0.0000 * 0.06" },1 }, - { }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "-0.0000 * 0.06","-1.0000 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "-0.0000 * 0.06","-1.2000 * 0.06" },1 }, - { }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "-0.0000 * 0.06","1.0000 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "-0.0000 * 0.06","1.2000 * 0.06" },1 }, - { }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ 0.005,0 },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ -0.005,0 },1 }, - { }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ 0,0.005 },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ 0,-0.005 },1 } - }; - }; - }; - class AC_Centerline //fwd - { - type="group"; - condition="on"; - class RockCross - { - type = "line"; - width=4; - points[] = - { - {"ForwardVec",1,{" -0.006 + 0.5" , "0 + 0.32" },1}, - {"ForwardVec",1,{" 0.006 + 0.5" , "0 + 0.32" },1}, - { }, - {"ForwardVec",1,{" -0.0 + 0.5" , "0.006 + 0.32" },1}, - {"ForwardVec",1,{" 0.0 + 0.5" , "-0.006 + 0.32" },1} - }; - }; - }; - class ATMissileTOFGroup - { - condition="ATmissile"; - type="group"; - class TOFtext - { - type="text"; - align="right"; - source="static"; - text="TOF="; - scale=1; - pos[]= - { - {0.15,0.62}, - 1 - }; - right[]= - { - {0.19,0.62}, - 1 - }; - down[]= - { - {0.15,0.66}, - 1 - }; - }; - class TOFnumber - { - type="text"; - source="targetDist"; - sourcescale = 0.0025; - align="right"; - scale=1; - pos[]= - { - {0.23,0.62}, - 1 - }; - right[]= - { - {0.27,0.62}, - 1 - }; - down[]= - { - {0.23,0.66}, - 1 - }; - }; - }; - class BombTOFGroup - { - condition="Bomb"; - type="group"; - class Crosshairs - { - type = "line"; - width=7; - points[] = - { - {{"0 + 0.5" , "-0.02 + 0.5"},1 }, - {{"0.0099999998 + 0.5" , "-0.01732 + 0.5"},1}, - {{"0.01732 + 0.5" , "-0.0099999998 + 0.5"},1}, - {{"0.02 + 0.5" , "0 + 0.5"},1}, - {{"0.01732 + 0.5" , "0.0099999998 + 0.5"},1}, - {{"0.0099999998 + 0.5" , "0.01732 + 0.5"},1}, - {{"0 + 0.5" , "0.02 + 0.5"},1}, - {{"-0.0099999998 + 0.5" , "0.01732 + 0.5"},1}, - {{"-0.01732 + 0.5" , "0.0099999998 + 0.5"},1}, - {{"-0.02 + 0.5" , "0 + 0.5"},1}, - {{"-0.01732 + 0.5" , "-0.0099999998 + 0.5"},1}, - {{"-0.0099999998 + 0.5" , "-0.01732 + 0.5"},1}, - {{"0 + 0.5" , "-0.02 + 0.5"},1}, - { }, - {{" -0.005 + 0.5" , "0 + 0.5" },1}, - {{" 0.005 + 0.5" , "0 + 0.5" },1}, - { }, - {{" -0.00 + 0.5" , "-0.005 + 0.5" },1}, - {{" 0.00 + 0.5" , "0.005 + 0.5" },1} - - }; - }; - /*class Target_Line_LGB - { - type = "line"; - width=5; - points[] = - { - - { - "TargetSelected", - {0,0}, - 1 - }, - - { - "Velocity", - {0,0}, - 1 - }, - - - }; - };*/ - class Target_SPI_LGB - { - type = "line"; - width=3; - points[] = - { - - { - "TargetSelected", - {0,0}, - 1 - }, - - { - "TargetSelected", - {0,-0.05}, - 1 - }, - - - }; - }; - class TOFtext - { - type="text"; - align="right"; - source="static"; - text="TOF="; - scale=1; - pos[]= - { - {0.15,0.62}, - 1 - }; - right[]= - { - {0.19,0.62}, - 1 - }; - down[]= - { - {0.15,0.66}, - 1 - }; - }; - class TOFnumber - { - type="text"; - source="altitudeASL"; - sourcescale = 0.013; - align="right"; - scale=1; - pos[]= - { - {0.23,0.62}, - 1 - }; - right[]= - { - {0.27,0.62}, - 1 - }; - down[]= - { - {0.23,0.66}, - 1 - }; - }; - }; - class ILS_Bars //fwd - { - condition = "ils"; - class Glideslope - { - clipTL[] = {0.0,0.0}; - clipBR[] = {1.0,1.0}; - class ILS - { - type = "line"; - width=2.5; - points[] = - { - { "ForwardVec",1,"ILS_W",1,{ -0.2,0 },1 }, - { "ForwardVec",1,"ILS_W",1,{ 0.2,0 },1 }, - { }, - { "ForwardVec",1,"ILS_W",1,{ 0,0.02 },1 }, - { "ForwardVec",1,"ILS_W",1,{ 0,-0.02 },1 }, - { }, - { "ForwardVec",1,"ILS_W",1,{ 0.1,0.02 },1 }, - { "ForwardVec",1,"ILS_W",1,{ 0.1,-0.02 },1 }, - { }, - { "ForwardVec",1,"ILS_W",1,{ 0.2,0.02 },1 }, - { "ForwardVec",1,"ILS_W",1,{ 0.2,-0.02 },1 }, - { }, - { "ForwardVec",1,"ILS_W",1,{ -0.1,0.02 },1 }, - { "ForwardVec",1,"ILS_W",1,{ -0.1,-0.02 },1 }, - { }, - { "ForwardVec",1,"ILS_W",1,{ -0.2,0.02 },1 }, - { "ForwardVec",1,"ILS_W",1,{ -0.2,-0.02 },1 }, - { }, - { "ForwardVec",1,"ILS_H",1,{ 0,-0.2 },1 }, - { "ForwardVec",1,"ILS_H",1,{ 0,0.2 },1 }, - { }, - { "ForwardVec",1,"ILS_H",1,{ 0.02,0 },1 }, - { "ForwardVec",1,"ILS_H",1,{ -0.02,0 },1 }, - { }, - { "ForwardVec",1,"ILS_H",1,{ 0.02,0.1 },1 }, - { "ForwardVec",1,"ILS_H",1,{ -0.02,0.1 },1 }, - { }, - { "ForwardVec",1,"ILS_H",1,{ 0.02,0.2 },1 }, - { "ForwardVec",1,"ILS_H",1,{ -0.02,0.2 },1 }, - { }, - { "ForwardVec",1,"ILS_H",1,{ 0.02,-0.1 },1 }, - { "ForwardVec",1,"ILS_H",1,{ -0.02,-0.1 },1 }, - { }, - { "ForwardVec",1,"ILS_H",1,{ 0.02,-0.2 },1 }, - { "ForwardVec",1,"ILS_H",1,{ -0.02,-0.2 },1 }, - { } - }; - }; - }; - }; - }; - }; -}; diff --git a/TO_MERGE/agm/Aircraft/config.cpp b/TO_MERGE/agm/Aircraft/config.cpp deleted file mode 100644 index e7ebb6be80..0000000000 --- a/TO_MERGE/agm/Aircraft/config.cpp +++ /dev/null @@ -1,1174 +0,0 @@ -class CfgPatches { - class AGM_Aircraft { - units[] = {}; - weapons[] = {}; - requiredVersion = 0.60; - requiredAddons[] = {AGM_Core}; - version = "0.95"; - versionStr = "0.95"; - versionAr[] = {0,95,0}; - author[] = {"KoffeinFlummi", "Crusty"}; - authorUrl = "https://github.com/KoffeinFlummi/"; - }; -}; - -class CfgAmmo { - class BulletBase; - class LaserBombCore; - class MissileBase; - class RocketBase; - class SubmunitionBullet; - class M_Titan_AA; - - class B_20mm: BulletBase { - deflecting = 3; - hit = 100; - indirectHit = 10; - indirectHitRange = 2; - model = "\A3\Weapons_f\Data\bullettracer\tracer_red"; - }; - - class B_65x39_Minigun_Caseless: SubmunitionBullet { - hit = 10; - indirectHit = 0; - indirectHitRange = 0; - caliber = 1; - deflecting = 5; - typicalSpeed = 850; - }; - - class B_762x51_Minigun_Tracer_Red: SubmunitionBullet { - hit = 12; - indirectHit = 0; - indirectHitRange = 0; - model = "\A3\Weapons_f\Data\bullettracer\tracer_red"; - caliber = 1.6; - deflecting = 5; - typicalSpeed = 850; - }; - - class M_Zephyr: M_Titan_AA { - proxyShape = "\A3\Weapons_F\Ammo\Missile_AA_02_F.p3d"; - model = "\A3\Weapons_F\Ammo\Missile_AA_02_fly_F.p3d"; - airFriction = 0.078; - sideAirFriction = 0.18; - maneuvrability = 24; - class CamShakeFire {}; - class CamShakePlayerFire {}; - }; - - class M_Zephyr_Mi06: M_Zephyr { - maverickWeaponIndexOffset = 6; - }; - - class M_Air_AA: MissileBase { - model = "\A3\Weapons_F\Ammo\Missile_AT_02_fly_F"; - proxyShape = "\A3\Weapons_F\Ammo\Missile_AT_02_F"; - hit = 280; - indirectHit = 85; - indirectHitRange = 10; - maneuvrability = 27; - simulationStep = 0.002; - airLock = 1; - irLock = 1; - cost = 1500; - //maxSpeed = 2400; - timeToLive = 40; - airFriction = 0.05; - sideAirFriction = 0.1; - trackOversteer = 1; - trackLead = 1; - initTime = 0; - thrustTime = 12; - thrust = 340; - fuseDistance = 500; - weaponLockSystem = "2 + 16"; - maxControlRange = 8000; - class CamShakeExplode {}; - class CamShakeHit {}; - class CamShakeFire {}; - class CamShakePlayerFire {}; - }; - - class Missile_AA_04_F: MissileBase { - hit = 800; - indirectHit = 60; - indirectHitRange = 12; - airLock = 2; - irLock = 1; - laserLock = 0; - nvLock = 0; - weaponLockSystem = "2 + 16"; - cmimmunity = 0.8; - initTime = 0; - thrust = 380; - thrustTime = 9.5; - airFriction = 0.04; - sideAirFriction = 0.08; - //maxSpeed = 2600; - maneuvrability = 14; - simulationStep = 0.002; - fuseDistance = 500; - timeToLive = 19; - trackLead = 1; - trackOversteer = 1; - }; - - class Gatling_30mm_HE_Plane_CAS_01_F: BulletBase { - model = "\A3\Weapons_f\Data\bullettracer\tracer_red.p3d"; - cost = 20; - hit = 80; - indirectHit = 12; - indirectHitRange = 3; - caliber = 1.4; - explosive = 0.6; - airlock = 1; - deflecting = 3; - airFriction = -0.00042; - typicalSpeed = 960; - visibleFire = 32; - audibleFire = 32; - visibleFireTime = 3; - fuseDistance = 3; - tracerScale = 2.5; - tracerStartTime = 0.02; - tracerEndTime = 4.7; - multiSoundHit[] = {"soundHit1",0.2,"soundHit2",0.2,"soundHit3",0.2,"soundHit4",0.1,"soundHit5",0.15,"soundHit6",0.15}; - soundFly[] = {"A3\Sounds_F\weapons\Explosion\cannon_fly",1,1,50}; - explosionSoundEffect = "DefaultExplosion"; - explosionEffects = "ExploAmmoExplosion"; - craterEffects = "ExploAmmoCrater"; - soundHit1[] = {"A3\Sounds_F\weapons\Explosion\gr_explosion_1",3.16228,1,1600}; - soundHit2[] = {"A3\Sounds_F\weapons\Explosion\gr_explosion_2",3.16228,1,1600}; - soundHit3[] = {"A3\Sounds_F\weapons\Explosion\gr_explosion_3",3.16228,1,1600}; - soundHit4[] = {"A3\Sounds_F\weapons\Explosion\gr_explosion_4",3.16228,1,1600}; - soundHit5[] = {"A3\Sounds_F\weapons\Explosion\gr_explosion_5",3.16228,1,1600}; - soundHit6[] = {"A3\Sounds_F\weapons\Explosion\gr_explosion_6",3.16228,1,1600}; - class CamShakeExplode {}; - class CamShakeHit {}; - class CamShakeFire {}; - class CamShakePlayerFire {}; - }; - class AGM_Gatling_30mm_HE_Plane_CAS_01_Deploy: Gatling_30mm_HE_Plane_CAS_01_F { - simulation = "shotSubmunitions"; - triggerTime = 0; - submunitionAmmo = "AGM_Gatling_30mm_HE_Plane_CAS_01_Sub"; - submunitionConeType[] = {"custom", {{0,0}, {0,0}, {0,0}} }; - }; - class AGM_Gatling_30mm_HE_Plane_CAS_01_Sub: Gatling_30mm_HE_Plane_CAS_01_F { - }; - - class Cannon_30mm_HE_Plane_CAS_02_F: Gatling_30mm_HE_Plane_CAS_01_F { - model = "\A3\Weapons_f\Data\bullettracer\tracer_green.p3d"; - hit = 70; - indirectHit = 11; - indirectHitRange = 3; - caliber = 2; - explosive = 0.6; - }; - - class Missile_AGM_02_F: MissileBase { - model = "\A3\Weapons_F_EPC\Ammo\Missile_AGM_02_fly_F.p3d"; - proxyShape = "\A3\Weapons_F_EPC\Ammo\Missile_AGM_02_F.p3d"; - maverickWeaponIndexOffset = 2; - cost = 1500; - hit = 2100; - indirectHit = 85; - indirectHitRange = 8; - manualControl = 0; - maxControlRange = 8000; - airLock = 0; - irLock = 1; - laserLock = 0; - nvLock = 0; - weaponLockSystem = "2 + 16"; - cmimmunity = 0.8; - initTime = 0; - thrust = 240; - thrustTime = 5; - airFriction = 0.05; - sideAirFriction = 0.1; - maxSpeed = 828; - maneuvrability = 27; - simulationStep = 0.002; - fuseDistance = 500; - timeToLive = 40; - trackLead = 1; - trackOversteer = 1; - craterEffects = "AAMissileCrater"; - effectsMissile = "missile3"; - explosionEffects = "AAMissileExplosion"; - muzzleEffect = "BIS_fnc_effectFiredHeliRocket"; - whistleDist = 20; - class CamShakeExplode {}; - class CamShakeHit {}; - class CamShakeFire {}; - class CamShakePlayerFire {}; - }; - - class Bomb_04_F: LaserBombCore { - model = "\A3\Weapons_F_EPC\Ammo\Bomb_04_fly_F.p3d"; - proxyShape = "\A3\Weapons_F_EPC\Ammo\Bomb_04_F.p3d"; - maverickWeaponIndexOffset = 8; - hit = 6000; - indirectHit = 1400; - indirectHitRange = 15; - nvLock = 1; - weaponLockSystem = "2 + 16 + 4"; - maneuvrability = 20; - fuseDistance = 35; - trackLead = 0.95; - trackOversteer = 1; - craterEffects = "BombCrater"; - explosionEffects = "BombExplosion"; - explosionSoundEffect = "DefaultExplosion"; - explosionTime = 2; - multiSoundHit[] = {"soundHit1",0.2,"soundHit2",0.2,"soundHit3",0.2,"soundHit4",0.2,"soundHit5",0.2}; - soundHit1[] = {"\A3\Sounds_F\weapons\Explosion\expl_big_1",2.51189,1,2400}; - soundHit2[] = {"\A3\Sounds_F\weapons\Explosion\expl_big_2",2.51189,1,2400}; - soundHit3[] = {"\A3\Sounds_F\weapons\Explosion\expl_big_3",2.51189,1,2400}; - soundHit4[] = {"\A3\Sounds_F\weapons\Explosion\expl_shell_1",2.51189,1,2400}; - soundHit5[] = {"\A3\Sounds_F\weapons\Explosion\expl_shell_2",2.51189,1,2400}; - whistleDist = 24; - }; - - class Rocket_04_HE_F: MissileBase { - model = "\A3\Weapons_F_EPC\Ammo\Rocket_04_HE_fly_F.p3d"; - proxyShape = "\A3\Weapons_F_EPC\Ammo\Rocket_04_HE_F.p3d"; - maverickWeaponIndexOffset = 12; - cost = 500; - hit = 210; - indirectHit = 55; - indirectHitRange = 15; - manualControl = 0; - maxControlRange = 8000; - airLock = 0; - irLock = 1; - laserLock = 0; - nvLock = 0; - weaponLockSystem = 0; - cmimmunity = 1; - initTime = 0.002; - thrust = 1600; - thrustTime = 0.7; - airFriction = 0.0046; - sideAirFriction = 0.005; - maxSpeed = 610; - maneuvrability = 0; - fuseDistance = 50; - timeToLive = 60; - effectsMissileInit = "MissileDAR1"; - whistleDist = 30; - class CamShakeExplode {}; - class CamShakeHit {}; - class CamShakeFire {}; - class CamShakePlayerFire {}; - }; - - class Rocket_04_AP_F: Rocket_04_HE_F { - model = "\A3\Weapons_F_EPC\Ammo\Rocket_04_AP_fly_F.p3d"; - proxyShape = "\A3\Weapons_F_EPC\Ammo\Rocket_04_AP_F.p3d"; - maverickWeaponIndexOffset = 19; - hit = 400; - indirectHit = 20; - indirectHitRange = 10; - }; - - class Missile_AA_03_F: Missile_AA_04_F { - model = "\A3\Weapons_F_EPC\Ammo\Missile_AA_03_fly_F.p3d"; - proxyShape = "\A3\Weapons_F_EPC\Ammo\Missile_AA_03_F.p3d"; - maverickWeaponIndexOffset = 0; - hit = 900; - indirectHit = 50; - indirectHitRange = 15; - }; - - class Missile_AGM_01_F: Missile_AGM_02_F { - model = "\A3\Weapons_F_EPC\Ammo\Missile_AGM_01_fly_F.p3d"; - proxyShape = "\A3\Weapons_F_EPC\Ammo\Missile_AGM_01_F.p3d"; - maverickWeaponIndexOffset = 2; - hit = 2200; - indirectHit = 90; - indirectHitRange = 10; - }; - - class Bomb_03_F: Bomb_04_F { - model = "\A3\Weapons_F_EPC\Ammo\Bomb_03_F.p3d"; - proxyShape = "\A3\Weapons_F_EPC\Ammo\Bomb_03_F.p3d"; - maverickWeaponIndexOffset = 6; - hit = 6400; - indirectHit = 1400; - indirectHitRange = 16; - }; - - class Rocket_03_HE_F: Rocket_04_HE_F { - model = "\A3\Weapons_F_EPC\Ammo\Rocket_03_HE_fly_F.p3d"; - proxyShape = "\A3\Weapons_F_EPC\Ammo\Rocket_03_HE_F.p3d"; - maverickWeaponIndexOffset = 8; - }; - - class Rocket_03_AP_F: Rocket_04_AP_F { - model = "\A3\Weapons_F_EPC\Ammo\Rocket_03_AP_fly_F.p3d"; - proxyShape = "\A3\Weapons_F_EPC\Ammo\Rocket_03_AP_F.p3d"; - maverickWeaponIndexOffset = 28; - }; -}; - -class CfgMagazines { - class VehicleMagazine; - class 24Rnd_PG_missiles; - - class 12Rnd_PG_missiles: 24Rnd_PG_missiles { - count = 12; - displayName = "$STR_A3_CfgMagazines_12Rnd_PG_missiles0"; - displayNameShort = "$STR_A3_CfgMagazines_12Rnd_PG_missiles_dns"; - descriptionShort = "$STR_A3_CfgMagazines_12Rnd_PG_missiles1"; - }; - class 12Rnd_missiles: VehicleMagazine { - scope = 2; - count = 12; - ammo = "M_AT"; - displayName = "$STR_A3_CfgMagazines_24Rnd_PuG_missiles0"; - displayNameShort = "$STR_A3_CfgMagazines_24Rnd_PuG_missiles_dns"; - descriptionShort = "$STR_A3_CfgMagazines_24Rnd_PuG_missiles0"; - initSpeed = 44; - maxLeadSpeed = 800; - nameSound = "rockets"; - sound[] = {"A3\sounds_f\weapons\rockets\explosion_missile_01",1,1,1200}; - reloadSound[] = {"",0.000316228,1}; - }; - - //minigun magazines, muzzle velocities and tracercounts - class 200Rnd_65x39_Belt: VehicleMagazine {}; - class 2000Rnd_65x39_Belt: 200Rnd_65x39_Belt {}; - class 2000Rnd_65x39_Belt_Tracer_Red: 2000Rnd_65x39_Belt { - }; - class 2000Rnd_65x39_Belt_Green: 2000Rnd_65x39_Belt {}; - class 2000Rnd_65x39_Belt_Tracer_Green: 2000Rnd_65x39_Belt_Green { - tracersEvery = 1; - }; - class 2000Rnd_65x39_Belt_Yellow: 2000Rnd_65x39_Belt { - tracersEvery = 1; - }; - class 2000Rnd_65x39_Belt_Tracer_Yellow: 2000Rnd_65x39_Belt_Yellow { - tracersEvery = 1; - }; - - class 5000Rnd_762x51_Belt: 2000Rnd_65x39_Belt { - tracersEvery = 1; - count = 5000; - }; - class 5000Rnd_762x51_Yellow_Belt: 5000Rnd_762x51_Belt {}; - class 4000Rnd_762x51_M134 : 5000Rnd_762x51_Belt { - count = 4000; - tracersEvery = 1; - }; - class 2000Rnd_762x51_M134 : 4000Rnd_762x51_M134 { - count = 2000; - tracersEvery = 1; - }; - - class 2Rnd_AAA_missiles: VehicleMagazine { - scope = 2; - displayName = "$STR_A3_CfgMagazines_2Rnd_AAA_missiles0"; - displayNameShort = "$STR_A3_CfgMagazines_2Rnd_AAA_missiles_dns"; - ammo = "M_Air_AA"; - count = 2; - maxLeadSpeed = 950; - nameSound = "missiles"; - }; - class 2Rnd_AAA_missiles_MI02: 2Rnd_AAA_missiles { - ammo = "M_Air_AA_MI02"; - }; - class 4Rnd_AAA_missiles: 2Rnd_AAA_missiles { - displayName = "$STR_A3_CfgMagazines_4Rnd_AAA_missiles0"; - displayNameShort = "$STR_A3_CfgMagazines_4Rnd_AAA_missiles_dns"; - count = 4; - }; - class 4Rnd_AAA_missiles_MI02: 4Rnd_AAA_missiles { - ammo = "M_Air_AA_MI02"; - }; - - class 4Rnd_GAA_missiles: VehicleMagazine { - scope = 2; - displayName = "$STR_A3_CfgMagazines_4Rnd_GAA_missiles0"; - displayNameShort = "$STR_A3_CfgMagazines_4Rnd_GAA_missiles_dns"; - count = 4; - ammo = "M_Zephyr"; - maxLeadSpeed = 950; - nameSound = "missiles"; - }; - - class 300Rnd_20mm_shells: VehicleMagazine { - scope = 2; - displayName = "$STR_A3_CfgMagazines_300Rnd_20mm_shells0"; - displayNameShort = "$STR_A3_CfgMagazines_300Rnd_20mm_shells_dns"; - ammo = "B_20mm"; - count = 300; - deflecting = 3; - maxLeadSpeed = 300; - tracersEvery = 5; - nameSound = "cannon"; - }; - - class 1000Rnd_Gatling_30mm_Plane_CAS_01_F: VehicleMagazine { - scope = 2; - displayNameShort = ""; - ammo = "AGM_Gatling_30mm_HE_Plane_CAS_01_Deploy"; - count = 1170; - //count = 390; - //initSpeed = 3852; - maxLeadSpeed = 300; - nameSound = "cannon"; - tracersEvery = 1; - }; - - class 2Rnd_Missile_AA_04_F: VehicleMagazine { - scope = 2; - displayNameShort = "$STR_A3_CFGMAGAZINES_4RND_AAA_MISSILES_DNS"; - ammo = "Missile_AA_04_F"; - count = 2; - maxLeadSpeed = 220; - nameSound = "missiles"; - }; - class 6Rnd_Missile_AGM_02_F: VehicleMagazine { - scope = 2; - displayNameShort = "$STR_A3_CFGMAGAZINES_38RND_80MM_ROCKETS_DNS"; - ammo = "Missile_AGM_02_F"; - count = 6; - maxLeadSpeed = 450; - nameSound = "missiles"; - }; - class 2Rnd_Missile_AGM_02_F: VehicleMagazine { - scope = 2; - displayNameShort = "$STR_A3_CFGMAGAZINES_38RND_80MM_ROCKETS_DNS"; - ammo = "Missile_AGM_02_F"; - count = 2; - maxLeadSpeed = 450; - nameSound = "missiles"; - }; - - class 7Rnd_Rocket_04_HE_F: VehicleMagazine { - scope = 2; - displayNameShort = "$STR_A3_CFGMAGAZINES_40RND_20MM_G_BELT_DNS"; - ammo = "Rocket_04_HE_F"; - count = 7; - maxLeadSpeed = 200; - nameSound = "rockets"; - }; - class 7Rnd_Rocket_04_AP_F: 7Rnd_Rocket_04_HE_F { - displayNameShort = "$STR_A3_CFGMAGAZINES_TITAN_AP_DNS"; - ammo = "Rocket_04_AP_F"; - }; - - class 4Rnd_Bomb_04_F: VehicleMagazine { - scope = 2; - displayNameShort = "$STR_A3_CFGVEHICLES_BOMB0"; - ammo = "Bomb_04_F"; - count = 4; - maxLeadSpeed = 1000; - nameSound = "cannon"; - }; - - class 500Rnd_Cannon_30mm_Plane_CAS_02_F: 1000Rnd_Gatling_30mm_Plane_CAS_01_F { - displayNameShort = ""; - ammo = "Cannon_30mm_HE_Plane_CAS_02_F"; - count = 500; - }; - - class 2Rnd_Missile_AA_03_F: 2Rnd_Missile_AA_04_F { - displayNameShort = "$STR_A3_CFGMAGAZINES_4RND_AAA_MISSILES_DNS"; - ammo = "Missile_AA_03_F"; - count = 2; - }; - class 4Rnd_Missile_AGM_01_F: 6Rnd_Missile_AGM_02_F { - displayNameShort = "$STR_A3_CFGMAGAZINES_38RND_80MM_ROCKETS_DNS"; - ammo = "Missile_AGM_01_F"; - count = 4; - }; - - class 20Rnd_Rocket_03_HE_F: 7Rnd_Rocket_04_HE_F { - displayNameShort = "$STR_A3_CFGMAGAZINES_40RND_20MM_G_BELT_DNS"; - ammo = "Rocket_03_HE_F"; - count = 20; - }; - class 20Rnd_Rocket_03_AP_F: 7Rnd_Rocket_04_AP_F { - displayNameShort = "$STR_A3_CFGMAGAZINES_TITAN_AP_DNS"; - ammo = "Rocket_03_AP_F"; - count = 20; - }; - - class 2Rnd_Bomb_03_F: 4Rnd_Bomb_04_F { - displayNameShort = "$STR_A3_CFGVEHICLES_BOMB0"; - ammo = "Bomb_03_F"; - count = 2; - }; - - class AGM_500Rnd_20mm_shells_Comanche: 300Rnd_20mm_shells { - displayName = "20mm"; - displayNameShort = "20mm"; - ammo = "B_20mm"; - count = 500; - deflecting = 3; - initSpeed = 1030; - maxLeadSpeed = 300; - tracersEvery = 5; - }; -}; - -class Mode_SemiAuto; -class Mode_Burst; -class Mode_FullAuto; - -class CfgWeapons { - class MissileLauncher; - class RocketPods; - class SmokeLauncher; - class CannonCore; - class MGunCore; - class MGun: MGunCore {}; - class LMG_RCWS: MGun {}; - - // Manual Switching Of Flare Mode - class CMFlareLauncher: SmokeLauncher { - modes[] = {"Single", "Burst", "AIBurst"}; - class Single: Mode_SemiAuto { - reloadTime = 0.1; - }; - class Burst: Mode_Burst { - displayName = "$STR_AGM_Aircraft_CMFlareLauncher_Burst_Name"; - }; - }; - - class gatling_20mm: CannonCore { - magazines[] = {"2000Rnd_20mm_shells","1000Rnd_20mm_shells","300Rnd_20mm_shells","AGM_500Rnd_20mm_shells_Comanche"}; - - class manual: CannonCore { - reloadTime = 0.023; - dispersion = 0.006; - }; - class close: manual {}; - class short: close {}; - class medium: close {}; - class far: close {}; - }; - - class AGM_gatling_20mm_Comanche: gatling_20mm { - displayName = "XM301"; - class close: close { - reloadTime = 0.04; - dispersion = 0.0022; - }; - class far: far { - reloadTime = 0.04; - dispersion = 0.0022; - }; - class manual: manual { - reloadTime = 0.04; - dispersion = 0.0022; - displayName = "XM301"; - }; - class medium: medium { - reloadTime = 0.04; - dispersion = 0.0022; - }; - class short: short { - reloadTime = 0.04; - dispersion = 0.0022; - }; - }; - - class LMG_Minigun: LMG_RCWS { - magazines[] = {"1000Rnd_65x39_Belt","1000Rnd_65x39_Belt_Green","1000Rnd_65x39_Belt_Tracer_Green","1000Rnd_65x39_Belt_Tracer_Red","1000Rnd_65x39_Belt_Tracer_Yellow","1000Rnd_65x39_Belt_Yellow","2000Rnd_65x39_Belt","2000Rnd_65x39_Belt_Green","2000Rnd_65x39_Belt_Tracer_Green","2000Rnd_65x39_Belt_Tracer_Green_Splash","2000Rnd_65x39_Belt_Tracer_Red","2000Rnd_65x39_Belt_Tracer_Yellow","2000Rnd_65x39_Belt_Tracer_Yellow_Splash","2000Rnd_65x39_Belt_Yellow","2000Rnd_762x51_Belt_T_Green","2000Rnd_762x51_Belt_T_Red","2000Rnd_762x51_Belt_T_Yellow","200Rnd_65x39_Belt","200Rnd_65x39_Belt_Tracer_Green","200Rnd_65x39_Belt_Tracer_Red","200Rnd_65x39_Belt_Tracer_Yellow","5000Rnd_762x51_Belt","5000Rnd_762x51_Yellow_Belt"}; - class manual: MGun { - reloadTime = 0.015; - dispersion = 0.006; - }; - class close: manual {}; - class short: close {}; - class medium: close {}; - class far: close {}; - }; - class LMG_Minigun_heli: LMG_Minigun { - showAimCursorInternal = 0; - class manual: manual { - reloadTime = 0.015; - dispersion = 0.006; - }; - class close: manual {}; - class short: close {}; - class medium: close {}; - class far: close {}; - }; - class M134_minigun: MGunCore { - class LowROF: Mode_FullAuto { - reloadTime = 0.015; - dispersion = 0.006; - }; - class HighROF: LowROF { - reloadTime = 0.015; - dispersion = 0.006; - }; - class close: HighROF {}; - class short: close {}; - class medium: LowROF {}; - class far: medium {}; - }; - - class Gatling_30mm_Plane_CAS_01_F: CannonCore { - autoFire = 1; - burst = 1; - reloadTime = 0.0154; - class LowROF: Mode_FullAuto { - autoFire = 0; - //burst = 65; - burst = 22; - //reloadTime = 0.0154; - reloadTime = 0.0462; - //sound[] = {"A3\Sounds_F_epc\weapons\cas_02_cannon",1.77828,1,3800}; - sound[] = {"A3\Sounds_F_EPC\Weapons\gau_03_burst",2.51189,1,4500,{25704,32159}}; - weaponSoundEffect = "DefaultRifle"; - dispersion = 0.005; - soundContinuous = 1; - textureType = "burst"; - multiplier = 3; - }; - class close: LowROF {}; - class near: close {}; - class short: close {}; - class medium: close {}; - class far: close {}; - }; - - class Missile_AA_04_Plane_CAS_01_F: RocketPods { - holdsterAnimValue = 2; - aiRateOfFire = 5; - aiRateOfFireDistance = 500; - autoFire = 0; - cursor = "EmptyCursor"; - cursorAim = "missile"; - nameSound = "MissileLauncher"; - textureType = "fullAuto"; - weaponLockDelay = 3; - minRange = 300; - minRangeProbab = 0.25; - midRange = 2500; - midRangeProbab = 0.9; - maxRange = 9000; - maxRangeProbab = 0.01; - }; - - class Missile_AGM_02_Plane_CAS_01_F: MissileLauncher { - holdsterAnimValue = 3; - magazineReloadTime = 30; - reloadTime = 0.001; - textureType = "semi"; - weaponLockDelay = 3; - weaponSoundEffect = "DefaultRifle"; - }; - - class Rocket_04_HE_Plane_CAS_01_F: RocketPods { - holdsterAnimValue = 4; - canLock = 1; - modes[] = {"Far_AI","Medium_AI","Close_AI","Burst"}; - weaponLockDelay = 0; - class Far_AI: RocketPods { - canLock = 1; - weaponLockDelay = 0; - showToPlayer = 0; - minRange = 800; - minRangeProbab = 0.31; - midRange = 2500; - midRangeProbab = 0.71; - maxRange = 3200; - maxRangeProbab = 0.1; - burst = 1; - reloadTime = 0.001; - autoFire = 0; - aiRateOfFire = 5; - aiRateOfFireDistance = 500; - }; - class Medium_AI: Far_AI {}; - class Close_AI: Far_AI {}; - class Burst: RocketPods { - burst = 1; - reloadTime = 0.002; - minRange = 300; - minRangeProbab = 0.25; - midRange = 400; - midRangeProbab = 0.7; - maxRange = 1300; - maxRangeProbab = 0.1; - aiRateOfFire = 5; - aiRateOfFireDistance = 500; - autoFire = 0; - soundContinuous = 0; - textureType = "fullAuto"; - weaponSoundEffect = "DefaultRifle"; - }; - }; - - class Rocket_04_AP_Plane_CAS_01_F: Rocket_04_HE_Plane_CAS_01_F { - holdsterAnimValue = 5; - }; - - class Bomb_04_Plane_CAS_01_F: RocketPods { - holdsterAnimValue = 6; - aiRateOfFire = 5; - aiRateOfFireDistance = 500; - missileLockCone = 180; - nameSound = ""; - textureType = "fullAuto"; - weaponLockDelay = 1; - }; - - class Cannon_30mm_Plane_CAS_02_F: CannonCore { - scope = 1; - holdsterAnimValue = 1; - ballisticsComputer = 2; - canLock = 1; - modes[] = {"LowROF","close","near","short","medium","far"}; - nameSound = "cannon"; - shotFromTurret = 0; - muzzlePos = "Cannon_muzzleflash"; - muzzleEnd = "Cannon_barrel_end"; - selectionFireAnim = "Cannon_muzzleflash"; - autoFire = 1; - burst = 5; - reloadTime = 0.04; - class GunParticles { - class Effect { - effectName = "MachineGun2"; - positionName = "Cannon_barrel_start"; - directionName = "Cannon_barrel_end"; - }; - }; - class LowROF: Mode_FullAuto { - dispersion = 0.0055; - reloadTime = 0.04; - }; - class close: LowROF {}; - class near: close {}; - class short: close {}; - class medium: close {}; - class far: close {}; - }; -}; - -class CfgVehicles { - class All { - class Turrets; - }; - - class AllVehicles: All { - class NewTurret { - class Turrets; - }; - class CargoTurret; - }; - - class Air: AllVehicles { - class AnimationSources; - }; - - class Helicopter: Air { - class Turrets { - class MainTurret; - }; - }; - - class Plane: Air {}; - - class ParachuteBase: Helicopter { - class Turrets; - }; - - class UAV: Plane {}; - - class Helicopter_Base_F: Helicopter { - class Turrets: Turrets { - class CopilotTurret; - }; - }; - - class Helicopter_Base_H: Helicopter_Base_F { - class Turrets: Turrets { - class CopilotTurret; - }; - //class UserActions; - }; - - class Heli_Light_01_base_F: Helicopter_Base_H { - lockDetectionSystem = 0; - incomingMissileDetectionSystem = 16; - driverCanEject = 1; - class MFD {}; - class Turrets: Turrets { - class CopilotTurret: CopilotTurret { - canEject = 1; - showHMD = 1; - }; - }; - }; - - class B_Heli_Light_01_F: Heli_Light_01_base_F { - #include - /*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 { - lockDetectionSystem = 0; - incomingMissileDetectionSystem = 16; - driverCanEject = 1; - class MFD {}; - class Turrets: Turrets { - class CopilotTurret: CopilotTurret { - canEject = 1; - }; - }; - }; - - class B_Heli_Light_01_armed_F: Heli_Light_01_armed_base_F { - #include - }; - - class Heli_Light_02_base_F: Helicopter_Base_H { - driverCanEject = 1; - lockDetectionSystem = 12; - incomingMissileDetectionSystem = 16; - magazines[] = {"2000Rnd_762x51_Belt_T_Green", "12Rnd_PG_missiles", "168Rnd_CMFlare_Chaff_Magazine"}; - class Turrets: Turrets { - class CopilotTurret: CopilotTurret { - canEject = 1; - showHMD = 1; - }; - }; - }; - - class Plane_Base_F: Plane { - class Turrets { - class CopilotTurret; - }; - }; - - class Heli_Attack_01_base_F: Helicopter_Base_F { - lockDetectionSystem = 12; - incomingMissileDetectionSystem = 16; - driverCanEject = 1; - class MFD {}; - class AnimationSources: AnimationSources { - class HitGlass1 { - source = "Hit"; - hitpoint = "HitGlass1"; - raw = 1; - }; - class HitGlass2: HitGlass1 { - hitpoint = "HitGlass2"; - }; - class HitGlass3: HitGlass1 { - hitpoint = "HitGlass3"; - }; - class HitGlass4: HitGlass1 { - hitpoint = "HitGlass4"; - }; - class Gatling { - source = "revolving"; - weapon = "AGM_gatling_20mm_Comanche"; - }; - class Hide { - source = "user"; - animPeriod = 0; - initPhase = 0; - }; - class Muzzle_flash { - source = "ammorandom"; - weapon = "AGM_gatling_20mm_Comanche"; - }; - }; - class Turrets: Turrets { - class MainTurret: MainTurret { - canEject = 1; - showHMD = 1; - weapons[] = {"AGM_gatling_20mm_Comanche","missiles_DAGR","missiles_ASRAAM"}; - magazines[] = {"AGM_500Rnd_20mm_shells_Comanche","4Rnd_AAA_missiles","24Rnd_PG_missiles"}; - }; - }; - }; - - class B_Heli_Attack_01_F: Heli_Attack_01_base_F { - #include - }; - - class Heli_Attack_02_base_F: Helicopter_Base_F { - lockDetectionSystem = 12; - incomingMissileDetectionSystem = 16; - driverCanEject = 1; - class Turrets: Turrets { - class MainTurret: MainTurret { - canEject = 1; - }; - }; - }; - - class Heli_Transport_01_base_F: Helicopter_Base_H { - lockDetectionSystem = 12; - incomingMissileDetectionSystem = 16; - driverCanEject = 1; - #include - class Turrets: Turrets { - class CopilotTurret: CopilotTurret { - canEject = 1; - showHMD = 1; - }; - class MainTurret: MainTurret { - magazines[] = {"2000Rnd_762x51_Belt_T_Red"}; - canEject = 1; - }; - class RightDoorGun: MainTurret { - magazines[] = {"2000Rnd_762x51_Belt_T_Red"}; - canEject = 1; - }; - }; - /*class UserActions { - class DoorL1_Open { - available = 1; - condition = "((this doorPhase 'door_L') == 0) AND Alive(this) AND driver this != player AND gunner this != player"; - }; - class DoorR1_Open: DoorL1_Open { - condition = "((this doorPhase 'door_R') == 0) AND Alive(this) AND driver this != player AND gunner this != player"; - }; - class DoorL1_Close: DoorL1_Open { - condition = "((this doorPhase 'door_L') > 0) AND Alive(this) AND driver this != player AND gunner this != player"; - }; - class DoorR1_Close: DoorL1_Close { - condition = "((this doorPhase 'door_R') > 0) AND Alive(this) AND driver this != player AND gunner this != player"; - }; - };*/ - }; - - class Heli_Transport_02_base_F: Helicopter_Base_H { - lockDetectionSystem = 12; - incomingMissileDetectionSystem = 16; - driverCanEject = 1; - class MFD {}; - class Turrets: Turrets { - class CopilotTurret: CopilotTurret { - canEject = 1; - showHMD = 1; - }; - - class CargoTurret_01: CargoTurret {}; - class CargoTurret_02: CargoTurret_01 {}; - }; - /*class UserActions: UserActions { - class DoorL1_Open { - available = 1; - condition = "this animationPhase ""door_back_L"" < 0.5 AND Alive(this)"; - }; - class DoorR1_Open: DoorL1_Open { - condition = "this animationPhase ""door_back_R"" < 0.5 AND Alive(this)"; - }; - class DoorL1_Close: DoorL1_Open { - condition = "this animationPhase ""door_back_L"" > 0.5 AND Alive(this)"; - }; - class DoorR1_Close: DoorL1_Close { - condition = "this animationPhase ""door_back_R"" > 0.5 AND Alive(this)"; - }; - class CargoRamp_Open: DoorL1_Open { - userActionID = 52; - displayName = "$STR_AGM_Aircraft_OpenCargoRamp"; - textToolTip = "$STR_AGM_Aircraft_OpenCargoRamp"; - position = "action_cargoramp"; - radius = 3.0; - condition = "this animationPhase ""cargoramp_open"" < 0.5 AND Alive(this)"; - statement = "this animateDoor ['cargoramp_open', 1]"; - }; - class CargoRamp_Close: DoorL1_Close { - userActionID = 55; - displayName = "$STR_AGM_Aircraft_CloseCargoRamp"; - textToolTip = "$STR_AGM_Aircraft_CloseCargoRamp"; - position = "action_cargoramp"; - radius = 3.0; - condition = "this animationPhase ""cargoramp_open"" > 0.5 AND Alive(this)"; - statement = "this animateDoor ['cargoramp_open', 0]"; - }; - };*/ - }; - - class I_Heli_Transport_02_F: Heli_Transport_02_base_F { - #include - }; - - class I_Heli_light_03_base_F: Helicopter_Base_F { - lockDetectionSystem = 0; - incomingMissileDetectionSystem = 16; - driverCanEject = 1; - class MFD {}; - weapons[] = {"M134_minigun","missiles_DAR","CMFlareLauncher"}; - magazines[] = {"5000Rnd_762x51_Yellow_Belt","24Rnd_missiles","168Rnd_CMFlare_Chaff_Magazine"}; - class Turrets: Turrets { - class MainTurret: MainTurret { - canEject = 1; - showHMD = 1; - gunBeg = "commanderview"; - gunEnd = "laserstart"; - memoryPointGun = "laserstart"; - stabilizedInAxes = 3; - weapons[] = {"Laserdesignator_mounted"}; - soundServo[] = {"",0.01,1,30}; - magazines[] = {"Laserbatteries"}; - inGunnerMayFire = 1; - }; - }; - }; - - class I_Heli_light_03_F: I_Heli_light_03_base_F { - #include - class Turrets: Turrets { - class MainTurret: MainTurret {}; - - class CargoTurret_01: CargoTurret {}; - class CargoTurret_02: CargoTurret_01 {}; - }; - }; - - class I_Heli_light_03_unarmed_base_F: I_Heli_light_03_base_F { - class MFD {}; - }; - class I_Heli_light_03_unarmed_F: I_Heli_light_03_unarmed_base_F { - #include - }; - - class Plane_CAS_01_base_F: Plane_Base_F { - lockDetectionSystem = 12; - incomingMissileDetectionSystem = 16; - //class MFD {}; - class Turrets; - #include - }; - - /*class B_Plane_CAS_01_F: Plane_CAS_01_base_F { - #include - //#include - };*/ - - class Plane_CAS_02_base_F: Plane_Base_F { - lockDetectionSystem = 12; - incomingMissileDetectionSystem = 16; - class Turrets; - #include - }; - - class Plane_Fighter_03_base_F: Plane_Base_F { - lockDetectionSystem = 12; - incomingMissileDetectionSystem = 16; - class Turrets; - #include - }; - - class UAV_01_base_F: Helicopter_Base_F { - /*class Turrets: Turrets { - class MainTurret: MainTurret {}; - };*/ - }; - - class UAV_02_base_F: UAV { - class Turrets { - class MainTurret; - }; - weapons[] = {}; - magazines[] = {}; - }; - - class UAV_02_CAS_base_F: UAV_02_base_F { - /*class Turrets: Turrets { - class MainTurret: MainTurret {}; - };*/ - weapons[] = {}; - magazines[] = {}; - }; - - class B_Heli_Transport_03_base_F: Helicopter_Base_H { - lockDetectionSystem = 12; - incomingMissileDetectionSystem = 16; - driverCanEject = 1; - class Turrets: Turrets { - class CopilotTurret: CopilotTurret { - canEject = 1; - }; - //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 { - canEject = 1; - }; - //class MainTurret: MainTurret {}; - //class RightDoorGun: MainTurret {}; - - //class CargoTurret_01: CargoTurret {}; - //class CargoTurret_02: CargoTurret_01 {}; - }; - }; - - class Heli_Transport_04_base_F: Helicopter_Base_H { - lockDetectionSystem = 12; - incomingMissileDetectionSystem = 16; - driverCanEject = 1; - class Turrets: Turrets { - class CopilotTurret: CopilotTurret { - canEject = 1; - }; - class LoadmasterTurret: MainTurret { - canEject = 1; - }; - }; - }; - - class O_Heli_Transport_04_bench_F: Heli_Transport_04_base_F { - class Turrets: Turrets { - class CopilotTurret: CopilotTurret { - canEject = 1; - }; - class LoadmasterTurret: LoadmasterTurret { - canEject = 1; - }; - - 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 { - canEject = 1; - }; - class LoadmasterTurret: LoadmasterTurret { - canEject = 1; - }; - - class CargoTurret_01: CargoTurret {}; - class CargoTurret_02: CargoTurret_01 {}; - }; - }; -}; diff --git a/TO_MERGE/agm/Aircraft/hmd_thunderbolt.hpp b/TO_MERGE/agm/Aircraft/hmd_thunderbolt.hpp deleted file mode 100644 index ed23d62ee4..0000000000 --- a/TO_MERGE/agm/Aircraft/hmd_thunderbolt.hpp +++ /dev/null @@ -1,6562 +0,0 @@ - - - -class MFD3 -{ - class HUD_1 - { - topLeft="HUD_top_left"; - topRight="HUD_top_right"; - bottomLeft="HUD_bottom_left"; - borderLeft=0.12; - borderRight=0.12; - borderTop=0.05; - borderBottom=0.15; - color[]={0,1,0,0.1}; - enableParallax=1; - class Bones - { - class WeaponAim - { - type="vector"; - source="weapon"; - pos0[]={0.5,0.38}; - pos10[]={1.166,1.215}; - }; - class Target - { - type="vector"; - source="target"; - pos0[]={0.5,0.38}; - pos10[]={1.166,1.215}; - }; - class Velocity - { - type="vector"; - source="velocity"; - pos0[]={0.5,0.5}; - pos10[]={1.215,1.215}; - }; - class VerticalSpeed - { - type="linear"; - source="vspeed"; - sourceScale=1; - min=-100; - max=100; - minPos[]={0,0.15000001}; - maxPos[]={0,-0.15000001}; - }; - class center - { - type="fixed"; - pos[]={0.5,0.38}; - }; - class RangeBone - { - type="linear"; - source="targetDist"; - sourceScale=1; //meters - min=0; - max=12000; - minPos[]={0.08,0.40}; - maxPos[]={0.08,0.60}; - }; - class RadarAltitudeBone - { - type="linear"; - source="altitudeAGL"; - sourceScale=1; // meters - //hideValue=1500; - min=0; - max=500; - minPos[]={0.71,0.40}; - maxPos[]={0.71,0.60}; - }; - class VspeedBone - { - type="linear"; - source="vspeed"; - sourceScale=1; // m/s - min=-50; - max=50; - minPos[]={0.94,0.40}; - maxPos[]={0.94,0.60}; - }; - }; - class Draw - { - color[]={0.15000001,1,0.15000001}; - alpha=0.9; - clipTL[]={0,0}; - clipBR[]={1,1}; - condition="on"; - - class WeaponName - { - type="text"; - source="weapon"; - sourceScale=1; - align="left"; - scale=1; - pos[]= - { - {"0.15 + 0.1",0.85}, - 1 - }; - right[]= - { - {"0.19 + 0.1",0.85}, - 1 - }; - down[]= - { - {"0.15 + 0.1",0.89}, - 1 - }; - }; - class AmmoCount - { - type="text"; - source="ammo"; - sourceScale=1; - align="left"; - scale=1; - pos[]= - { - {"0.15 + 0.1",0.89}, - 1 - }; - right[]= - { - {"0.19 + 0.1",0.89}, - 1 - }; - down[]= - { - {"0.15 + 0.1",0.93}, - 1 - }; - }; - class GearGroup - { - type="group"; - condition="ils"; - class GearText - { - type="text"; - source="static"; - text="GEAR"; - align="left"; - scale=1; - pos[]= - { - - { - "0.15 + 0.1", - "0.53 - 0.40" - }, - 1 - }; - right[]= - { - - { - "0.20 + 0.1", - "0.53 - 0.40" - }, - 1 - }; - down[]= - { - - { - "0.15 + 0.1", - "0.53 - 0.40 + 0.05" - }, - 1 - }; - }; - class radarbanda - { - type="line"; - width=4; - points[]= - { - { - "RadarAltitudeBone", - {-0.005,0.005}, - 1 - }, - { - "RadarAltitudeBone", - {-0.005,0}, - 1 - }, - { - "RadarAltitudeBone", - {0,0}, - 1 - }, - {{ 0.71,0.60 },1 }, - { }, - - {{ 0.71,0.40 },1 }, - {{ 0.72,0.40 },1 }, - { }, - {{ 0.71,0.44 },1 }, - {{ 0.72,0.44 },1 }, - { }, - {{ 0.71,0.48 },1 }, - {{ 0.72,0.48 },1 }, - { }, - {{ 0.71,0.52 },1 }, - {{ 0.72,0.52 },1 }, - { }, - {{ 0.71,0.56 },1 }, - {{ 0.72,0.56 },1 }, - { }, - {{ 0.71,0.60 },1 }, - {{ 0.72,0.60 },1 } - }; - }; - class radartext_5 - { - type="text"; - source="static"; - text="5"; - align="right"; - scale=1; - pos[]= {{0.721,"0.385 + 0.00"},1}; - right[]= {{0.751,"0.385 + 0.00"},1}; - down[]= {{0.721,"0.415 + 0.00"},1}; - }; - class radartext_4 - { - type="text"; - source="static"; - text="4"; - align="right"; - scale=1; - pos[]= {{0.721,"0.385 + 0.04"},1}; - right[]= {{0.751,"0.385 + 0.04"},1}; - down[]= {{0.721,"0.415 + 0.04"},1}; - }; - class radartext_3 - { - type="text"; - source="static"; - text="3"; - align="right"; - scale=1; - pos[]= {{0.721,"0.385 + 0.08"},1}; - right[]= {{0.751,"0.385 + 0.08"},1}; - down[]= {{0.721,"0.415 + 0.08"},1}; - }; - class radartext_2 - { - type="text"; - source="static"; - text="2"; - align="right"; - scale=1; - pos[]= {{0.721,"0.385 + 0.120"},1}; - right[]= {{0.751,"0.385 + 0.120"},1}; - down[]= {{0.721,"0.415 + 0.120"},1}; - }; - class radartext_1 - { - type="text"; - source="static"; - text="1"; - align="right"; - scale=1; - pos[]= {{0.721,"0.385 + 0.160"},1}; - right[]= {{0.751,"0.385 + 0.160"},1}; - down[]= {{0.721,"0.415 + 0.160"},1}; - }; - class radartext_0 - { - type="text"; - source="static"; - text="0"; - align="right"; - scale=1; - pos[]= {{0.721,"0.385 + 0.200"},1}; - right[]= {{0.751,"0.385 + 0.200"},1}; - down[]= {{0.721,"0.415 + 0.200"},1}; - }; - - class Vspeedbanda - { - type="line"; - width=4; - points[]= - { - { - "VspeedBone", - {0.007,-0.007}, - 1 - }, - { - "VspeedBone", - {0,0}, - 1 - }, - { - "VspeedBone", - {0.007,0.007}, - 1 - }, - { }, - { - "VspeedBone", - {0,0}, - 1 - }, - { - "VspeedBone", - {0.012,0}, - 1 - }, - {{ 0.952,0.50 },1 }, - { }, - - {{ 0.92,0.40 },1 }, // - {{ 0.94,0.40 },1 }, - { }, - {{ 0.92,0.42 },1 }, - {{ 0.93,0.42 },1 }, - { }, - {{ 0.92,0.44 },1 }, - {{ 0.93,0.44 },1 }, - { }, - {{ 0.92,0.46 },1 }, - {{ 0.93,0.46 },1 }, - { }, - {{ 0.92,0.48 },1 }, - {{ 0.93,0.48 },1 }, - { }, - {{ 0.92,0.50 },1 }, // - {{ 0.94,0.50 },1 }, - { }, - {{ 0.92,0.52 },1 }, - {{ 0.93,0.52 },1 }, - { }, - {{ 0.92,0.54 },1 }, - {{ 0.93,0.54 },1 }, - { }, - {{ 0.92,0.56 },1 }, - {{ 0.93,0.56 },1 }, - { }, - {{ 0.92,0.58 },1 }, - {{ 0.93,0.58 },1 }, - { }, - {{ 0.92,0.60 },1 }, // - {{ 0.94,0.60 },1 }, - }; - }; - }; - class Vspeedbanda1 - { - type="line"; - width=4; - points[]= - { - { - "VspeedBone", - {0.007,-0.007}, - 1 - }, - { - "VspeedBone", - {0,0}, - 1 - }, - { - "VspeedBone", - {0.007,0.007}, - 1 - }, - { }, - { - "VspeedBone", - {0,0}, - 1 - }, - { - "VspeedBone", - {0.012,0}, - 1 - }, - {{ 0.952,0.50 },1 }, - { }, - - {{ 0.92,0.40 },1 }, // - {{ 0.94,0.40 },1 }, - { }, - {{ 0.92,0.42 },1 }, - {{ 0.93,0.42 },1 }, - { }, - {{ 0.92,0.44 },1 }, - {{ 0.93,0.44 },1 }, - { }, - {{ 0.92,0.46 },1 }, - {{ 0.93,0.46 },1 }, - { }, - {{ 0.92,0.48 },1 }, - {{ 0.93,0.48 },1 }, - { }, - {{ 0.92,0.50 },1 }, // - {{ 0.94,0.50 },1 }, - { }, - {{ 0.92,0.52 },1 }, - {{ 0.93,0.52 },1 }, - { }, - {{ 0.92,0.54 },1 }, - {{ 0.93,0.54 },1 }, - { }, - {{ 0.92,0.56 },1 }, - {{ 0.93,0.56 },1 }, - { }, - {{ 0.92,0.58 },1 }, - {{ 0.93,0.58 },1 }, - { }, - {{ 0.92,0.60 },1 }, // - {{ 0.94,0.60 },1 }, - }; - }; - class StallGroup - { - type="group"; - condition="stall"; - color[]={1,0,0}; - blinkingPattern[]={0.2,0.2}; - blinkingStartsOn=1; - class StallText - { - type="text"; - source="static"; - text="STALL"; - align="center"; - scale=1; - pos[]= - { - - { - 0.5, - "0.53 - 0.25" - }, - 1 - }; - right[]= - { - - { - 0.55000001, - "0.53 - 0.25" - }, - 1 - }; - down[]= - { - - { - 0.5, - "0.53 - 0.21" - }, - 1 - }; - }; - }; - class FLAPSGroup - { - type="group"; - condition="flaps"; - class FLAPSText - { - type="text"; - source="static"; - text="FLAPS"; - align="left"; - scale=1; - pos[]= - { - - { - "0.15 + 0.1", - "0.53 - 0.35" - }, - 1 - }; - right[]= - { - - { - "0.20 + 0.1", - "0.53 - 0.35" - }, - 1 - }; - down[]= - { - - { - "0.15 + 0.1", - "0.53 - 0.35 + 0.05" - }, - 1 - }; - }; - }; - class CollisionLightsGroup - { - type="group"; - condition="collisionlights"; - class CollisionLightsText - { - type="text"; - source="static"; - text="A-COL"; - align="left"; - scale=1; - pos[]= - { - - { - "0.15 + 0.1", - "0.53 - 0.25" - }, - 1 - }; - right[]= - { - - { - "0.20 + 0.1", - "0.53 - 0.25" - }, - 1 - }; - down[]= - { - - { - "0.15 + 0.1", - "0.53 - 0.25 + 0.05" - }, - 1 - }; - }; - }; - class LightsGroup - { - type="group"; - condition="lights"; - class LightsText - { - type="text"; - source="static"; - text="LLS"; - align="left"; - scale=1; - pos[]= - { - - { - "0.15 + 0.1", - "0.53 - 0.30" - }, - 1 - }; - right[]= - { - - { - "0.20 + 0.1", - "0.53 - 0.30" - }, - 1 - }; - down[]= - { - - { - "0.15 + 0.1", - "0.53 - 0.30 + 0.05" - }, - 1 - }; - }; - }; - class SpeedNumber - { - type="text"; - align="left"; - scale=1; - source="speed"; - sourceScale=3.5999999; - pos[]= - { - {"0.15 + 0.1",0.47}, - 1 - }; - right[]= - { - {"0.21 + 0.1",0.47}, - 1 - }; - down[]= - { - {"0.15 + 0.1",0.52999998}, - 1 - }; - }; - class GroundSpeedNumber - { - type="text"; - align="left"; - scale=1; - source="sqrt((""speed""*""speed"")-(""vspeed""*""vspeed""))"; - sourceScale=3.5999999; - pos[]= - { - {"0.15 + 0.1",0.37}, - 1 - }; - right[]= - { - {"0.21 + 0.1",0.37}, - 1 - }; - down[]= - { - {"0.15 + 0.1",0.42999998}, - 1 - }; - }; - - class MachNumber - { - type="text"; - align="left"; - scale=1; - source="speed"; - sourceScale=0.0288; - pos[]= - { - {"0.12 + 0.1",0.53}, - 1 - }; - right[]= - { - {"0.17 + 0.1",0.53}, - 1 - }; - down[]= - { - {"0.12 + 0.1",0.58}, - 1 - }; - }; - class MachText - { - type="text"; - source="static"; - text="0."; - align="left"; - scale=1; - pos[]= - { - {"0.09 + 0.1",0.53}, - 1 - }; - right[]= - { - {"0.14 + 0.1",0.53}, - 1 - }; - down[]= - { - {"0.09 + 0.1",0.58}, - 1 - }; - }; - class MachTextM - { - type="text"; - source="static"; - text="M"; - align="left"; - scale=1; - pos[]= - { - {"0.1501 + 0.1",0.53}, - 1 - }; - right[]= - { - {"0.2001 + 0.1",0.53}, - 1 - }; - down[]= - { - {"0.1501 + 0.1",0.58}, - 1 - }; - }; - class HeadingNumber: SpeedNumber - { - source="heading"; - sourceScale=1; - align="right"; - pos[]= - { - {"0.85 - 0.1",0.15}, - 1 - }; - right[]= - { - {"0.90 - 0.1",0.15}, - 1 - }; - down[]= - { - {"0.85 - 0.1",0.20}, - 1 - }; - }; - class AltNumber: SpeedNumber - { - align="right"; - source="altitudeASL"; - sourceScale=1; - pos[]= - { - {"0.85 - 0.1",0.47}, - 1 - }; - right[]= - { - {"0.91 - 0.1",0.47}, - 1 - }; - down[]= - { - {"0.85 - 0.1",0.52999998}, - 1 - }; - }; - class PitcherNumber: SpeedNumber - { - type="text"; - source="horizonDive"; - sourceScale=57.29578; - align="right"; - scale=1; - pos[]= - { - {"0.85 - 0.1",0.54}, - 1 - }; - right[]= - { - {"0.90 - 0.1",0.54}, - 1 - }; - down[]= - { - {"0.85 - 0.1",0.59}, - 1 - }; - }; - class AGLText - { - type="text"; - source="static"; - text="AGL/"; - align="right"; - scale=1; - pos[]= - { - {"0.85 - 0.1",0.76}, - 1 - }; - right[]= - { - {"0.89000002 - 0.1",0.76}, - 1 - }; - down[]= - { - {"0.85 - 0.1",0.80}, - 1 - }; - }; - class AGLNumber - { - type="text"; - source="altitudeAGL"; - sourceScale=1; - align="right"; - scale=1; - pos[]= - { - {"0.85 - 0.1",0.80}, - 1 - }; - right[]= - { - {"0.89 - 0.1",0.80}, - 1 - }; - down[]= - { - {"0.85 - 0.1",0.84}, - 1 - }; - }; - class ClimbText - { - type="text"; - source="static"; - text="CLIMB/"; - align="right"; - scale=1; - pos[]= - { - {"0.85 - 0.1",0.85001}, - 1 - }; - right[]= - { - {"0.89 - 0.1",0.85001}, - 1 - }; - down[]= - { - {"0.85 - 0.1",0.89001}, - 1 - }; - }; - class ClimbNumber - { - type="text"; - source="vspeed"; - sourceScale=1; - align="right"; - scale=1; - pos[]= - { - {"0.85 - 0.1",0.89001}, - 1 - }; - right[]= - { - {"0.89 - 0.1",0.89001}, - 1 - }; - down[]= - { - {"0.85 - 0.1",0.93001}, - 1 - }; - }; - class RangeText - { - type="text"; - source="static"; - text="RNG/"; - align="left"; - scale=1; - pos[]= - { - {"0.15 + 0.1",0.76}, - 1 - }; - right[]= - { - {"0.19 + 0.1",0.76}, - 1 - }; - down[]= - { - {"0.15 + 0.1",0.80}, - 1 - }; - }; - class RangeNumber - { - type="text"; - source="targetDist"; - sourceScale=1; - align="left"; - scale=1; - pos[]= - { - {"0.15 + 0.1",0.80}, - 1 - }; - right[]= - { - {"0.19 + 0.1",0.80}, - 1 - }; - down[]= - { - {"0.15 + 0.1",0.84}, - 1 - }; - }; - class ATRangeScale - { - condition="ATmissile"; - type="group"; - class RangeBand - { - type="line"; - width=3.0; - points[]= - { - - { - "RangeBone", - {0.00,0.0}, - 1 - }, - - { - "RangeBone", - {-0.01,-0.01}, - 1 - }, - - { - "RangeBone", - {-0.01,0.01}, - 1 - }, - - { - "RangeBone", - {0.00,0.0}, - 1 - } - }; - }; - class ATMissileRange - { - type="line"; - width=3.0; - points[] = - { - ///////////////////////////////// range marks - { { 0.08,0.40 },1 }, - { { 0.10,0.40 },1 }, - {}, - { { 0.08,0.467 },1 }, - { { 0.10,0.467 },1 }, - {}, - { { 0.08,0.567 },1 }, - { { 0.10,0.567 },1 }, - {}, - { { 0.08,0.60 },1 }, - { { 0.10,0.60 },1 }, - {}, - - { { 0.08,0.467 },1 }, // line - { { 0.08,0.567 },1 }, - {} - }; - }; - }; - class HeadingArrow - { - type="line"; - width=4; - points[]= - { - - { - {0.50,0.95}, - 1 - }, - { - {0.515,0.965}, - 1 - }, - { - {0.485,0.965}, - 1 - }, - { - {0.50,0.95}, - 1 - } - }; - }; - class HeadingScale - { - type="scale"; - horizontal=1; - source="heading"; - sourceScale=0.1; - width=5; - top=0.35; - center=0.50; - bottom=0.65; - lineXleft="0.06 + 0.89"; - lineYright="0.05 + 0.89"; - lineXleftMajor="0.06 + 0.89"; - lineYrightMajor="0.04 + 0.89"; - majorLineEach=2; - numberEach=2; - step="1 / 2"; - stepSize="(0.65 - 0.35) / 5"; - align="center"; - scale=1; - pos[]= - { - 0.35, - "0.0 + 0.89" - }; - right[]= - { - 0.38, - "0.0 + 0.89" - }; - down[]= - { - 0.35, - "0.03 + 0.89" - }; - }; - }; - }; - class HUD_2 - { - topLeft="HUD_top_left"; - topRight="HUD_top_right"; - bottomLeft="HUD_bottom_left"; - borderLeft=0.12; - borderRight=0.12; - borderTop=0.05; - borderBottom=0.15; - color[]={0,1,0,0.1}; - enableParallax=1; - class Bones - { - class ForwardVec1 - { - type = "vector"; - source = "forward"; - pos0[] = {0,0}; - //pos10[] = {0.25,0.25}; - //pos0[]={0.50,0.32}; - //pos10[]={"1.382 - 0.5","1.145 - 0.32"}; - pos10[] = {0.0,0.0}; - }; - class ForwardVec - { - type = "vector"; - source = "forward"; - pos0[] = {0.0,0.0}; - //pos10[] = {"0.253 + 0.0","0.253 + 0.0"}; - pos10[] = {0.0,0.0}; - }; - class RadarContact - { - //source="radar"; - type="fixed"; - pos[]={0,0}; - }; - class HorizonBankRot - { - type="rotational"; - source="horizonBank"; - center[]={0.5,0.32}; - min=3.1416; - max=-3.1416; - //max=0.52359998; - minAngle=-180; - maxAngle=180; - aspectRatio=1; - }; - class VspeedBone - { - type="linear"; - source="vspeed"; - sourceScale=1; - min=-10; - max=10; - minPos[]={0.2,0.35}; - maxPos[]={0.2,0.65}; - }; - class ILS_H - { - type = "ils"; - pos0[] = {0.5,0.32}; - pos3[] = {0.7,0.32}; - }; - class ILS_W: ILS_H - { - pos3[] = {0.5,0.53}; - }; - class WeaponAimGUN - { - type = "vector"; - source = "weapon"; - //pos0[] = {0.5,0.125}; - pos0[] = {0.5,0.32}; - pos10[] = {" 0.5 + 0.253 "," 0.32 + 0.253 "}; - }; - class WeaponAimROCKET - { - type = "vector"; - source = "weapon"; - pos0[] = {0.5,0.390}; - pos10[] = {" 0.5 + 0.253 "," 0.390 + 0.253 "}; - }; - class RadarAltitudeBone - { - type="linear"; - source="altitudeAGL"; - sourceScale=0.10; - min=0; - max=200; - minPos[]={0.5,0.10}; - maxPos[]={0.5,0.85}; - }; - class TargetSelected - { - type = "vector"; - source = "target"; - pos0[]={ 0.50, 0.32 }; - //pos10[]={" 0.5 + 1.5 ", " 0.32 + 1.5"}; - pos10[]={1.382,1.145}; - }; - class Velocity - { - type="vector"; - source="velocity"; - pos0[]={0.5,0.32}; - pos10[]={0.8,0.62}; - //pos10[]={1.5,1.32}; - }; - class center - { - type="fixed"; - pos[]={0.5,0.38}; - }; - class Level0 - { - type="horizon"; - pos0[]={0.50,0.32}; - pos10[]={1.5,1.32}; - //pos10[]={1.382,1.145}; - angle=0; - }; - class LevelP5: Level0 - { - angle=5; - }; - class LevelM5: Level0 - { - angle=-5; - }; - class LevelP10: Level0 - { - angle=10; - }; - class LevelM10: Level0 - { - angle=-10; - }; - class LevelP15: Level0 - { - angle=15; - }; - class LevelM15: Level0 - { - angle=-15; - }; - class LevelP20: Level0 - { - angle=20; - }; - class LevelM20: Level0 - { - angle=-20; - }; - class LevelP25: Level0 - { - angle=25; - }; - class LevelM25: Level0 - { - angle=-25; - }; - class LevelP30: Level0 - { - angle=30; - }; - class LevelM30: Level0 - { - angle=-30; - }; - class LevelP35: Level0 - { - angle=35; - }; - class LevelM35: Level0 - { - angle=-35; - }; - class LevelP40: Level0 - { - angle=40; - }; - class LevelM40: Level0 - { - angle=-40; - }; - class LevelP45: Level0 - { - angle=45; - }; - class LevelM45: Level0 - { - angle=-45; - }; - class LevelP50: Level0 - { - angle=50; - }; - class LevelM50: Level0 - { - angle=-50; - }; - }; - class Draw - { - color[]={0.15000001,1,0.15000001}; - alpha=0.9; - clipTL[]={0,0}; - clipBR[]={1,1}; - condition="on"; - class Horizont // default - { - clipTL[]={0.10,0.10}; - clipBR[]={0.90,0.90}; - class Dimmed - { - class Level0 - { - type="line"; - points[]= - { - - { - "Level0", - {-0.2,0}, - 1 - }, - - { - "Level0", - {-0.050000001,0}, - 1 - }, - {}, - - { - "Level0", - {0.050000001,0}, - 1 - }, - - { - "Level0", - {0.2,0}, - 1 - } - }; - }; - class VALM_1_0 - { - type="text"; - source="static"; - text=0; - align="left"; - scale=1; - sourceScale=57.2958; - pos[]= - { - "Level0", - {-0.23,-0.025}, - 1 - }; - right[]= - { - "Level0", - {-0.13,-0.025}, - 1 - }; - down[]= - { - "Level0", - {-0.23,0.025}, - 1 - }; - }; - class VALM_2_0: VALM_1_0 - { - align="right"; - pos[]= - { - "Level0", - {0.22,-0.025}, - 1 - }; - right[]= - { - "Level0", - {0.31999999,-0.025}, - 1 - }; - down[]= - { - "Level0", - {0.22,0.025}, - 1 - }; - }; - class LevelM5: Level0 - { - type="line"; - points[]= - { - - { - "LevelM5", - {-0.2,-0.029999999}, - 1 - }, - - { - "LevelM5", - {-0.2,0}, - 1 - }, - - { - "LevelM5", - {-0.15000001,0}, - 1 - }, - {}, - - { - "LevelM5", - {-0.1,0}, - 1 - }, - - { - "LevelM5", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelM5", - {0.050000001,0}, - 1 - }, - - { - "LevelM5", - {0.1,0}, - 1 - }, - {}, - - { - "LevelM5", - {0.15000001,0}, - 1 - }, - - { - "LevelM5", - {0.2,0}, - 1 - }, - - { - "LevelM5", - {0.2,-0.029999999}, - 1 - } - }; - }; - class VALM_1_5 - { - type="text"; - source="static"; - text=-5; - align="left"; - scale=1; - sourceScale=57.2958; - pos[]= - { - "LevelM5", - {-0.23,-0.085000001}, - 1 - }; - right[]= - { - "LevelM5", - {-0.13,-0.085000001}, - 1 - }; - down[]= - { - "LevelM5", - {-0.23,-0.035}, - 1 - }; - }; - class VALM_2_5: VALM_1_5 - { - align="right"; - pos[]= - { - "LevelM5", - {0.22,-0.085000001}, - 1 - }; - right[]= - { - "LevelM5", - {0.31999999,-0.085000001}, - 1 - }; - down[]= - { - "LevelM5", - {0.22,-0.035}, - 1 - }; - }; - class LevelP5: Level0 - { - type="line"; - points[]= - { - - { - "LevelP5", - {-0.2,0.029999999}, - 1 - }, - - { - "LevelP5", - {-0.2,0}, - 1 - }, - - { - "LevelP5", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelP5", - {0.050000001,0}, - 1 - }, - - { - "LevelP5", - {0.2,0}, - 1 - }, - - { - "LevelP5", - {0.2,0.029999999}, - 1 - } - }; - }; - class VALP_1_5 - { - type="text"; - source="static"; - text="5"; - align="left"; - scale=1; - sourceScale=57.2958; - pos[]= - { - "LevelP5", - {-0.23,0.035}, - 1 - }; - right[]= - { - "LevelP5", - {-0.13,0.035}, - 1 - }; - down[]= - { - "LevelP5", - {-0.23,0.085000001}, - 1 - }; - }; - class VALP_2_5: VALP_1_5 - { - align="right"; - pos[]= - { - "LevelP5", - {0.22,0.035}, - 1 - }; - right[]= - { - "LevelP5", - {0.31999999,0.035}, - 1 - }; - down[]= - { - "LevelP5", - {0.22,0.085000001}, - 1 - }; - }; - class LevelM10: Level0 - { - type="line"; - points[]= - { - - { - "LevelM10", - {-0.2,-0.029999999}, - 1 - }, - - { - "LevelM10", - {-0.2,0}, - 1 - }, - - { - "LevelM10", - {-0.15000001,0}, - 1 - }, - {}, - - { - "LevelM10", - {-0.1,0}, - 1 - }, - - { - "LevelM10", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelM10", - {0.050000001,0}, - 1 - }, - - { - "LevelM10", - {0.1,0}, - 1 - }, - {}, - - { - "LevelM10", - {0.15000001,0}, - 1 - }, - - { - "LevelM10", - {0.2,0}, - 1 - }, - - { - "LevelM10", - {0.2,-0.029999999}, - 1 - } - }; - }; - class VALM_1_10 - { - type="text"; - source="static"; - text=-10; - align="left"; - scale=1; - sourceScale=57.2958; - pos[]= - { - "LevelM10", - {-0.23,-0.085000001}, - 1 - }; - right[]= - { - "LevelM10", - {-0.13,-0.085000001}, - 1 - }; - down[]= - { - "LevelM10", - {-0.23,-0.035}, - 1 - }; - }; - class VALM_2_10: VALM_1_10 - { - align="right"; - pos[]= - { - "LevelM10", - {0.22,-0.085000001}, - 1 - }; - right[]= - { - "LevelM10", - {0.31999999,-0.085000001}, - 1 - }; - down[]= - { - "LevelM10", - {0.22,-0.035}, - 1 - }; - }; - class LevelP10: Level0 - { - type="line"; - points[]= - { - - { - "LevelP10", - {-0.2,0.029999999}, - 1 - }, - - { - "LevelP10", - {-0.2,0}, - 1 - }, - - { - "LevelP10", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelP10", - {0.050000001,0}, - 1 - }, - - { - "LevelP10", - {0.2,0}, - 1 - }, - - { - "LevelP10", - {0.2,0.029999999}, - 1 - } - }; - }; - class VALP_1_10 - { - type="text"; - source="static"; - text="10"; - align="left"; - scale=1; - sourceScale=57.2958; - pos[]= - { - "LevelP10", - {-0.23,0.035}, - 1 - }; - right[]= - { - "LevelP10", - {-0.13,0.035}, - 1 - }; - down[]= - { - "LevelP10", - {-0.23,0.085000001}, - 1 - }; - }; - class VALP_2_10: VALP_1_10 - { - align="right"; - pos[]= - { - "LevelP10", - {0.22,0.035}, - 1 - }; - right[]= - { - "LevelP10", - {0.31999999,0.035}, - 1 - }; - down[]= - { - "LevelP10", - {0.22,0.085000001}, - 1 - }; - }; - class LevelM15: Level0 - { - type="line"; - points[]= - { - - { - "LevelM15", - {-0.2,-0.029999999}, - 1 - }, - - { - "LevelM15", - {-0.2,0}, - 1 - }, - - { - "LevelM15", - {-0.15000001,0}, - 1 - }, - {}, - - { - "LevelM15", - {-0.1,0}, - 1 - }, - - { - "LevelM15", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelM15", - {0.050000001,0}, - 1 - }, - - { - "LevelM15", - {0.1,0}, - 1 - }, - {}, - - { - "LevelM15", - {0.15000001,0}, - 1 - }, - - { - "LevelM15", - {0.2,0}, - 1 - }, - - { - "LevelM15", - {0.2,-0.029999999}, - 1 - } - }; - }; - class VALM_1_15 - { - type="text"; - source="static"; - text=-15; - align="left"; - scale=1; - sourceScale=57.2958; - pos[]= - { - "LevelM15", - {-0.23,-0.085000001}, - 1 - }; - right[]= - { - "LevelM15", - {-0.13,-0.085000001}, - 1 - }; - down[]= - { - "LevelM15", - {-0.23,-0.035}, - 1 - }; - }; - class VALM_2_15: VALM_1_15 - { - align="right"; - pos[]= - { - "LevelM15", - {0.22,-0.085000001}, - 1 - }; - right[]= - { - "LevelM15", - {0.31999999,-0.085000001}, - 1 - }; - down[]= - { - "LevelM15", - {0.22,-0.035}, - 1 - }; - }; - class LevelP15: Level0 - { - type="line"; - points[]= - { - - { - "LevelP15", - {-0.2,0.029999999}, - 1 - }, - - { - "LevelP15", - {-0.2,0}, - 1 - }, - - { - "LevelP15", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelP15", - {0.050000001,0}, - 1 - }, - - { - "LevelP15", - {0.2,0}, - 1 - }, - - { - "LevelP15", - {0.2,0.029999999}, - 1 - } - }; - }; - class VALP_1_15 - { - type="text"; - source="static"; - text="15"; - align="left"; - scale=1; - sourceScale=57.2958; - pos[]= - { - "LevelP15", - {-0.23,0.035}, - 1 - }; - right[]= - { - "LevelP15", - {-0.13,0.035}, - 1 - }; - down[]= - { - "LevelP15", - {-0.23,0.085000001}, - 1 - }; - }; - class VALP_2_15: VALP_1_15 - { - align="right"; - pos[]= - { - "LevelP15", - {0.22,0.035}, - 1 - }; - right[]= - { - "LevelP15", - {0.31999999,0.035}, - 1 - }; - down[]= - { - "LevelP15", - {0.22,0.085000001}, - 1 - }; - }; - class LevelM20: Level0 - { - type="line"; - points[]= - { - - { - "LevelM20", - {-0.2,-0.029999999}, - 1 - }, - - { - "LevelM20", - {-0.2,0}, - 1 - }, - - { - "LevelM20", - {-0.15000001,0}, - 1 - }, - {}, - - { - "LevelM20", - {-0.1,0}, - 1 - }, - - { - "LevelM20", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelM20", - {0.050000001,0}, - 1 - }, - - { - "LevelM20", - {0.1,0}, - 1 - }, - {}, - - { - "LevelM20", - {0.15000001,0}, - 1 - }, - - { - "LevelM20", - {0.2,0}, - 1 - }, - - { - "LevelM20", - {0.2,-0.029999999}, - 1 - } - }; - }; - class VALM_1_20 - { - type="text"; - source="static"; - text=-20; - align="left"; - scale=1; - sourceScale=57.2958; - pos[]= - { - "LevelM20", - {-0.23,-0.085000001}, - 1 - }; - right[]= - { - "LevelM20", - {-0.13,-0.085000001}, - 1 - }; - down[]= - { - "LevelM20", - {-0.23,-0.035}, - 1 - }; - }; - class VALM_2_20: VALM_1_20 - { - align="right"; - pos[]= - { - "LevelM20", - {0.22,-0.085000001}, - 1 - }; - right[]= - { - "LevelM20", - {0.31999999,-0.085000001}, - 1 - }; - down[]= - { - "LevelM20", - {0.22,-0.035}, - 1 - }; - }; - class LevelP20: Level0 - { - type="line"; - points[]= - { - - { - "LevelP20", - {-0.2,0.029999999}, - 1 - }, - - { - "LevelP20", - {-0.2,0}, - 1 - }, - - { - "LevelP20", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelP20", - {0.050000001,0}, - 1 - }, - - { - "LevelP20", - {0.2,0}, - 1 - }, - - { - "LevelP20", - {0.2,0.029999999}, - 1 - } - }; - }; - class VALP_1_20 - { - type="text"; - source="static"; - text="20"; - align="left"; - scale=1; - sourceScale=57.2958; - pos[]= - { - "LevelP20", - {-0.23,0.035}, - 1 - }; - right[]= - { - "LevelP20", - {-0.13,0.035}, - 1 - }; - down[]= - { - "LevelP20", - {-0.23,0.085000001}, - 1 - }; - }; - class VALP_2_20: VALP_1_20 - { - align="right"; - pos[]= - { - "LevelP20", - {0.22,0.035}, - 1 - }; - right[]= - { - "LevelP20", - {0.31999999,0.035}, - 1 - }; - down[]= - { - "LevelP20", - {0.22,0.085000001}, - 1 - }; - }; - class LevelM25: Level0 - { - type="line"; - points[]= - { - - { - "LevelM25", - {-0.2,-0.029999999}, - 1 - }, - - { - "LevelM25", - {-0.2,0}, - 1 - }, - - { - "LevelM25", - {-0.15000001,0}, - 1 - }, - {}, - - { - "LevelM25", - {-0.1,0}, - 1 - }, - - { - "LevelM25", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelM25", - {0.050000001,0}, - 1 - }, - - { - "LevelM25", - {0.1,0}, - 1 - }, - {}, - - { - "LevelM25", - {0.15000001,0}, - 1 - }, - - { - "LevelM25", - {0.2,0}, - 1 - }, - - { - "LevelM25", - {0.2,-0.029999999}, - 1 - } - }; - }; - class VALM_1_25 - { - type="text"; - source="static"; - text=-25; - align="left"; - scale=1; - sourceScale=57.2958; - pos[]= - { - "LevelM25", - {-0.23,-0.085000001}, - 1 - }; - right[]= - { - "LevelM25", - {-0.13,-0.085000001}, - 1 - }; - down[]= - { - "LevelM25", - {-0.23,-0.035}, - 1 - }; - }; - class VALM_2_25: VALM_1_25 - { - align="right"; - pos[]= - { - "LevelM25", - {0.22,-0.085000001}, - 1 - }; - right[]= - { - "LevelM25", - {0.31999999,-0.085000001}, - 1 - }; - down[]= - { - "LevelM25", - {0.22,-0.035}, - 1 - }; - }; - class LevelP25: Level0 - { - type="line"; - points[]= - { - - { - "LevelP25", - {-0.2,0.029999999}, - 1 - }, - - { - "LevelP25", - {-0.2,0}, - 1 - }, - - { - "LevelP25", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelP25", - {0.050000001,0}, - 1 - }, - - { - "LevelP25", - {0.2,0}, - 1 - }, - - { - "LevelP25", - {0.2,0.029999999}, - 1 - } - }; - }; - class VALP_1_25 - { - type="text"; - source="static"; - text="25"; - align="left"; - scale=1; - sourceScale=57.2958; - pos[]= - { - "LevelP25", - {-0.23,0.035}, - 1 - }; - right[]= - { - "LevelP25", - {-0.13,0.035}, - 1 - }; - down[]= - { - "LevelP25", - {-0.23,0.085000001}, - 1 - }; - }; - class VALP_2_25: VALP_1_25 - { - align="right"; - pos[]= - { - "LevelP25", - {0.22,0.035}, - 1 - }; - right[]= - { - "LevelP25", - {0.31999999,0.035}, - 1 - }; - down[]= - { - "LevelP25", - {0.22,0.085000001}, - 1 - }; - }; - class LevelM30: Level0 - { - type="line"; - points[]= - { - - { - "LevelM30", - {-0.2,-0.029999999}, - 1 - }, - - { - "LevelM30", - {-0.2,0}, - 1 - }, - - { - "LevelM30", - {-0.15000001,0}, - 1 - }, - {}, - - { - "LevelM30", - {-0.1,0}, - 1 - }, - - { - "LevelM30", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelM30", - {0.050000001,0}, - 1 - }, - - { - "LevelM30", - {0.1,0}, - 1 - }, - {}, - - { - "LevelM30", - {0.15000001,0}, - 1 - }, - - { - "LevelM30", - {0.2,0}, - 1 - }, - - { - "LevelM30", - {0.2,-0.029999999}, - 1 - } - }; - }; - class VALM_1_30 - { - type="text"; - source="static"; - text=-30; - align="left"; - scale=1; - sourceScale=57.2958; - pos[]= - { - "LevelM30", - {-0.23,-0.085000001}, - 1 - }; - right[]= - { - "LevelM30", - {-0.13,-0.085000001}, - 1 - }; - down[]= - { - "LevelM30", - {-0.23,-0.035}, - 1 - }; - }; - class VALM_2_30: VALM_1_30 - { - align="right"; - pos[]= - { - "LevelM30", - {0.22,-0.085000001}, - 1 - }; - right[]= - { - "LevelM30", - {0.31999999,-0.085000001}, - 1 - }; - down[]= - { - "LevelM30", - {0.22,-0.035}, - 1 - }; - }; - class LevelP30: Level0 - { - type="line"; - points[]= - { - - { - "LevelP30", - {-0.2,0.029999999}, - 1 - }, - - { - "LevelP30", - {-0.2,0}, - 1 - }, - - { - "LevelP30", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelP30", - {0.050000001,0}, - 1 - }, - - { - "LevelP30", - {0.2,0}, - 1 - }, - - { - "LevelP30", - {0.2,0.029999999}, - 1 - } - }; - }; - class VALP_1_30 - { - type="text"; - source="static"; - text="30"; - align="left"; - scale=1; - sourceScale=57.2958; - pos[]= - { - "LevelP30", - {-0.23,0.035}, - 1 - }; - right[]= - { - "LevelP30", - {-0.13,0.035}, - 1 - }; - down[]= - { - "LevelP30", - {-0.23,0.085000001}, - 1 - }; - }; - class VALP_2_30: VALP_1_30 - { - align="right"; - pos[]= - { - "LevelP30", - {0.22,0.035}, - 1 - }; - right[]= - { - "LevelP30", - {0.31999999,0.035}, - 1 - }; - down[]= - { - "LevelP30", - {0.22,0.085000001}, - 1 - }; - }; - class LevelM35: Level0 - { - type="line"; - points[]= - { - - { - "LevelM35", - {-0.2,-0.029999999}, - 1 - }, - - { - "LevelM35", - {-0.2,0}, - 1 - }, - - { - "LevelM35", - {-0.15000001,0}, - 1 - }, - {}, - - { - "LevelM35", - {-0.1,0}, - 1 - }, - - { - "LevelM35", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelM35", - {0.050000001,0}, - 1 - }, - - { - "LevelM35", - {0.1,0}, - 1 - }, - {}, - - { - "LevelM35", - {0.15000001,0}, - 1 - }, - - { - "LevelM35", - {0.2,0}, - 1 - }, - - { - "LevelM35", - {0.2,-0.029999999}, - 1 - } - }; - }; - class VALM_1_35 - { - type="text"; - source="static"; - text=-35; - align="left"; - scale=1; - sourceScale=57.2958; - pos[]= - { - "LevelM35", - {-0.23,-0.085000001}, - 1 - }; - right[]= - { - "LevelM35", - {-0.13,-0.085000001}, - 1 - }; - down[]= - { - "LevelM35", - {-0.23,-0.035}, - 1 - }; - }; - class VALM_2_35: VALM_1_35 - { - align="right"; - pos[]= - { - "LevelM35", - {0.22,-0.085000001}, - 1 - }; - right[]= - { - "LevelM35", - {0.31999999,-0.085000001}, - 1 - }; - down[]= - { - "LevelM35", - {0.22,-0.035}, - 1 - }; - }; - class LevelP35: Level0 - { - type="line"; - points[]= - { - - { - "LevelP35", - {-0.2,0.029999999}, - 1 - }, - - { - "LevelP35", - {-0.2,0}, - 1 - }, - - { - "LevelP35", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelP35", - {0.050000001,0}, - 1 - }, - - { - "LevelP35", - {0.2,0}, - 1 - }, - - { - "LevelP35", - {0.2,0.029999999}, - 1 - } - }; - }; - class VALP_1_35 - { - type="text"; - source="static"; - text="35"; - align="left"; - scale=1; - sourceScale=57.2958; - pos[]= - { - "LevelP35", - {-0.23,0.035}, - 1 - }; - right[]= - { - "LevelP35", - {-0.13,0.035}, - 1 - }; - down[]= - { - "LevelP35", - {-0.23,0.085000001}, - 1 - }; - }; - class VALP_2_35: VALP_1_35 - { - align="right"; - pos[]= - { - "LevelP35", - {0.22,0.035}, - 1 - }; - right[]= - { - "LevelP35", - {0.31999999,0.035}, - 1 - }; - down[]= - { - "LevelP35", - {0.22,0.085000001}, - 1 - }; - }; - class LevelM40: Level0 - { - type="line"; - points[]= - { - - { - "LevelM40", - {-0.2,-0.029999999}, - 1 - }, - - { - "LevelM40", - {-0.2,0}, - 1 - }, - - { - "LevelM40", - {-0.15000001,0}, - 1 - }, - {}, - - { - "LevelM40", - {-0.1,0}, - 1 - }, - - { - "LevelM40", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelM40", - {0.050000001,0}, - 1 - }, - - { - "LevelM40", - {0.1,0}, - 1 - }, - {}, - - { - "LevelM40", - {0.15000001,0}, - 1 - }, - - { - "LevelM40", - {0.2,0}, - 1 - }, - - { - "LevelM40", - {0.2,-0.029999999}, - 1 - } - }; - }; - class VALM_1_40 - { - type="text"; - source="static"; - text=-40; - align="left"; - scale=1; - sourceScale=57.2958; - pos[]= - { - "LevelM40", - {-0.23,-0.085000001}, - 1 - }; - right[]= - { - "LevelM40", - {-0.13,-0.085000001}, - 1 - }; - down[]= - { - "LevelM40", - {-0.23,-0.035}, - 1 - }; - }; - class VALM_2_40: VALM_1_40 - { - align="right"; - pos[]= - { - "LevelM40", - {0.22,-0.085000001}, - 1 - }; - right[]= - { - "LevelM40", - {0.31999999,-0.085000001}, - 1 - }; - down[]= - { - "LevelM40", - {0.22,-0.035}, - 1 - }; - }; - class LevelP40: Level0 - { - type="line"; - points[]= - { - - { - "LevelP40", - {-0.2,0.029999999}, - 1 - }, - - { - "LevelP40", - {-0.2,0}, - 1 - }, - - { - "LevelP40", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelP40", - {0.050000001,0}, - 1 - }, - - { - "LevelP40", - {0.2,0}, - 1 - }, - - { - "LevelP40", - {0.2,0.029999999}, - 1 - } - }; - }; - class VALP_1_40 - { - type="text"; - source="static"; - text="40"; - align="left"; - scale=1; - sourceScale=57.2958; - pos[]= - { - "LevelP40", - {-0.23,0.035}, - 1 - }; - right[]= - { - "LevelP40", - {-0.13,0.035}, - 1 - }; - down[]= - { - "LevelP40", - {-0.23,0.085000001}, - 1 - }; - }; - class VALP_2_40: VALP_1_40 - { - align="right"; - pos[]= - { - "LevelP40", - {0.22,0.035}, - 1 - }; - right[]= - { - "LevelP40", - {0.31999999,0.035}, - 1 - }; - down[]= - { - "LevelP40", - {0.22,0.085000001}, - 1 - }; - }; - class LevelM45: Level0 - { - type="line"; - points[]= - { - - { - "LevelM45", - {-0.2,-0.029999999}, - 1 - }, - - { - "LevelM45", - {-0.2,0}, - 1 - }, - - { - "LevelM45", - {-0.15000001,0}, - 1 - }, - {}, - - { - "LevelM45", - {-0.1,0}, - 1 - }, - - { - "LevelM45", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelM45", - {0.050000001,0}, - 1 - }, - - { - "LevelM45", - {0.1,0}, - 1 - }, - {}, - - { - "LevelM45", - {0.15000001,0}, - 1 - }, - - { - "LevelM45", - {0.2,0}, - 1 - }, - - { - "LevelM45", - {0.2,-0.029999999}, - 1 - } - }; - }; - class VALM_1_45 - { - type="text"; - source="static"; - text=-45; - align="left"; - scale=1; - sourceScale=57.2958; - pos[]= - { - "LevelM45", - {-0.23,-0.085000001}, - 1 - }; - right[]= - { - "LevelM45", - {-0.13,-0.085000001}, - 1 - }; - down[]= - { - "LevelM45", - {-0.23,-0.035}, - 1 - }; - }; - class VALM_2_45: VALM_1_45 - { - align="right"; - pos[]= - { - "LevelM45", - {0.22,-0.085000001}, - 1 - }; - right[]= - { - "LevelM45", - {0.31999999,-0.085000001}, - 1 - }; - down[]= - { - "LevelM45", - {0.22,-0.035}, - 1 - }; - }; - class LevelP45: Level0 - { - type="line"; - points[]= - { - - { - "LevelP45", - {-0.2,0.029999999}, - 1 - }, - - { - "LevelP45", - {-0.2,0}, - 1 - }, - - { - "LevelP45", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelP45", - {0.050000001,0}, - 1 - }, - - { - "LevelP45", - {0.2,0}, - 1 - }, - - { - "LevelP45", - {0.2,0.029999999}, - 1 - } - }; - }; - class VALP_1_45 - { - type="text"; - source="static"; - text="45"; - align="left"; - scale=1; - sourceScale=57.2958; - pos[]= - { - "LevelP45", - {-0.23,0.035}, - 1 - }; - right[]= - { - "LevelP45", - {-0.13,0.035}, - 1 - }; - down[]= - { - "LevelP45", - {-0.23,0.085000001}, - 1 - }; - }; - class VALP_2_45: VALP_1_45 - { - align="right"; - pos[]= - { - "LevelP45", - {0.22,0.035}, - 1 - }; - right[]= - { - "LevelP45", - {0.31999999,0.035}, - 1 - }; - down[]= - { - "LevelP45", - {0.22,0.085000001}, - 1 - }; - }; - class LevelM50: Level0 - { - type="line"; - points[]= - { - - { - "LevelM50", - {-0.2,-0.029999999}, - 1 - }, - - { - "LevelM50", - {-0.2,0}, - 1 - }, - - { - "LevelM50", - {-0.15000001,0}, - 1 - }, - {}, - - { - "LevelM50", - {-0.1,0}, - 1 - }, - - { - "LevelM50", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelM50", - {0.050000001,0}, - 1 - }, - - { - "LevelM50", - {0.1,0}, - 1 - }, - {}, - - { - "LevelM50", - {0.15000001,0}, - 1 - }, - - { - "LevelM50", - {0.2,0}, - 1 - }, - - { - "LevelM50", - {0.2,-0.029999999}, - 1 - } - }; - }; - class VALM_1_50 - { - type="text"; - source="static"; - text=-50; - align="left"; - scale=1; - sourceScale=57.2958; - pos[]= - { - "LevelM50", - {-0.23,-0.085000001}, - 1 - }; - right[]= - { - "LevelM50", - {-0.13,-0.085000001}, - 1 - }; - down[]= - { - "LevelM50", - {-0.23,-0.035}, - 1 - }; - }; - class VALM_2_50: VALM_1_50 - { - align="right"; - pos[]= - { - "LevelM50", - {0.22,-0.085000001}, - 1 - }; - right[]= - { - "LevelM50", - {0.31999999,-0.085000001}, - 1 - }; - down[]= - { - "LevelM50", - {0.22,-0.035}, - 1 - }; - }; - class LevelP50: Level0 - { - type="line"; - points[]= - { - - { - "LevelP50", - {-0.2,0.029999999}, - 1 - }, - - { - "LevelP50", - {-0.2,0}, - 1 - }, - - { - "LevelP50", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelP50", - {0.050000001,0}, - 1 - }, - - { - "LevelP50", - {0.2,0}, - 1 - }, - - { - "LevelP50", - {0.2,0.029999999}, - 1 - } - }; - }; - class VALP_1_50 - { - type="text"; - source="static"; - text="50"; - align="left"; - scale=1; - sourceScale=57.2958; - pos[]= - { - "LevelP50", - {-0.23,0.035}, - 1 - }; - right[]= - { - "LevelP50", - {-0.13,0.035}, - 1 - }; - down[]= - { - "LevelP50", - {-0.23,0.085000001}, - 1 - }; - }; - class VALP_2_50: VALP_1_50 - { - align="right"; - pos[]= - { - "LevelP50", - {0.22,0.035}, - 1 - }; - right[]= - { - "LevelP50", - {0.31999999,0.035}, - 1 - }; - down[]= - { - "LevelP50", - {0.22,0.085000001}, - 1 - }; - }; - }; - }; - - class Horizont - { - clipTL[]={0,0}; - clipBR[]={1.0,1.0}; - class Dimmed - { - class Level0 - { - type="line"; - points[]= - { - - { - "Level0", - {-0.3,0}, - 1 - }, - - { - "Level0", - {-0.050000001,0}, - 1 - }, - {}, - - { - "Level0", - {0.050000001,0}, - 1 - }, - - { - "Level0", - {0.3,0}, - 1 - } - }; - }; - class VALM_1_0 - { - type="text"; - source="static"; - text=0; - align="left"; - scale=1; - sourceScale=1; - pos[]= - { - "Level0", - {-0.23,-0.025}, - 1 - }; - right[]= - { - "Level0", - {-0.13,-0.025}, - 1 - }; - down[]= - { - "Level0", - {-0.23,0.025}, - 1 - }; - }; - class VALM_2_0: VALM_1_0 - { - align="right"; - pos[]= - { - "Level0", - {0.22,-0.025}, - 1 - }; - right[]= - { - "Level0", - {0.31999999,-0.025}, - 1 - }; - down[]= - { - "Level0", - {0.22,0.025}, - 1 - }; - }; - - class LevelM5: Level0 - { - type="line"; - width=3.0; - points[]= - { - - { - "LevelM5", - {-0.2,-0.029999999}, - 1 - }, - - { - "LevelM5", - {-0.2,0}, - 1 - }, - - { - "LevelM5", - {-0.15000001,0}, - 1 - }, - {}, - - { - "LevelM5", - {-0.1,0}, - 1 - }, - - { - "LevelM5", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelM5", - {0.050000001,0}, - 1 - }, - - { - "LevelM5", - {0.1,0}, - 1 - }, - {}, - - { - "LevelM5", - {0.15000001,0}, - 1 - }, - - { - "LevelM5", - {0.2,0}, - 1 - }, - - { - "LevelM5", - {0.2,-0.029999999}, - 1 - } - }; - }; - class VALM_1_5 - { - type="text"; - source="static"; - text=-5; - align="left"; - scale=1; - sourceScale=1; - pos[]= - { - "LevelM5", - {-0.22,-0.085000001}, - 1 - }; - right[]= - { - "LevelM5", - {-0.17,-0.085000001}, - 1 - }; - down[]= - { - "LevelM5", - {-0.22,-0.035}, - 1 - }; - }; - class VALM_2_5: VALM_1_5 - { - align="right"; - pos[]= - { - "LevelM5", - {0.22,-0.085000001}, - 1 - }; - right[]= - { - "LevelM5", - {0.27,-0.085000001}, - 1 - }; - down[]= - { - "LevelM5", - {0.22,-0.035}, - 1 - }; - }; - class LevelP5: Level0 - { - type="line"; - width=3.0; - points[]= - { - - { - "LevelP5", - {-0.2,0.029999999}, - 1 - }, - - { - "LevelP5", - {-0.2,0}, - 1 - }, - - { - "LevelP5", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelP5", - {0.050000001,0}, - 1 - }, - - { - "LevelP5", - {0.2,0}, - 1 - }, - - { - "LevelP5", - {0.2,0.029999999}, - 1 - } - }; - }; - class VALP_1_5 - { - type="text"; - source="static"; - text="5"; - align="left"; - scale=1; - sourceScale=1; - pos[]= - { - "LevelP5", - {-0.22,0.035}, - 1 - }; - right[]= - { - "LevelP5", - {-0.17,0.035}, - 1 - }; - down[]= - { - "LevelP5", - {-0.22,0.085000001}, - 1 - }; - }; - class VALP_2_5: VALP_1_5 - { - align="right"; - pos[]= - { - "LevelP5", - {0.22,0.035}, - 1 - }; - right[]= - { - "LevelP5", - {0.27,0.035}, - 1 - }; - down[]= - { - "LevelP5", - {0.22,0.085000001}, - 1 - }; - }; - class LevelM10: Level0 - { - type="line"; - width=3.0; - points[]= - { - - { - "LevelM10", - {-0.2,-0.029999999}, - 1 - }, - - { - "LevelM10", - {-0.2,0}, - 1 - }, - - { - "LevelM10", - {-0.15000001,0}, - 1 - }, - {}, - - { - "LevelM10", - {-0.1,0}, - 1 - }, - - { - "LevelM10", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelM10", - {0.050000001,0}, - 1 - }, - - { - "LevelM10", - {0.1,0}, - 1 - }, - {}, - - { - "LevelM10", - {0.15000001,0}, - 1 - }, - - { - "LevelM10", - {0.2,0}, - 1 - }, - - { - "LevelM10", - {0.2,-0.029999999}, - 1 - } - }; - }; - class VALM_1_10 - { - type="text"; - source="static"; - text=-10; - align="left"; - scale=1; - sourceScale=1; - pos[]= - { - "LevelM10", - {-0.22,-0.085000001}, - 1 - }; - right[]= - { - "LevelM10", - {-0.17,-0.085000001}, - 1 - }; - down[]= - { - "LevelM10", - {-0.22,-0.035}, - 1 - }; - }; - class VALM_2_10: VALM_1_10 - { - align="right"; - pos[]= - { - "LevelM10", - {0.22,-0.085000001}, - 1 - }; - right[]= - { - "LevelM10", - {0.27,-0.085000001}, - 1 - }; - down[]= - { - "LevelM10", - {0.22,-0.035}, - 1 - }; - }; - class LevelP10: Level0 - { - type="line"; - width=3.0; - points[]= - { - - { - "LevelP10", - {-0.2,0.029999999}, - 1 - }, - - { - "LevelP10", - {-0.2,0}, - 1 - }, - - { - "LevelP10", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelP10", - {0.050000001,0}, - 1 - }, - - { - "LevelP10", - {0.2,0}, - 1 - }, - - { - "LevelP10", - {0.2,0.029999999}, - 1 - } - }; - }; - class VALP_1_10 - { - type="text"; - source="static"; - text="10"; - align="left"; - scale=1; - sourceScale=1; - pos[]= - { - "LevelP10", - {-0.22,0.035}, - 1 - }; - right[]= - { - "LevelP10", - {-0.17,0.035}, - 1 - }; - down[]= - { - "LevelP10", - {-0.22,0.085000001}, - 1 - }; - }; - class VALP_2_10: VALP_1_10 - { - align="right"; - pos[]= - { - "LevelP10", - {0.22,0.035}, - 1 - }; - right[]= - { - "LevelP10", - {0.27,0.035}, - 1 - }; - down[]= - { - "LevelP10", - {0.22,0.085000001}, - 1 - }; - }; - class LevelM15: Level0 - { - type="line"; - width=3.0; - points[]= - { - - { - "LevelM15", - {-0.2,-0.029999999}, - 1 - }, - - { - "LevelM15", - {-0.2,0}, - 1 - }, - - { - "LevelM15", - {-0.15000001,0}, - 1 - }, - {}, - - { - "LevelM15", - {-0.1,0}, - 1 - }, - - { - "LevelM15", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelM15", - {0.050000001,0}, - 1 - }, - - { - "LevelM15", - {0.1,0}, - 1 - }, - {}, - - { - "LevelM15", - {0.15000001,0}, - 1 - }, - - { - "LevelM15", - {0.2,0}, - 1 - }, - - { - "LevelM15", - {0.2,-0.029999999}, - 1 - } - }; - }; - class VALM_1_15 - { - type="text"; - source="static"; - text=-15; - align="left"; - scale=1; - sourceScale=1; - pos[]= - { - "LevelM15", - {-0.22,-0.085000001}, - 1 - }; - right[]= - { - "LevelM15", - {-0.17,-0.085000001}, - 1 - }; - down[]= - { - "LevelM15", - {-0.22,-0.035}, - 1 - }; - }; - class VALM_2_15: VALM_1_15 - { - align="right"; - pos[]= - { - "LevelM15", - {0.22,-0.085000001}, - 1 - }; - right[]= - { - "LevelM15", - {0.27,-0.085000001}, - 1 - }; - down[]= - { - "LevelM15", - {0.22,-0.035}, - 1 - }; - }; - class LevelP15: Level0 - { - type="line"; - width=3.0; - points[]= - { - - { - "LevelP15", - {-0.2,0.029999999}, - 1 - }, - - { - "LevelP15", - {-0.2,0}, - 1 - }, - - { - "LevelP15", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelP15", - {0.050000001,0}, - 1 - }, - - { - "LevelP15", - {0.2,0}, - 1 - }, - - { - "LevelP15", - {0.2,0.029999999}, - 1 - } - }; - }; - class VALP_1_15 - { - type="text"; - source="static"; - text="15"; - align="left"; - scale=1; - sourceScale=1; - pos[]= - { - "LevelP15", - {-0.22,0.035}, - 1 - }; - right[]= - { - "LevelP15", - {-0.17,0.035}, - 1 - }; - down[]= - { - "LevelP15", - {-0.22,0.085000001}, - 1 - }; - }; - class VALP_2_15: VALP_1_15 - { - align="right"; - pos[]= - { - "LevelP15", - {0.22,0.035}, - 1 - }; - right[]= - { - "LevelP15", - {0.27,0.035}, - 1 - }; - down[]= - { - "LevelP15", - {0.22,0.085000001}, - 1 - }; - }; - class LevelM20: Level0 - { - type="line"; - width=3.0; - points[]= - { - - { - "LevelM20", - {-0.2,-0.029999999}, - 1 - }, - - { - "LevelM20", - {-0.2,0}, - 1 - }, - - { - "LevelM20", - {-0.15000001,0}, - 1 - }, - {}, - - { - "LevelM20", - {-0.1,0}, - 1 - }, - - { - "LevelM20", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelM20", - {0.050000001,0}, - 1 - }, - - { - "LevelM20", - {0.1,0}, - 1 - }, - {}, - - { - "LevelM20", - {0.15000001,0}, - 1 - }, - - { - "LevelM20", - {0.2,0}, - 1 - }, - - { - "LevelM20", - {0.2,-0.029999999}, - 1 - } - }; - }; - class VALM_1_20 - { - type="text"; - source="static"; - text=-20; - align="left"; - scale=1; - sourceScale=1; - pos[]= - { - "LevelM20", - {-0.22,-0.085000001}, - 1 - }; - right[]= - { - "LevelM20", - {-0.17,-0.085000001}, - 1 - }; - down[]= - { - "LevelM20", - {-0.22,-0.035}, - 1 - }; - }; - class VALM_2_20: VALM_1_20 - { - align="right"; - pos[]= - { - "LevelM20", - {0.22,-0.085000001}, - 1 - }; - right[]= - { - "LevelM20", - {0.27,-0.085000001}, - 1 - }; - down[]= - { - "LevelM20", - {0.22,-0.035}, - 1 - }; - }; - class LevelP20: Level0 - { - type="line"; - width=3.0; - points[]= - { - - { - "LevelP20", - {-0.2,0.029999999}, - 1 - }, - - { - "LevelP20", - {-0.2,0}, - 1 - }, - - { - "LevelP20", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelP20", - {0.050000001,0}, - 1 - }, - - { - "LevelP20", - {0.2,0}, - 1 - }, - - { - "LevelP20", - {0.2,0.029999999}, - 1 - } - }; - }; - class VALP_1_20 - { - type="text"; - source="static"; - text="20"; - align="left"; - scale=1; - sourceScale=1; - pos[]= - { - "LevelP20", - {-0.22,0.035}, - 1 - }; - right[]= - { - "LevelP20", - {-0.17,0.035}, - 1 - }; - down[]= - { - "LevelP20", - {-0.22,0.085000001}, - 1 - }; - }; - class VALP_2_20: VALP_1_20 - { - align="right"; - pos[]= - { - "LevelP20", - {0.22,0.035}, - 1 - }; - right[]= - { - "LevelP20", - {0.27,0.035}, - 1 - }; - down[]= - { - "LevelP20", - {0.22,0.085000001}, - 1 - }; - }; - class LevelM25: Level0 - { - type="line"; - width=3.0; - points[]= - { - - { - "LevelM25", - {-0.2,-0.029999999}, - 1 - }, - - { - "LevelM25", - {-0.2,0}, - 1 - }, - - { - "LevelM25", - {-0.15000001,0}, - 1 - }, - {}, - - { - "LevelM25", - {-0.1,0}, - 1 - }, - - { - "LevelM25", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelM25", - {0.050000001,0}, - 1 - }, - - { - "LevelM25", - {0.1,0}, - 1 - }, - {}, - - { - "LevelM25", - {0.15000001,0}, - 1 - }, - - { - "LevelM25", - {0.2,0}, - 1 - }, - - { - "LevelM25", - {0.2,-0.029999999}, - 1 - } - }; - }; - class VALM_1_25 - { - type="text"; - source="static"; - text=-25; - align="left"; - scale=1; - sourceScale=1; - pos[]= - { - "LevelM25", - {-0.22,-0.085000001}, - 1 - }; - right[]= - { - "LevelM25", - {-0.17,-0.085000001}, - 1 - }; - down[]= - { - "LevelM25", - {-0.22,-0.035}, - 1 - }; - }; - class VALM_2_25: VALM_1_25 - { - align="right"; - pos[]= - { - "LevelM25", - {0.22,-0.085000001}, - 1 - }; - right[]= - { - "LevelM25", - {0.27,-0.085000001}, - 1 - }; - down[]= - { - "LevelM25", - {0.22,-0.035}, - 1 - }; - }; - class LevelP25: Level0 - { - type="line"; - width=3.0; - points[]= - { - - { - "LevelP25", - {-0.2,0.029999999}, - 1 - }, - - { - "LevelP25", - {-0.2,0}, - 1 - }, - - { - "LevelP25", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelP25", - {0.050000001,0}, - 1 - }, - - { - "LevelP25", - {0.2,0}, - 1 - }, - - { - "LevelP25", - {0.2,0.029999999}, - 1 - } - }; - }; - class VALP_1_25 - { - type="text"; - source="static"; - text="25"; - align="left"; - scale=1; - sourceScale=1; - pos[]= - { - "LevelP25", - {-0.22,0.035}, - 1 - }; - right[]= - { - "LevelP25", - {-0.17,0.035}, - 1 - }; - down[]= - { - "LevelP25", - {-0.22,0.085000001}, - 1 - }; - }; - class VALP_2_25: VALP_1_25 - { - align="right"; - pos[]= - { - "LevelP25", - {0.22,0.035}, - 1 - }; - right[]= - { - "LevelP25", - {0.27,0.035}, - 1 - }; - down[]= - { - "LevelP25", - {0.22,0.085000001}, - 1 - }; - }; - class LevelM30: Level0 - { - type="line"; - width=3.0; - points[]= - { - - { - "LevelM30", - {-0.2,-0.029999999}, - 1 - }, - - { - "LevelM30", - {-0.2,0}, - 1 - }, - - { - "LevelM30", - {-0.15000001,0}, - 1 - }, - {}, - - { - "LevelM30", - {-0.1,0}, - 1 - }, - - { - "LevelM30", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelM30", - {0.050000001,0}, - 1 - }, - - { - "LevelM30", - {0.1,0}, - 1 - }, - {}, - - { - "LevelM30", - {0.15000001,0}, - 1 - }, - - { - "LevelM30", - {0.2,0}, - 1 - }, - - { - "LevelM30", - {0.2,-0.029999999}, - 1 - } - }; - }; - class VALM_1_30 - { - type="text"; - source="static"; - text=-30; - align="left"; - scale=1; - sourceScale=1; - pos[]= - { - "LevelM30", - {-0.22,-0.085000001}, - 1 - }; - right[]= - { - "LevelM30", - {-0.17,-0.085000001}, - 1 - }; - down[]= - { - "LevelM30", - {-0.22,-0.035}, - 1 - }; - }; - class VALM_2_30: VALM_1_30 - { - align="right"; - pos[]= - { - "LevelM30", - {0.22,-0.085000001}, - 1 - }; - right[]= - { - "LevelM30", - {0.27,-0.085000001}, - 1 - }; - down[]= - { - "LevelM30", - {0.22,-0.035}, - 1 - }; - }; - class LevelP30: Level0 - { - type="line"; - width=3.0; - points[]= - { - - { - "LevelP30", - {-0.2,0.029999999}, - 1 - }, - - { - "LevelP30", - {-0.2,0}, - 1 - }, - - { - "LevelP30", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelP30", - {0.050000001,0}, - 1 - }, - - { - "LevelP30", - {0.2,0}, - 1 - }, - - { - "LevelP30", - {0.2,0.029999999}, - 1 - } - }; - }; - class VALP_1_30 - { - type="text"; - source="static"; - text="30"; - align="left"; - scale=1; - sourceScale=1; - pos[]= - { - "LevelP30", - {-0.22,0.035}, - 1 - }; - right[]= - { - "LevelP30", - {-0.17,0.035}, - 1 - }; - down[]= - { - "LevelP30", - {-0.22,0.085000001}, - 1 - }; - }; - class VALP_2_30: VALP_1_30 - { - align="right"; - pos[]= - { - "LevelP30", - {0.22,0.035}, - 1 - }; - right[]= - { - "LevelP30", - {0.27,0.035}, - 1 - }; - down[]= - { - "LevelP30", - {0.22,0.085000001}, - 1 - }; - }; - class LevelM35: Level0 - { - type="line"; - width=3.0; - points[]= - { - - { - "LevelM35", - {-0.2,-0.029999999}, - 1 - }, - - { - "LevelM35", - {-0.2,0}, - 1 - }, - - { - "LevelM35", - {-0.15000001,0}, - 1 - }, - {}, - - { - "LevelM35", - {-0.1,0}, - 1 - }, - - { - "LevelM35", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelM35", - {0.050000001,0}, - 1 - }, - - { - "LevelM35", - {0.1,0}, - 1 - }, - {}, - - { - "LevelM35", - {0.15000001,0}, - 1 - }, - - { - "LevelM35", - {0.2,0}, - 1 - }, - - { - "LevelM35", - {0.2,-0.029999999}, - 1 - } - }; - }; - class VALM_1_35 - { - type="text"; - source="static"; - text=-35; - align="left"; - scale=1; - sourceScale=1; - pos[]= - { - "LevelM35", - {-0.22,-0.085000001}, - 1 - }; - right[]= - { - "LevelM35", - {-0.17,-0.085000001}, - 1 - }; - down[]= - { - "LevelM35", - {-0.22,-0.035}, - 1 - }; - }; - class VALM_2_35: VALM_1_35 - { - align="right"; - pos[]= - { - "LevelM35", - {0.22,-0.085000001}, - 1 - }; - right[]= - { - "LevelM35", - {0.27,-0.085000001}, - 1 - }; - down[]= - { - "LevelM35", - {0.22,-0.035}, - 1 - }; - }; - class LevelP35: Level0 - { - type="line"; - width=3.0; - points[]= - { - - { - "LevelP35", - {-0.2,0.029999999}, - 1 - }, - - { - "LevelP35", - {-0.2,0}, - 1 - }, - - { - "LevelP35", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelP35", - {0.050000001,0}, - 1 - }, - - { - "LevelP35", - {0.2,0}, - 1 - }, - - { - "LevelP35", - {0.2,0.029999999}, - 1 - } - }; - }; - class VALP_1_35 - { - type="text"; - source="static"; - text="35"; - align="left"; - scale=1; - sourceScale=1; - pos[]= - { - "LevelP35", - {-0.22,0.035}, - 1 - }; - right[]= - { - "LevelP35", - {-0.17,0.035}, - 1 - }; - down[]= - { - "LevelP35", - {-0.22,0.085000001}, - 1 - }; - }; - class VALP_2_35: VALP_1_35 - { - align="right"; - pos[]= - { - "LevelP35", - {0.22,0.035}, - 1 - }; - right[]= - { - "LevelP35", - {0.27,0.035}, - 1 - }; - down[]= - { - "LevelP35", - {0.22,0.085000001}, - 1 - }; - }; - class LevelM40: Level0 - { - type="line"; - width=3.0; - points[]= - { - - { - "LevelM40", - {-0.2,-0.029999999}, - 1 - }, - - { - "LevelM40", - {-0.2,0}, - 1 - }, - - { - "LevelM40", - {-0.15000001,0}, - 1 - }, - {}, - - { - "LevelM40", - {-0.1,0}, - 1 - }, - - { - "LevelM40", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelM40", - {0.050000001,0}, - 1 - }, - - { - "LevelM40", - {0.1,0}, - 1 - }, - {}, - - { - "LevelM40", - {0.15000001,0}, - 1 - }, - - { - "LevelM40", - {0.2,0}, - 1 - }, - - { - "LevelM40", - {0.2,-0.029999999}, - 1 - } - }; - }; - class VALM_1_40 - { - type="text"; - source="static"; - text=-40; - align="left"; - scale=1; - sourceScale=1; - pos[]= - { - "LevelM40", - {-0.22,-0.085000001}, - 1 - }; - right[]= - { - "LevelM40", - {-0.17,-0.085000001}, - 1 - }; - down[]= - { - "LevelM40", - {-0.22,-0.035}, - 1 - }; - }; - class VALM_2_40: VALM_1_40 - { - align="right"; - pos[]= - { - "LevelM40", - {0.22,-0.085000001}, - 1 - }; - right[]= - { - "LevelM40", - {0.27,-0.085000001}, - 1 - }; - down[]= - { - "LevelM40", - {0.22,-0.035}, - 1 - }; - }; - class LevelP40: Level0 - { - type="line"; - width=3.0; - points[]= - { - - { - "LevelP40", - {-0.2,0.029999999}, - 1 - }, - - { - "LevelP40", - {-0.2,0}, - 1 - }, - - { - "LevelP40", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelP40", - {0.050000001,0}, - 1 - }, - - { - "LevelP40", - {0.2,0}, - 1 - }, - - { - "LevelP40", - {0.2,0.029999999}, - 1 - } - }; - }; - class VALP_1_40 - { - type="text"; - source="static"; - text="40"; - align="left"; - scale=1; - sourceScale=1; - pos[]= - { - "LevelP40", - {-0.22,0.035}, - 1 - }; - right[]= - { - "LevelP40", - {-0.17,0.035}, - 1 - }; - down[]= - { - "LevelP40", - {-0.22,0.085000001}, - 1 - }; - }; - class VALP_2_40: VALP_1_40 - { - align="right"; - pos[]= - { - "LevelP40", - {0.22,0.035}, - 1 - }; - right[]= - { - "LevelP40", - {0.27,0.035}, - 1 - }; - down[]= - { - "LevelP40", - {0.22,0.085000001}, - 1 - }; - }; - class LevelM45: Level0 - { - type="line"; - width=3.0; - points[]= - { - - { - "LevelM45", - {-0.2,-0.029999999}, - 1 - }, - - { - "LevelM45", - {-0.2,0}, - 1 - }, - - { - "LevelM45", - {-0.15000001,0}, - 1 - }, - {}, - - { - "LevelM45", - {-0.1,0}, - 1 - }, - - { - "LevelM45", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelM45", - {0.050000001,0}, - 1 - }, - - { - "LevelM45", - {0.1,0}, - 1 - }, - {}, - - { - "LevelM45", - {0.15000001,0}, - 1 - }, - - { - "LevelM45", - {0.2,0}, - 1 - }, - - { - "LevelM45", - {0.2,-0.029999999}, - 1 - } - }; - }; - class VALM_1_45 - { - type="text"; - source="static"; - text=-45; - align="left"; - scale=1; - sourceScale=1; - pos[]= - { - "LevelM45", - {-0.22,-0.085000001}, - 1 - }; - right[]= - { - "LevelM45", - {-0.17,-0.085000001}, - 1 - }; - down[]= - { - "LevelM45", - {-0.22,-0.035}, - 1 - }; - }; - class VALM_2_45: VALM_1_45 - { - align="right"; - pos[]= - { - "LevelM45", - {0.22,-0.085000001}, - 1 - }; - right[]= - { - "LevelM45", - {0.27,-0.085000001}, - 1 - }; - down[]= - { - "LevelM45", - {0.22,-0.035}, - 1 - }; - }; - class LevelP45: Level0 - { - type="line"; - width=3.0; - points[]= - { - - { - "LevelP45", - {-0.2,0.029999999}, - 1 - }, - - { - "LevelP45", - {-0.2,0}, - 1 - }, - - { - "LevelP45", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelP45", - {0.050000001,0}, - 1 - }, - - { - "LevelP45", - {0.2,0}, - 1 - }, - - { - "LevelP45", - {0.2,0.029999999}, - 1 - } - }; - }; - class VALP_1_45 - { - type="text"; - source="static"; - text="45"; - align="left"; - scale=1; - sourceScale=1; - pos[]= - { - "LevelP45", - {-0.22,0.035}, - 1 - }; - right[]= - { - "LevelP45", - {-0.17,0.035}, - 1 - }; - down[]= - { - "LevelP45", - {-0.22,0.085000001}, - 1 - }; - }; - class VALP_2_45: VALP_1_45 - { - align="right"; - pos[]= - { - "LevelP45", - {0.22,0.035}, - 1 - }; - right[]= - { - "LevelP45", - {0.27,0.035}, - 1 - }; - down[]= - { - "LevelP45", - {0.22,0.085000001}, - 1 - }; - }; - class LevelM50: Level0 - { - type="line"; - width=3.0; - points[]= - { - - { - "LevelM50", - {-0.2,-0.029999999}, - 1 - }, - - { - "LevelM50", - {-0.2,0}, - 1 - }, - - { - "LevelM50", - {-0.15000001,0}, - 1 - }, - {}, - - { - "LevelM50", - {-0.1,0}, - 1 - }, - - { - "LevelM50", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelM50", - {0.050000001,0}, - 1 - }, - - { - "LevelM50", - {0.1,0}, - 1 - }, - {}, - - { - "LevelM50", - {0.15000001,0}, - 1 - }, - - { - "LevelM50", - {0.2,0}, - 1 - }, - - { - "LevelM50", - {0.2,-0.029999999}, - 1 - } - }; - }; - class VALM_1_50 - { - type="text"; - source="static"; - text=-50; - align="left"; - scale=1; - sourceScale=1; - pos[]= - { - "LevelM50", - {-0.22,-0.085000001}, - 1 - }; - right[]= - { - "LevelM50", - {-0.17,-0.085000001}, - 1 - }; - down[]= - { - "LevelM50", - {-0.22,-0.035}, - 1 - }; - }; - class VALM_2_50: VALM_1_50 - { - align="right"; - pos[]= - { - "LevelM50", - {0.22,-0.085000001}, - 1 - }; - right[]= - { - "LevelM50", - {0.27,-0.085000001}, - 1 - }; - down[]= - { - "LevelM50", - {0.22,-0.035}, - 1 - }; - }; - class LevelP50: Level0 - { - type="line"; - width=3.0; - points[]= - { - - { - "LevelP50", - {-0.2,0.029999999}, - 1 - }, - - { - "LevelP50", - {-0.2,0}, - 1 - }, - - { - "LevelP50", - {-0.050000001,0}, - 1 - }, - {}, - - { - "LevelP50", - {0.050000001,0}, - 1 - }, - - { - "LevelP50", - {0.2,0}, - 1 - }, - - { - "LevelP50", - {0.2,0.029999999}, - 1 - } - }; - }; - class VALP_1_50 - { - type="text"; - source="static"; - text="50"; - align="left"; - scale=1; - sourceScale=1; - pos[]= - { - "LevelP50", - {-0.22,0.035}, - 1 - }; - right[]= - { - "LevelP50", - {-0.17,0.035}, - 1 - }; - down[]= - { - "LevelP50", - {-0.22,0.085000001}, - 1 - }; - }; - class VALP_2_50: VALP_1_50 - { - align="right"; - pos[]= - { - "LevelP50", - {0.22,0.035}, - 1 - }; - right[]= - { - "LevelP50", - {0.27,0.035}, - 1 - }; - down[]= - { - "LevelP50", - {0.22,0.085000001}, - 1 - }; - }; - }; - }; - class PlaneMovementCrosshair //fwd - { - clipTL[]={0,1}; - clipBR[]={1,0}; - type="line"; - width=6; - points[]= - { - {"ForwardVec1",1,"Velocity",1,{"0 *2 /3","-0.02 *2 /3"},1}, - {"ForwardVec1",1,"Velocity",1,{"0.0099999998 *2 /3","-0.01732 *2 /3"},1}, - {"ForwardVec1",1,"Velocity",1,{"0.01732 *2 /3","-0.0099999998 *2 /3"},1}, - {"ForwardVec1",1,"Velocity",1,{"0.02 *2 /3","0 *2 /3"},1}, - {"ForwardVec1",1,"Velocity",1,{"0.01732 *2 /3","0.0099999998 *2 /3"},1}, - {"ForwardVec1",1,"Velocity",1,{"0.0099999998 *2 /3","0.01732 *2 /3"},1}, - {"ForwardVec1",1,"Velocity",1,{"0 *2 /3","0.02 *2 /3"},1}, - {"ForwardVec1",1,"Velocity",1,{"-0.0099999998 *2 /3","0.01732 *2 /3"},1}, - {"ForwardVec1",1,"Velocity",1,{"-0.01732 *2 /3","0.0099999998 *2 /3"},1}, - {"ForwardVec1",1,"Velocity",1,{"-0.02 *2 /3","0 *2 /3"},1}, - {"ForwardVec1",1,"Velocity",1,{"-0.01732 *2 /3","-0.0099999998 *2 /3"},1}, - {"ForwardVec1",1,"Velocity",1,{"-0.0099999998 *2 /3","-0.01732 *2 /3"},1}, - {"ForwardVec1",1,"Velocity",1,{"0 *2 /3","-0.02 *2 /3"},1}, - - {}, - - {"ForwardVec1",1,"Velocity",1,{0.035,0},1}, - {"ForwardVec1",1,"Velocity",1,{"0.02 *2 /3",0},1}, - - {}, - - {"ForwardVec1",1,"Velocity",1,{-0.035,0},1}, - {"ForwardVec1",1,"Velocity",1,{"-0.02 *2 /3",0},1}, - - {}, - - {"ForwardVec1",1,"Velocity",1,{0,"-0.039999999 *2 /3"},1}, - {"ForwardVec1",1,"Velocity",1,{0,"-0.02 *2 /3"},1} - }; - }; - class RadarTargets //fwd - { - type="radar"; - //pos0[]={0.50,0.38}; - //pos10[]={1.40,1.22}; - ///pos0[]={0.50,0.27}; - ///pos10[]={1.40,1.10}; - pos0[]={0.50,0.32}; - pos10[]={1.382,1.145}; - width=2.5; - points[]= - { - - { - "ForwardVec",1,"RadarContact", - {-0.02,-0.02}, - 1 - }, - - { - "ForwardVec",1,"RadarContact", - {0.02,-0.02}, - 1 - }, - - { - "ForwardVec",1,"RadarContact", - {0.02,0.02}, - 1 - }, - - { - "ForwardVec",1,"RadarContact", - {-0.02,0.02}, - 1 - }, - - { - "ForwardVec",1,"RadarContact", - {-0.02,-0.02}, - 1 - } - }; - }; - class AA_target //fwd - { - condition="AAmissile"; - class Target - { - type = "line"; - points[] = - { - { "TargetSelected",{ 0,"-0.08 + 0.2" },1 }, - { "TargetSelected",{ 0.05,"-0.0696 + 0.2" },1 }, - { "TargetSelected",{ 0.087,"-0.50*0.10/(1.5/1.2) + 0.2" },1 }, - { "TargetSelected",{ 0.1,"0 + 0.2"},1 }, - { "TargetSelected",{ 0.087,"0.04 + 0.2" },1 }, - { "TargetSelected",{ 0.05,"+0.87*0.10/(1.5/1.2) + 0.2" },1 }, - { "TargetSelected",{ 0,"0.08 + 0.2"},1 }, - { "TargetSelected",{ -0.05,"0.0696 + 0.2"},1 }, - { "TargetSelected",{ -0.087,"+0.50*0.10/(1.5/1.2) + 0.2" },1 }, - { "TargetSelected",{ -0.1,"0 + 0.2" },1 }, - { "TargetSelected",{ -0.087,"-0.04 + 0.2" },1 }, - { "TargetSelected",{ -0.05,"-0.87*0.10/(1.5/1.2) + 0.2" },1 }, - { "TargetSelected",{ 0,"-0.08 + 0.2" },1 },{"*/"}, - - { - "ForwardVec",1,"TargetSelected",1, - {0,-0.02}, - 1 - }, - - { - "ForwardVec",1,"TargetSelected",1, - {0.0099999998,-0.01732}, - 1 - }, - - { - "ForwardVec",1,"TargetSelected",1, - {0.01732,-0.0099999998}, - 1 - }, - - { - "ForwardVec",1,"TargetSelected",1, - {0.02,0}, - 1 - }, - - { - "ForwardVec",1,"TargetSelected",1, - {0.01732,0.0099999998}, - 1 - }, - - { - "ForwardVec",1,"TargetSelected",1, - {0.0099999998,0.01732}, - 1 - }, - - { - "ForwardVec",1,"TargetSelected",1, - {0,0.02}, - 1 - }, - - { - "ForwardVec",1,"TargetSelected",1, - {-0.0099999998,0.01732}, - 1 - }, - - { - "ForwardVec",1,"TargetSelected",1, - {-0.01732,0.0099999998}, - 1 - }, - - { - "ForwardVec",1,"TargetSelected",1, - {-0.02,0}, - 1 - }, - - { - "ForwardVec",1,"TargetSelected",1, - {-0.01732,-0.0099999998}, - 1 - }, - - { - "ForwardVec",1,"TargetSelected",1, - {-0.0099999998,-0.01732}, - 1 - }, - - { - "ForwardVec",1,"TargetSelected",1, - {0,-0.02}, - 1 - } - }; - }; - }; - class AG_target //fwd - { - condition="ATmissile"; - class Target - { - type = "line"; - points[] = - { - { "TargetSelected",{ 0,"-0.08" },1 }, - { "TargetSelected",{ 0.05,"-0.0696" },1 }, - { "TargetSelected",{ 0.087,"-0.50*0.10/(1.5/1.2)" },1 }, - { "TargetSelected",{ 0.1,"0"},1 }, - { "TargetSelected",{ 0.087,"0.04" },1 }, - { "TargetSelected",{ 0.05,"+0.87*0.10/(1.5/1.2)" },1 }, - { "TargetSelected",{ 0,"0.08"},1 }, - { "TargetSelected",{ -0.05,"0.0696"},1 }, - { "TargetSelected",{ -0.087,"+0.50*0.10/(1.5/1.2)" },1 }, - { "TargetSelected",{ -0.1,"0" },1 }, - { "TargetSelected",{ -0.087,"-0.04" },1 }, - { "TargetSelected",{ -0.05,"-0.87*0.10/(1.5/1.2)" },1 }, - { "TargetSelected",{ 0,"-0.08" },1 }, - - { - "ForwardVec",1,"TargetSelected",1, - {0,-0.02}, - 1 - }, - - { - "ForwardVec",1,"TargetSelected",1, - {0.0099999998,-0.01732}, - 1 - }, - - { - "ForwardVec",1,"TargetSelected",1, - {0.01732,-0.0099999998}, - 1 - }, - - { - "ForwardVec",1,"TargetSelected",1, - {0.02,0}, - 1 - }, - - { - "ForwardVec",1,"TargetSelected",1, - {0.01732,0.0099999998}, - 1 - }, - - { - "ForwardVec",1,"TargetSelected",1, - {0.0099999998,0.01732}, - 1 - }, - - { - "ForwardVec",1,"TargetSelected",1, - {0,0.02}, - 1 - }, - - { - "ForwardVec",1,"TargetSelected",1, - {-0.0099999998,0.01732}, - 1 - }, - - { - "ForwardVec",1,"TargetSelected",1, - {-0.01732,0.0099999998}, - 1 - }, - - { - "ForwardVec",1,"TargetSelected",1, - {-0.02,0}, - 1 - }, - - { - "ForwardVec",1,"TargetSelected",1, - {-0.01732,-0.0099999998}, - 1 - }, - - { - "ForwardVec",1,"TargetSelected",1, - {-0.0099999998,-0.01732}, - 1 - }, - - { - "ForwardVec",1,"TargetSelected",1, - {0,-0.02}, - 1 - }, - - - {}, - { "ForwardVec",1,"TargetSelected",1,{ 0,-0.02 },1 }, - { "ForwardVec",1,"TargetSelected",1,{ 0,-0.01 },1 }, - {}, - { "ForwardVec",1,"TargetSelected",1,{ 0,0.02 },1 }, - { "ForwardVec",1,"TargetSelected",1,{ 0,0.01 },1 }, - {}, - { "ForwardVec",1,"TargetSelected",1,{ 0.02,0 },1 }, - { "ForwardVec",1,"TargetSelected",1,{ 0.01,0 },1 }, - {}, - { "ForwardVec",1,"TargetSelected",1,{ -0.02,0 },1 }, - { "ForwardVec",1,"TargetSelected",1,{ -0.01,0 },1 } - }; - }; - }; - class GUN_target //fwd - { - condition="mgun"; - class Target - { - type="line"; - width=4; - points[]= - { - //////////////////////////////////////////////// UP - - { "ForwardVec",1,"target",{ 0,-0.060 },1 }, - { "ForwardVec",1,"target",{ 0,-0.055 },1 }, - {}, - { "ForwardVec",1,"target",{ 0,-0.050 },1 }, - { "ForwardVec",1,"target",{ 0,-0.045 },1 }, - {}, - { "ForwardVec",1,"target",{ 0,-0.040 },1 }, - { "ForwardVec",1,"target",{ 0,-0.035 },1 }, - {}, - { "ForwardVec",1,"TargetSelected",1,{ 0,-0.030 },1 }, - { "ForwardVec",1,"TargetSelected",1,{ 0,-0.025 },1 }, - {}, - { "ForwardVec",1,"TargetSelected",1,{ 0,-0.020 },1 }, - { "ForwardVec",1,"TargetSelected",1,{ 0,-0.015 },1 }, - {}, - { "ForwardVec",1,"TargetSelected",1,{ 0,-0.010 },1 }, - { "ForwardVec",1,"TargetSelected",1,{ 0,-0.005 },1 }, - {}, - //////////////////////////////////////////////// center - { "ForwardVec",1,"TargetSelected",1,{ 0,0 },1 }, - { "ForwardVec",1,"TargetSelected",1,{ 0,0 },1 }, - {}, - /////////////////////////////////////////////// DOWN - - { "ForwardVec",1,"target",{ 0,0.060 },1 }, - { "ForwardVec",1,"target",{ 0,0.055 },1 }, - {}, - { "ForwardVec",1,"target",{ 0,0.050 },1 }, - { "ForwardVec",1,"target",{ 0,0.045 },1 }, - {}, - { "ForwardVec",1,"target",{ 0,0.040 },1 }, - { "ForwardVec",1,"target",{ 0,0.035 },1 }, - {}, - { "ForwardVec",1,"TargetSelected",1,{ 0,0.030 },1 }, - { "ForwardVec",1,"TargetSelected",1,{ 0,0.025 },1 }, - {}, - { "ForwardVec",1,"TargetSelected",1,{ 0,0.020 },1 }, - { "ForwardVec",1,"TargetSelected",1,{ 0,0.015 },1 }, - {}, - { "ForwardVec",1,"TargetSelected",1,{ 0,0.010 },1 }, - { "ForwardVec",1,"TargetSelected",1,{ 0,0.005 },1 }, - {}, - /////////////////////////////////////////////// LEFT - - { "ForwardVec",1,"target",{ -0.060, 0 },1 }, - { "ForwardVec",1,"target",{ -0.055, 0 },1 }, - {}, - { "ForwardVec",1,"target",{ -0.050, 0 },1 }, - { "ForwardVec",1,"target",{ -0.045, 0 },1 }, - {}, - { "ForwardVec",1,"target",{ -0.040, 0 },1 }, - { "ForwardVec",1,"target",{ -0.035, 0 },1 }, - {}, - { "ForwardVec",1,"TargetSelected",1,{ -0.030, 0 },1 }, - { "ForwardVec",1,"TargetSelected",1,{ -0.025, 0 },1 }, - {}, - { "ForwardVec",1,"TargetSelected",1,{ -0.020, 0 },1 }, - { "ForwardVec",1,"TargetSelected",1,{ -0.015, 0 },1 }, - {}, - { "ForwardVec",1,"TargetSelected",1,{ -0.010, 0 },1 }, - { "ForwardVec",1,"TargetSelected",1,{ -0.005, 0 },1 }, - {}, - /////////////////////////////////////////////// RIGHT - - { "ForwardVec",1,"target",{ 0.060, 0 },1 }, - { "ForwardVec",1,"target",{ 0.055, 0 },1 }, - {}, - { "ForwardVec",1,"target",{ 0.050, 0 },1 }, - { "ForwardVec",1,"target",{ 0.045, 0 },1 }, - {}, - { "ForwardVec",1,"target",{ 0.040, 0 },1 }, - { "ForwardVec",1,"target",{ 0.035, 0 },1 }, - {}, - { "ForwardVec",1,"TargetSelected",1,{ 0.030, 0 },1 }, - { "ForwardVec",1,"TargetSelected",1,{ 0.025, 0 },1 }, - {}, - { "ForwardVec",1,"TargetSelected",1,{ 0.020, 0 },1 }, - { "ForwardVec",1,"TargetSelected",1,{ 0.015, 0 },1 }, - {}, - { "ForwardVec",1,"TargetSelected",1,{ 0.010, 0 },1 }, - { "ForwardVec",1,"TargetSelected",1,{ 0.005, 0 },1 }, - {} - }; - }; - }; - class Rocket_target //fwd - { - condition="rocket"; - class Target - { - type="line"; - width=4; - points[]= - { - //////////////////////////////////////////////// UP - - { "ForwardVec",1,"target",{ 0,-0.060 },1 }, - { "ForwardVec",1,"target",{ 0,-0.055 },1 }, - {}, - { "ForwardVec",1,"target",{ 0,-0.050 },1 }, - { "ForwardVec",1,"target",{ 0,-0.045 },1 }, - {}, - { "ForwardVec",1,"target",{ 0,-0.040 },1 }, - { "ForwardVec",1,"target",{ 0,-0.035 },1 }, - {}, - { "ForwardVec",1,"TargetSelected",1,{ 0,-0.030 },1 }, - { "ForwardVec",1,"TargetSelected",1,{ 0,-0.025 },1 }, - {}, - { "ForwardVec",1,"TargetSelected",1,{ 0,-0.020 },1 }, - { "ForwardVec",1,"TargetSelected",1,{ 0,-0.015 },1 }, - {}, - { "ForwardVec",1,"TargetSelected",1,{ 0,-0.010 },1 }, - { "ForwardVec",1,"TargetSelected",1,{ 0,-0.005 },1 }, - {}, - //////////////////////////////////////////////// center - { "ForwardVec",1,"TargetSelected",1,{ 0,0 },1 }, - { "ForwardVec",1,"TargetSelected",1,{ 0,0 },1 }, - {}, - /////////////////////////////////////////////// DOWN - - { "ForwardVec",1,"target",{ 0,0.060 },1 }, - { "ForwardVec",1,"target",{ 0,0.055 },1 }, - {}, - { "ForwardVec",1,"target",{ 0,0.050 },1 }, - { "ForwardVec",1,"target",{ 0,0.045 },1 }, - {}, - { "ForwardVec",1,"target",{ 0,0.040 },1 }, - { "ForwardVec",1,"target",{ 0,0.035 },1 }, - {}, - { "ForwardVec",1,"TargetSelected",1,{ 0,0.030 },1 }, - { "ForwardVec",1,"TargetSelected",1,{ 0,0.025 },1 }, - {}, - { "ForwardVec",1,"TargetSelected",1,{ 0,0.020 },1 }, - { "ForwardVec",1,"TargetSelected",1,{ 0,0.015 },1 }, - {}, - { "ForwardVec",1,"TargetSelected",1,{ 0,0.010 },1 }, - { "ForwardVec",1,"TargetSelected",1,{ 0,0.005 },1 }, - {}, - /////////////////////////////////////////////// LEFT - - { "ForwardVec",1,"target",{ -0.060, 0 },1 }, - { "ForwardVec",1,"target",{ -0.055, 0 },1 }, - {}, - { "ForwardVec",1,"target",{ -0.050, 0 },1 }, - { "ForwardVec",1,"target",{ -0.045, 0 },1 }, - {}, - { "ForwardVec",1,"target",{ -0.040, 0 },1 }, - { "ForwardVec",1,"target",{ -0.035, 0 },1 }, - {}, - { "ForwardVec",1,"TargetSelected",1,{ -0.030, 0 },1 }, - { "ForwardVec",1,"TargetSelected",1,{ -0.025, 0 },1 }, - {}, - { "ForwardVec",1,"TargetSelected",1,{ -0.020, 0 },1 }, - { "ForwardVec",1,"TargetSelected",1,{ -0.015, 0 },1 }, - {}, - { "ForwardVec",1,"TargetSelected",1,{ -0.010, 0 },1 }, - { "ForwardVec",1,"TargetSelected",1,{ -0.005, 0 },1 }, - {}, - /////////////////////////////////////////////// RIGHT - - { "ForwardVec",1,"target",{ 0.060, 0 },1 }, - { "ForwardVec",1,"target",{ 0.055, 0 },1 }, - {}, - { "ForwardVec",1,"target",{ 0.050, 0 },1 }, - { "ForwardVec",1,"target",{ 0.045, 0 },1 }, - {}, - { "ForwardVec",1,"target",{ 0.040, 0 },1 }, - { "ForwardVec",1,"target",{ 0.035, 0 },1 }, - {}, - { "ForwardVec",1,"TargetSelected",1,{ 0.030, 0 },1 }, - { "ForwardVec",1,"TargetSelected",1,{ 0.025, 0 },1 }, - {}, - { "ForwardVec",1,"TargetSelected",1,{ 0.020, 0 },1 }, - { "ForwardVec",1,"TargetSelected",1,{ 0.015, 0 },1 }, - {}, - { "ForwardVec",1,"TargetSelected",1,{ 0.010, 0 },1 }, - { "ForwardVec",1,"TargetSelected",1,{ 0.005, 0 },1 }, - {} - }; - }; - }; - class GunCross //fwd - { - type="group"; - condition = "mgun"; - class CCIP_circle - { - type = "line"; - width = 5.0; - points[] = - { - { "ForwardVec",1,"WeaponAimGUN",1,{ "-1.2000 * 0.06","-0.0000 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "-1.0000 * 0.06","-0.0000 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "-0.9877 * 0.06","-0.1736 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "-0.9397 * 0.06","-0.3420 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "-0.8660 * 0.06","-0.5000 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "-0.7660 * 0.06","-0.6428 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "-0.6428 * 0.06","-0.7660 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "-0.5000 * 0.06","-0.8660 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "-0.3420 * 0.06","-0.9397 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "-0.1736 * 0.06","-0.9877 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "-0.0000 * 0.06","-1.0000 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "0.1736 * 0.06","-0.9877 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "0.3420 * 0.06","-0.9397 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "0.5000 * 0.06","-0.8660 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "0.6428 * 0.06","-0.7660 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "0.7660 * 0.06","-0.6428 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "0.8660 * 0.06","-0.5000 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "0.9397 * 0.06","-0.3420 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "0.9877 * 0.06","-0.1736 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "1.0000 * 0.06","-0.0000 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "1.2000 * 0.06","-0.0000 * 0.06" },1 }, - { }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "-1.2000 * 0.06","0.0000 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "-1.0000 * 0.06","0.0000 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "-0.9877 * 0.06","0.1736 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "-0.9397 * 0.06","0.3420 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "-0.8660 * 0.06","0.5000 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "-0.7660 * 0.06","0.6428 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "-0.6428 * 0.06","0.7660 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "-0.5000 * 0.06","0.8660 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "-0.3420 * 0.06","0.9397 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "-0.1736 * 0.06","0.9877 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "-0.0000 * 0.06","1.0000 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "0.1736 * 0.06","0.9877 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "0.3420 * 0.06","0.9397 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "0.5000 * 0.06","0.8660 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "0.6428 * 0.06","0.7660 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "0.7660 * 0.06","0.6428 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "0.8660 * 0.06","0.5000 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "0.9397 * 0.06","0.3420 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "0.9877 * 0.06","0.1736 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "1.0000 * 0.06","0.0000 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "1.2000 * 0.06","0.0000 * 0.06" },1 }, - { }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "-0.0000 * 0.06","-1.0000 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "-0.0000 * 0.06","-1.2000 * 0.06" },1 }, - { }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "-0.0000 * 0.06","1.0000 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ "-0.0000 * 0.06","1.2000 * 0.06" },1 }, - { }, - { "ForwardVec",1,"WeaponAimGUN",1,{ 0.005,0 },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ -0.005,0 },1 }, - { }, - { "ForwardVec",1,"WeaponAimGUN",1,{ 0,0.005 },1 }, - { "ForwardVec",1,"WeaponAimGUN",1,{ 0,-0.005 },1 } - }; - }; - }; - class RocketCross //fwd - { - type="group"; - condition="rocket"; - class CCIP_circle - { - type = "line"; - width = 5.0; - points[] = - { - { "ForwardVec",1,"WeaponAimROCKET",1,{ "-1.2000 * 0.06","-0.0000 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "-1.0000 * 0.06","-0.0000 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "-0.9877 * 0.06","-0.1736 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "-0.9397 * 0.06","-0.3420 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "-0.8660 * 0.06","-0.5000 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "-0.7660 * 0.06","-0.6428 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "-0.6428 * 0.06","-0.7660 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "-0.5000 * 0.06","-0.8660 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "-0.3420 * 0.06","-0.9397 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "-0.1736 * 0.06","-0.9877 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "-0.0000 * 0.06","-1.0000 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "0.1736 * 0.06","-0.9877 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "0.3420 * 0.06","-0.9397 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "0.5000 * 0.06","-0.8660 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "0.6428 * 0.06","-0.7660 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "0.7660 * 0.06","-0.6428 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "0.8660 * 0.06","-0.5000 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "0.9397 * 0.06","-0.3420 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "0.9877 * 0.06","-0.1736 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "1.0000 * 0.06","-0.0000 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "1.2000 * 0.06","-0.0000 * 0.06" },1 }, - { }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "-1.2000 * 0.06","0.0000 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "-1.0000 * 0.06","0.0000 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "-0.9877 * 0.06","0.1736 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "-0.9397 * 0.06","0.3420 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "-0.8660 * 0.06","0.5000 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "-0.7660 * 0.06","0.6428 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "-0.6428 * 0.06","0.7660 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "-0.5000 * 0.06","0.8660 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "-0.3420 * 0.06","0.9397 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "-0.1736 * 0.06","0.9877 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "-0.0000 * 0.06","1.0000 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "0.1736 * 0.06","0.9877 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "0.3420 * 0.06","0.9397 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "0.5000 * 0.06","0.8660 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "0.6428 * 0.06","0.7660 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "0.7660 * 0.06","0.6428 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "0.8660 * 0.06","0.5000 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "0.9397 * 0.06","0.3420 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "0.9877 * 0.06","0.1736 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "1.0000 * 0.06","0.0000 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "1.2000 * 0.06","0.0000 * 0.06" },1 }, - { }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "-0.0000 * 0.06","-1.0000 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "-0.0000 * 0.06","-1.2000 * 0.06" },1 }, - { }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "-0.0000 * 0.06","1.0000 * 0.06" },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ "-0.0000 * 0.06","1.2000 * 0.06" },1 }, - { }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ 0.005,0 },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ -0.005,0 },1 }, - { }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ 0,0.005 },1 }, - { "ForwardVec",1,"WeaponAimROCKET",1,{ 0,-0.005 },1 } - }; - }; - }; - class AC_Centerline //fwd - { - type="group"; - condition="on"; - class RockCross - { - type = "line"; - width=4; - points[] = - { - {"ForwardVec",1,{" -0.006 + 0.5" , "0 + 0.32" },1}, - {"ForwardVec",1,{" 0.006 + 0.5" , "0 + 0.32" },1}, - { }, - {"ForwardVec",1,{" -0.0 + 0.5" , "0.006 + 0.32" },1}, - {"ForwardVec",1,{" 0.0 + 0.5" , "-0.006 + 0.32" },1} - }; - }; - }; - class ATMissileTOFGroup - { - condition="ATmissile"; - type="group"; - class TOFtext - { - type="text"; - align="right"; - source="static"; - text="TOF="; - scale=1; - pos[]= - { - {0.15,0.62}, - 1 - }; - right[]= - { - {0.19,0.62}, - 1 - }; - down[]= - { - {0.15,0.66}, - 1 - }; - }; - class TOFnumber - { - type="text"; - source="targetDist"; - sourcescale = 0.0025; - align="right"; - scale=1; - pos[]= - { - {0.23,0.62}, - 1 - }; - right[]= - { - {0.27,0.62}, - 1 - }; - down[]= - { - {0.23,0.66}, - 1 - }; - }; - }; - class BombTOFGroup - { - condition="Bomb"; - type="group"; - class Crosshairs - { - type = "line"; - width=7; - points[] = - { - {{"0 + 0.5" , "-0.02 + 0.5"},1 }, - {{"0.0099999998 + 0.5" , "-0.01732 + 0.5"},1}, - {{"0.01732 + 0.5" , "-0.0099999998 + 0.5"},1}, - {{"0.02 + 0.5" , "0 + 0.5"},1}, - {{"0.01732 + 0.5" , "0.0099999998 + 0.5"},1}, - {{"0.0099999998 + 0.5" , "0.01732 + 0.5"},1}, - {{"0 + 0.5" , "0.02 + 0.5"},1}, - {{"-0.0099999998 + 0.5" , "0.01732 + 0.5"},1}, - {{"-0.01732 + 0.5" , "0.0099999998 + 0.5"},1}, - {{"-0.02 + 0.5" , "0 + 0.5"},1}, - {{"-0.01732 + 0.5" , "-0.0099999998 + 0.5"},1}, - {{"-0.0099999998 + 0.5" , "-0.01732 + 0.5"},1}, - {{"0 + 0.5" , "-0.02 + 0.5"},1}, - { }, - {{" -0.005 + 0.5" , "0 + 0.5" },1}, - {{" 0.005 + 0.5" , "0 + 0.5" },1}, - { }, - {{" -0.00 + 0.5" , "-0.005 + 0.5" },1}, - {{" 0.00 + 0.5" , "0.005 + 0.5" },1} - - }; - }; - class Target_Line_LGB - { - type = "line"; - width=5; - points[] = - { - - { - "TargetSelected", - {0,0}, - 1 - }, - - { - "Velocity", - {0,0}, - 1 - }, - - - }; - }; - class Target_SPI_LGB - { - type = "line"; - width=3; - points[] = - { - - { - "TargetSelected", - {0,0}, - 1 - }, - - { - "TargetSelected", - {0,-0.05}, - 1 - }, - - - }; - }; - class TOFtext - { - type="text"; - align="right"; - source="static"; - text="TOF="; - scale=1; - pos[]= - { - {0.15,0.62}, - 1 - }; - right[]= - { - {0.19,0.62}, - 1 - }; - down[]= - { - {0.15,0.66}, - 1 - }; - }; - class TOFnumber - { - type="text"; - source="altitudeASL"; - sourcescale = 0.013; - align="right"; - scale=1; - pos[]= - { - {0.23,0.62}, - 1 - }; - right[]= - { - {0.27,0.62}, - 1 - }; - down[]= - { - {0.23,0.66}, - 1 - }; - }; - }; - class ILS_Bars //fwd - { - condition = "ils"; - class Glideslope - { - clipTL[] = {0.0,0.0}; - clipBR[] = {1.0,1.0}; - class ILS - { - type = "line"; - width=2.5; - points[] = - { - { "ForwardVec",1,"ILS_W",1,{ -0.2,0 },1 }, - { "ForwardVec",1,"ILS_W",1,{ 0.2,0 },1 }, - { }, - { "ForwardVec",1,"ILS_W",1,{ 0,0.02 },1 }, - { "ForwardVec",1,"ILS_W",1,{ 0,-0.02 },1 }, - { }, - { "ForwardVec",1,"ILS_W",1,{ 0.1,0.02 },1 }, - { "ForwardVec",1,"ILS_W",1,{ 0.1,-0.02 },1 }, - { }, - { "ForwardVec",1,"ILS_W",1,{ 0.2,0.02 },1 }, - { "ForwardVec",1,"ILS_W",1,{ 0.2,-0.02 },1 }, - { }, - { "ForwardVec",1,"ILS_W",1,{ -0.1,0.02 },1 }, - { "ForwardVec",1,"ILS_W",1,{ -0.1,-0.02 },1 }, - { }, - { "ForwardVec",1,"ILS_W",1,{ -0.2,0.02 },1 }, - { "ForwardVec",1,"ILS_W",1,{ -0.2,-0.02 },1 }, - { }, - { "ForwardVec",1,"ILS_H",1,{ 0,-0.2 },1 }, - { "ForwardVec",1,"ILS_H",1,{ 0,0.2 },1 }, - { }, - { "ForwardVec",1,"ILS_H",1,{ 0.02,0 },1 }, - { "ForwardVec",1,"ILS_H",1,{ -0.02,0 },1 }, - { }, - { "ForwardVec",1,"ILS_H",1,{ 0.02,0.1 },1 }, - { "ForwardVec",1,"ILS_H",1,{ -0.02,0.1 },1 }, - { }, - { "ForwardVec",1,"ILS_H",1,{ 0.02,0.2 },1 }, - { "ForwardVec",1,"ILS_H",1,{ -0.02,0.2 },1 }, - { }, - { "ForwardVec",1,"ILS_H",1,{ 0.02,-0.1 },1 }, - { "ForwardVec",1,"ILS_H",1,{ -0.02,-0.1 },1 }, - { }, - { "ForwardVec",1,"ILS_H",1,{ 0.02,-0.2 },1 }, - { "ForwardVec",1,"ILS_H",1,{ -0.02,-0.2 },1 }, - { } - }; - }; - }; - }; - }; - }; -}; diff --git a/TO_MERGE/agm/Aircraft/mfd_comanche.hpp b/TO_MERGE/agm/Aircraft/mfd_comanche.hpp deleted file mode 100644 index 087c0a7988..0000000000 --- a/TO_MERGE/agm/Aircraft/mfd_comanche.hpp +++ /dev/null @@ -1,1310 +0,0 @@ - -class MFD { - class AirplaneHUD { - class Pos10Vector { - type = "vector"; - pos0[] = {0.5,0.5}; - pos10[] = {0.85,0.85}; - }; - - topLeft = "HUD_top_left"; - topRight = "HUD_top_right"; - bottomLeft = "HUD_bottom_left"; - borderLeft = 0; - borderRight = 0; - borderTop = 0; - borderBottom = 0; - color[] = {0.15,1,0.15,1}; - enableParallax = 0; - class Bones { - class PlaneOrientation { - type = "fixed"; - pos[] = {0.5,0.54}; - }; - - class GunnerAim { - type = "vector"; - source = "weapon"; - pos0[] = {0,0}; - pos10[] = {0.011,0.0035}; - }; - - class Target { - type = "vector"; - source = "target"; - pos0[] = {0.5,0.5}; - pos10[] = {0.85,0.85}; - }; - - class Velocity { - type = "vector"; - source = "velocity"; - pos0[] = {0.5,0.5}; - pos10[] = {0.65,0.65}; - }; - - class VspeedBone { - type = "linear"; - source = "vspeed"; - sourceScale = 1; - min = -10; - max = 10; - minPos[] = {0.93,0.2}; - maxPos[] = {0.93,0.8}; - }; - - class RadarAltitudeBone { - type = "linear"; - source = "altitudeAGL"; - sourceScale = 1; - min = 0; - max = 60; - minPos[] = {0.965,0.2}; - maxPos[] = {0.965,0.8}; - }; - - class HorizonBankRot { - type = "rotational"; - source = "horizonBank"; - center[] = {0.5,0.5}; - min = -3.1416; - max = 3.1416; - minAngle = -180; - maxAngle = 180; - aspectRatio = 1; - }; - - class ForwardVec { - type = "vector"; - source = "forward"; - pos0[] = {0,0}; - pos10[] = {0.25,0.25}; - }; - - class WeaponAim { - type = "vector"; - source = "weapon"; - pos0[] = {0.5,0.5}; - pos10[] = {0.75,0.75}; - }; - - class Level0 { - type = "horizon"; - pos0[] = {0.5,0.5}; - pos10[] = {0.78,0.78}; - angle = 0; - }; - - class LevelP5: Level0 { - angle = 5; - }; - - class LevelM5: Level0 { - angle = -5; - }; - - class LevelP10: Level0 { - angle = 10; - }; - - class LevelM10: Level0 { - angle = -10; - }; - - class LevelP15: Level0 { - angle = 15; - }; - - class LevelM15: Level0 { - angle = -15; - }; - - class LevelP20: Level0 { - angle = 20; - }; - - class LevelM20: Level0 { - angle = -20; - }; - - class LevelP25: Level0 { - angle = 25; - }; - - class LevelM25: Level0 { - angle = -25; - }; - - class LevelP30: Level0 { - angle = 30; - }; - - class LevelM30: Level0 { - angle = -30; - }; - - class LevelP35: Level0 { - angle = 35; - }; - - class LevelM35: Level0 { - angle = -35; - }; - - class LevelP40: Level0 { - angle = 40; - }; - - class LevelM40: Level0 { - angle = -40; - }; - - class LevelP45: Level0 { - angle = 45; - }; - - class LevelM45: Level0 { - angle = -45; - }; - - class LevelP50: Level0 { - angle = 50; - }; - - class LevelM50: Level0 { - angle = -50; - }; - }; - - class Draw { - color[] = {0.18,1,0.18}; - alpha = 1; - condition = "on"; - class Horizont { - clipTL[] = {0.15,0.15}; - clipBR[] = {0.85,0.85}; - class Dimmed { - class Level0 { - type = "line"; - points[] = { - {"Level0",{-0.42,0},1}, - {"Level0",{-0.38,0},1},{}, - {"Level0",{-0.37,0},1}, - {"Level0",{-0.33,0},1},{}, - {"Level0",{-0.32,0},1}, - {"Level0",{-0.28,0},1},{}, - {"Level0",{-0.27,0},1}, - {"Level0",{-0.23,0},1},{}, - {"Level0",{-0.22,0},1}, - {"Level0",{-0.18,0},1},{}, - {"Level0",{-0.17,0},1}, - {"Level0",{-0.13,0},1},{}, - {"Level0",{-0.12,0},1}, - {"Level0",{-0.08,0},1},{}, - {"Level0",{0.42,0},1}, - {"Level0",{0.38,0},1},{}, - {"Level0",{0.37,0},1}, - {"Level0",{0.33,0},1},{}, - {"Level0",{0.32,0},1}, - {"Level0",{0.28,0},1},{}, - {"Level0",{0.27,0},1}, - {"Level0",{0.23,0},1},{}, - {"Level0",{0.22,0},1}, - {"Level0",{0.18,0},1},{}, - {"Level0",{0.17,0},1}, - {"Level0",{0.13,0},1},{}, - {"Level0",{0.12,0},1}, - {"Level0",{0.08,0},1} - }; - }; - - class LevelM10: Level0 { - type = "line"; - width = 3; - points[] = { - {"LevelM10",{-0.2,-0.03},1}, - {"LevelM10",{-0.2,0},1}, - {"LevelM10",{-0.15,0},1},{}, - {"LevelM10",{-0.1,0},1}, - {"LevelM10",{-0.05,0},1},{}, - {"LevelM10",{0.05,0},1}, - {"LevelM10",{0.1,0},1},{}, - {"LevelM10",{0.15,0},1}, - {"LevelM10",{0.2,0},1}, - {"LevelM10",{0.2,-0.03},1} - }; - }; - - class VALM_1_10 { - type = "text"; - source = "static"; - text = -10; - align = "left"; - scale = 1; - sourceScale = 1; - pos[] = {"LevelM10",{-0.22,-0.085},1}; - right[] = {"LevelM10",{-0.17,-0.085},1}; - down[] = {"LevelM10",{-0.22,-0.035},1}; - }; - - class VALM_2_10: VALM_1_10 { - align = "right"; - pos[] = {"LevelM10",{0.22,-0.085},1}; - right[] = {"LevelM10",{0.27,-0.085},1}; - down[] = {"LevelM10",{0.22,-0.035},1}; - }; - - class LevelP10: Level0 { - type = "line"; - width = 3; - points[] = { - {"LevelP10",{-0.2,0.03},1}, - {"LevelP10",{-0.2,0},1}, - {"LevelP10",{-0.05,0},1},{}, - {"LevelP10",{0.05,0},1}, - {"LevelP10",{0.2,0},1}, - {"LevelP10",{0.2,0.03},1} - }; - }; - - class VALP_1_10 { - type = "text"; - source = "static"; - text = "10"; - align = "left"; - scale = 1; - sourceScale = 1; - pos[] = {"LevelP10",{-0.22,0.035},1}; - right[] = {"LevelP10",{-0.17,0.035},1}; - down[] = {"LevelP10",{-0.22,0.085},1}; - }; - - class VALP_2_10: VALP_1_10 { - align = "right"; - pos[] = {"LevelP10",{0.22,0.035},1}; - right[] = {"LevelP10",{0.27,0.035},1}; - down[] = {"LevelP10",{0.22,0.085},1}; - }; - - class LevelM20: Level0 { - type = "line"; - width = 3; - points[] = { - {"LevelM20",{-0.2,-0.03},1}, - {"LevelM20",{-0.2,0},1}, - {"LevelM20",{-0.15,0},1},{}, - {"LevelM20",{-0.1,0},1}, - {"LevelM20",{-0.05,0},1},{}, - {"LevelM20",{0.05,0},1}, - {"LevelM20",{0.1,0},1},{}, - {"LevelM20",{0.15,0},1}, - {"LevelM20",{0.2,0},1}, - {"LevelM20",{0.2,-0.03},1} - }; - }; - - class VALM_1_20 { - type = "text"; - source = "static"; - text = -20; - align = "left"; - scale = 1; - sourceScale = 1; - pos[] = {"LevelM20",{-0.22,-0.085},1}; - right[] = {"LevelM20",{-0.17,-0.085},1}; - down[] = {"LevelM20",{-0.22,-0.035},1}; - }; - - class VALM_2_20: VALM_1_20 { - align = "right"; - pos[] = {"LevelM20",{0.22,-0.085},1}; - right[] = {"LevelM20",{0.27,-0.085},1}; - down[] = {"LevelM20",{0.22,-0.035},1}; - }; - - class LevelP20: Level0 { - type = "line"; - width = 3; - points[] = { - {"LevelP20",{-0.2,0.03},1}, - {"LevelP20",{-0.2,0},1}, - {"LevelP20",{-0.05,0},1},{}, - {"LevelP20",{0.05,0},1}, - {"LevelP20",{0.2,0},1}, - {"LevelP20",{0.2,0.03},1} - }; - }; - - class VALP_1_20 { - type = "text"; - source = "static"; - text = "20"; - align = "left"; - scale = 1; - sourceScale = 1; - pos[] = {"LevelP20",{-0.22,0.035},1}; - right[] = {"LevelP20",{-0.17,0.035},1}; - down[] = {"LevelP20",{-0.22,0.085},1}; - }; - - class VALP_2_20: VALP_1_20 { - align = "right"; - pos[] = {"LevelP20",{0.22,0.035},1}; - right[] = {"LevelP20",{0.27,0.035},1}; - down[] = {"LevelP20",{0.22,0.085},1}; - }; - - class LevelM30: Level0 { - type = "line"; - width = 3; - points[] = { - {"LevelM30",{-0.2,-0.03},1}, - {"LevelM30",{-0.2,0},1}, - {"LevelM30",{-0.15,0},1},{}, - {"LevelM30",{-0.1,0},1}, - {"LevelM30",{-0.05,0},1},{}, - {"LevelM30",{0.05,0},1}, - {"LevelM30",{0.1,0},1},{}, - {"LevelM30",{0.15,0},1}, - {"LevelM30",{0.2,0},1}, - {"LevelM30",{0.2,-0.03},1} - }; - }; - - class VALM_1_30 { - type = "text"; - source = "static"; - text = -30; - align = "left"; - scale = 1; - sourceScale = 1; - pos[] = {"LevelM30",{-0.22,-0.085},1}; - right[] = {"LevelM30",{-0.17,-0.085},1}; - down[] = {"LevelM30",{-0.22,-0.035},1}; - }; - - class VALM_2_30: VALM_1_30 { - align = "right"; - pos[] = {"LevelM30",{0.22,-0.085},1}; - right[] = {"LevelM30",{0.27,-0.085},1}; - down[] = {"LevelM30",{0.22,-0.035},1}; - }; - - class LevelP30: Level0 { - type = "line"; - width = 3; - points[] = { - {"LevelP30",{-0.2,0.03},1}, - {"LevelP30",{-0.2,0},1}, - {"LevelP30",{-0.05,0},1},{}, - {"LevelP30",{0.05,0},1}, - {"LevelP30",{0.2,0},1}, - {"LevelP30",{0.2,0.03},1} - }; - }; - - class VALP_1_30 { - type = "text"; - source = "static"; - text = "30"; - align = "left"; - scale = 1; - sourceScale = 1; - pos[] = {"LevelP30",{-0.22,0.035},1}; - right[] = {"LevelP30",{-0.17,0.035},1}; - down[] = {"LevelP30",{-0.22,0.085},1}; - }; - - class VALP_2_30: VALP_1_30 { - align = "right"; - pos[] = {"LevelP30",{0.22,0.035},1}; - right[] = {"LevelP30",{0.27,0.035},1}; - down[] = {"LevelP30",{0.22,0.085},1}; - }; - - class LevelM40: Level0 { - type = "line"; - width = 3; - points[] = { - {"LevelM40",{-0.2,-0.03},1}, - {"LevelM40",{-0.2,0},1}, - {"LevelM40",{-0.15,0},1},{}, - {"LevelM40",{-0.1,0},1}, - {"LevelM40",{-0.05,0},1},{}, - {"LevelM40",{0.05,0},1}, - {"LevelM40",{0.1,0},1},{}, - {"LevelM40",{0.15,0},1}, - {"LevelM40",{0.2,0},1}, - {"LevelM40",{0.2,-0.03},1} - }; - }; - - class VALM_1_40 { - type = "text"; - source = "static"; - text = -40; - align = "left"; - scale = 1; - sourceScale = 1; - pos[] = {"LevelM40",{-0.22,-0.085},1}; - right[] = {"LevelM40",{-0.17,-0.085},1}; - down[] = {"LevelM40",{-0.22,-0.035},1}; - }; - - class VALM_2_40: VALM_1_40 { - align = "right"; - pos[] = {"LevelM40",{0.22,-0.085},1}; - right[] = {"LevelM40",{0.27,-0.085},1}; - down[] = {"LevelM40",{0.22,-0.035},1}; - }; - - class LevelP40: Level0 { - type = "line"; - width = 3; - points[] = { - {"LevelP40",{-0.2,0.03},1}, - {"LevelP40",{-0.2,0},1}, - {"LevelP40",{-0.05,0},1},{}, - {"LevelP40",{0.05,0},1}, - {"LevelP40",{0.2,0},1}, - {"LevelP40",{0.2,0.03},1} - }; - }; - - class VALP_1_40 { - type = "text"; - source = "static"; - text = "40"; - align = "left"; - scale = 1; - sourceScale = 1; - pos[] = {"LevelP40",{-0.22,0.035},1}; - right[] = {"LevelP40",{-0.17,0.035},1}; - down[] = {"LevelP40",{-0.22,0.085},1}; - }; - - class VALP_2_40: VALP_1_40 { - align = "right"; - pos[] = {"LevelP40",{0.22,0.035},1}; - right[] = {"LevelP40",{0.27,0.035},1}; - down[] = {"LevelP40",{0.22,0.085},1}; - }; - - class LevelM50: Level0 { - type = "line"; - width = 3; - points[] = { - {"LevelM50",{-0.2,-0.03},1}, - {"LevelM50",{-0.2,0},1}, - {"LevelM50",{-0.15,0},1},{}, - {"LevelM50",{-0.1,0},1}, - {"LevelM50",{-0.05,0},1},{}, - {"LevelM50",{0.05,0},1}, - {"LevelM50",{0.1,0},1},{}, - {"LevelM50",{0.15,0},1}, - {"LevelM50",{0.2,0},1}, - {"LevelM50",{0.2,-0.03},1} - }; - }; - - class VALM_1_50 { - type = "text"; - source = "static"; - text = -50; - align = "left"; - scale = 1; - sourceScale = 1; - pos[] = {"LevelM50",{-0.22,-0.085},1}; - right[] = {"LevelM50",{-0.17,-0.085},1}; - down[] = {"LevelM50",{-0.22,-0.035},1}; - }; - - class VALM_2_50: VALM_1_50 { - align = "right"; - pos[] = {"LevelM50",{0.22,-0.085},1}; - right[] = {"LevelM50",{0.27,-0.085},1}; - down[] = {"LevelM50",{0.22,-0.035},1}; - }; - - class LevelP50: Level0 { - type = "line"; - width = 3; - points[] = { - {"LevelP50",{-0.2,0.03},1}, - {"LevelP50",{-0.2,0},1}, - {"LevelP50",{-0.05,0},1},{}, - {"LevelP50",{0.05,0},1}, - {"LevelP50",{0.2,0},1}, - {"LevelP50",{0.2,0.03},1} - }; - }; - - class VALP_1_50 { - type = "text"; - source = "static"; - text = "50"; - align = "left"; - scale = 1; - sourceScale = 1; - pos[] = {"LevelP50",{-0.22,0.035},1}; - right[] = {"LevelP50",{-0.17,0.035},1}; - down[] = {"LevelP50",{-0.22,0.085},1}; - }; - - class VALP_2_50: VALP_1_50 { - align = "right"; - pos[] = {"LevelP50",{0.22,0.035},1}; - right[] = {"LevelP50",{0.27,0.035},1}; - down[] = {"LevelP50",{0.22,0.085},1}; - }; - }; - }; - - class HorizonBankRot { - type = "line"; - width = 3; - points[] = { - {"HorizonBankRot",{0,0.25},1}, - {"HorizonBankRot",{-0.01,0.23},1}, - {"HorizonBankRot",{0.01,0.23},1}, - {"HorizonBankRot",{0,0.25},1} - }; - }; - - class Static { - clipTL[] = {0,1}; - clipBR[] = {1,0}; - type = "line"; - width = 5; - points[] = { - {{"0.5-0.1","0.9-0.04"},1}, - {{"0.5-0.1","0.9+0.04"},1}, - {{"0.5+0.1","0.9+0.04"},1}, - {{"0.5+0.1","0.9-0.04"},1}, - {{"0.5-0.1","0.9-0.04"},1},{}, - {{"0.5-0.1",0.9},1}, - {{"0.5-0.092",0.9},1},{}, - {{"0.5+0.1",0.9},1}, - {{"0.5+0.092",0.9},1},{}, - {{0.5,"0.9-0.04"},1}, - {{0.5,"0.9-0.032"},1},{}, - {{0.5,"0.9+0.04"},1}, - {{0.5,"0.9+0.032"},1},{} - }; - }; - - class Centerline { - type = "line"; - width = 5; - points[] = { - {{0.5,0.48},1}, - {{0.5,0.45},1},{}, - {{0.5,0.52},1}, - {{0.5,0.55},1},{}, - {{0.48,0.5},1}, - {{0.45,0.5},1},{}, - {{0.52,0.5},1}, - {{0.55,0.5},1}, - {} - }; - }; - - class Gunner { - type = "line"; - width = 6; - points[] = { - {"GunnerAim",{"0.5-0.015","0.9-0.008"},1}, - {"GunnerAim",{"0.5-0.015","0.9+0.008"},1}, - {"GunnerAim",{"0.5+0.015","0.9+0.008"},1}, - {"GunnerAim",{"0.5+0.015","0.9-0.008"},1}, - {"GunnerAim",{"0.5-0.015","0.9-0.008"},1} - }; - }; - - class WeaponName { - type = "text"; - source = "weapon"; - sourceScale = 1; - align = "right"; - scale = 1; - pos[] = {{0.61,0.86},1}; - right[] = {{0.65,0.86},1}; - down[] = {{0.61,0.9},1}; - }; - - class AmmoCount { - type = "text"; - source = "ammo"; - sourceScale = 1; - align = "right"; - scale = 1; - pos[] = {{0.61,0.89},1}; - right[] = {{0.65,0.89},1}; - down[] = {{0.61,0.93},1}; - }; - - class LightsGroup { - type = "group"; - condition = "lights"; - class LightsText { - type = "text"; - source = "static"; - text = "LIGHTS"; - align = "right"; - scale = 1; - pos[] = {{0.03,"0.53 + 0.055"},1}; - right[] = {{0.07,"0.53 + 0.055"},1}; - down[] = {{0.03,"0.53 + 0.095"},1}; - }; - }; - - class CollisionLightsGroup { - type = "group"; - condition = "collisionlights"; - class CollisionLightsText { - type = "text"; - source = "static"; - text = "A-COL"; - align = "right"; - scale = 1; - pos[] = {{0.03,"0.53 + 0.105"},1}; - right[] = {{0.07,"0.53 + 0.105"},1}; - down[] = {{0.03,"0.53 + 0.145"},1}; - }; - }; - - class GearGroup { - type = "group"; - condition = "ils"; - class GearText { - type = "text"; - source = "static"; - text = "GEAR"; - align = "right"; - scale = 1; - pos[] = {{0.03,"0.53 + 0.155"},1}; - right[] = {{0.07,"0.53 + 0.155"},1}; - down[] = {{0.03,"0.53 + 0.195"},1}; - }; - }; - - class ATMissileTOFGroup { - condition = "ATmissile"; - type = "group"; - class TOFtext { - type = "text"; - align = "right"; - source = "static"; - text = "TOF = "; - scale = 1; - pos[] = {{0.61,0.92},1}; - right[] = {{0.65,0.92},1}; - down[] = {{0.61,0.96},1}; - }; - - class TOFnumber { - type = "text"; - source = "targetDist"; - sourcescale = 0.0025; - align = "right"; - scale = 1; - pos[] = {{0.69,0.92},1}; - right[] = {{0.73,0.92},1}; - down[] = {{0.69,0.96},1}; - }; - }; - - class LaserTOFGroup { - condition = "Bomb"; - type = "group"; - class TOFtext { - type = "text"; - align = "right"; - source = "static"; - text = "TOF = "; - scale = 1; - pos[] = {{0.61,0.92},1}; - right[] = {{0.65,0.92},1}; - down[] = {{0.61,0.96},1}; - }; - - class TOFnumber { - type = "text"; - source = "targetDist"; - sourcescale = 0.0025; - align = "right"; - scale = 1; - pos[] = {{0.69,0.92},1}; - right[] = {{0.73,0.92},1}; - down[] = {{0.69,0.96},1}; - }; - }; - - class RocketTOFGroup { - condition = "Rocket"; - type = "group"; - class TOFtext { - type = "text"; - align = "right"; - source = "static"; - text = "TOF = "; - scale = 1; - pos[] = {{0.61,0.92},1}; - right[] = {{0.65,0.92},1}; - down[] = {{0.61,0.96},1}; - }; - - class TOFnumber { - type = "text"; - source = "targetDist"; - sourcescale = 0.0025; - align = "right"; - scale = 1; - pos[] = {{0.69,0.92},1}; - right[] = {{0.73,0.92},1}; - down[] = {{0.69,0.96},1}; - }; - }; - - class RangeNumber { - type = "text"; - source = "targetDist"; - sourceScale = 1; - align = "left"; - scale = 1; - pos[] = {{0.39,0.89},1}; - right[] = {{0.43,0.89},1}; - down[] = {{0.39,0.93},1}; - }; - - class RangeText { - type = "text"; - source = "static"; - text = "RNG"; - align = "left"; - scale = 1; - pos[] = {{0.39,0.86},1}; - right[] = {{0.43,0.86},1}; - down[] = {{0.39,0.9},1}; - }; - - class SpeedNumber { - type = "text"; - align = "right"; - scale = 1; - source = "speed"; - sourceScale = 3.6; - pos[] = {{0.03,0.475},1}; - right[] = {{0.08,0.475},1}; - down[] = {{0.03,0.525},1}; - }; - - class TorqueNumber { - type = "text"; - align = "left"; - scale = 1; - source = "rtdRotorTorque"; - sourceScale = 290; - pos[] = {{0.065,0.175},1}; - right[] = {{0.115,0.175},1}; - down[] = {{0.065,0.225},1}; - }; - - class Torquetext { - type = "text"; - source = "static"; - text = "%"; - align = "right"; - scale = 1; - pos[] = {{0.07,0.175},1}; - right[] = {{0.12,0.175},1}; - down[] = {{0.07,0.225},1}; - }; - - class AltNumber { - type = "text"; - align = "right"; - scale = 1; - source = "altitudeAGL"; - sourceScale = 1; - pos[] = {{0.83,0.475},1}; - right[] = {{0.88,0.475},1}; - down[] = {{0.83,0.525},1}; - }; - - class ASLNumber { - type = "text"; - source = "altitudeASL"; - sourceScale = 1; - align = "right"; - scale = 1; - pos[] = {{0.835,0.18},1}; - right[] = {{0.875,0.18},1}; - down[] = {{0.835,0.22},1}; - }; - - class VspeedScalePosta { - type = "line"; - width = 5; - points[] = { - {{0.98,0.2},1}, - {{1,0.2},1},{}, - {{0.93,0.2},1}, - {{0.95,0.2},1},{}, - {{0.98,0.35},1}, - {{1,0.35},1},{}, - {{0.93,0.35},1}, - {{0.95,0.35},1},{}, - {{0.94,0.38},1}, - {{0.95,0.38},1},{}, - {{0.94,0.41},1}, - {{0.95,0.41},1},{}, - {{0.94,0.44},1}, - {{0.95,0.44},1},{}, - {{0.94,0.47},1}, - {{0.95,0.47},1},{}, - {{0.98,0.5},1}, - {{1,0.5},1},{}, - {{0.93,0.5},1}, - {{0.95,0.5},1},{}, - {{0.94,0.53},1}, - {{0.95,0.53},1},{}, - {{0.94,0.56},1}, - {{0.95,0.56},1},{}, - {{0.94,0.59},1}, - {{0.95,0.59},1},{}, - {{0.94,0.62},1}, - {{0.95,0.62},1},{}, - {{0.98,0.65},1}, - {{1,0.65},1},{}, - {{0.93,0.65},1}, - {{0.95,0.65},1},{}, - {{0.99,0.68},1}, - {{0.98,0.68},1},{}, - {{0.99,0.71},1}, - {{0.98,0.71},1},{}, - {{0.99,0.74},1}, - {{0.98,0.74},1},{}, - {{0.99,0.77},1}, - {{0.98,0.77},1},{}, - {{0.98,0.8},1}, - {{1,0.8},1},{}, - {{0.93,0.8},1}, - {{0.95,0.8},1},{} - }; - }; - - class RadarAltitudeBand { - clipTL[] = {0,0.2}; - clipBR[] = {1,0.8}; - hideValue = 201; - class radarbanda { - type = "line"; - width = 17; - points[] = { - {"RadarAltitudeBone",{0,0},1}, - {"RadarAltitudeBone",{0,0.6},1} - }; - }; - }; - - class VspeedBand { - type = "line"; - width = 3; - points[] = { - {"VspeedBone",{-0.01,0},1}, - {"VspeedBone",{-0.025,-0.015},1}, - {"VspeedBone",{-0.025,0.015},1}, - {"VspeedBone",{-0.01,0},1},{} - }; - }; - - class HeadingNumber: SpeedNumber { - source = "heading"; - sourceScale = 1; - align = "center"; - pos[] = {{0.5,0.01},1}; - right[] = {{0.56,0.01},1}; - down[] = {{0.5,0.06},1}; - }; - - class Center_box { - type = "line"; - width = 3; - points[] = { - {{0.44,0.005},1}, - {{"0.44 + 0.12",0.005},1}, - {{"0.44 + 0.12","0.005 + 0.06"},1}, - {{0.44,"0.005 + 0.06"},1}, - {{0.44,0.005},1} - }; - }; - - class HeadingArrow { - type = "line"; - width = 7; - points[] = {{{"0.5","0.128 + 0.03"},1},{{0.5,0.128},1}}; - }; - - class HeadingScale { - type = "scale"; - horizontal = 1; - source = "heading"; - sourceScale = 1; - width = 5; - top = 0.12; - center = 0.5; - bottom = 0.88; - lineXleft = "0.03 + 0.085"; - lineYright = "0.02 + 0.085"; - lineXleftMajor = "0.04 + 0.085"; - lineYrightMajor = "0.02 + 0.085"; - majorLineEach = 3; - numberEach = 3; - step = 10; - stepSize = "0.05"; - align = "center"; - scale = 1; - pos[] = {0.119,"0.0 + 0.065"}; - right[] = {0.159,"0.0 + 0.065"}; - down[] = {0.119,"0.04 + 0.065"}; - }; - - class Fuel_Text { - type = "text"; - source = "static"; - text = "Fuel"; - align = "right"; - scale = 1; - pos[] = {{0.03,0.9},1}; - right[] = {{0.07,0.9},1}; - down[] = {{0.03,0.94},1}; - }; - - class Fuel_Number { - type = "text"; - source = "fuel"; - sourceScale = 100; - align = "right"; - scale = 1; - pos[] = {{0.1,0.9},1}; - right[] = {{0.14,0.9},1}; - down[] = {{0.1,0.94},1}; - }; - }; - - helmetMountedDisplay = 1; - helmetPosition[] = {-0.04,0.04,0.1}; - helmetRight[] = {0.08,0,0}; - helmetDown[] = {0,-0.08,0}; - }; - - class LittleHUD { - class Pos10Vector { - type = "vector"; - pos0[] = {0.5,0.5}; - pos10[] = {0.722,0.722}; - }; - - topLeft = "HUD_top_left"; - topRight = "HUD_top_right"; - bottomLeft = "HUD_bottom_left"; - borderLeft = 0; - borderRight = 0; - borderTop = 0; - borderBottom = 0; - color[] = {0.15,1,0.15,1}; - enableParallax = 0; - class Bones { - class Velocity { - type = "vector"; - source = "velocity"; - pos0[] = {0.5,0.5}; - pos10[] = {0.75,0.75}; - }; - - class ForwardVec1 { - type = "vector"; - source = "forward"; - pos0[] = {0,0}; - pos10[] = {0.25,0.25}; - }; - - class ForwardVec { - type = "vector"; - source = "forward"; - pos0[] = {0,0}; - pos10[] = {0.253,0.253}; - }; - - class WeaponAim { - type = "vector"; - source = "weapon"; - pos0[] = {0.5,0.5}; - pos10[] = {0.753,0.753}; - }; - - class WeaponAim1 { - type = "vector"; - source = "weapon"; - pos0[] = {0,0}; - pos10[] = {0.253,0.23}; - }; - - class Target { - type = "vector"; - source = "target"; - pos0[] = {0.5,0.5}; - pos10[] = {0.753,0.753}; - }; - - class RadarContact { - type = "fixed"; - pos[] = {0,0}; - }; - }; - - class Draw { - color[] = {0.18,1,0.18}; - alpha = 1; - condition = "on"; - class PlaneMovementCrosshair { - type = "line"; - width = 7; - points[] = { - {"ForwardVec1",1,"Velocity",1,{0,-0.02},1}, - {"ForwardVec1",1,"Velocity",1,{0.01,-0.01732},1}, - {"ForwardVec1",1,"Velocity",1,{0.01732,-0.01},1}, - {"ForwardVec1",1,"Velocity",1,{0.02,0},1}, - {"ForwardVec1",1,"Velocity",1,{0.01732,0.01},1}, - {"ForwardVec1",1,"Velocity",1,{0.01,0.01732},1}, - {"ForwardVec1",1,"Velocity",1,{0,0.02},1}, - {"ForwardVec1",1,"Velocity",1,{-0.01,0.01732},1}, - {"ForwardVec1",1,"Velocity",1,{-0.01732,0.01},1}, - {"ForwardVec1",1,"Velocity",1,{-0.02,0},1}, - {"ForwardVec1",1,"Velocity",1,{-0.01732,-0.01},1}, - {"ForwardVec1",1,"Velocity",1,{-0.01,-0.01732},1}, - {"ForwardVec1",1,"Velocity",1,{0,-0.02},1},{}, - {"ForwardVec1",1,"Velocity",1,{0.04,0},1}, - {"ForwardVec1",1,"Velocity",1,{0.02,0},1},{}, - {"ForwardVec1",1,"Velocity",1,{-0.04,0},1}, - {"ForwardVec1",1,"Velocity",1,{-0.02,0},1},{}, - {"ForwardVec1",1,"Velocity",1,{0,-0.04},1}, - {"ForwardVec1",1,"Velocity",1,{0,-0.02},1} - }; - }; - - class GunCross { - condition = "mgun"; - width = 6; - class Circle { - type = "line"; - width = 6; - points[] = { - {"ForwardVec",1,"WeaponAim",1,{0,-0.05},1}, - {"ForwardVec",1,"WeaponAim",1,{0,-0.015},1},{}, - {"ForwardVec",1,"WeaponAim",1,{0,0.015},1}, - {"ForwardVec",1,"WeaponAim",1,{0,0.05},1},{}, - {"ForwardVec",1,"WeaponAim",1,{-0.05,0},1}, - {"ForwardVec",1,"WeaponAim",1,{-0.015,0},1},{}, - {"ForwardVec",1,"WeaponAim",1,{0.015,0},1}, - {"ForwardVec",1,"WeaponAim",1,{0.05,0},1},{} - }; - }; - }; - - class RocketCross { - condition = "rocket"; - width = 6; - class Circle { - type = "line"; - width = 6; - points[] = { - {"ForwardVec",1,"WeaponAim",1,{-0.05,-0.08},1}, - {"ForwardVec",1,"WeaponAim",1,{0.05,-0.08},1},{}, - {"ForwardVec",1,"WeaponAim",1,{0,-0.08},1}, - {"ForwardVec",1,"WeaponAim",1,{0,0.08},1},{}, - {"ForwardVec",1,"WeaponAim",1,{-0.05,0.08},1}, - {"ForwardVec",1,"WeaponAim",1,{0.05,0.08},1},{} - }; - }; - }; - - class AT_Aim { - condition = "ATmissile"; - width = 2; - class Circle { - type = "line"; - width = 2; - points[] = { - {"ForwardVec",1,"WeaponAim",1,{-0.15,-0.15},1}, - {"ForwardVec",1,"WeaponAim",1,{0.15,-0.15},1}, - {"ForwardVec",1,"WeaponAim",1,{0.15,0.15},1}, - {"ForwardVec",1,"WeaponAim",1,{-0.15,0.15},1}, - {"ForwardVec",1,"WeaponAim",1,{-0.15,-0.15},1} - }; - }; - }; - - class AA_aim { - condition = "AAmissile"; - class Circle { - type = "line"; - width = 2.5; - points[] = { - {"ForwardVec",1,"WeaponAim",1,{"0 / 4","-0.248559 / 4"},1}, - {"ForwardVec",1,"WeaponAim",1,{"0.0434 / 4","-0.244781 / 4"},1}, - {"ForwardVec",1,"WeaponAim",1,{"0.0855 / 4","-0.233571 / 4"},1}, - {"ForwardVec",1,"WeaponAim",1,{"0.125 / 4","-0.215252 / 4"},1}, - {"ForwardVec",1,"WeaponAim",1,{"0.1607 / 4","-0.190396 / 4"},1}, - {"ForwardVec",1,"WeaponAim",1,{"0.1915 / 4","-0.159774 / 4"},1}, - {"ForwardVec",1,"WeaponAim",1,{"0.2165 / 4","-0.12428 / 4"},1}, - {"ForwardVec",1,"WeaponAim",1,{"0.234925 / 4","-0.0850072 / 4"},1}, - {"ForwardVec",1,"WeaponAim",1,{"0.2462 / 4","-0.0431499 / 4"},1}, - {"ForwardVec",1,"WeaponAim",1,{"0.25 / 4","0 / 4"},1}, - {"ForwardVec",1,"WeaponAim",1,{"0.2462 / 4","0.0431499 / 4"},1}, - {"ForwardVec",1,"WeaponAim",1,{"0.234925 / 4","0.0850072 / 4"},1}, - {"ForwardVec",1,"WeaponAim",1,{"0.2165 / 4","0.12428 / 4"},1}, - {"ForwardVec",1,"WeaponAim",1,{"0.1915 / 4","0.159774 / 4"},1}, - {"ForwardVec",1,"WeaponAim",1,{"0.1607 / 4","0.190396 / 4"},1}, - {"ForwardVec",1,"WeaponAim",1,{"0.125 / 4","0.215252 / 4"},1}, - {"ForwardVec",1,"WeaponAim",1,{"0.0855 / 4","0.233571 / 4"},1}, - {"ForwardVec",1,"WeaponAim",1,{"0.0434 / 4","0.244781 / 4"},1}, - {"ForwardVec",1,"WeaponAim",1,{"0 / 4","0.248559 / 4"},1}, - {"ForwardVec",1,"WeaponAim",1,{"-0.0434 / 4","0.244781 / 4"},1}, - {"ForwardVec",1,"WeaponAim",1,{"-0.0855 / 4","0.233571 / 4"},1}, - {"ForwardVec",1,"WeaponAim",1,{"-0.125 / 4","0.215252 / 4"},1}, - {"ForwardVec",1,"WeaponAim",1,{"-0.1607 / 4","0.190396 / 4"},1}, - {"ForwardVec",1,"WeaponAim",1,{"-0.1915 / 4","0.159774 / 4"},1}, - {"ForwardVec",1,"WeaponAim",1,{"-0.2165 / 4","0.12428 / 4"},1}, - {"ForwardVec",1,"WeaponAim",1,{"-0.234925 / 4","0.0850072 / 4"},1}, - {"ForwardVec",1,"WeaponAim",1,{"-0.2462 / 4","0.0431499 / 4"},1}, - {"ForwardVec",1,"WeaponAim",1,{"-0.25 / 4","0 / 4"},1}, - {"ForwardVec",1,"WeaponAim",1,{"-0.2462 / 4","-0.0431499 / 4"},1}, - {"ForwardVec",1,"WeaponAim",1,{"-0.234925 / 4","-0.0850072 / 4"},1}, - {"ForwardVec",1,"WeaponAim",1,{"-0.2165 / 4","-0.12428 / 4"},1}, - {"ForwardVec",1,"WeaponAim",1,{"-0.1915 / 4","-0.159774 / 4"},1}, - {"ForwardVec",1,"WeaponAim",1,{"-0.1607 / 4","-0.190396 / 4"},1}, - {"ForwardVec",1,"WeaponAim",1,{"-0.125 / 4","-0.215252 / 4"},1}, - {"ForwardVec",1,"WeaponAim",1,{"-0.0855 / 4","-0.233571 / 4"},1}, - {"ForwardVec",1,"WeaponAim",1,{"-0.0434 / 4","-0.244781 / 4"},1}, - {"ForwardVec",1,"WeaponAim",1,{"0 / 4","-0.248559 / 4"},1},{}, - {"ForwardVec",1,"WeaponAim",1,{"0 / 2","-0.248559 / 2"},1}, - {"ForwardVec",1,"WeaponAim",1,{"0.0434 / 2","-0.244781 / 2"},1}, - {"ForwardVec",1,"WeaponAim",1,{"0.0855 / 2","-0.233571 / 2"},1}, - {"ForwardVec",1,"WeaponAim",1,{"0.125 / 2","-0.215252 / 2"},1}, - {"ForwardVec",1,"WeaponAim",1,{"0.1607 / 2","-0.190396 / 2"},1}, - {"ForwardVec",1,"WeaponAim",1,{"0.1915 / 2","-0.159774 / 2"},1}, - {"ForwardVec",1,"WeaponAim",1,{"0.2165 / 2","-0.12428 / 2"},1}, - {"ForwardVec",1,"WeaponAim",1,{"0.234925 / 2","-0.0850072 / 2"},1}, - {"ForwardVec",1,"WeaponAim",1,{"0.2462 / 2","-0.0431499 / 2"},1}, - {"ForwardVec",1,"WeaponAim",1,{"0.25 / 2","0 / 2"},1}, - {"ForwardVec",1,"WeaponAim",1,{"0.2462 / 2","0.0431499 / 2"},1}, - {"ForwardVec",1,"WeaponAim",1,{"0.234925 / 2","0.0850072 / 2"},1}, - {"ForwardVec",1,"WeaponAim",1,{"0.2165 / 2","0.12428 / 2"},1}, - {"ForwardVec",1,"WeaponAim",1,{"0.1915 / 2","0.159774 / 2"},1}, - {"ForwardVec",1,"WeaponAim",1,{"0.1607 / 2","0.190396 / 2"},1}, - {"ForwardVec",1,"WeaponAim",1,{"0.125 / 2","0.215252 / 2"},1}, - {"ForwardVec",1,"WeaponAim",1,{"0.0855 / 2","0.233571 / 2"},1}, - {"ForwardVec",1,"WeaponAim",1,{"0.0434 / 2","0.244781 / 2"},1}, - {"ForwardVec",1,"WeaponAim",1,{"0 / 2","0.248559 / 2"},1}, - {"ForwardVec",1,"WeaponAim",1,{"-0.0434 / 2","0.244781 / 2"},1}, - {"ForwardVec",1,"WeaponAim",1,{"-0.0855 / 2","0.233571 / 2"},1}, - {"ForwardVec",1,"WeaponAim",1,{"-0.125 / 2","0.215252 / 2"},1}, - {"ForwardVec",1,"WeaponAim",1,{"-0.1607 / 2","0.190396 / 2"},1}, - {"ForwardVec",1,"WeaponAim",1,{"-0.1915 / 2","0.159774 / 2"},1}, - {"ForwardVec",1,"WeaponAim",1,{"-0.2165 / 2","0.12428 / 2"},1}, - {"ForwardVec",1,"WeaponAim",1,{"-0.234925 / 2","0.0850072 / 2"},1}, - {"ForwardVec",1,"WeaponAim",1,{"-0.2462 / 2","0.0431499 / 2"},1}, - {"ForwardVec",1,"WeaponAim",1,{"-0.25 / 2","0 / 2"},1}, - {"ForwardVec",1,"WeaponAim",1,{"-0.2462 / 2","-0.0431499 / 2"},1}, - {"ForwardVec",1,"WeaponAim",1,{"-0.234925 / 2","-0.0850072 / 2"},1}, - {"ForwardVec",1,"WeaponAim",1,{"-0.2165 / 2","-0.12428 / 2"},1}, - {"ForwardVec",1,"WeaponAim",1,{"-0.1915 / 2","-0.159774 / 2"},1}, - {"ForwardVec",1,"WeaponAim",1,{"-0.1607 / 2","-0.190396 / 2"},1}, - {"ForwardVec",1,"WeaponAim",1,{"-0.125 / 2","-0.215252 / 2"},1}, - {"ForwardVec",1,"WeaponAim",1,{"-0.0855 / 2","-0.233571 / 2"},1}, - {"ForwardVec",1,"WeaponAim",1,{"-0.0434 / 2","-0.244781 / 2"},1}, - {"ForwardVec",1,"WeaponAim",1,{"0 / 2","-0.248559 / 2"},1} - }; - }; - }; - - class TargetACQ { - type = "line"; - width = 2; - points[] = { - {"ForwardVec",1,"target",{0,-0.060},1}, - {"ForwardVec",1,"target",{0,-0.055},1},{}, - {"ForwardVec",1,"target",{0,-0.050},1}, - {"ForwardVec",1,"target",{0,-0.045},1},{}, - {"ForwardVec",1,"target",{0,-0.040},1}, - {"ForwardVec",1,"target",{0,-0.035},1},{}, - {"ForwardVec",1,"target",{0,-0.030},1}, - {"ForwardVec",1,"target",{0,-0.025},1},{}, - {"ForwardVec",1,"target",{0,-0.020},1}, - {"ForwardVec",1,"target",{0,-0.015},1},{}, - {"ForwardVec",1,"target",{0,-0.010},1}, - {"ForwardVec",1,"target",{0,-0.005},1},{}, - {"ForwardVec",1,"target",{0,0},1}, - {"ForwardVec",1,"target",{0,0},1},{}, - {"ForwardVec",1,"target",{0,0.060},1}, - {"ForwardVec",1,"target",{0,0.055},1},{}, - {"ForwardVec",1,"target",{0,0.050},1}, - {"ForwardVec",1,"target",{0,0.045},1},{}, - {"ForwardVec",1,"target",{0,0.040},1}, - {"ForwardVec",1,"target",{0,0.035},1},{}, - {"ForwardVec",1,"target",{0,0.030},1}, - {"ForwardVec",1,"target",{0,0.025},1},{}, - {"ForwardVec",1,"target",{0,0.020},1}, - {"ForwardVec",1,"target",{0,0.015},1},{}, - {"ForwardVec",1,"target",{0,0.010},1}, - {"ForwardVec",1,"target",{0,0.005},1},{}, - {"ForwardVec",1,"target",{-0.060,0},1}, - {"ForwardVec",1,"target",{-0.055,0},1},{}, - {"ForwardVec",1,"target",{-0.050,0},1}, - {"ForwardVec",1,"target",{-0.045,0},1},{}, - {"ForwardVec",1,"target",{-0.040,0},1}, - {"ForwardVec",1,"target",{-0.035,0},1},{}, - {"ForwardVec",1,"target",{-0.030,0},1}, - {"ForwardVec",1,"target",{-0.025,0},1},{}, - {"ForwardVec",1,"target",{-0.020,0},1}, - {"ForwardVec",1,"target",{-0.015,0},1},{}, - {"ForwardVec",1,"target",{-0.010,0},1}, - {"ForwardVec",1,"target",{-0.005,0},1},{}, - {"ForwardVec",1,"target",{0.060,0},1}, - {"ForwardVec",1,"target",{0.055,0},1},{}, - {"ForwardVec",1,"target",{0.050,0},1}, - {"ForwardVec",1,"target",{0.045,0},1},{}, - {"ForwardVec",1,"target",{0.040,0},1}, - {"ForwardVec",1,"target",{0.035,0},1},{}, - {"ForwardVec",1,"target",{0.030,0},1}, - {"ForwardVec",1,"target",{0.025,0},1},{}, - {"ForwardVec",1,"target",{0.020,0},1}, - {"ForwardVec",1,"target",{0.015,0},1},{}, - {"ForwardVec",1,"target",{0.010,0},1}, - {"ForwardVec",1,"target",{0.005,0},1},{} - }; - }; - - class RadarTargets { - type = "radar"; - pos0[] = {0.5,0.5}; - pos10[] = {0.753,0.753}; - width = 2.5; - points[] = { - {"ForwardVec",1,"RadarContact",{-0.01,-0.01},1}, - {"ForwardVec",1,"RadarContact",{0.01,-0.01},1}, - {"ForwardVec",1,"RadarContact",{0.01,0.01},1}, - {"ForwardVec",1,"RadarContact",{-0.01,0.01},1}, - {"ForwardVec",1,"RadarContact",{-0.01,-0.01},1} - }; - }; - }; - - helmetMountedDisplay = 1; - helmetPosition[] = {-0.035,0.035,0.1}; - helmetRight[] = {0.07,0,0}; - helmetDown[] = {0,-0.07,0}; - }; -}; diff --git a/TO_MERGE/agm/Aircraft/mfd_ghosthawk.hpp b/TO_MERGE/agm/Aircraft/mfd_ghosthawk.hpp deleted file mode 100644 index 29e2c97819..0000000000 --- a/TO_MERGE/agm/Aircraft/mfd_ghosthawk.hpp +++ /dev/null @@ -1,1409 +0,0 @@ - -class MFD { - class AirplaneHUD { - class Pos10Vector { - type = "vector"; - pos0[] = {0.5,0.5}; - pos10[] = {0.85,0.85}; - }; - - topLeft = "HUD_top_left"; - topRight = "HUD_top_right"; - bottomLeft = "HUD_bottom_left"; - borderLeft = 0; - borderRight = 0; - borderTop = 0; - borderBottom = 0; - color[] = {0.15,1,0.15,1}; - enableParallax = 0; - class Bones { - class PlaneOrientation { - type = "fixed"; - pos[] = {0.5,0.54}; - }; - - class GunnerAim { - type = "vector"; - source = "weapon"; - pos0[] = {0,0}; - pos10[] = {0.011,0.0027}; - }; - - class Target { - type = "vector"; - source = "target"; - pos0[] = {0.5,0.5}; - pos10[] = {0.85,0.85}; - }; - - class Velocity { - type = "vector"; - source = "velocity"; - pos0[] = {0.5,0.5}; - pos10[] = {0.65,0.65}; - }; - - class VspeedBone { - type = "linear"; - source = "vspeed"; - sourceScale = 1; - min = -10; - max = 10; - minPos[] = {0.93,0.2}; - maxPos[] = {0.93,0.8}; - }; - - class RadarAltitudeBone { - type = "linear"; - source = "altitudeAGL"; - sourceScale = 1; - min = 0; - max = 60; - minPos[] = {0.965,0.2}; - maxPos[] = {0.965,0.8}; - }; - - class HorizonBankRot { - type = "rotational"; - source = "horizonBank"; - center[] = {0.5,0.5}; - min = -3.1416; - max = 3.1416; - minAngle = -180; - maxAngle = 180; - aspectRatio = 1; - }; - - class ForwardVec { - type = "vector"; - source = "forward"; - pos0[] = {0,0}; - pos10[] = {0.25,0.25}; - }; - - class WeaponAim { - type = "vector"; - source = "weapon"; - pos0[] = {0.5,0.5}; - pos10[] = {0.75,0.75}; - }; - - class Level0 { - type = "horizon"; - pos0[] = {0.5,0.5}; - pos10[] = {0.78,0.78}; - angle = 0; - }; - - class LevelP5: Level0 { - angle = 5; - }; - - class LevelM5: Level0 { - angle = -5; - }; - - class LevelP10: Level0 { - angle = 10; - }; - - class LevelM10: Level0 { - angle = -10; - }; - - class LevelP15: Level0 { - angle = 15; - }; - - class LevelM15: Level0 { - angle = -15; - }; - - class LevelP20: Level0 { - angle = 20; - }; - - class LevelM20: Level0 { - angle = -20; - }; - - class LevelP25: Level0 { - angle = 25; - }; - - class LevelM25: Level0 { - angle = -25; - }; - - class LevelP30: Level0 { - angle = 30; - }; - - class LevelM30: Level0 { - angle = -30; - }; - - class LevelP35: Level0 { - angle = 35; - }; - - class LevelM35: Level0 { - angle = -35; - }; - - class LevelP40: Level0 { - angle = 40; - }; - - class LevelM40: Level0 { - angle = -40; - }; - - class LevelP45: Level0 { - angle = 45; - }; - - class LevelM45: Level0 { - angle = -45; - }; - - class LevelP50: Level0 { - angle = 50; - }; - - class LevelM50: Level0 { - angle = -50; - }; - - class LevelP55: Level0 { - angle = 55; - }; - - class LevelM55: Level0 { - angle = -55; - }; - - class LevelP60: Level0 { - angle = 60; - }; - - class LevelM60: Level0 { - angle = -60; - }; - - class LevelP65: Level0 { - angle = 65; - }; - - class LevelM65: Level0 { - angle = -65; - }; - - class LevelP70: Level0 { - angle = 70; - }; - - class LevelM70: Level0 { - angle = -70; - }; - - class LevelP75: Level0 { - angle = 75; - }; - - class LevelM75: Level0 { - angle = -75; - }; - - class LevelP80: Level0 { - angle = 80; - }; - - class LevelM80: Level0 { - angle = -80; - }; - - class LevelP85: Level0 { - angle = 85; - }; - - class LevelM85: Level0 { - angle = -85; - }; - - class LevelP90: Level0 { - angle = 90; - }; - - class LevelM90: Level0 { - angle = -90; - }; - }; - - class Draw { - color[] = {0.18,1,0.18}; - alpha = 1; - condition = "on"; - class Horizont { - clipTL[] = {0.15,0.15}; - clipBR[] = {0.85,0.85}; - class Dimmed { - class Level0 { - type = "line"; - points[] = { - {"Level0",{-0.42,0},1}, - {"Level0",{-0.08,0},1},{}, - {"Level0",{0.42,0},1}, - {"Level0",{0.08,0},1},{} - }; - }; - - /*class VALM_1_0 { - type = "text"; - source = "static"; - text = 0; - align = "left"; - scale = 1; - sourceScale = 1; - pos[] = {"Level0",{-0.23,-0.025},1}; - right[] = {"Level0",{-0.13,-0.025},1}; - down[] = {"Level0",{-0.23,0.025},1}; - }; - - class VALM_2_0: VALM_1_0 { - align = "right"; - pos[] = {"Level0",{0.22,-0.025},1}; - right[] = {"Level0",{0.31999999,-0.025},1}; - down[] = {"Level0",{0.22,0.025},1}; - }; - - class LevelM5: Level0 { - type = "line"; - width = 3.0; - points[] = { - {"LevelM5",{-0.2,-0.029999999},1}, - {"LevelM5",{-0.2,0},1}, - {"LevelM5",{-0.15000001,0},1},{}, - {"LevelM5",{-0.1,0},1}, - {"LevelM5",{-0.050000001,0},1},{}, - {"LevelM5",{0.050000001,0},1}, - {"LevelM5",{0.1,0},1},{}, - {"LevelM5",{0.15000001,0},1}, - {"LevelM5",{0.2,0},1}, - {"LevelM5",{0.2,-0.029999999},1} - }; - }; - - class VALM_1_5 { - type = "text"; - source = "static"; - text = -5; - align = "left"; - scale = 1; - sourceScale = 1; - pos[] = {"LevelM5",{-0.22,-0.085000001},1}; - right[] = {"LevelM5",{-0.17,-0.085000001},1}; - down[] = {"LevelM5",{-0.22,-0.035},1}; - }; - - class VALM_2_5: VALM_1_5 { - align = "right"; - pos[] = {"LevelM5",{0.22,-0.085000001},1}; - right[] = {"LevelM5",{0.27,-0.085000001},1}; - down[] = {"LevelM5",{0.22,-0.035},1}; - }; - - class LevelP5: Level0 { - type = "line"; - width = 3.0; - points[] = { - {"LevelP5",{-0.2,0.029999999},1}, - {"LevelP5",{-0.2,0},1}, - {"LevelP5",{-0.050000001,0},1},{}, - {"LevelP5",{0.050000001,0},1}, - {"LevelP5",{0.2,0},1}, - {"LevelP5",{0.2,0.029999999},1} - }; - }; - - class VALP_1_5 { - type = "text"; - source = "static"; - text = "5"; - align = "left"; - scale = 1; - sourceScale = 1; - pos[] = {"LevelP5",{-0.22,0.035},1}; - right[] = {"LevelP5",{-0.17,0.035},1}; - down[] = {"LevelP5",{-0.22,0.085000001},1}; - }; - - class VALP_2_5: VALP_1_5 { - align = "right"; - pos[] = {"LevelP5",{0.22,0.035},1}; - right[] = {"LevelP5",{0.27,0.035},1}; - down[] = {"LevelP5",{0.22,0.085000001},1}; - };*/ - - class LevelM10: Level0 { - type = "line"; - width = 3; - points[] = { - {"LevelM10",{-0.2,-0.03},1}, - {"LevelM10",{-0.2,0},1}, - {"LevelM10",{-0.15,0},1},{}, - {"LevelM10",{-0.1,0},1}, - {"LevelM10",{-0.05,0},1},{}, - {"LevelM10",{0.05,0},1}, - {"LevelM10",{0.1,0},1},{}, - {"LevelM10",{0.15,0},1}, - {"LevelM10",{0.2,0},1}, - {"LevelM10",{0.2,-0.03},1} - }; - }; - - class VALM_1_10 { - type = "text"; - source = "static"; - text = -10; - align = "left"; - scale = 1; - sourceScale = 1; - pos[] = {"LevelM10",{-0.22,-0.085},1}; - right[] = {"LevelM10",{-0.17,-0.085},1}; - down[] = {"LevelM10",{-0.22,-0.035},1}; - }; - - class VALM_2_10: VALM_1_10 { - align = "right"; - pos[] = {"LevelM10",{0.22,-0.085},1}; - right[] = {"LevelM10",{0.27,-0.085},1}; - down[] = {"LevelM10",{0.22,-0.035},1}; - }; - - class LevelP10: Level0 { - type = "line"; - width = 3; - points[] = { - {"LevelP10",{-0.2,0.03},1}, - {"LevelP10",{-0.2,0},1}, - {"LevelP10",{-0.05,0},1},{}, - {"LevelP10",{0.05,0},1}, - {"LevelP10",{0.2,0},1}, - {"LevelP10",{0.2,0.03},1} - }; - }; - - class VALP_1_10 { - type = "text"; - source = "static"; - text = "10"; - align = "left"; - scale = 1; - sourceScale = 1; - pos[] = {"LevelP10",{-0.22,0.035},1}; - right[] = {"LevelP10",{-0.17,0.035},1}; - down[] = {"LevelP10",{-0.22,0.085},1}; - }; - - class VALP_2_10: VALP_1_10 { - align = "right"; - pos[] = {"LevelP10",{0.22,0.035},1}; - right[] = {"LevelP10",{0.27,0.035},1}; - down[] = {"LevelP10",{0.22,0.085},1}; - }; - - /*class LevelM15: Level0 { - type = "line"; - width = 3.0; - points[] = { - {"LevelM15",{-0.2,-0.029999999},1}, - {"LevelM15",{-0.2,0},1}, - {"LevelM15",{-0.15000001,0},1},{}, - {"LevelM15",{-0.1,0},1}, - {"LevelM15",{-0.050000001,0},1},{}, - {"LevelM15",{0.050000001,0},1}, - {"LevelM15",{0.1,0},1},{}, - {"LevelM15",{0.15000001,0},1}, - {"LevelM15",{0.2,0},1}, - {"LevelM15",{0.2,-0.029999999},1} - }; - }; - - class VALM_1_15 { - type = "text"; - source = "static"; - text = -15; - align = "left"; - scale = 1; - sourceScale = 1; - pos[] = {"LevelM15",{-0.22,-0.085000001},1}; - right[] = {"LevelM15",{-0.17,-0.085000001},1}; - down[] = {"LevelM15",{-0.22,-0.035},1}; - }; - - class VALM_2_15: VALM_1_15 { - align = "right"; - pos[] = {"LevelM15",{0.22,-0.085000001},1}; - right[] = {"LevelM15",{0.27,-0.085000001},1}; - down[] = {"LevelM15",{0.22,-0.035},1}; - }; - - class LevelP15: Level0 { - type = "line"; - width = 3.0; - points[] = { - {"LevelP15",{-0.2,0.029999999},1}, - {"LevelP15",{-0.2,0},1}, - {"LevelP15",{-0.050000001,0},1},{}, - {"LevelP15",{0.050000001,0},1}, - {"LevelP15",{0.2,0},1}, - {"LevelP15",{0.2,0.029999999},1} - }; - }; - - class VALP_1_15 { - type = "text"; - source = "static"; - text = "15"; - align = "left"; - scale = 1; - sourceScale = 1; - pos[] = {"LevelP15",{-0.22,0.035},1}; - right[] = {"LevelP15",{-0.17,0.035},1}; - down[] = {"LevelP15",{-0.22,0.085000001},1}; - }; - - class VALP_2_15: VALP_1_15 { - align = "right"; - pos[] = {"LevelP15",{0.22,0.035},1}; - right[] = {"LevelP15",{0.27,0.035},1}; - down[] = {"LevelP15",{0.22,0.085000001},1}; - };*/ - - class LevelM20: Level0 { - type = "line"; - width = 3; - points[] = { - {"LevelM20",{-0.2,-0.03},1}, - {"LevelM20",{-0.2,0},1}, - {"LevelM20",{-0.15,0},1},{}, - {"LevelM20",{-0.1,0},1}, - {"LevelM20",{-0.05,0},1},{}, - {"LevelM20",{0.05,0},1}, - {"LevelM20",{0.1,0},1},{}, - {"LevelM20",{0.15,0},1}, - {"LevelM20",{0.2,0},1}, - {"LevelM20",{0.2,-0.03},1} - }; - }; - - class VALM_1_20 { - type = "text"; - source = "static"; - text = -20; - align = "left"; - scale = 1; - sourceScale = 1; - pos[] = {"LevelM20",{-0.22,-0.085},1}; - right[] = {"LevelM20",{-0.17,-0.085},1}; - down[] = {"LevelM20",{-0.22,-0.035},1}; - }; - - class VALM_2_20: VALM_1_20 { - align = "right"; - pos[] = {"LevelM20",{0.22,-0.085},1}; - right[] = {"LevelM20",{0.27,-0.085},1}; - down[] = {"LevelM20",{0.22,-0.035},1}; - }; - - class LevelP20: Level0 { - type = "line"; - width = 3; - points[] = { - {"LevelP20",{-0.2,0.03},1}, - {"LevelP20",{-0.2,0},1}, - {"LevelP20",{-0.05,0},1},{}, - {"LevelP20",{0.05,0},1}, - {"LevelP20",{0.2,0},1}, - {"LevelP20",{0.2,0.03},1} - }; - }; - - class VALP_1_20 { - type = "text"; - source = "static"; - text = "20"; - align = "left"; - scale = 1; - sourceScale = 1; - pos[] = {"LevelP20",{-0.22,0.035},1}; - right[] = {"LevelP20",{-0.17,0.035},1}; - down[] = {"LevelP20",{-0.22,0.085},1}; - }; - - class VALP_2_20: VALP_1_20 { - align = "right"; - pos[] = {"LevelP20",{0.22,0.035},1}; - right[] = {"LevelP20",{0.27,0.035},1}; - down[] = {"LevelP20",{0.22,0.085},1}; - }; - - /*class LevelM25: Level0 { - type = "line"; - width = 3.0; - points[] = { - {"LevelM25",{-0.2,-0.029999999},1}, - {"LevelM25",{-0.2,0},1}, - {"LevelM25",{-0.15000001,0},1},{}, - {"LevelM25",{-0.1,0},1}, - {"LevelM25",{-0.050000001,0},1},{}, - {"LevelM25",{0.050000001,0},1}, - {"LevelM25",{0.1,0},1},{}, - {"LevelM25",{0.15000001,0},1}, - {"LevelM25",{0.2,0},1}, - {"LevelM25",{0.2,-0.029999999},1} - }; - }; - - class VALM_1_25 { - type = "text"; - source = "static"; - text = -25; - align = "left"; - scale = 1; - sourceScale = 1; - pos[] = {"LevelM25",{-0.22,-0.085000001},1}; - right[] = {"LevelM25",{-0.17,-0.085000001},1}; - down[] = {"LevelM25",{-0.22,-0.035},1}; - }; - - class VALM_2_25: VALM_1_25 { - align = "right"; - pos[] = {"LevelM25",{0.22,-0.085000001},1}; - right[] = {"LevelM25",{0.27,-0.085000001},1}; - down[] = {"LevelM25",{0.22,-0.035},1}; - }; - - class LevelP25: Level0 { - type = "line"; - width = 3.0; - points[] = { - {"LevelP25",{-0.2,0.029999999},1}, - {"LevelP25",{-0.2,0},1}, - {"LevelP25",{-0.050000001,0},1},{}, - {"LevelP25",{0.050000001,0},1}, - {"LevelP25",{0.2,0},1}, - {"LevelP25",{0.2,0.029999999},1} - }; - }; - - class VALP_1_25 { - type = "text"; - source = "static"; - text = "25"; - align = "left"; - scale = 1; - sourceScale = 1; - pos[] = {"LevelP25",{-0.22,0.035},1}; - right[] = {"LevelP25",{-0.17,0.035},1}; - down[] = {"LevelP25",{-0.22,0.085000001},1}; - }; - - class VALP_2_25: VALP_1_25 { - align = "right"; - pos[] = {"LevelP25",{0.22,0.035},1}; - right[] = {"LevelP25",{0.27,0.035},1}; - down[] = {"LevelP25",{0.22,0.085000001},1}; - };*/ - - class LevelM30: Level0 { - type = "line"; - width = 3; - points[] = { - {"LevelM30",{-0.2,-0.03},1}, - {"LevelM30",{-0.2,0},1}, - {"LevelM30",{-0.15,0},1},{}, - {"LevelM30",{-0.1,0},1}, - {"LevelM30",{-0.05,0},1},{}, - {"LevelM30",{0.05,0},1}, - {"LevelM30",{0.1,0},1},{}, - {"LevelM30",{0.15,0},1}, - {"LevelM30",{0.2,0},1}, - {"LevelM30",{0.2,-0.03},1} - }; - }; - - class VALM_1_30 { - type = "text"; - source = "static"; - text = -30; - align = "left"; - scale = 1; - sourceScale = 1; - pos[] = {"LevelM30",{-0.22,-0.085},1}; - right[] = {"LevelM30",{-0.17,-0.085},1}; - down[] = {"LevelM30",{-0.22,-0.035},1}; - }; - - class VALM_2_30: VALM_1_30 { - align = "right"; - pos[] = {"LevelM30",{0.22,-0.085},1}; - right[] = {"LevelM30",{0.27,-0.085},1}; - down[] = {"LevelM30",{0.22,-0.035},1}; - }; - - class LevelP30: Level0 { - type = "line"; - width = 3; - points[] = { - {"LevelP30",{-0.2,0.03},1}, - {"LevelP30",{-0.2,0},1}, - {"LevelP30",{-0.05,0},1},{}, - {"LevelP30",{0.05,0},1}, - {"LevelP30",{0.2,0},1}, - {"LevelP30",{0.2,0.03},1} - }; - }; - - class VALP_1_30 { - type = "text"; - source = "static"; - text = "30"; - align = "left"; - scale = 1; - sourceScale = 1; - pos[] = {"LevelP30",{-0.22,0.035},1}; - right[] = {"LevelP30",{-0.17,0.035},1}; - down[] = {"LevelP30",{-0.22,0.085},1}; - }; - - class VALP_2_30: VALP_1_30 { - align = "right"; - pos[] = {"LevelP30",{0.22,0.035},1}; - right[] = {"LevelP30",{0.27,0.035},1}; - down[] = {"LevelP30",{0.22,0.085},1}; - }; - - /*class LevelM35: Level0 { - type = "line"; - width = 3.0; - points[] = { - {"LevelM35",{-0.2,-0.029999999},1}, - {"LevelM35",{-0.2,0},1}, - {"LevelM35",{-0.15000001,0},1},{}, - {"LevelM35",{-0.1,0},1}, - {"LevelM35",{-0.050000001,0},1},{}, - {"LevelM35",{0.050000001,0},1}, - {"LevelM35",{0.1,0},1},{}, - {"LevelM35",{0.15000001,0},1}, - {"LevelM35",{0.2,0},1}, - {"LevelM35",{0.2,-0.029999999},1} - }; - }; - - class VALM_1_35 { - type = "text"; - source = "static"; - text = -35; - align = "left"; - scale = 1; - sourceScale = 1; - pos[] = {"LevelM35",{-0.22,-0.085000001},1}; - right[] = {"LevelM35",{-0.17,-0.085000001},1}; - down[] = {"LevelM35",{-0.22,-0.035},1}; - }; - - class VALM_2_35: VALM_1_35 { - align = "right"; - pos[] = {"LevelM35",{0.22,-0.085000001},1}; - right[] = {"LevelM35",{0.27,-0.085000001},1}; - down[] = {"LevelM35",{0.22,-0.035},1}; - }; - - class LevelP35: Level0 { - type = "line"; - width = 3.0; - points[] = { - {"LevelP35",{-0.2,0.029999999},1}, - {"LevelP35",{-0.2,0},1}, - {"LevelP35",{-0.050000001,0},1},{}, - {"LevelP35",{0.050000001,0},1}, - {"LevelP35",{0.2,0},1}, - {"LevelP35",{0.2,0.029999999},1} - }; - }; - - class VALP_1_35 { - type = "text"; - source = "static"; - text = "35"; - align = "left"; - scale = 1; - sourceScale = 1; - pos[] = {"LevelP35",{-0.22,0.035},1}; - right[] = {"LevelP35",{-0.17,0.035},1}; - down[] = {"LevelP35",{-0.22,0.085000001},1}; - }; - - class VALP_2_35: VALP_1_35 { - align = "right"; - pos[] = {"LevelP35",{0.22,0.035},1}; - right[] = {"LevelP35",{0.27,0.035},1}; - down[] = {"LevelP35",{0.22,0.085000001},1}; - };*/ - - class LevelM40: Level0 { - type = "line"; - width = 3; - points[] = { - {"LevelM40",{-0.2,-0.03},1}, - {"LevelM40",{-0.2,0},1}, - {"LevelM40",{-0.15,0},1},{}, - {"LevelM40",{-0.1,0},1}, - {"LevelM40",{-0.05,0},1},{}, - {"LevelM40",{0.05,0},1}, - {"LevelM40",{0.1,0},1},{}, - {"LevelM40",{0.15,0},1}, - {"LevelM40",{0.2,0},1}, - {"LevelM40",{0.2,-0.03},1} - }; - }; - - class VALM_1_40 { - type = "text"; - source = "static"; - text = -40; - align = "left"; - scale = 1; - sourceScale = 1; - pos[] = {"LevelM40",{-0.22,-0.085},1}; - right[] = {"LevelM40",{-0.17,-0.085},1}; - down[] = {"LevelM40",{-0.22,-0.035},1}; - }; - - class VALM_2_40: VALM_1_40 { - align = "right"; - pos[] = {"LevelM40",{0.22,-0.085},1}; - right[] = {"LevelM40",{0.27,-0.085},1}; - down[] = {"LevelM40",{0.22,-0.035},1}; - }; - - class LevelP40: Level0 { - type = "line"; - width = 3; - points[] = { - {"LevelP40",{-0.2,0.03},1}, - {"LevelP40",{-0.2,0},1}, - {"LevelP40",{-0.05,0},1},{}, - {"LevelP40",{0.05,0},1}, - {"LevelP40",{0.2,0},1}, - {"LevelP40",{0.2,0.03},1} - }; - }; - - class VALP_1_40 { - type = "text"; - source = "static"; - text = "40"; - align = "left"; - scale = 1; - sourceScale = 1; - pos[] = {"LevelP40",{-0.22,0.035},1}; - right[] = {"LevelP40",{-0.17,0.035},1}; - down[] = {"LevelP40",{-0.22,0.085},1}; - }; - - class VALP_2_40: VALP_1_40 { - align = "right"; - pos[] = {"LevelP40",{0.22,0.035},1}; - right[] = {"LevelP40",{0.27,0.035},1}; - down[] = {"LevelP40",{0.22,0.085},1}; - }; - - /*class LevelM45: Level0 { - type = "line"; - width = 3.0; - points[] = { - {"LevelM45",{-0.2,-0.029999999},1}, - {"LevelM45",{-0.2,0},1}, - {"LevelM45",{-0.15000001,0},1},{}, - {"LevelM45",{-0.1,0},1}, - {"LevelM45",{-0.050000001,0},1},{}, - {"LevelM45",{0.050000001,0},1}, - {"LevelM45",{0.1,0},1},{}, - {"LevelM45",{0.15000001,0},1}, - {"LevelM45",{0.2,0},1}, - {"LevelM45",{0.2,-0.029999999},1} - }; - }; - - class VALM_1_45 { - type = "text"; - source = "static"; - text = -45; - align = "left"; - scale = 1; - sourceScale = 1; - pos[] = {"LevelM45",{-0.22,-0.085000001},1}; - right[] = {"LevelM45",{-0.17,-0.085000001},1}; - down[] = {"LevelM45",{-0.22,-0.035},1}; - }; - - class VALM_2_45: VALM_1_45 { - align = "right"; - pos[] = {"LevelM45",{0.22,-0.085000001},1}; - right[] = {"LevelM45",{0.27,-0.085000001},1}; - down[] = {"LevelM45",{0.22,-0.035},1}; - }; - - class LevelP45: Level0 { - type = "line"; - width = 3.0; - points[] = { - {"LevelP45",{-0.2,0.029999999},1}, - {"LevelP45",{-0.2,0},1}, - {"LevelP45",{-0.050000001,0},1},{}, - {"LevelP45",{0.050000001,0},1}, - {"LevelP45",{0.2,0},1}, - {"LevelP45",{0.2,0.029999999},1} - }; - }; - - class VALP_1_45 { - type = "text"; - source = "static"; - text = "45"; - align = "left"; - scale = 1; - sourceScale = 1; - pos[] = {"LevelP45",{-0.22,0.035},1}; - right[] = {"LevelP45",{-0.17,0.035},1}; - down[] = {"LevelP45",{-0.22,0.085000001},1}; - }; - - class VALP_2_45: VALP_1_45 { - align = "right"; - pos[] = {"LevelP45",{0.22,0.035},1}; - right[] = {"LevelP45",{0.27,0.035},1}; - down[] = {"LevelP45",{0.22,0.085000001},1}; - };*/ - - class LevelM50: Level0 { - type = "line"; - width = 3; - points[] = { - {"LevelM50",{-0.2,-0.03},1}, - {"LevelM50",{-0.2,0},1}, - {"LevelM50",{-0.15,0},1},{}, - {"LevelM50",{-0.1,0},1}, - {"LevelM50",{-0.05,0},1},{}, - {"LevelM50",{0.05,0},1}, - {"LevelM50",{0.1,0},1},{}, - {"LevelM50",{0.15,0},1}, - {"LevelM50",{0.2,0},1}, - {"LevelM50",{0.2,-0.03},1} - }; - }; - - class VALM_1_50 { - type = "text"; - source = "static"; - text = -50; - align = "left"; - scale = 1; - sourceScale = 1; - pos[] = {"LevelM50",{-0.22,-0.085},1}; - right[] = {"LevelM50",{-0.17,-0.085},1}; - down[] = {"LevelM50",{-0.22,-0.035},1}; - }; - - class VALM_2_50: VALM_1_50 { - align = "right"; - pos[] = {"LevelM50",{0.22,-0.085},1}; - right[] = {"LevelM50",{0.27,-0.085},1}; - down[] = {"LevelM50",{0.22,-0.035},1}; - }; - - class LevelP50: Level0 { - type = "line"; - width = 3; - points[] = { - {"LevelP50",{-0.2,0.03},1}, - {"LevelP50",{-0.2,0},1}, - {"LevelP50",{-0.05,0},1},{}, - {"LevelP50",{0.05,0},1}, - {"LevelP50",{0.2,0},1}, - {"LevelP50",{0.2,0.03},1} - }; - }; - - class VALP_1_50 { - type = "text"; - source = "static"; - text = "50"; - align = "left"; - scale = 1; - sourceScale = 1; - pos[] = {"LevelP50",{-0.22,0.035},1}; - right[] = {"LevelP50",{-0.17,0.035},1}; - down[] = {"LevelP50",{-0.22,0.085},1}; - }; - - class VALP_2_50: VALP_1_50 { - align = "right"; - pos[] = {"LevelP50",{0.22,0.035},1}; - right[] = {"LevelP50",{0.27,0.035},1}; - down[] = {"LevelP50",{0.22,0.085},1}; - }; - }; - }; - - class StaticBank { - type = "line"; - width = 3; - points[] = { - {{0.4782,0.251},1}, - {{0.4773,0.241},1},{}, - {{0.4566,0.2538},1}, - {{0.4549,0.2439},1},{}, - {{0.4353,0.2585},1}, - {{0.4301,0.2392},1},{}, - {{0.4145,0.2651},1}, - {{0.4111,0.2557},1},{}, - {{0.3943,0.2734},1}, - {{0.3901,0.2644},1},{}, - {{0.375,0.2835},1}, - {{0.365,0.2662},1},{}, - {{0.3232,0.3232},1}, - {{0.3091,0.3091},1},{}, - {{0.2835,0.375},1}, - {{0.2662,0.365},1},{}, - {{"0.5 + (0.5- 0.4782)",0.251},1}, - {{"0.5 + (0.5- 0.4773)",0.241},1},{}, - {{"0.5 + (0.5- 0.4566)",0.2538},1}, - {{"0.5 + (0.5- 0.4549)",0.2439},1},{}, - {{"0.5 + (0.5- 0.4353)",0.2585},1}, - {{"0.5 + (0.5- 0.4301)",0.2392},1},{}, - {{"0.5 + (0.5- 0.4145)",0.2651},1}, - {{"0.5 + (0.5- 0.4111)",0.2557},1},{}, - {{"0.5 + (0.5- 0.3943)",0.2734},1}, - {{"0.5 + (0.5- 0.3901)",0.2644},1},{}, - {{"0.5 + (0.5- 0.3750)",0.2835},1}, - {{"0.5 + (0.5- 0.3650)",0.2662},1},{}, - {{"0.5 + (0.5- 0.3232)",0.3232},1}, - {{"0.5 + (0.5- 0.3091)",0.3091},1},{}, - {{"0.5 + (0.5- 0.2835)",0.375},1}, - {{"0.5 + (0.5- 0.2662)",0.365},1},{}, - {{0.5,"0.5 - 0.25"},1}, - {{0.5,"0.5 - 0.28"},1} - }; - }; - - class HorizonBankRot { - type = "line"; - width = 3; - points[] = { - {"HorizonBankRot",{0,0.25},1}, - {"HorizonBankRot",{-0.01,0.23},1}, - {"HorizonBankRot",{0.01,0.23},1}, - {"HorizonBankRot",{0,0.25},1} - }; - }; - - class Centerline { - type = "line"; - width = 7; - points[] = { - {{0.45,0.5},1}, - {{0.48,0.5},1}, - {{0.49,0.525},1}, - {{0.5,0.5},1}, - {{0.51,0.525},1}, - {{0.52,0.5},1}, - {{0.55,0.5},1} - }; - }; - - /*class WeaponName { - type = "text"; - source = "weapon"; - sourceScale = 1; - align = "right"; - scale = 1; - pos[] = {{0.03,0.86},1}; - right[] = {{0.07,0.86},1}; - down[] = {{0.03,0.90},1}; - }; - - class AmmoCount { - type = "text"; - source = "ammo"; - sourceScale = 1; - align = "right"; - scale = 1; - pos[] = {{0.03,0.89},1}; - right[] = {{0.07,0.89},1}; - down[] = {{0.03,0.93},1}; - };*/ - - class LightsGroup { - type = "group"; - condition = "lights"; - class LightsText { - type = "text"; - source = "static"; - text = "LIGHTS"; - align = "right"; - scale = 1; - pos[] = {{0.03,"0.53 + 0.055"},1}; - right[] = {{0.07,"0.53 + 0.055"},1}; - down[] = {{0.03,"0.53 + 0.095"},1}; - }; - }; - - class CollisionLightsGroup { - type = "group"; - condition = "collisionlights"; - class CollisionLightsText { - type = "text"; - source = "static"; - text = "A-COL"; - align = "right"; - scale = 1; - pos[] = {{0.03,"0.53 + 0.105"},1}; - right[] = {{0.07,"0.53 + 0.105"},1}; - down[] = {{0.03,"0.53 + 0.145"},1}; - }; - }; - - class GearGroup { - type = "group"; - condition = "ils"; - class GearText { - type = "text"; - source = "static"; - text = "GEAR"; - align = "right"; - scale = 1; - pos[] = {{0.03,"0.53 + 0.155"},1}; - right[] = {{0.07,"0.53 + 0.155"},1}; - down[] = {{0.03,"0.53 + 0.195"},1}; - }; - }; - - class SpeedNumber { - type = "text"; - align = "right"; - scale = 1; - source = "speed"; - sourceScale = 3.6; - pos[] = {{0.03,0.475},1}; - right[] = {{0.08,0.475},1}; - down[] = {{0.03,0.525},1}; - }; - - class TorqueNumber { - type = "text"; - align = "left"; - scale = 1; - source = "rtdRotorTorque"; - sourceScale = 318; - pos[] = {{0.065,0.175},1}; - right[] = {{0.115,0.175},1}; - down[] = {{0.065,0.225},1}; - }; - - class Torquetext { - type = "text"; - source = "static"; - text = "%"; - align = "right"; - scale = 1; - pos[] = {{0.07,0.175},1}; - right[] = {{0.12,0.175},1}; - down[] = {{0.07,0.225},1}; - }; - - class AltNumber { - type = "text"; - align = "right"; - scale = 1; - source = "altitudeAGL"; - sourceScale = 1; - pos[] = {{0.83,0.475},1}; - right[] = {{0.88,0.475},1}; - down[] = {{0.83,0.525},1}; - }; - - class ASLNumber { - type = "text"; - source = "altitudeASL"; - sourceScale = 1; - align = "right"; - scale = 1; - pos[] = {{0.835,0.18},1}; - right[] = {{0.875,0.18},1}; - down[] = {{0.835,0.22},1}; - }; - - class VspeedScalePosta { - type = "line"; - width = 5; - points[] = { - {{0.98,0.2},1}, - {{1,0.2},1},{}, - {{0.93,0.2},1}, - {{0.95,0.2},1},{}, - {{0.98,0.35},1}, - {{1,0.35},1},{}, - {{0.93,0.35},1}, - {{0.95,0.35},1},{}, - {{0.94,0.38},1}, - {{0.95,0.38},1},{}, - {{0.94,0.41},1}, - {{0.95,0.41},1},{}, - {{0.94,0.44},1}, - {{0.95,0.44},1},{}, - {{0.94,0.47},1}, - {{0.95,0.47},1},{}, - {{0.98,0.5},1}, - {{1,0.5},1},{}, - {{0.93,0.5},1}, - {{0.95,0.5},1},{}, - {{0.94,0.53},1}, - {{0.95,0.53},1},{}, - {{0.94,0.56},1}, - {{0.95,0.56},1},{}, - {{0.94,0.59},1}, - {{0.95,0.59},1},{}, - {{0.94,0.62},1}, - {{0.95,0.62},1},{}, - {{0.98,0.65},1}, - {{1,0.65},1},{}, - {{0.93,0.65},1}, - {{0.95,0.65},1},{}, - {{0.99,0.68},1}, - {{0.98,0.68},1},{}, - {{0.99,0.71},1}, - {{0.98,0.71},1},{}, - {{0.99,0.74},1}, - {{0.98,0.74},1},{}, - {{0.99,0.77},1}, - {{0.98,0.77},1},{}, - {{0.98,0.8},1}, - {{1,0.8},1},{}, - {{0.93,0.8},1}, - {{0.95,0.8},1},{} - }; - }; - - class RadarAltitudeBand { - clipTL[] = {0,0.2}; - clipBR[] = {1,0.8}; - class radarbanda { - type = "line"; - width = 17; - points[] = { - {"RadarAltitudeBone",{0,0},1}, - {"RadarAltitudeBone",{0,0.6},1} - }; - }; - }; - - class VspeedBand { - type = "line"; - width = 3; - points[] = { - {"VspeedBone",{-0.01,0},1}, - {"VspeedBone",{-0.025,-0.015},1}, - {"VspeedBone",{-0.025,0.015},1}, - {"VspeedBone",{-0.01,0},1},{} - }; - }; - - class HeadingNumber: SpeedNumber { - source = "heading"; - sourceScale = 1; - align = "center"; - pos[] = {{0.5,0.01},1}; - right[] = {{0.56,0.01},1}; - down[] = {{0.5,0.06},1}; - }; - - class Center_box { - type = "line"; - width = 3; - points[] = { - {{0.44,0.005},1}, - {{"0.44 + 0.12",0.005},1}, - {{"0.44 + 0.12","0.005 + 0.06"},1}, - {{0.44,"0.005 + 0.06"},1}, - {{0.44,0.005},1} - }; - }; - - class HeadingArrow { - type = "line"; - width = 7; - points[] = { - {{"0.5","0.128 + 0.03"},1}, - {{0.5,0.128},1} - }; - }; - - class HeadingScale { - type = "scale"; - horizontal = 1; - source = "heading"; - sourceScale = 1; - width = 5; - top = 0.12; - center = 0.5; - bottom = 0.88; - lineXleft = "0.03 + 0.085"; - lineYright = "0.02 + 0.085"; - lineXleftMajor = "0.04 + 0.085"; - lineYrightMajor = "0.02 + 0.085"; - majorLineEach = 3; - numberEach = 3; - step = 10; - stepSize = "0.05"; - align = "center"; - scale = 1; - pos[] = {0.119,"0.0 + 0.065"}; - right[] = {0.159,"0.0 + 0.065"}; - down[] = {0.119,"0.04 + 0.065"}; - }; - - class Fuel_Text { - type = "text"; - source = "static"; - text = "Fuel"; - align = "right"; - scale = 1; - pos[] = {{0.85,0.86},1}; - right[] = {{0.89,0.86},1}; - down[] = {{0.85,0.9},1}; - }; - - class Fuel_Number { - type = "text"; - source = "fuel"; - sourceScale = 100; - align = "right"; - scale = 1; - pos[] = {{0.92,0.86},1}; - right[] = {{0.96,0.86},1}; - down[] = {{0.92,0.9},1}; - }; - }; - - helmetMountedDisplay = 1; - helmetPosition[] = {-0.04,0.04,0.1}; - helmetRight[] = {0.08,0,0}; - helmetDown[] = {0,-0.08,0}; - }; - - class LittleHUD { - class Pos10Vector { - type = "vector"; - pos0[] = {0.5,0.5}; - pos10[] = {0.722,0.722}; - }; - - topLeft = "HUD_top_left"; - topRight = "HUD_top_right"; - bottomLeft = "HUD_bottom_left"; - borderLeft = 0; - borderRight = 0; - borderTop = 0; - borderBottom = 0; - color[] = {0.15,1,0.15,1}; - enableParallax = 0; - class Bones { - class Velocity { - type = "vector"; - source = "velocity"; - pos0[] = {0.5,0.5}; - pos10[] = {0.75,0.75}; - }; - - class ForwardVec1 { - type = "vector"; - source = "forward"; - pos0[] = {0,0}; - pos10[] = {0.25,0.25}; - }; - - class ForwardVec { - type = "vector"; - source = "forward"; - pos0[] = {0,0}; - pos10[] = {0.253,0.253}; - }; - - class WeaponAim { - type = "vector"; - source = "weapon"; - pos0[] = {0.5,0.5}; - pos10[] = {0.753,0.753}; - }; - - class WeaponAim1 { - type = "vector"; - source = "weapon"; - pos0[] = {0,0}; - pos10[] = {0.253,0.23}; - }; - - class Target { - type = "vector"; - source = "target"; - pos0[] = {0.5,0.5}; - pos10[] = {0.753,0.753}; - }; - - class RadarContact { - type = "fixed"; - pos[] = {0,0}; - }; - }; - - class Draw { - color[] = {0.18,1,0.18}; - alpha = 1; - condition = "on"; - class PlaneMovementCrosshair { - type = "line"; - width = 7; - points[] = { - {"ForwardVec1",1,"Velocity",1,{0,-0.02},1}, - {"ForwardVec1",1,"Velocity",1,{0.01,-0.01732},1}, - {"ForwardVec1",1,"Velocity",1,{0.01732,-0.01},1}, - {"ForwardVec1",1,"Velocity",1,{0.02,0},1}, - {"ForwardVec1",1,"Velocity",1,{0.01732,0.01},1}, - {"ForwardVec1",1,"Velocity",1,{0.01,0.01732},1}, - {"ForwardVec1",1,"Velocity",1,{0,0.02},1}, - {"ForwardVec1",1,"Velocity",1,{-0.01,0.01732},1}, - {"ForwardVec1",1,"Velocity",1,{-0.01732,0.01},1}, - {"ForwardVec1",1,"Velocity",1,{-0.02,0},1}, - {"ForwardVec1",1,"Velocity",1,{-0.01732,-0.01},1}, - {"ForwardVec1",1,"Velocity",1,{-0.01,-0.01732},1}, - {"ForwardVec1",1,"Velocity",1,{0,-0.02},1},{}, - {"ForwardVec1",1,"Velocity",1,{0.04,0},1}, - {"ForwardVec1",1,"Velocity",1,{0.02,0},1},{}, - {"ForwardVec1",1,"Velocity",1,{-0.04,0},1}, - {"ForwardVec1",1,"Velocity",1,{-0.02,0},1},{}, - {"ForwardVec1",1,"Velocity",1,{0,-0.04},1}, - {"ForwardVec1",1,"Velocity",1,{0,-0.02},1} - }; - }; - }; - - helmetMountedDisplay = 1; - helmetPosition[] = {-0.035,0.035,0.1}; - helmetRight[] = {0.07,0,0}; - helmetDown[] = {0,-0.07,0}; - }; -}; diff --git a/TO_MERGE/agm/Aircraft/mfd_littlebird.hpp b/TO_MERGE/agm/Aircraft/mfd_littlebird.hpp deleted file mode 100644 index 57970e3108..0000000000 --- a/TO_MERGE/agm/Aircraft/mfd_littlebird.hpp +++ /dev/null @@ -1,565 +0,0 @@ - -class MFD { - class AirplaneHUD { - class Pos10Vector { - type = "vector"; - pos0[] = {0.5,0.5}; - pos10[] = {0.85,0.85}; - }; - - topLeft = "HUD_top_left"; - topRight = "HUD_top_right"; - bottomLeft = "HUD_bottom_left"; - borderLeft = 0; - borderRight = 0; - borderTop = 0; - borderBottom = 0; - color[] = {0.15,1,0.15,1}; - enableParallax = 0; - class Bones { - class PlaneOrientation { - type = "fixed"; - pos[] = {0.5,0.5}; - }; - - class Target: Pos10Vector { - source = "target"; - }; - - class Velocity { - type = "vector"; - source = "velocity"; - pos0[] = {0.5,0.5}; - pos10[] = {0.65,0.65}; - }; - - class VspeedBone { - type = "linear"; - source = "vspeed"; - sourceScale = 1; - min = -10; - max = 10; - minPos[] = {0.93,0.2}; - maxPos[] = {0.93,0.8}; - }; - - class RadarAltitudeBone { - type = "linear"; - source = "altitudeAGL"; - sourceScale = 1; - min = 0; - max = 60; - minPos[] = {0.965,0.2}; - maxPos[] = {0.965,0.8}; - }; - - class HorizonBankRot { - type = "rotational"; - source = "horizonBank"; - center[] = {0.5,0.5}; - min = -3.1416; - max = 3.1416; - minAngle = -180; - maxAngle = 180; - aspectRatio = 1; - }; - - class ForwardVec { - type = "vector"; - source = "forward"; - pos0[] = {0,0}; - pos10[] = {0.1,0.1}; - }; - - class WeaponAim { - type = "vector"; - source = "weapon"; - pos0[] = {0.5,0.5}; - pos10[] = {0.65,0.65}; - }; - - class Level0 { - type = "horizon"; - pos0[] = {0.5,0.5}; - pos10[] = {0.78,0.78}; - angle = 0; - }; - }; - - class Draw { - color[] = {0.18,1,0.18}; - alpha = 1; - condition = "on"; - class Horizont { - clipTL[] = {0.15,0.15}; - clipBR[] = {0.85,0.85}; - class Dimmed { - class Level0 { - type = "line"; - points[] = { - {"Level0",{-0.42,0},1}, - {"Level0",{-0.38,0},1},{}, - {"Level0",{-0.37,0},1}, - {"Level0",{-0.33,0},1},{}, - {"Level0",{-0.32,0},1}, - {"Level0",{-0.28,0},1},{}, - {"Level0",{-0.27,0},1}, - {"Level0",{-0.23,0},1},{}, - {"Level0",{-0.22,0},1}, - {"Level0",{-0.18,0},1},{}, - {"Level0",{-0.17,0},1}, - {"Level0",{-0.13,0},1},{}, - {"Level0",{-0.12,0},1}, - {"Level0",{-0.08,0},1},{}, - {"Level0",{0.42,0},1}, - {"Level0",{0.38,0},1},{}, - {"Level0",{0.37,0},1}, - {"Level0",{0.33,0},1},{}, - {"Level0",{0.32,0},1}, - {"Level0",{0.28,0},1},{}, - {"Level0",{0.27,0},1}, - {"Level0",{0.23,0},1},{}, - {"Level0",{0.22,0},1}, - {"Level0",{0.18,0},1},{}, - {"Level0",{0.17,0},1}, - {"Level0",{0.13,0},1},{}, - {"Level0",{0.12,0},1}, - {"Level0",{0.08,0},1} - }; - }; - }; - }; - - /*class StaticBank { - type = "line"; - width = 3; - points[] = { - ////////////////////////////////////////////////////// LEFT - {{0.4782,0.2510},1}, - {{0.4773,0.2410},1},{}, - {{0.4566,0.2538},1}, - {{0.4549,0.2439},1},{}, - {{0.4353,0.2585},1}, - {{0.4301,0.2392},1},{}, - {{0.4145,0.2651},1}, - {{0.4111,0.2557},1},{}, - {{0.3943,0.2734},1}, - {{0.3901,0.2644},1},{}, - {{0.3750,0.2835},1}, - {{0.3650,0.2662},1},{}, - {{0.3232,0.3232},1}, - {{0.3091,0.3091},1},{}, - {{0.2835,0.3750},1}, - {{0.2662,0.3650},1},{}, - /////////////////////////////////////////////////////// RIGHT - {{"0.5 + (0.5- 0.4782)",0.2510},1}, - {{"0.5 + (0.5- 0.4773)",0.2410},1},{}, - {{"0.5 + (0.5- 0.4566)",0.2538},1}, - {{"0.5 + (0.5- 0.4549)",0.2439},1},{}, - {{"0.5 + (0.5- 0.4353)",0.2585},1}, - {{"0.5 + (0.5- 0.4301)",0.2392},1},{}, - {{"0.5 + (0.5- 0.4145)",0.2651},1}, - {{"0.5 + (0.5- 0.4111)",0.2557},1},{}, - {{"0.5 + (0.5- 0.3943)",0.2734},1}, - {{"0.5 + (0.5- 0.3901)",0.2644},1},{}, - {{"0.5 + (0.5- 0.3750)",0.2835},1}, - {{"0.5 + (0.5- 0.3650)",0.2662},1},{}, - {{"0.5 + (0.5- 0.3232)",0.3232},1}, - {{"0.5 + (0.5- 0.3091)",0.3091},1},{}, - {{"0.5 + (0.5- 0.2835)",0.3750},1}, - {{"0.5 + (0.5- 0.2662)",0.3650},1},{}, - /////////////////////////////////////////////////////// CENTER - {{0.5,"0.5 - 0.25"},1}, - {{0.5,"0.5 - 0.28"},1} - }; - };*/ - - class HorizonBankRot { - type = "line"; - width = 3; - points[] = { - {"HorizonBankRot",{0,0.25},1}, - {"HorizonBankRot",{-0.01,0.23},1}, - {"HorizonBankRot",{0.01,0.23},1}, - {"HorizonBankRot",{0,0.25},1} - }; - }; - - class Centerline { - type = "line"; - width = 7; - points[] = { - {{0.45,0.5},1}, - {{0.48,0.5},1}, - {{0.49,0.525},1}, - {{0.5,0.5},1}, - {{0.51,0.525},1}, - {{0.52,0.5},1}, - {{0.55,0.5},1} - }; - }; - - /*class WeaponName { - type = "text"; - source = "weapon"; - sourceScale = 1; - align = "right"; - scale = 1; - pos[] = {{0.03,0.86},1}; - right[] = {{0.07,0.86},1}; - down[] = {{0.03,0.90},1}; - }; - - class AmmoCount { - type = "text"; - source = "ammo"; - sourceScale = 1; - align = "right"; - scale = 1; - pos[] = {{0.03,0.89},1}; - right[] = {{0.07,0.89},1}; - down[] = {{0.03,0.93},1}; - };*/ - - class LightsGroup { - type = "group"; - condition = "lights"; - class LightsText { - type = "text"; - source = "static"; - text = "LIGHTS"; - align = "right"; - scale = 1; - pos[] = {{0.03,"0.53 + 0.055"},1}; - right[] = {{0.07,"0.53 + 0.055"},1}; - down[] = {{0.03,"0.53 + 0.095"},1}; - }; - }; - - class CollisionLightsGroup { - type = "group"; - condition = "collisionlights"; - class CollisionLightsText { - type = "text"; - source = "static"; - text = "A-COL"; - align = "right"; - scale = 1; - pos[] = {{0.03,"0.53 + 0.105"},1}; - right[] = {{0.07,"0.53 + 0.105"},1}; - down[] = {{0.03,"0.53 + 0.145"},1}; - }; - }; - - class SpeedNumber { - type = "text"; - align = "right"; - scale = 1; - source = "speed"; - sourceScale = 3.6; - pos[] = {{0.03,0.475},1}; - right[] = {{0.08,0.475},1}; - down[] = {{0.03,0.525},1}; - }; - - class TorqueNumber { - type = "text"; - align = "left"; - scale = 1; - source = "rtdRotorTorque"; - sourceScale = 110; - pos[] = {{0.065,0.175},1}; - right[] = {{0.115,0.175},1}; - down[] = {{0.065,0.225},1}; - }; - - class Torquetext { - type = "text"; - source = "static"; - text = "%"; - align = "right"; - scale = 1; - pos[] = {{0.07,0.175},1}; - right[] = {{0.12,0.175},1}; - down[] = {{0.07,0.225},1}; - }; - - class AltNumber { - type = "text"; - align = "right"; - scale = 1; - source = "altitudeAGL"; - sourceScale = 1; - pos[] = {{0.83,0.475},1}; - right[] = {{0.88,0.475},1}; - down[] = {{0.83,0.525},1}; - }; - - class ASLNumber { - type = "text"; - source = "altitudeASL"; - sourceScale = 1; - align = "right"; - scale = 1; - pos[] = {{0.835,0.18},1}; - right[] = {{0.875,0.18},1}; - down[] = {{0.835,0.22},1}; - }; - - class VspeedScalePosta { - type = "line"; - width = 5; - points[] = { - {{0.98,0.2},1}, - {{1,0.2},1},{}, - {{0.93,0.2},1}, - {{0.95,0.2},1},{}, - {{0.98,0.35},1}, - {{1,0.35},1},{}, - {{0.93,0.35},1}, - {{0.95,0.35},1},{}, - {{0.94,0.38},1}, - {{0.95,0.38},1},{}, - {{0.94,0.41},1}, - {{0.95,0.41},1},{}, - {{0.94,0.44},1}, - {{0.95,0.44},1},{}, - {{0.94,0.47},1}, - {{0.95,0.47},1},{}, - {{0.98,0.5},1}, - {{1,0.5},1},{}, - {{0.93,0.5},1}, - {{0.95,0.5},1},{}, - {{0.94,0.53},1}, - {{0.95,0.53},1},{}, - {{0.94,0.56},1}, - {{0.95,0.56},1},{}, - {{0.94,0.59},1}, - {{0.95,0.59},1},{}, - {{0.94,0.62},1}, - {{0.95,0.62},1},{}, - {{0.98,0.65},1}, - {{1,0.65},1},{}, - {{0.93,0.65},1}, - {{0.95,0.65},1},{}, - {{0.99,0.68},1}, - {{0.98,0.68},1},{}, - {{0.99,0.71},1}, - {{0.98,0.71},1},{}, - {{0.99,0.74},1}, - {{0.98,0.74},1},{}, - {{0.99,0.77},1}, - {{0.98,0.77},1},{}, - {{0.98,0.8},1}, - {{1,0.8},1},{}, - {{0.93,0.8},1}, - {{0.95,0.8},1},{} - }; - }; - - class RadarAltitudeBand { - clipTL[] = {0,0.2}; - clipBR[] = {1,0.8}; - class radarbanda { - type = "line"; - width = 17; - points[] = { - {"RadarAltitudeBone",{0,0},1}, - {"RadarAltitudeBone",{0,0.6},1} - }; - }; - }; - - class VspeedBand { - type = "line"; - width = 3; - points[] = { - {"VspeedBone",{-0.01,0},1}, - {"VspeedBone",{-0.025,-0.015},1}, - {"VspeedBone",{-0.025,0.015},1}, - {"VspeedBone",{-0.01,0},1},{} - }; - }; - - class HeadingNumber: SpeedNumber { - source = "heading"; - sourceScale = 1; - align = "center"; - pos[] = {{0.5,0.01},1}; - right[] = {{0.56,0.01},1}; - down[] = {{0.5,0.06},1}; - }; - - class Center_box { - type = "line"; - width = 3; - points[] = { - {{0.44,0.005},1}, - {{"0.44 + 0.12",0.005},1}, - {{"0.44 + 0.12","0.005 + 0.06"},1}, - {{0.44,"0.005 + 0.06"},1}, - {{0.44,0.005},1} - }; - }; - - class HeadingArrow { - type = "line"; - width = 7; - points[] = {{{"0.5","0.128 + 0.03"},1},{{0.5,0.128},1}}; - }; - - class HeadingScale { - type = "scale"; - horizontal = 1; - source = "heading"; - sourceScale = 1; - width = 5; - top = 0.12; - center = 0.5; - bottom = 0.88; - lineXleft = "0.03 + 0.085"; - lineYright = "0.02 + 0.085"; - lineXleftMajor = "0.04 + 0.085"; - lineYrightMajor = "0.02 + 0.085"; - majorLineEach = 3; - numberEach = 3; - step = 10; - stepSize = "0.05"; - align = "center"; - scale = 1; - pos[] = {0.12,"0.0 + 0.065"}; - right[] = {0.16,"0.0 + 0.065"}; - down[] = {0.12,"0.04 + 0.065"}; - }; - - class Fuel_Text { - type = "text"; - source = "static"; - text = "Fuel"; - align = "right"; - scale = 1; - pos[] = {{0.85,0.86},1}; - right[] = {{0.89,0.86},1}; - down[] = {{0.85,0.9},1}; - }; - - class Fuel_Number { - type = "text"; - source = "fuel"; - sourceScale = 100; - align = "right"; - scale = 1; - pos[] = {{0.92,0.86},1}; - right[] = {{0.96,0.86},1}; - down[] = {{0.92,0.9},1}; - }; - }; - - helmetMountedDisplay = 1; - helmetPosition[] = {-0.04,0.04,0.1}; - helmetRight[] = {0.08,0,0}; - helmetDown[] = {0,-0.08,0}; - }; - - class LittleHUD { - class Pos10Vector { - type = "vector"; - pos0[] = {0.5,0.5}; - pos10[] = {0.722,0.722}; - }; - - topLeft = "HUD_top_left"; - topRight = "HUD_top_right"; - bottomLeft = "HUD_bottom_left"; - borderLeft = 0; - borderRight = 0; - borderTop = 0; - borderBottom = 0; - color[] = {0.15,1,0.15,1}; - enableParallax = 0; - class Bones { - class Velocity { - type = "vector"; - source = "velocity"; - pos0[] = {0.5,0.5}; - pos10[] = {0.75,0.75}; - }; - - class ForwardVec1 { - type = "vector"; - source = "forward"; - pos0[] = {0,0}; - pos10[] = {0.25,0.25}; - }; - - class ForwardVec { - type = "vector"; - source = "forward"; - pos0[] = {0,0}; - pos10[] = {0.253,0.253}; - }; - - class WeaponAim { - type = "vector"; - source = "weapon"; - pos0[] = {0.5,0.5}; - pos10[] = {0.753,0.753}; - }; - - class WeaponAim1 { - type = "vector"; - source = "weapon"; - pos0[] = {0,0}; - pos10[] = {0.253,0.23}; - }; - - class Target { - type = "vector"; - source = "target"; - pos0[] = {0.5,0.5}; - pos10[] = {0.753,0.753}; - }; - - class RadarContact { - type = "fixed"; - pos[] = {0,0}; - }; - }; - - class Draw { - color[] = {0.18,1,0.18}; - alpha = 1; - condition = "on"; - class PlaneMovementCrosshair { - type = "line"; - width = 7; - points[] = { - {"ForwardVec1",1,"Velocity",1,{0,-0.02},1}, - {"ForwardVec1",1,"Velocity",1,{0.01,-0.01732},1}, - {"ForwardVec1",1,"Velocity",1,{0.01732,-0.01},1}, - {"ForwardVec1",1,"Velocity",1,{0.02,0},1}, - {"ForwardVec1",1,"Velocity",1,{0.01732,0.01},1}, - {"ForwardVec1",1,"Velocity",1,{0.01,0.01732},1}, - {"ForwardVec1",1,"Velocity",1,{0,0.02},1}, - {"ForwardVec1",1,"Velocity",1,{-0.01,0.01732},1}, - {"ForwardVec1",1,"Velocity",1,{-0.01732,0.01},1}, - {"ForwardVec1",1,"Velocity",1,{-0.02,0},1}, - {"ForwardVec1",1,"Velocity",1,{-0.01732,-0.01},1}, - {"ForwardVec1",1,"Velocity",1,{-0.01,-0.01732},1}, - {"ForwardVec1",1,"Velocity",1,{0,-0.02},1},{}, - {"ForwardVec1",1,"Velocity",1,{0.04,0},1}, - {"ForwardVec1",1,"Velocity",1,{0.02,0},1},{}, - {"ForwardVec1",1,"Velocity",1,{-0.04,0},1}, - {"ForwardVec1",1,"Velocity",1,{-0.02,0},1},{}, - {"ForwardVec1",1,"Velocity",1,{0,-0.04},1}, - {"ForwardVec1",1,"Velocity",1,{0,-0.02},1} - }; - }; - }; - - helmetMountedDisplay = 1; - helmetPosition[] = {-0.035,0.035,0.1}; - helmetRight[] = {0.07,0,0}; - helmetDown[] = {0,-0.07,0}; - }; -}; diff --git a/TO_MERGE/agm/Aircraft/mfd_littlebird_armed.hpp b/TO_MERGE/agm/Aircraft/mfd_littlebird_armed.hpp deleted file mode 100644 index 424e7cd408..0000000000 --- a/TO_MERGE/agm/Aircraft/mfd_littlebird_armed.hpp +++ /dev/null @@ -1,694 +0,0 @@ - -class MFD { - class AirplaneHUD { - class Pos10Vector { - type = "vector"; - pos0[] = {0.5,0.5}; - pos10[] = {0.85,0.85}; - }; - - topLeft = "HUD_top_left"; - topRight = "HUD_top_right"; - bottomLeft = "HUD_bottom_left"; - borderLeft = 0; - borderRight = 0; - borderTop = 0; - borderBottom = 0; - color[] = {0.15,1,0.15,1}; - enableParallax = 0; - class Bones { - class PlaneOrientation { - type = "fixed"; - pos[] = {0.5,0.5}; - }; - - class Target: Pos10Vector { - source = "target"; - }; - - class Velocity { - type = "vector"; - source = "velocity"; - pos0[] = {0.5,0.5}; - pos10[] = {0.65,0.65}; - }; - - class VspeedBone { - type = "linear"; - source = "vspeed"; - sourceScale = 1; - min = -10; - max = 10; - minPos[] = {0.93,0.2}; - maxPos[] = {0.93,0.8}; - }; - - class RadarAltitudeBone { - type = "linear"; - source = "altitudeAGL"; - sourceScale = 1; - min = 0; - max = 60; - minPos[] = {0.965,0.2}; - maxPos[] = {0.965,0.8}; - }; - - class HorizonBankRot { - type = "rotational"; - source = "horizonBank"; - center[] = {0.5,0.5}; - min = -3.1416; - max = 3.1416; - minAngle = -180; - maxAngle = 180; - aspectRatio = 1; - }; - - class ForwardVec { - type = "vector"; - source = "forward"; - pos0[] = {0,0}; - pos10[] = {0.22,0.22}; - }; - - class WeaponAim { - type = "vector"; - source = "weapon"; - pos0[] = {0.5,0.5}; - pos10[] = {0.73,0.73}; - }; - - class Level0 { - type = "horizon"; - pos0[] = {0.5,0.5}; - pos10[] = {0.78,0.78}; - angle = 0; - }; - }; - - class Draw { - color[] = {0.18,1,0.18}; - alpha = 1; - condition = "on"; - class Horizont { - clipTL[] = {0.15,0.15}; - clipBR[] = {0.85,0.85}; - class Dimmed { - class Level0 { - type = "line"; - points[] = { - {"Level0",{-0.42,0},1}, - {"Level0",{-0.38,0},1},{}, - {"Level0",{-0.37,0},1}, - {"Level0",{-0.33,0},1},{}, - {"Level0",{-0.32,0},1}, - {"Level0",{-0.28,0},1},{}, - {"Level0",{-0.27,0},1}, - {"Level0",{-0.23,0},1},{}, - {"Level0",{-0.22,0},1}, - {"Level0",{-0.18,0},1},{}, - {"Level0",{-0.17,0},1}, - {"Level0",{-0.13,0},1},{}, - {"Level0",{-0.12,0},1}, - {"Level0",{-0.08,0},1},{}, - {"Level0",{0.42,0},1}, - {"Level0",{0.38,0},1},{}, - {"Level0",{0.37,0},1}, - {"Level0",{0.33,0},1},{}, - {"Level0",{0.32,0},1}, - {"Level0",{0.28,0},1},{}, - {"Level0",{0.27,0},1}, - {"Level0",{0.23,0},1},{}, - {"Level0",{0.22,0},1}, - {"Level0",{0.18,0},1},{}, - {"Level0",{0.17,0},1}, - {"Level0",{0.13,0},1},{}, - {"Level0",{0.12,0},1}, - {"Level0",{0.08,0},1} - }; - }; - }; - }; - - /*class StaticBank { - type = "line"; - width = 3; - points[] = { - ////////////////////////////////////////////////////// LEFT - {{0.4782,0.2510},1}, - {{0.4773,0.2410},1},{}, - {{0.4566,0.2538},1}, - {{0.4549,0.2439},1},{}, - {{0.4353,0.2585},1}, - {{0.4301,0.2392},1},{}, - {{0.4145,0.2651},1}, - {{0.4111,0.2557},1},{}, - {{0.3943,0.2734},1}, - {{0.3901,0.2644},1},{}, - {{0.3750,0.2835},1}, - {{0.3650,0.2662},1},{}, - {{0.3232,0.3232},1}, - {{0.3091,0.3091},1},{}, - {{0.2835,0.3750},1}, - {{0.2662,0.3650},1},{}, - /////////////////////////////////////////////////////// RIGHT - {{"0.5 + (0.5- 0.4782)",0.2510},1}, - {{"0.5 + (0.5- 0.4773)",0.2410},1},{}, - {{"0.5 + (0.5- 0.4566)",0.2538},1}, - {{"0.5 + (0.5- 0.4549)",0.2439},1},{}, - {{"0.5 + (0.5- 0.4353)",0.2585},1}, - {{"0.5 + (0.5- 0.4301)",0.2392},1},{}, - {{"0.5 + (0.5- 0.4145)",0.2651},1}, - {{"0.5 + (0.5- 0.4111)",0.2557},1},{}, - {{"0.5 + (0.5- 0.3943)",0.2734},1}, - {{"0.5 + (0.5- 0.3901)",0.2644},1},{}, - {{"0.5 + (0.5- 0.3750)",0.2835},1}, - {{"0.5 + (0.5- 0.3650)",0.2662},1},{}, - {{"0.5 + (0.5- 0.3232)",0.3232},1}, - {{"0.5 + (0.5- 0.3091)",0.3091},1},{}, - {{"0.5 + (0.5- 0.2835)",0.3750},1}, - {{"0.5 + (0.5- 0.2662)",0.3650},1},{}, - /////////////////////////////////////////////////////// CENTER - {{0.5,"0.5 - 0.25"},1}, - {{0.5,"0.5 - 0.28"},1} - }; - };*/ - - class HorizonBankRot { - type = "line"; - width = 3; - points[] = { - {"HorizonBankRot",{0,0.25},1}, - {"HorizonBankRot",{-0.01,0.23},1}, - {"HorizonBankRot",{0.01,0.23},1}, - {"HorizonBankRot",{0,0.25},1} - }; - }; - - class Centerline { - type = "line"; - width = 7; - points[] = { - {{0.45,0.5},1}, - {{0.48,0.5},1}, - {{0.49,0.525},1}, - {{0.5,0.5},1}, - {{0.51,0.525},1}, - {{0.52,0.5},1}, - {{0.55,0.5},1} - }; - }; - - class GunCross { - condition = "mgun"; - type = "group"; - class GunSight { - type = "line"; - width = 7; - points[] = { - {"ForwardVec",1,"WeaponAim",1,{0,-0.02},1}, - {"ForwardVec",1,"WeaponAim",1,{0,-0.05},1},{}, - {"ForwardVec",1,"WeaponAim",1,{0,0.02},1}, - {"ForwardVec",1,"WeaponAim",1,{0,0.05},1},{}, - {"ForwardVec",1,"WeaponAim",1,{-0.02,0},1}, - {"ForwardVec",1,"WeaponAim",1,{-0.05,0},1},{}, - {"ForwardVec",1,"WeaponAim",1,{0.02,0},1}, - {"ForwardVec",1,"WeaponAim",1,{0.05,0},1},{} - }; - }; - }; - - class RocketCross { - condition = "rocket"; - type = "group"; - class RocketSight { - type = "line"; - width = 5.5; - points[] = { - {"ForwardVec",1,"WeaponAim",1,{0.04,-0.06},1}, - {"ForwardVec",1,"WeaponAim",1,{-0.04,-0.06},1},{}, - {"ForwardVec",1,"WeaponAim",1,{0,-0.06},1}, - {"ForwardVec",1,"WeaponAim",1,{0,-0.01},1},{}, - {"ForwardVec",1,"WeaponAim",1,{0,0.001},1}, - {"ForwardVec",1,"WeaponAim",1,{0,-0.001},1},{}, - {"ForwardVec",1,"WeaponAim",1,{0.001,0},1}, - {"ForwardVec",1,"WeaponAim",1,{-0.001,0},1},{}, - {"ForwardVec",1,"WeaponAim",1,{0,0.01},1}, - {"ForwardVec",1,"WeaponAim",1,{0,0.06},1},{}, - {"ForwardVec",1,"WeaponAim",1,{0.04,0.06},1}, - {"ForwardVec",1,"WeaponAim",1,{-0.04,0.06},1},{} - }; - }; - }; - - /*class Mastermode_GUN { - condition = "mgun"; - type = "group"; - class MasterMODE { - type = "text"; - source = "static"; - text = "GUN"; - sourceScale = 1; - align = "right"; - scale = 1; - pos[] = {{0.03,0.83},1}; - right[] = {{0.07,0.83},1}; - down[] = {{0.03,0.87},1}; - }; - };*/ - - class WeaponName { - type = "text"; - source = "weapon"; - sourceScale = 1; - align = "right"; - scale = 1; - pos[] = {{0.03,0.86},1}; - right[] = {{0.07,0.86},1}; - down[] = {{0.03,0.9},1}; - }; - - class AmmoCount { - type = "text"; - source = "ammo"; - sourceScale = 1; - align = "right"; - scale = 1; - pos[] = {{0.03,0.89},1}; - right[] = {{0.07,0.89},1}; - down[] = {{0.03,0.93},1}; - }; - - class LightsGroup { - type = "group"; - condition = "lights"; - class LightsText { - type = "text"; - source = "static"; - text = "LIGHTS"; - align = "right"; - scale = 1; - pos[] = {{0.03,"0.53 + 0.055"},1}; - right[] = {{0.07,"0.53 + 0.055"},1}; - down[] = {{0.03,"0.53 + 0.095"},1}; - }; - }; - - class CollisionLightsGroup { - type = "group"; - condition = "collisionlights"; - class CollisionLightsText { - type = "text"; - source = "static"; - text = "A-COL"; - align = "right"; - scale = 1; - pos[] = {{0.03,"0.53 + 0.105"},1}; - right[] = {{0.07,"0.53 + 0.105"},1}; - down[] = {{0.03,"0.53 + 0.145"},1}; - }; - }; - - class RangeNumber { - type = "text"; - source = "targetDist"; - sourceScale = 1; - align = "right"; - scale = 1; - pos[] = {{0.51,0.94},1}; - right[] = {{0.56,0.94},1}; - down[] = {{0.51,0.98},1}; - }; - - class RangeText { - type = "text"; - source = "static"; - text = "RNG"; - align = "left"; - scale = 1; - pos[] = {{0.49,0.94},1}; - right[] = {{0.54,0.94},1}; - down[] = {{0.49,0.98},1}; - }; - - class SpeedNumber { - type = "text"; - align = "right"; - scale = 1; - source = "speed"; - sourceScale = 3.6; - pos[] = {{0.03,0.475},1}; - right[] = {{0.08,0.475},1}; - down[] = {{0.03,0.525},1}; - }; - - class TorqueNumber { - type = "text"; - align = "left"; - scale = 1; - source = "rtdRotorTorque"; - sourceScale = 100; - pos[] = {{0.065,0.175},1}; - right[] = {{0.115,0.175},1}; - down[] = {{0.065,0.225},1}; - }; - - class Torquetext { - type = "text"; - source = "static"; - text = "%"; - align = "right"; - scale = 1; - pos[] = {{0.07,0.175},1}; - right[] = {{0.12,0.175},1}; - down[] = {{0.07,0.225},1}; - }; - - class AltNumber { - type = "text"; - align = "right"; - scale = 1; - source = "altitudeAGL"; - sourceScale = 1; - pos[] = {{0.83,0.475},1}; - right[] = {{0.88,0.475},1}; - down[] = {{0.83,0.525},1}; - }; - - class ASLNumber { - type = "text"; - source = "altitudeASL"; - sourceScale = 1; - align = "right"; - scale = 1; - pos[] = {{0.835,0.18},1}; - right[] = {{0.875,0.18},1}; - down[] = {{0.835,0.22},1}; - }; - - class VspeedScalePosta { - type = "line"; - width = 5; - points[] = { - {{0.98,0.2},1}, - {{1,0.2},1},{}, - {{0.93,0.2},1}, - {{0.95,0.2},1},{}, - {{0.98,0.35},1}, - {{1,0.35},1},{}, - {{0.93,0.35},1}, - {{0.95,0.35},1},{}, - {{0.94,0.38},1}, - {{0.95,0.38},1},{}, - {{0.94,0.41},1}, - {{0.95,0.41},1},{}, - {{0.94,0.44},1}, - {{0.95,0.44},1},{}, - {{0.94,0.47},1}, - {{0.95,0.47},1},{}, - {{0.98,0.5},1}, - {{1,0.5},1},{}, - {{0.93,0.5},1}, - {{0.95,0.5},1},{}, - {{0.94,0.53},1}, - {{0.95,0.53},1},{}, - {{0.94,0.56},1}, - {{0.95,0.56},1},{}, - {{0.94,0.59},1}, - {{0.95,0.59},1},{}, - {{0.94,0.62},1}, - {{0.95,0.62},1},{}, - {{0.98,0.65},1}, - {{1,0.65},1},{}, - {{0.93,0.65},1}, - {{0.95,0.65},1},{}, - {{0.99,0.68},1}, - {{0.98,0.68},1},{}, - {{0.99,0.71},1}, - {{0.98,0.71},1},{}, - {{0.99,0.74},1}, - {{0.98,0.74},1},{}, - {{0.99,0.77},1}, - {{0.98,0.77},1},{}, - {{0.98,0.8},1}, - {{1,0.8},1},{}, - {{0.93,0.8},1}, - {{0.95,0.8},1},{} - }; - }; - - class RadarAltitudeBand { - clipTL[] = {0,0.2}; - clipBR[] = {1,0.8}; - class radarbanda { - type = "line"; - width = 17; - points[] = { - {"RadarAltitudeBone",{0,0},1}, - {"RadarAltitudeBone",{0,0.6},1} - }; - }; - }; - - class VspeedBand { - type = "line"; - width = 3; - points[] = { - {"VspeedBone",{-0.01,0},1}, - {"VspeedBone",{-0.025,-0.015},1}, - {"VspeedBone",{-0.025,0.015},1}, - {"VspeedBone",{-0.01,0},1} - }; - }; - - class HeadingNumber: SpeedNumber { - source = "heading"; - sourceScale = 1; - align = "center"; - pos[] = {{0.5,0.01},1}; - right[] = {{0.56,0.01},1}; - down[] = {{0.5,0.06},1}; - }; - - class Center_box { - type = "line"; - width = 3; - points[] = { - {{0.44,0.005},1}, - {{"0.44 + 0.12",0.005},1}, - {{"0.44 + 0.12","0.005 + 0.06"},1}, - {{0.44,"0.005 + 0.06"},1}, - {{0.44,0.005},1} - }; - }; - - class HeadingArrow { - type = "line"; - width = 7; - points[] = { - {{"0.5","0.128 + 0.03"},1}, - {{0.5,0.128},1} - }; - }; - - class HeadingScale { - type = "scale"; - horizontal = 1; - source = "heading"; - sourceScale = 1; - width = 5; - top = 0.12; - center = 0.5; - bottom = 0.88; - lineXleft = "0.03 + 0.085"; - lineYright = "0.02 + 0.085"; - lineXleftMajor = "0.04 + 0.085"; - lineYrightMajor = "0.02 + 0.085"; - majorLineEach = 3; - numberEach = 3; - step = 10; - stepSize = "0.05"; - align = "center"; - scale = 1; - pos[] = {0.119,"0.0 + 0.065"}; - right[] = {0.159,"0.0 + 0.065"}; - down[] = {0.119,"0.04 + 0.065"}; - }; - - class Fuel_Text { - type = "text"; - source = "static"; - text = "Fuel"; - align = "right"; - scale = 1; - pos[] = {{0.85,0.86},1}; - right[] = {{0.89,0.86},1}; - down[] = {{0.85,0.9},1}; - }; - - class Fuel_Number { - type = "text"; - source = "fuel"; - sourceScale = 100; - align = "right"; - scale = 1; - pos[] = {{0.92,0.86},1}; - right[] = {{0.96,0.86},1}; - down[] = {{0.92,0.9},1}; - }; - }; - - helmetMountedDisplay = 1; - helmetPosition[] = {-0.04,0.04,0.1}; - helmetRight[] = {0.08,0,0}; - helmetDown[] = {0,-0.08,0}; - }; - - class LittleHUD { - class Pos10Vector { - type = "vector"; - pos0[] = {0.5,0.5}; - pos10[] = {0.722,0.722}; - }; - - topLeft = "HUD_top_left"; - topRight = "HUD_top_right"; - bottomLeft = "HUD_bottom_left"; - borderLeft = 0; - borderRight = 0; - borderTop = 0; - borderBottom = 0; - color[] = {0.15,1,0.15,1}; - enableParallax = 0; - class Bones { - class Velocity { - type = "vector"; - source = "velocity"; - pos0[] = {0.5,0.5}; - pos10[] = {0.76,0.76}; - }; - - class ForwardVec1 { - type = "vector"; - source = "forward"; - pos0[] = {0,0}; - pos10[] = {0.26,0.26}; - }; - - class ForwardVec { - type = "vector"; - source = "forward"; - pos0[] = {0,0}; - pos10[] = {0.253,0.253}; - }; - - class WeaponAim { - type = "vector"; - source = "weapon"; - pos0[] = {0.5,0.5}; - pos10[] = {0.753,0.753}; - }; - - class Target { - type = "vector"; - source = "target"; - pos0[] = {0.5,0.5}; - pos10[] = {0.753,0.753}; - }; - - class RadarContact { - type = "fixed"; - pos[] = {0,0}; - }; - }; - - class Draw { - color[] = {0.18,1,0.18}; - alpha = 1; - condition = "on"; - class PlaneMovementCrosshair { - type = "line"; - width = 7; - points[] = { - {"ForwardVec1",1,"Velocity",1,{0,-0.02},1}, - {"ForwardVec1",1,"Velocity",1,{0.01,-0.01732},1}, - {"ForwardVec1",1,"Velocity",1,{0.01732,-0.01},1}, - {"ForwardVec1",1,"Velocity",1,{0.02,0},1}, - {"ForwardVec1",1,"Velocity",1,{0.01732,0.01},1}, - {"ForwardVec1",1,"Velocity",1,{0.01,0.01732},1}, - {"ForwardVec1",1,"Velocity",1,{0,0.02},1}, - {"ForwardVec1",1,"Velocity",1,{-0.01,0.01732},1}, - {"ForwardVec1",1,"Velocity",1,{-0.01732,0.01},1}, - {"ForwardVec1",1,"Velocity",1,{-0.02,0},1}, - {"ForwardVec1",1,"Velocity",1,{-0.01732,-0.01},1}, - {"ForwardVec1",1,"Velocity",1,{-0.01,-0.01732},1}, - {"ForwardVec1",1,"Velocity",1,{0,-0.02},1},{}, - {"ForwardVec1",1,"Velocity",1,{0.04,0},1}, - {"ForwardVec1",1,"Velocity",1,{0.02,0},1},{}, - {"ForwardVec1",1,"Velocity",1,{-0.04,0},1}, - {"ForwardVec1",1,"Velocity",1,{-0.02,0},1},{}, - {"ForwardVec1",1,"Velocity",1,{0,-0.04},1}, - {"ForwardVec1",1,"Velocity",1,{0,-0.02},1} - }; - }; - - class TargetACQ { - type = "line"; - width = 2; - points[] = { - //////////////////////////////////////////////// UP - /*{"ForwardVec1",1,"target",{0,-0.10},1},{"ForwardVec1",1,"target",{0,-0.095},1},{}, - {"ForwardVec1",1,"target",{0,-0.09},1},{"ForwardVec1",1,"target",{0,-0.085},1},{}, - {"ForwardVec1",1,"target",{0,-0.080},1},{"ForwardVec1",1,"target",{0,-0.075},1},{}, - {"ForwardVec1",1,"target",{0,-0.070},1},{"ForwardVec1",1,"target",{0,-0.065},1},{},*/ - {"ForwardVec",1,"target",{0,-0.060},1},{"ForwardVec",1,"target",{0,-0.055},1},{}, - {"ForwardVec",1,"target",{0,-0.050},1},{"ForwardVec",1,"target",{0,-0.045},1},{}, - {"ForwardVec",1,"target",{0,-0.040},1},{"ForwardVec",1,"target",{0,-0.035},1},{}, - {"ForwardVec",1,"target",{0,-0.030},1},{"ForwardVec",1,"target",{0,-0.025},1},{}, - {"ForwardVec",1,"target",{0,-0.020},1},{"ForwardVec",1,"target",{0,-0.015},1},{}, - {"ForwardVec",1,"target",{0,-0.010},1},{"ForwardVec",1,"target",{0,-0.005},1},{}, - //////////////////////////////////////////////// center - {"ForwardVec",1,"target",{0,0},1},{"ForwardVec",1,"target",{0,0},1},{}, - /////////////////////////////////////////////// DOWN - /*{"ForwardVec1",1,"target",{0,0.10},1},{"ForwardVec1",1,"target",{0,0.095},1},{}, - {"ForwardVec1",1,"target",{0,0.09},1},{"ForwardVec1",1,"target",{0,0.085},1},{}, - {"ForwardVec1",1,"target",{0,0.080},1},{"ForwardVec1",1,"target",{0,0.075},1},{}, - {"ForwardVec1",1,"target",{0,0.070},1},{"ForwardVec1",1,"target",{0,0.065},1},{},*/ - {"ForwardVec",1,"target",{0,0.060},1},{"ForwardVec",1,"target",{0,0.055},1},{}, - {"ForwardVec",1,"target",{0,0.050},1},{"ForwardVec",1,"target",{0,0.045},1},{}, - {"ForwardVec",1,"target",{0,0.040},1},{"ForwardVec",1,"target",{0,0.035},1},{}, - {"ForwardVec",1,"target",{0,0.030},1},{"ForwardVec",1,"target",{0,0.025},1},{}, - {"ForwardVec",1,"target",{0,0.020},1},{"ForwardVec",1,"target",{0,0.015},1},{}, - {"ForwardVec",1,"target",{0,0.010},1},{"ForwardVec",1,"target",{0,0.005},1},{}, - /////////////////////////////////////////////// LEFT - /*{"ForwardVec1",1,"target",{-0.10, 0},1},{"ForwardVec1",1,"target",{-0.095,0},1},{}, - {"ForwardVec1",1,"target",{-0.09, 0},1},{"ForwardVec1",1,"target",{-0.085,0},1},{}, - {"ForwardVec1",1,"target",{-0.080, 0},1},{"ForwardVec1",1,"target",{-0.075,0},1},{}, - {"ForwardVec1",1,"target",{-0.070, 0},1},{"ForwardVec1",1,"target",{-0.065,0},1},{},*/ - {"ForwardVec",1,"target",{-0.060, 0},1},{"ForwardVec",1,"target",{-0.055,0},1},{}, - {"ForwardVec",1,"target",{-0.050, 0},1},{"ForwardVec",1,"target",{-0.045,0},1},{}, - {"ForwardVec",1,"target",{-0.040, 0},1},{"ForwardVec",1,"target",{-0.035,0},1},{}, - {"ForwardVec",1,"target",{-0.030, 0},1},{"ForwardVec",1,"target",{-0.025,0},1},{}, - {"ForwardVec",1,"target",{-0.020, 0},1},{"ForwardVec",1,"target",{-0.015,0},1},{}, - {"ForwardVec",1,"target",{-0.010, 0},1},{"ForwardVec",1,"target",{-0.005,0},1},{}, - /////////////////////////////////////////////// RIGHT - /*{"ForwardVec1",1,"target",{0.10, 0},1},{"ForwardVec1",1,"target",{0.095,0},1},{}, - {"ForwardVec1",1,"target",{0.09, 0},1},{"ForwardVec1",1,"target",{0.085,0},1},{}, - {"ForwardVec1",1,"target",{0.080, 0},1},{"ForwardVec1",1,"target",{0.075,0},1},{}, - {"ForwardVec1",1,"target",{0.070, 0},1},{"ForwardVec1",1,"target",{0.065,0},1},{},*/ - {"ForwardVec",1,"target",{0.060, 0},1},{"ForwardVec",1,"target",{0.055,0},1},{}, - {"ForwardVec",1,"target",{0.050, 0},1},{"ForwardVec",1,"target",{0.045,0},1},{}, - {"ForwardVec",1,"target",{0.040, 0},1},{"ForwardVec",1,"target",{0.035,0},1},{}, - {"ForwardVec",1,"target",{0.030, 0},1},{"ForwardVec",1,"target",{0.025,0},1},{}, - {"ForwardVec",1,"target",{0.020, 0},1},{"ForwardVec",1,"target",{0.015,0},1},{}, - {"ForwardVec",1,"target",{0.010, 0},1},{"ForwardVec",1,"target",{0.005,0},1},{} - }; - }; - }; - - helmetMountedDisplay = 1; - helmetPosition[] = {-0.035,0.035,0.1}; - helmetRight[] = {0.07,0,0}; - helmetDown[] = {0,-0.07,0}; - }; -}; diff --git a/TO_MERGE/agm/Aircraft/mfd_merlin.hpp b/TO_MERGE/agm/Aircraft/mfd_merlin.hpp deleted file mode 100644 index 227e1c6c43..0000000000 --- a/TO_MERGE/agm/Aircraft/mfd_merlin.hpp +++ /dev/null @@ -1,1296 +0,0 @@ - -class MFD { - class AirplaneHUD { - class Pos10Vector { - type = "vector"; - pos0[] = {0.5,0.5}; - pos10[] = {0.85,0.85}; - }; - - topLeft = "HUD_top_left"; - topRight = "HUD_top_right"; - bottomLeft = "HUD_bottom_left"; - borderLeft = 0; - borderRight = 0; - borderTop = 0; - borderBottom = 0; - color[] = {0.15,1,0.15,1}; - enableParallax = 0; - class Bones { - class PlaneOrientation { - type = "fixed"; - pos[] = {0.5,0.54}; - }; - - class GunnerAim { - type = "vector"; - source = "weapon"; - pos0[] = {0,0}; - pos10[] = {0.011,0.0027}; - }; - - class Target { - type = "vector"; - source = "target"; - pos0[] = {0.5,0.5}; - pos10[] = {0.85,0.85}; - }; - - class Velocity { - type = "vector"; - source = "velocity"; - pos0[] = {0.5,0.5}; - pos10[] = {0.65,0.65}; - }; - - class VspeedBone { - type = "linear"; - source = "vspeed"; - sourceScale = 1; - min = -10; - max = 10; - minPos[] = {0.93,0.2}; - maxPos[] = {0.93,0.8}; - }; - - class RadarAltitudeBone { - type = "linear"; - source = "altitudeAGL"; - sourceScale = 1; - min = 0; - max = 60; - minPos[] = {0.965,0.2}; - maxPos[] = {0.965,0.8}; - }; - - class HorizonBankRot { - type = "rotational"; - source = "horizonBank"; - center[] = {0.5,0.5}; - min = -3.1416; - max = 3.1416; - minAngle = -180; - maxAngle = 180; - aspectRatio = 1; - }; - - class ForwardVec { - type = "vector"; - source = "forward"; - pos0[] = {0,0}; - pos10[] = {0.25,0.25}; - }; - - class WeaponAim { - type = "vector"; - source = "weapon"; - pos0[] = {0.5,0.5}; - pos10[] = {0.75,0.75}; - }; - - class Level0 { - type = "horizon"; - pos0[] = {0.5,0.5}; - pos10[] = {0.78,0.78}; - angle = 0; - }; - - class LevelP5: Level0 { - angle = 5; - }; - - class LevelM5: Level0 { - angle = -5; - }; - - class LevelP10: Level0 { - angle = 10; - }; - - class LevelM10: Level0 { - angle = -10; - }; - - class LevelP15: Level0 { - angle = 15; - }; - - class LevelM15: Level0 { - angle = -15; - }; - - class LevelP20: Level0 { - angle = 20; - }; - - class LevelM20: Level0 { - angle = -20; - }; - - class LevelP25: Level0 { - angle = 25; - }; - - class LevelM25: Level0 { - angle = -25; - }; - - class LevelP30: Level0 { - angle = 30; - }; - - class LevelM30: Level0 { - angle = -30; - }; - - class LevelP35: Level0 { - angle = 35; - }; - - class LevelM35: Level0 { - angle = -35; - }; - - class LevelP40: Level0 { - angle = 40; - }; - - class LevelM40: Level0 { - angle = -40; - }; - - class LevelP45: Level0 { - angle = 45; - }; - - class LevelM45: Level0 { - angle = -45; - }; - - class LevelP50: Level0 { - angle = 50; - }; - - class LevelM50: Level0 { - angle = -50; - }; - - class LevelP55: Level0 { - angle = 55; - }; - - class LevelM55: Level0 { - angle = -55; - }; - - class LevelP60: Level0 { - angle = 60; - }; - - class LevelM60: Level0 { - angle = -60; - }; - - class LevelP65: Level0 { - angle = 65; - }; - - class LevelM65: Level0 { - angle = -65; - }; - - class LevelP70: Level0 { - angle = 70; - }; - - class LevelM70: Level0 { - angle = -70; - }; - - class LevelP75: Level0 { - angle = 75; - }; - - class LevelM75: Level0 { - angle = -75; - }; - - class LevelP80: Level0 { - angle = 80; - }; - - class LevelM80: Level0 { - angle = -80; - }; - - class LevelP85: Level0 { - angle = 85; - }; - - class LevelM85: Level0 { - angle = -85; - }; - - class LevelP90: Level0 { - angle = 90; - }; - - class LevelM90: Level0 { - angle = -90; - }; - - }; - - class Draw { - color[] = {0.18,1,0.18}; - alpha = 1; - condition = "on"; - class Horizont { - clipTL[] = {0.15,0.15}; - clipBR[] = {0.85,0.85}; - class Dimmed { - class Level0 { - type = "line"; - points[] = { - {"Level0",{-0.42,0},1}, - {"Level0",{-0.08,0},1},{}, - {"Level0",{0.42,0},1}, - {"Level0",{0.08,0},1},{} - }; - }; - - /*class VALM_1_0 { - type = "text"; - source = "static"; - text = 0; - align = "left"; - scale = 1; - sourceScale = 1; - pos[] = {"Level0",{-0.23,-0.025},1}; - right[] = {"Level0",{-0.13,-0.025},1}; - down[] = {"Level0",{-0.23,0.025},1}; - }; - - class VALM_2_0: VALM_1_0 { - align = "right"; - pos[] = {"Level0",{0.22,-0.025},1}; - right[] = {"Level0",{0.32,-0.025},1}; - down[] = {"Level0",{0.22,0.025},1}; - }; - - class LevelM5: Level0 { - type = "line"; - width = 3; - points[] = { - {"LevelM5",{-0.2,-0.03},1}, - {"LevelM5",{-0.2,0},1}, - {"LevelM5",{-0.15,0},1},{}, - {"LevelM5",{-0.1,0},1}, - {"LevelM5",{-0.05,0},1},{}, - {"LevelM5",{0.05,0},1}, - {"LevelM5",{0.1,0},1},{}, - {"LevelM5",{0.15,0},1}, - {"LevelM5",{0.2,0},1}, - {"LevelM5",{0.2,-0.03},1} - }; - }; - - class VALM_1_5 { - type = "text"; - source = "static"; - text = -5; - align = "left"; - scale = 1; - sourceScale = 1; - pos[] = {"LevelM5",{-0.22,-0.085},1}; - right[] = {"LevelM5",{-0.17,-0.085},1}; - down[] = {"LevelM5",{-0.22,-0.035},1}; - }; - - class VALM_2_5: VALM_1_5 { - align = "right"; - pos[] = {"LevelM5",{0.22,-0.085},1}; - right[] = {"LevelM5",{0.27,-0.085},1}; - down[] = {"LevelM5",{0.22,-0.035},1}; - }; - - class LevelP5: Level0 { - type = "line"; - width = 3; - points[] = { - {"LevelP5",{-0.2,0.03},1}, - {"LevelP5",{-0.2,0},1}, - {"LevelP5",{-0.05,0},1},{}, - {"LevelP5",{0.05,0},1}, - {"LevelP5",{0.2,0},1}, - {"LevelP5",{0.2,0.03},1} - }; - }; - - class VALP_1_5 { - type = "text"; - source = "static"; - text = "5"; - align = "left"; - scale = 1; - sourceScale = 1; - pos[] = {"LevelP5",{-0.22,0.035},1}; - right[] = {"LevelP5",{-0.17,0.035},1}; - down[] = {"LevelP5",{-0.22,0.085},1}; - }; - - class VALP_2_5: VALP_1_5 { - align = "right"; - pos[] = {"LevelP5",{0.22,0.035},1}; - right[] = {"LevelP5",{0.27,0.035},1}; - down[] = {"LevelP5",{0.22,0.085},1}; - };*/ - - class LevelM10: Level0 { - type = "line"; - width = 3; - points[] = { - {"LevelM10",{-0.2,-0.03},1}, - {"LevelM10",{-0.2,0},1}, - {"LevelM10",{-0.15,0},1},{}, - {"LevelM10",{-0.1,0},1}, - {"LevelM10",{-0.05,0},1},{}, - {"LevelM10",{0.05,0},1}, - {"LevelM10",{0.1,0},1},{}, - {"LevelM10",{0.15,0},1}, - {"LevelM10",{0.2,0},1}, - {"LevelM10",{0.2,-0.03},1} - }; - }; - - class VALM_1_10 { - type = "text"; - source = "static"; - text = -10; - align = "left"; - scale = 1; - sourceScale = 1; - pos[] = {"LevelM10",{-0.22,-0.085},1}; - right[] = {"LevelM10",{-0.17,-0.085},1}; - down[] = {"LevelM10",{-0.22,-0.035},1}; - }; - - class VALM_2_10: VALM_1_10 { - align = "right"; - pos[] = {"LevelM10",{0.22,-0.085},1}; - right[] = {"LevelM10",{0.27,-0.085},1}; - down[] = {"LevelM10",{0.22,-0.035},1}; - }; - - class LevelP10: Level0 { - type = "line"; - width = 3; - points[] = { - {"LevelP10",{-0.2,0.03},1}, - {"LevelP10",{-0.2,0},1}, - {"LevelP10",{-0.05,0},1},{}, - {"LevelP10",{0.05,0},1}, - {"LevelP10",{0.2,0},1}, - {"LevelP10",{0.2,0.03},1} - }; - }; - - class VALP_1_10 { - type = "text"; - source = "static"; - text = "10"; - align = "left"; - scale = 1; - sourceScale = 1; - pos[] = {"LevelP10",{-0.22,0.035},1}; - right[] = {"LevelP10",{-0.17,0.035},1}; - down[] = {"LevelP10",{-0.22,0.085},1}; - }; - - class VALP_2_10: VALP_1_10 { - align = "right"; - pos[] = {"LevelP10",{0.22,0.035},1}; - right[] = {"LevelP10",{0.27,0.035},1}; - down[] = {"LevelP10",{0.22,0.085},1}; - }; - - /*class LevelM15: Level0 { - type = "line"; - width = 3; - points[] = { - {"LevelM15",{-0.2,-0.03},1}, - {"LevelM15",{-0.2,0},1}, - {"LevelM15",{-0.15,0},1},{}, - {"LevelM15",{-0.1,0},1}, - {"LevelM15",{-0.05,0},1},{}, - {"LevelM15",{0.05,0},1}, - {"LevelM15",{0.1,0},1},{}, - {"LevelM15",{0.15,0},1}, - {"LevelM15",{0.2,0},1}, - {"LevelM15",{0.2,-0.03},1} - }; - }; - - class VALM_1_15 { - type = "text"; - source = "static"; - text = -15; - align = "left"; - scale = 1; - sourceScale = 1; - pos[] = {"LevelM15",{-0.22,-0.085},1}; - right[] = {"LevelM15",{-0.17,-0.085},1}; - down[] = {"LevelM15",{-0.22,-0.035},1}; - }; - - class VALM_2_15: VALM_1_15 { - align = "right"; - pos[] = {"LevelM15",{0.22,-0.085},1}; - right[] = {"LevelM15",{0.27,-0.085},1}; - down[] = {"LevelM15",{0.22,-0.035},1}; - }; - - class LevelP15: Level0 { - type = "line"; - width = 3; - points[] = { - {"LevelP15",{-0.2,0.03},1}, - {"LevelP15",{-0.2,0},1}, - {"LevelP15",{-0.05,0},1},{}, - {"LevelP15",{0.05,0},1}, - {"LevelP15",{0.2,0},1}, - {"LevelP15",{0.2,0.03},1} - }; - }; - - class VALP_1_15 { - type = "text"; - source = "static"; - text = "15"; - align = "left"; - scale = 1; - sourceScale = 1; - pos[] = {"LevelP15",{-0.22,0.035},1}; - right[] = {"LevelP15",{-0.17,0.035},1}; - down[] = {"LevelP15",{-0.22,0.085},1}; - }; - - class VALP_2_15: VALP_1_15 { - align = "right"; - pos[] = {"LevelP15",{0.22,0.035},1}; - right[] = {"LevelP15",{0.27,0.035},1}; - down[] = {"LevelP15",{0.22,0.085},1}; - };*/ - - class LevelM20: Level0 { - type = "line"; - width = 3; - points[] = {{"LevelM20",{-0.2,-0.03},1},{"LevelM20",{-0.2,0},1},{"LevelM20",{-0.15,0},1},{},{"LevelM20",{-0.1,0},1},{"LevelM20",{-0.05,0},1},{},{"LevelM20",{0.05,0},1},{"LevelM20",{0.1,0},1},{},{"LevelM20",{0.15,0},1},{"LevelM20",{0.2,0},1},{"LevelM20",{0.2,-0.03},1}}; - }; - - class VALM_1_20 { - type = "text"; - source = "static"; - text = -20; - align = "left"; - scale = 1; - sourceScale = 1; - pos[] = {"LevelM20",{-0.22,-0.085},1}; - right[] = {"LevelM20",{-0.17,-0.085},1}; - down[] = {"LevelM20",{-0.22,-0.035},1}; - }; - - class VALM_2_20: VALM_1_20 { - align = "right"; - pos[] = {"LevelM20",{0.22,-0.085},1}; - right[] = {"LevelM20",{0.27,-0.085},1}; - down[] = {"LevelM20",{0.22,-0.035},1}; - }; - - class LevelP20: Level0 { - type = "line"; - width = 3; - points[] = {{"LevelP20",{-0.2,0.03},1},{"LevelP20",{-0.2,0},1},{"LevelP20",{-0.05,0},1},{},{"LevelP20",{0.05,0},1},{"LevelP20",{0.2,0},1},{"LevelP20",{0.2,0.03},1}}; - }; - - class VALP_1_20 { - type = "text"; - source = "static"; - text = "20"; - align = "left"; - scale = 1; - sourceScale = 1; - pos[] = {"LevelP20",{-0.22,0.035},1}; - right[] = {"LevelP20",{-0.17,0.035},1}; - down[] = {"LevelP20",{-0.22,0.085},1}; - }; - - class VALP_2_20: VALP_1_20 { - align = "right"; - pos[] = {"LevelP20",{0.22,0.035},1}; - right[] = {"LevelP20",{0.27,0.035},1}; - down[] = {"LevelP20",{0.22,0.085},1}; - }; - - /*class LevelM25: Level0 { - type = "line"; - width = 3; - points[] = { - {"LevelM25",{-0.2,-0.03},1}, - {"LevelM25",{-0.2,0},1}, - {"LevelM25",{-0.15,0},1},{}, - {"LevelM25",{-0.1,0},1}, - {"LevelM25",{-0.05,0},1},{}, - {"LevelM25",{0.05,0},1}, - {"LevelM25",{0.1,0},1},{}, - {"LevelM25",{0.15,0},1}, - {"LevelM25",{0.2,0},1}, - {"LevelM25",{0.2,-0.03},1} - }; - }; - - class VALM_1_25 { - type = "text"; - source = "static"; - text = -25; - align = "left"; - scale = 1; - sourceScale = 1; - pos[] = {"LevelM25",{-0.22,-0.085},1}; - right[] = {"LevelM25",{-0.17,-0.085},1}; - down[] = {"LevelM25",{-0.22,-0.035},1}; - }; - - class VALM_2_25: VALM_1_25 { - align = "right"; - pos[] = {"LevelM25",{0.22,-0.085},1}; - right[] = {"LevelM25",{0.27,-0.085},1}; - down[] = {"LevelM25",{0.22,-0.035},1}; - }; - - class LevelP25: Level0 { - type = "line"; - width = 3; - points[] = { - {"LevelP25",{-0.2,0.03},1}, - {"LevelP25",{-0.2,0},1}, - {"LevelP25",{-0.05,0},1},{}, - {"LevelP25",{0.05,0},1}, - {"LevelP25",{0.2,0},1}, - {"LevelP25",{0.2,0.03},1} - }; - }; - - class VALP_1_25 { - type = "text"; - source = "static"; - text = "25"; - align = "left"; - scale = 1; - sourceScale = 1; - pos[] = {"LevelP25",{-0.22,0.035},1}; - right[] = {"LevelP25",{-0.17,0.035},1}; - down[] = {"LevelP25",{-0.22,0.085},1}; - }; - - class VALP_2_25: VALP_1_25 { - align = "right"; - pos[] = {"LevelP25",{0.22,0.035},1}; - right[] = {"LevelP25",{0.27,0.035},1}; - down[] = {"LevelP25",{0.22,0.085},1}; - };*/ - - class LevelM30: Level0 { - type = "line"; - width = 3; - points[] = { - {"LevelM30",{-0.2,-0.03},1}, - {"LevelM30",{-0.2,0},1}, - {"LevelM30",{-0.15,0},1},{}, - {"LevelM30",{-0.1,0},1}, - {"LevelM30",{-0.05,0},1},{}, - {"LevelM30",{0.05,0},1}, - {"LevelM30",{0.1,0},1},{}, - {"LevelM30",{0.15,0},1}, - {"LevelM30",{0.2,0},1}, - {"LevelM30",{0.2,-0.03},1} - }; - }; - - class VALM_1_30 { - type = "text"; - source = "static"; - text = -30; - align = "left"; - scale = 1; - sourceScale = 1; - pos[] = {"LevelM30",{-0.22,-0.085},1}; - right[] = {"LevelM30",{-0.17,-0.085},1}; - down[] = {"LevelM30",{-0.22,-0.035},1}; - }; - - class VALM_2_30: VALM_1_30 { - align = "right"; - pos[] = {"LevelM30",{0.22,-0.085},1}; - right[] = {"LevelM30",{0.27,-0.085},1}; - down[] = {"LevelM30",{0.22,-0.035},1}; - }; - - class LevelP30: Level0 { - type = "line"; - width = 3; - points[] = { - {"LevelP30",{-0.2,0.03},1}, - {"LevelP30",{-0.2,0},1}, - {"LevelP30",{-0.05,0},1},{}, - {"LevelP30",{0.05,0},1}, - {"LevelP30",{0.2,0},1}, - {"LevelP30",{0.2,0.03},1} - }; - }; - - class VALP_1_30 { - type = "text"; - source = "static"; - text = "30"; - align = "left"; - scale = 1; - sourceScale = 1; - pos[] = {"LevelP30",{-0.22,0.035},1}; - right[] = {"LevelP30",{-0.17,0.035},1}; - down[] = {"LevelP30",{-0.22,0.085},1}; - }; - - class VALP_2_30: VALP_1_30 { - align = "right"; - pos[] = {"LevelP30",{0.22,0.035},1}; - right[] = {"LevelP30",{0.27,0.035},1}; - down[] = {"LevelP30",{0.22,0.085},1}; - }; - - /*class LevelM35: Level0 { - type = "line"; - width = 3; - points[] = { - {"LevelM35",{-0.2,-0.03},1}, - {"LevelM35",{-0.2,0},1}, - {"LevelM35",{-0.15,0},1},{}, - {"LevelM35",{-0.1,0},1}, - {"LevelM35",{-0.05,0},1},{}, - {"LevelM35",{0.05,0},1}, - {"LevelM35",{0.1,0},1},{}, - {"LevelM35",{0.15,0},1}, - {"LevelM35",{0.2,0},1}, - {"LevelM35",{0.2,-0.03},1} - }; - }; - - class VALM_1_35 { - type = "text"; - source = "static"; - text = -35; - align = "left"; - scale = 1; - sourceScale = 1; - pos[] = {"LevelM35",{-0.22,-0.085},1}; - right[] = {"LevelM35",{-0.17,-0.085},1}; - down[] = {"LevelM35",{-0.22,-0.035},1}; - }; - - class VALM_2_35: VALM_1_35 { - align = "right"; - pos[] = {"LevelM35",{0.22,-0.085},1}; - right[] = {"LevelM35",{0.27,-0.085},1}; - down[] = {"LevelM35",{0.22,-0.035},1}; - }; - - class LevelP35: Level0 { - type = "line"; - width = 3; - points[] = { - {"LevelP35",{-0.2,0.03},1}, - {"LevelP35",{-0.2,0},1}, - {"LevelP35",{-0.05,0},1},{}, - {"LevelP35",{0.05,0},1}, - {"LevelP35",{0.2,0},1}, - {"LevelP35",{0.2,0.03},1} - }; - }; - - class VALP_1_35 { - type = "text"; - source = "static"; - text = "35"; - align = "left"; - scale = 1; - sourceScale = 1; - pos[] = {"LevelP35",{-0.22,0.035},1}; - right[] = {"LevelP35",{-0.17,0.035},1}; - down[] = {"LevelP35",{-0.22,0.085},1}; - }; - - class VALP_2_35: VALP_1_35 { - align = "right"; - pos[] = {"LevelP35",{0.22,0.035},1}; - right[] = {"LevelP35",{0.27,0.035},1}; - down[] = {"LevelP35",{0.22,0.085},1}; - };*/ - - class LevelM40: Level0 { - type = "line"; - width = 3; - points[] = { - {"LevelM40",{-0.2,-0.03},1}, - {"LevelM40",{-0.2,0},1}, - {"LevelM40",{-0.15,0},1},{}, - {"LevelM40",{-0.1,0},1}, - {"LevelM40",{-0.05,0},1},{}, - {"LevelM40",{0.05,0},1}, - {"LevelM40",{0.1,0},1},{}, - {"LevelM40",{0.15,0},1}, - {"LevelM40",{0.2,0},1}, - {"LevelM40",{0.2,-0.03},1} - }; - }; - - class VALM_1_40 { - type = "text"; - source = "static"; - text = -40; - align = "left"; - scale = 1; - sourceScale = 1; - pos[] = {"LevelM40",{-0.22,-0.085},1}; - right[] = {"LevelM40",{-0.17,-0.085},1}; - down[] = {"LevelM40",{-0.22,-0.035},1}; - }; - - class VALM_2_40: VALM_1_40 { - align = "right"; - pos[] = {"LevelM40",{0.22,-0.085},1}; - right[] = {"LevelM40",{0.27,-0.085},1}; - down[] = {"LevelM40",{0.22,-0.035},1}; - }; - - class LevelP40: Level0 { - type = "line"; - width = 3; - points[] = { - {"LevelP40",{-0.2,0.03},1}, - {"LevelP40",{-0.2,0},1}, - {"LevelP40",{-0.05,0},1},{}, - {"LevelP40",{0.05,0},1}, - {"LevelP40",{0.2,0},1}, - {"LevelP40",{0.2,0.03},1} - }; - }; - - class VALP_1_40 { - type = "text"; - source = "static"; - text = "40"; - align = "left"; - scale = 1; - sourceScale = 1; - pos[] = {"LevelP40",{-0.22,0.035},1}; - right[] = {"LevelP40",{-0.17,0.035},1}; - down[] = {"LevelP40",{-0.22,0.085},1}; - }; - - class VALP_2_40: VALP_1_40 { - align = "right"; - pos[] = {"LevelP40",{0.22,0.035},1}; - right[] = {"LevelP40",{0.27,0.035},1}; - down[] = {"LevelP40",{0.22,0.085},1}; - }; - - /*class LevelM45: Level0 { - type = "line"; - width = 3; - points[] = { - {"LevelM45",{-0.2,-0.03},1}, - {"LevelM45",{-0.2,0},1}, - {"LevelM45",{-0.15,0},1},{}, - {"LevelM45",{-0.1,0},1}, - {"LevelM45",{-0.05,0},1},{}, - {"LevelM45",{0.05,0},1}, - {"LevelM45",{0.1,0},1},{}, - {"LevelM45",{0.15,0},1}, - {"LevelM45",{0.2,0},1}, - {"LevelM45",{0.2,-0.03},1} - }; - }; - - class VALM_1_45 { - type = "text"; - source = "static"; - text = -45; - align = "left"; - scale = 1; - sourceScale = 1; - pos[] = {"LevelM45",{-0.22,-0.085},1}; - right[] = {"LevelM45",{-0.17,-0.085},1}; - down[] = {"LevelM45",{-0.22,-0.035},1}; - }; - - class VALM_2_45: VALM_1_45 { - align = "right"; - pos[] = {"LevelM45",{0.22,-0.085},1}; - right[] = {"LevelM45",{0.27,-0.085},1}; - down[] = {"LevelM45",{0.22,-0.035},1}; - }; - - class LevelP45: Level0 { - type = "line"; - width = 3; - points[] = { - {"LevelP45",{-0.2,0.03},1}, - {"LevelP45",{-0.2,0},1}, - {"LevelP45",{-0.05,0},1},{}, - {"LevelP45",{0.05,0},1}, - {"LevelP45",{0.2,0},1}, - {"LevelP45",{0.2,0.03},1} - }; - }; - - class VALP_1_45 { - type = "text"; - source = "static"; - text = "45"; - align = "left"; - scale = 1; - sourceScale = 1; - pos[] = {"LevelP45",{-0.22,0.035},1}; - right[] = {"LevelP45",{-0.17,0.035},1}; - down[] = {"LevelP45",{-0.22,0.085},1}; - }; - - class VALP_2_45: VALP_1_45 { - align = "right"; - pos[] = {"LevelP45",{0.22,0.035},1}; - right[] = {"LevelP45",{0.27,0.035},1}; - down[] = {"LevelP45",{0.22,0.085},1}; - };*/ - - class LevelM50: Level0 { - type = "line"; - width = 3; - points[] = { - {"LevelM50",{-0.2,-0.03},1}, - {"LevelM50",{-0.2,0},1}, - {"LevelM50",{-0.15,0},1},{}, - {"LevelM50",{-0.1,0},1}, - {"LevelM50",{-0.05,0},1},{}, - {"LevelM50",{0.05,0},1}, - {"LevelM50",{0.1,0},1},{}, - {"LevelM50",{0.15,0},1}, - {"LevelM50",{0.2,0},1}, - {"LevelM50",{0.2,-0.03},1} - }; - }; - - class VALM_1_50 { - type = "text"; - source = "static"; - text = -50; - align = "left"; - scale = 1; - sourceScale = 1; - pos[] = {"LevelM50",{-0.22,-0.085},1}; - right[] = {"LevelM50",{-0.17,-0.085},1}; - down[] = {"LevelM50",{-0.22,-0.035},1}; - }; - - class VALM_2_50: VALM_1_50 { - align = "right"; - pos[] = {"LevelM50",{0.22,-0.085},1}; - right[] = {"LevelM50",{0.27,-0.085},1}; - down[] = {"LevelM50",{0.22,-0.035},1}; - }; - - class LevelP50: Level0 { - type = "line"; - width = 3; - points[] = { - {"LevelP50",{-0.2,0.03},1}, - {"LevelP50",{-0.2,0},1}, - {"LevelP50",{-0.05,0},1},{}, - {"LevelP50",{0.05,0},1}, - {"LevelP50",{0.2,0},1}, - {"LevelP50",{0.2,0.03},1} - }; - }; - - class VALP_1_50 { - type = "text"; - source = "static"; - text = "50"; - align = "left"; - scale = 1; - sourceScale = 1; - pos[] = {"LevelP50",{-0.22,0.035},1}; - right[] = {"LevelP50",{-0.17,0.035},1}; - down[] = {"LevelP50",{-0.22,0.085},1}; - }; - - class VALP_2_50: VALP_1_50 { - align = "right"; - pos[] = {"LevelP50",{0.22,0.035},1}; - right[] = {"LevelP50",{0.27,0.035},1}; - down[] = {"LevelP50",{0.22,0.085},1}; - }; - }; - }; - - class StaticBank { - type = "line"; - width = 3; - points[] = { - {{0.4782,0.251},1}, - {{0.4773,0.241},1},{}, - {{0.4566,0.2538},1}, - {{0.4549,0.2439},1},{}, - {{0.4353,0.2585},1}, - {{0.4301,0.2392},1},{}, - {{0.4145,0.2651},1}, - {{0.4111,0.2557},1},{}, - {{0.3943,0.2734},1}, - {{0.3901,0.2644},1},{}, - {{0.375,0.2835},1}, - {{0.365,0.2662},1},{}, - {{0.3232,0.3232},1}, - {{0.3091,0.3091},1},{}, - {{0.2835,0.375},1}, - {{0.2662,0.365},1},{}, - {{"0.5 + (0.5- 0.4782)",0.251},1}, - {{"0.5 + (0.5- 0.4773)",0.241},1},{}, - {{"0.5 + (0.5- 0.4566)",0.2538},1}, - {{"0.5 + (0.5- 0.4549)",0.2439},1},{}, - {{"0.5 + (0.5- 0.4353)",0.2585},1}, - {{"0.5 + (0.5- 0.4301)",0.2392},1},{}, - {{"0.5 + (0.5- 0.4145)",0.2651},1}, - {{"0.5 + (0.5- 0.4111)",0.2557},1},{}, - {{"0.5 + (0.5- 0.3943)",0.2734},1}, - {{"0.5 + (0.5- 0.3901)",0.2644},1},{}, - {{"0.5 + (0.5- 0.3750)",0.2835},1}, - {{"0.5 + (0.5- 0.3650)",0.2662},1},{}, - {{"0.5 + (0.5- 0.3232)",0.3232},1}, - {{"0.5 + (0.5- 0.3091)",0.3091},1},{}, - {{"0.5 + (0.5- 0.2835)",0.375},1}, - {{"0.5 + (0.5- 0.2662)",0.365},1},{}, - {{0.5,"0.5 - 0.25"},1},{{0.5,"0.5 - 0.28"},1} - }; - }; - - class HorizonBankRot { - type = "line"; - width = 3; - points[] = {{"HorizonBankRot",{0,0.25},1},{"HorizonBankRot",{-0.01,0.23},1},{"HorizonBankRot",{0.01,0.23},1},{"HorizonBankRot",{0,0.25},1}}; - }; - - class Centerline { - type = "line"; - width = 7; - points[] = {{{0.45,0.5},1},{{0.48,0.5},1},{{0.49,0.525},1},{{0.5,0.5},1},{{0.51,0.525},1},{{0.52,0.5},1},{{0.55,0.5},1}}; - }; - - /*class WeaponName { - type = "text"; - source = "weapon"; - sourceScale = 1; - align = "right"; - scale = 1; - pos[] = {{0.03,0.86},1}; - right[] = {{0.07,0.86},1}; - down[] = {{0.03,0.9},1}; - }; - - class AmmoCount { - type = "text"; - source = "ammo"; - sourceScale = 1; - align = "right"; - scale = 1; - pos[] = {{0.03,0.89},1}; - right[] = {{0.07,0.89},1}; - down[] = {{0.03,0.93},1}; - };*/ - - class LightsGroup { - type = "group"; - condition = "lights"; - class LightsText { - type = "text"; - source = "static"; - text = "LIGHTS"; - align = "right"; - scale = 1; - pos[] = {{0.03,"0.53 + 0.055"},1}; - right[] = {{0.07,"0.53 + 0.055"},1}; - down[] = {{0.03,"0.53 + 0.095"},1}; - }; - }; - - class CollisionLightsGroup { - type = "group"; - condition = "collisionlights"; - class CollisionLightsText { - type = "text"; - source = "static"; - text = "A-COL"; - align = "right"; - scale = 1; - pos[] = {{0.03,"0.53 + 0.105"},1}; - right[] = {{0.07,"0.53 + 0.105"},1}; - down[] = {{0.03,"0.53 + 0.145"},1}; - }; - }; - - class GearGroup { - type = "group"; - condition = "ils"; - class GearText { - type = "text"; - source = "static"; - text = "GEAR"; - align = "right"; - scale = 1; - pos[] = {{0.03,"0.53 + 0.155"},1}; - right[] = {{0.07,"0.53 + 0.155"},1}; - down[] = {{0.03,"0.53 + 0.195"},1}; - }; - }; - - class SpeedNumber { - type = "text"; - align = "right"; - scale = 1; - source = "speed"; - sourceScale = 3.6; - pos[] = {{0.03,0.475},1}; - right[] = {{0.08,0.475},1}; - down[] = {{0.03,0.525},1}; - }; - - class TorqueNumber { - type = "text"; - align = "left"; - scale = 1; - source = "rtdRotorTorque"; - sourceScale = 488; - pos[] = {{0.065,0.175},1}; - right[] = {{0.115,0.175},1}; - down[] = {{0.065,0.225},1}; - }; - - class Torquetext { - type = "text"; - source = "static"; - text = "%"; - align = "right"; - scale = 1; - pos[] = {{0.07,0.175},1}; - right[] = {{0.12,0.175},1}; - down[] = {{0.07,0.225},1}; - }; - - class AltNumber { - type = "text"; - align = "right"; - scale = 1; - source = "altitudeAGL"; - sourceScale = 1; - pos[] = {{0.83,0.475},1}; - right[] = {{0.88,0.475},1}; - down[] = {{0.83,0.525},1}; - }; - - class ASLNumber { - type = "text"; - source = "altitudeASL"; - sourceScale = 1; - align = "right"; - scale = 1; - pos[] = {{0.835,0.18},1}; - right[] = {{0.875,0.18},1}; - down[] = {{0.835,0.22},1}; - }; - - class VspeedScalePosta { - type = "line"; - width = 5; - points[] = {{{0.98,0.2},1},{{1,0.2},1},{},{{0.93,0.2},1},{{0.95,0.2},1},{},{{0.98,0.35},1},{{1,0.35},1},{},{{0.93,0.35},1},{{0.95,0.35},1},{},{{0.94,0.38},1},{{0.95,0.38},1},{},{{0.94,0.41},1},{{0.95,0.41},1},{},{{0.94,0.44},1},{{0.95,0.44},1},{},{{0.94,0.47},1},{{0.95,0.47},1},{},{{0.98,0.5},1},{{1,0.5},1},{},{{0.93,0.5},1},{{0.95,0.5},1},{},{{0.94,0.53},1},{{0.95,0.53},1},{},{{0.94,0.56},1},{{0.95,0.56},1},{},{{0.94,0.59},1},{{0.95,0.59},1},{},{{0.94,0.62},1},{{0.95,0.62},1},{},{{0.98,0.65},1},{{1,0.65},1},{},{{0.93,0.65},1},{{0.95,0.65},1},{},{{0.99,0.68},1},{{0.98,0.68},1},{},{{0.99,0.71},1},{{0.98,0.71},1},{},{{0.99,0.74},1},{{0.98,0.74},1},{},{{0.99,0.77},1},{{0.98,0.77},1},{},{{0.98,0.8},1},{{1,0.8},1},{},{{0.93,0.8},1},{{0.95,0.8},1},{}}; - }; - - class RadarAltitudeBand { - clipTL[] = {0,0.2}; - clipBR[] = {1,0.8}; - class radarbanda { - type = "line"; - width = 17; - points[] = {{"RadarAltitudeBone",{0,0},1},{"RadarAltitudeBone",{0,0.6},1}}; - }; - }; - - class VspeedBand { - type = "line"; - width = 3; - points[] = {{"VspeedBone",{-0.01,0},1},{"VspeedBone",{-0.025,-0.015},1},{"VspeedBone",{-0.025,0.015},1},{"VspeedBone",{-0.01,0},1},{}}; - }; - - class HeadingNumber: SpeedNumber { - source = "heading"; - sourceScale = 1; - align = "center"; - pos[] = {{0.5,0.01},1}; - right[] = {{0.56,0.01},1}; - down[] = {{0.5,0.06},1}; - }; - - class Center_box { - type = "line"; - width = 3; - points[] = {{{0.44,0.005},1},{{"0.44 + 0.12",0.005},1},{{"0.44 + 0.12","0.005 + 0.06"},1},{{0.44,"0.005 + 0.06"},1},{{0.44,0.005},1}}; - }; - - class HeadingArrow { - type = "line"; - width = 7; - points[] = {{{"0.5","0.128 + 0.03"},1},{{0.5,0.128},1}}; - }; - - class HeadingScale { - type = "scale"; - horizontal = 1; - source = "heading"; - sourceScale = 1; - width = 5; - top = 0.12; - center = 0.5; - bottom = 0.88; - lineXleft = "0.03 + 0.085"; - lineYright = "0.02 + 0.085"; - lineXleftMajor = "0.04 + 0.085"; - lineYrightMajor = "0.02 + 0.085"; - majorLineEach = 3; - numberEach = 3; - step = 10; - stepSize = "0.05"; - align = "center"; - scale = 1; - pos[] = {0.119,"0.0 + 0.065"}; - right[] = {0.159,"0.0 + 0.065"}; - down[] = {0.119,"0.04 + 0.065"}; - }; - - class Fuel_Text { - type = "text"; - source = "static"; - text = "Fuel"; - align = "right"; - scale = 1; - pos[] = {{0.85,0.86},1}; - right[] = {{0.89,0.86},1}; - down[] = {{0.85,0.9},1}; - }; - - class Fuel_Number { - type = "text"; - source = "fuel"; - sourceScale = 100; - align = "right"; - scale = 1; - pos[] = {{0.92,0.86},1}; - right[] = {{0.96,0.86},1}; - down[] = {{0.92,0.9},1}; - }; - }; - - helmetMountedDisplay = 1; - helmetPosition[] = {-0.04,0.04,0.1}; - helmetRight[] = {0.08,0,0}; - helmetDown[] = {0,-0.08,0}; - }; - - class LittleHUD { - class Pos10Vector { - type = "vector"; - pos0[] = {0.5,0.5}; - pos10[] = {0.722,0.722}; - }; - - topLeft = "HUD_top_left"; - topRight = "HUD_top_right"; - bottomLeft = "HUD_bottom_left"; - borderLeft = 0; - borderRight = 0; - borderTop = 0; - borderBottom = 0; - color[] = {0.15,1,0.15,1}; - enableParallax = 0; - class Bones { - class Velocity { - type = "vector"; - source = "velocity"; - pos0[] = {0.5,0.5}; - pos10[] = {0.75,0.75}; - }; - - class ForwardVec1 { - type = "vector"; - source = "forward"; - pos0[] = {0,0}; - pos10[] = {0.25,0.25}; - }; - - class ForwardVec { - type = "vector"; - source = "forward"; - pos0[] = {0,0}; - pos10[] = {0.253,0.253}; - }; - - class WeaponAim { - type = "vector"; - source = "weapon"; - pos0[] = {0.5,0.5}; - pos10[] = {0.753,0.753}; - }; - - class WeaponAim1 { - type = "vector"; - source = "weapon"; - pos0[] = {0,0}; - pos10[] = {0.253,0.23}; - }; - - class Target { - type = "vector"; - source = "target"; - pos0[] = {0.5,0.5}; - pos10[] = {0.753,0.753}; - }; - - class RadarContact { - type = "fixed"; - pos[] = {0,0}; - }; - }; - - class Draw { - color[] = {0.18,1,0.18}; - alpha = 1; - condition = "on"; - class PlaneMovementCrosshair { - type = "line"; - width = 7; - points[] = {{"ForwardVec1",1,"Velocity",1,{0,-0.02},1},{"ForwardVec1",1,"Velocity",1,{0.01,-0.01732},1},{"ForwardVec1",1,"Velocity",1,{0.01732,-0.01},1},{"ForwardVec1",1,"Velocity",1,{0.02,0},1},{"ForwardVec1",1,"Velocity",1,{0.01732,0.01},1},{"ForwardVec1",1,"Velocity",1,{0.01,0.01732},1},{"ForwardVec1",1,"Velocity",1,{0,0.02},1},{"ForwardVec1",1,"Velocity",1,{-0.01,0.01732},1},{"ForwardVec1",1,"Velocity",1,{-0.01732,0.01},1},{"ForwardVec1",1,"Velocity",1,{-0.02,0},1},{"ForwardVec1",1,"Velocity",1,{-0.01732,-0.01},1},{"ForwardVec1",1,"Velocity",1,{-0.01,-0.01732},1},{"ForwardVec1",1,"Velocity",1,{0,-0.02},1},{},{"ForwardVec1",1,"Velocity",1,{0.04,0},1},{"ForwardVec1",1,"Velocity",1,{0.02,0},1},{},{"ForwardVec1",1,"Velocity",1,{-0.04,0},1},{"ForwardVec1",1,"Velocity",1,{-0.02,0},1},{},{"ForwardVec1",1,"Velocity",1,{0,-0.04},1},{"ForwardVec1",1,"Velocity",1,{0,-0.02},1}}; - }; - }; - - helmetMountedDisplay = 1; - helmetPosition[] = {-0.035,0.035,0.1}; - helmetRight[] = {0.07,0,0}; - helmetDown[] = {0,-0.07,0}; - }; -}; diff --git a/TO_MERGE/agm/Aircraft/mfd_thunderbolt.hpp b/TO_MERGE/agm/Aircraft/mfd_thunderbolt.hpp deleted file mode 100644 index 18571e8b1d..0000000000 --- a/TO_MERGE/agm/Aircraft/mfd_thunderbolt.hpp +++ /dev/null @@ -1,1979 +0,0 @@ - -class MFD { - class HUD_1 { - topLeft = "HUD_top_left"; - topRight = "HUD_top_right"; - bottomLeft = "HUD_bottom_left"; - borderLeft = 0.12; - borderRight = 0.12; - borderTop = 0.05; - borderBottom = 0.15; - color[] = {0,1,0,0.1}; - enableParallax = 1; - class Bones { - class WeaponAim { - type = "vector"; - source = "weapon"; - pos0[] = {0.5,0.38}; - pos10[] = {1.166,1.215}; - }; - - class Target { - type = "vector"; - source = "target"; - pos0[] = {0.5,0.38}; - pos10[] = {1.166,1.215}; - }; - - class Velocity { - type = "vector"; - source = "velocity"; - pos0[] = {0.5,0.5}; - pos10[] = {1.215,1.215}; - }; - - class VerticalSpeed { - type = "linear"; - source = "vspeed"; - sourceScale = 1; - min = -100; - max = 100; - minPos[] = {0,0.15}; - maxPos[] = {0,-0.15}; - }; - - class center { - type = "fixed"; - pos[] = {0.5,0.38}; - }; - - class RangeBone { - type = "linear"; - source = "targetDist"; - sourceScale = 1; - min = 0; - max = 12000; - minPos[] = {0.08,0.4}; - maxPos[] = {0.08,0.6}; - }; - - class RadarAltitudeBone { - type = "linear"; - source = "altitudeAGL"; - sourceScale = 1; - min = 0; - max = 500; - minPos[] = {0.71,0.4}; - maxPos[] = {0.71,0.6}; - }; - - class VspeedBone { - type = "linear"; - source = "vspeed"; - sourceScale = 1; - min = -50; - max = 50; - minPos[] = {0.94,0.4}; - maxPos[] = {0.94,0.6}; - }; - }; - - class Draw { - color[] = {0.15,1,0.15}; - alpha = 0.9; - clipTL[] = {0,0}; - clipBR[] = {1,1}; - condition = "on"; - class WeaponName { - type = "text"; - source = "weapon"; - sourceScale = 1; - align = "left"; - scale = 1; - pos[] = {{"0.15 + 0.1",0.85},1}; - right[] = {{"0.19 + 0.1",0.85},1}; - down[] = {{"0.15 + 0.1",0.89},1}; - }; - - class AmmoCount { - type = "text"; - source = "ammo"; - sourceScale = 1; - align = "left"; - scale = 1; - pos[] = {{"0.15 + 0.1",0.89},1}; - right[] = {{"0.19 + 0.1",0.89},1}; - down[] = {{"0.15 + 0.1",0.93},1}; - }; - - class GearGroup { - type = "group"; - condition = "ils"; - class GearText { - type = "text"; - source = "static"; - text = "GEAR"; - align = "left"; - scale = 1; - pos[] = {{"0.15 + 0.1","0.53 - 0.40"},1}; - right[] = {{"0.20 + 0.1","0.53 - 0.40"},1}; - down[] = {{"0.15 + 0.1","0.53 - 0.40 + 0.05"},1}; - }; - - class radarbanda { - type = "line"; - width = 4; - points[] = { - {"RadarAltitudeBone",{-0.005,0.005},1}, - {"RadarAltitudeBone",{-0.005,0},1}, - {"RadarAltitudeBone",{0,0},1}, - {{0.71,0.6},1},{}, - {{0.71,0.4},1}, - {{0.72,0.4},1},{}, - {{0.71,0.44},1}, - {{0.72,0.44},1},{}, - {{0.71,0.48},1}, - {{0.72,0.48},1},{}, - {{0.71,0.52},1}, - {{0.72,0.52},1},{}, - {{0.71,0.56},1}, - {{0.72,0.56},1},{}, - {{0.71,0.6},1}, - {{0.72,0.6},1} - }; - }; - - class radartext_5 { - type = "text"; - source = "static"; - text = "5"; - align = "right"; - scale = 1; - pos[] = {{0.721,"0.385 + 0.00"},1}; - right[] = {{0.751,"0.385 + 0.00"},1}; - down[] = {{0.721,"0.415 + 0.00"},1}; - }; - - class radartext_4 { - type = "text"; - source = "static"; - text = "4"; - align = "right"; - scale = 1; - pos[] = {{0.721,"0.385 + 0.04"},1}; - right[] = {{0.751,"0.385 + 0.04"},1}; - down[] = {{0.721,"0.415 + 0.04"},1}; - }; - - class radartext_3 { - type = "text"; - source = "static"; - text = "3"; - align = "right"; - scale = 1; - pos[] = {{0.721,"0.385 + 0.08"},1}; - right[] = {{0.751,"0.385 + 0.08"},1}; - down[] = {{0.721,"0.415 + 0.08"},1}; - }; - - class radartext_2 { - type = "text"; - source = "static"; - text = "2"; - align = "right"; - scale = 1; - pos[] = {{0.721,"0.385 + 0.120"},1}; - right[] = {{0.751,"0.385 + 0.120"},1}; - down[] = {{0.721,"0.415 + 0.120"},1}; - }; - - class radartext_1 { - type = "text"; - source = "static"; - text = "1"; - align = "right"; - scale = 1; - pos[] = {{0.721,"0.385 + 0.160"},1}; - right[] = {{0.751,"0.385 + 0.160"},1}; - down[] = {{0.721,"0.415 + 0.160"},1}; - }; - - class radartext_0 { - type = "text"; - source = "static"; - text = "0"; - align = "right"; - scale = 1; - pos[] = {{0.721,"0.385 + 0.200"},1}; - right[] = {{0.751,"0.385 + 0.200"},1}; - down[] = {{0.721,"0.415 + 0.200"},1}; - }; - - /*class Vspeedbanda { - type = "line"; - width = 4; - points[] = { - {"VspeedBone",{0.007,-0.007},1}, - {"VspeedBone",{0,0},1}, - {"VspeedBone",{0.007,0.007},1},{}, - {"VspeedBone",{0,0},1}, - {"VspeedBone",{0.012,0},1}, - {{0.952,0.5},1},{}, - {{0.92,0.4},1}, - {{0.94,0.4},1},{}, - {{0.92,0.42},1}, - {{0.93,0.42},1},{}, - {{0.92,0.44},1}, - {{0.93,0.44},1},{}, - {{0.92,0.46},1}, - {{0.93,0.46},1},{}, - {{0.92,0.48},1}, - {{0.93,0.48},1},{}, - {{0.92,0.5},1}, - {{0.94,0.5},1},{}, - {{0.92,0.52},1}, - {{0.93,0.52},1},{}, - {{0.92,0.54},1}, - {{0.93,0.54},1},{}, - {{0.92,0.56},1}, - {{0.93,0.56},1},{}, - {{0.92,0.58},1}, - {{0.93,0.58},1},{}, - {{0.92,0.6},1}, - {{0.94,0.6},1} - }; - };*/ - }; - - class Vspeedbanda1 { - type = "line"; - width = 4; - points[] = { - {"VspeedBone",{0.007,-0.007},1}, - {"VspeedBone",{0,0},1}, - {"VspeedBone",{0.007,0.007},1},{}, - {"VspeedBone",{0,0},1}, - {"VspeedBone",{0.012,0},1}, - {{0.952,0.5},1},{}, - {{0.92,0.4},1}, - {{0.94,0.4},1},{}, - {{0.92,0.42},1}, - {{0.93,0.42},1},{}, - {{0.92,0.44},1}, - {{0.93,0.44},1},{}, - {{0.92,0.46},1}, - {{0.93,0.46},1},{}, - {{0.92,0.48},1}, - {{0.93,0.48},1},{}, - {{0.92,0.5},1}, - {{0.94,0.5},1},{}, - {{0.92,0.52},1}, - {{0.93,0.52},1},{}, - {{0.92,0.54},1}, - {{0.93,0.54},1},{}, - {{0.92,0.56},1}, - {{0.93,0.56},1},{}, - {{0.92,0.58},1}, - {{0.93,0.58},1},{}, - {{0.92,0.6},1}, - {{0.94,0.6},1} - }; - }; - - class StallGroup { - type = "group"; - condition = "stall"; - color[] = {1,0,0}; - blinkingPattern[] = {0.2,0.2}; - blinkingStartsOn = 1; - class StallText { - type = "text"; - source = "static"; - text = "STALL"; - align = "center"; - scale = 1; - pos[] = {{0.5,"0.53 - 0.25"},1}; - right[] = {{0.55,"0.53 - 0.25"},1}; - down[] = {{0.5,"0.53 - 0.21"},1}; - }; - }; - - class FLAPSGroup { - type = "group"; - condition = "flaps"; - class FLAPSText { - type = "text"; - source = "static"; - text = "FLAPS"; - align = "left"; - scale = 1; - pos[] = {{"0.15 + 0.1","0.53 - 0.35"},1}; - right[] = {{"0.20 + 0.1","0.53 - 0.35"},1}; - down[] = {{"0.15 + 0.1","0.53 - 0.35 + 0.05"},1}; - }; - }; - - class CollisionLightsGroup { - type = "group"; - condition = "collisionlights"; - class CollisionLightsText { - type = "text"; - source = "static"; - text = "A-COL"; - align = "left"; - scale = 1; - pos[] = {{"0.15 + 0.1","0.53 - 0.25"},1}; - right[] = {{"0.20 + 0.1","0.53 - 0.25"},1}; - down[] = {{"0.15 + 0.1","0.53 - 0.25 + 0.05"},1}; - }; - }; - - class LightsGroup { - type = "group"; - condition = "lights"; - class LightsText { - type = "text"; - source = "static"; - text = "LLS"; - align = "left"; - scale = 1; - pos[] = {{"0.15 + 0.1","0.53 - 0.30"},1}; - right[] = {{"0.20 + 0.1","0.53 - 0.30"},1}; - down[] = {{"0.15 + 0.1","0.53 - 0.30 + 0.05"},1}; - }; - }; - - class SpeedNumber { - type = "text"; - align = "left"; - scale = 1; - source = "speed"; - sourceScale = 3.6; - pos[] = {{"0.15 + 0.1",0.47},1}; - right[] = {{"0.21 + 0.1",0.47},1}; - down[] = {{"0.15 + 0.1",0.53},1}; - }; - - /*class GroundSpeedNumber { - type = "text"; - align = "left"; - scale = 1; - source = "sqrt((speed*speed)-(vspeed*vspeed))"; - sourceScale = 3.6; - pos[] = {{"0.15 + 0.1",0.37},1}; - right[] = {{"0.21 + 0.1",0.37},1}; - down[] = {{"0.15 + 0.1",0.43},1}; - };*/ - - class MachNumber { - type = "text"; - align = "left"; - scale = 1; - source = "speed"; - sourceScale = 0.0288; - pos[] = {{"0.12 + 0.1",0.53},1}; - right[] = {{"0.17 + 0.1",0.53},1}; - down[] = {{"0.12 + 0.1",0.58},1}; - }; - - class MachText { - type = "text"; - source = "static"; - text = "0."; - align = "left"; - scale = 1; - pos[] = {{"0.09 + 0.1",0.53},1}; - right[] = {{"0.14 + 0.1",0.53},1}; - down[] = {{"0.09 + 0.1",0.58},1}; - }; - - class MachTextM { - type = "text"; - source = "static"; - text = "M"; - align = "left"; - scale = 1; - pos[] = {{"0.1501 + 0.1",0.53},1}; - right[] = {{"0.2001 + 0.1",0.53},1}; - down[] = {{"0.1501 + 0.1",0.58},1}; - }; - - class HeadingNumber: SpeedNumber { - source = "heading"; - sourceScale = 1; - align = "right"; - pos[] = {{"0.85 - 0.1",0.15},1}; - right[] = {{"0.90 - 0.1",0.15},1}; - down[] = {{"0.85 - 0.1",0.2},1}; - }; - - class AltNumber: SpeedNumber { - align = "right"; - source = "altitudeASL"; - sourceScale = 1; - pos[] = {{"0.85 - 0.1",0.47},1}; - right[] = {{"0.91 - 0.1",0.47},1}; - down[] = {{"0.85 - 0.1",0.53},1}; - }; - - class PitcherNumber: SpeedNumber { - type = "text"; - source = "horizonDive"; - sourceScale = 57.2958; - align = "right"; - scale = 1; - pos[] = {{"0.85 - 0.1",0.54},1}; - right[] = {{"0.90 - 0.1",0.54},1}; - down[] = {{"0.85 - 0.1",0.59},1}; - }; - - class AGLText { - type = "text"; - source = "static"; - text = "AGL/"; - align = "right"; - scale = 1; - pos[] = {{"0.85 - 0.1",0.76},1}; - right[] = {{"0.89000002 - 0.1",0.76},1}; - down[] = {{"0.85 - 0.1",0.8},1}; - }; - - class AGLNumber { - type = "text"; - source = "altitudeAGL"; - sourceScale = 1; - align = "right"; - scale = 1; - pos[] = {{"0.85 - 0.1",0.8},1}; - right[] = {{"0.89 - 0.1",0.8},1}; - down[] = {{"0.85 - 0.1",0.84},1}; - }; - - class ClimbText { - type = "text"; - source = "static"; - text = "CLIMB/"; - align = "right"; - scale = 1; - pos[] = {{"0.85 - 0.1",0.85001},1}; - right[] = {{"0.89 - 0.1",0.85001},1}; - down[] = {{"0.85 - 0.1",0.89001},1}; - }; - - class ClimbNumber { - type = "text"; - source = "vspeed"; - sourceScale = 1; - align = "right"; - scale = 1; - pos[] = {{"0.85 - 0.1",0.89001},1}; - right[] = {{"0.89 - 0.1",0.89001},1}; - down[] = {{"0.85 - 0.1",0.93001},1}; - }; - - class RangeText { - type = "text"; - source = "static"; - text = "RNG/"; - align = "left"; - scale = 1; - pos[] = {{"0.15 + 0.1",0.76},1}; - right[] = {{"0.19 + 0.1",0.76},1}; - down[] = {{"0.15 + 0.1",0.8},1}; - }; - - class RangeNumber { - type = "text"; - source = "targetDist"; - sourceScale = 1; - align = "left"; - scale = 1; - pos[] = {{"0.15 + 0.1",0.8},1}; - right[] = {{"0.19 + 0.1",0.8},1}; - down[] = {{"0.15 + 0.1",0.84},1}; - }; - - class ATRangeScale { - condition = "ATmissile"; - type = "group"; - class RangeBand { - type = "line"; - width = 3; - points[] = { - {"RangeBone",{0,0},1}, - {"RangeBone",{-0.01,-0.01},1}, - {"RangeBone",{-0.01,0.01},1}, - {"RangeBone",{0,0},1} - }; - }; - - class ATMissileRange { - type = "line"; - width = 3; - points[] = { - {{0.08,0.4},1}, - {{0.1,0.4},1},{}, - {{0.08,0.467},1}, - {{0.1,0.467},1},{}, - {{0.08,0.567},1}, - {{0.1,0.567},1},{}, - {{0.08,0.6},1}, - {{0.1,0.6},1},{}, - {{0.08,0.467},1}, - {{0.08,0.567},1},{} - }; - }; - }; - - class HeadingArrow { - type = "line"; - width = 4; - points[] = { - {{0.5,0.95},1}, - {{0.515,0.965},1}, - {{0.485,0.965},1}, - {{0.5,0.95},1} - }; - }; - - class HeadingScale { - type = "scale"; - horizontal = 1; - source = "heading"; - sourceScale = 0.1; - width = 5; - top = 0.35; - center = 0.5; - bottom = 0.65; - lineXleft = "0.06 + 0.89"; - lineYright = "0.05 + 0.89"; - lineXleftMajor = "0.06 + 0.89"; - lineYrightMajor = "0.04 + 0.89"; - majorLineEach = 2; - numberEach = 2; - step = "1 / 2"; - stepSize = "(0.65 - 0.35) / 5"; - align = "center"; - scale = 1; - pos[] = {0.35,"0.0 + 0.89"}; - right[] = {0.38,"0.0 + 0.89"}; - down[] = {0.35,"0.03 + 0.89"}; - }; - }; - }; - - class HUD_2 { - topLeft = "HUD_top_left"; - topRight = "HUD_top_right"; - bottomLeft = "HUD_bottom_left"; - borderLeft = 0.12; - borderRight = 0.12; - borderTop = 0.05; - borderBottom = 0.15; - color[] = {0,1,0,0.1}; - enableParallax = 1; - class Bones { - class ForwardVec1 { - type = "vector"; - source = "forward"; - pos0[] = {0,0}; - pos10[] = {0,0}; - }; - - class ForwardVec { - type = "vector"; - source = "forward"; - pos0[] = {0,0}; - pos10[] = {0,0}; - }; - - class RadarContact { - type = "fixed"; - pos[] = {0,0}; - }; - - class HorizonBankRot { - type = "rotational"; - source = "horizonBank"; - center[] = {0.5,0.32}; - min = 3.1416; - max = -3.1416; - minAngle = -180; - maxAngle = 180; - aspectRatio = 1; - }; - - class VspeedBone { - type = "linear"; - source = "vspeed"; - sourceScale = 1; - min = -10; - max = 10; - minPos[] = {0.2,0.35}; - maxPos[] = {0.2,0.65}; - }; - - class ILS_H { - type = "ils"; - pos0[] = {0.5,0.32}; - pos3[] = {0.7,0.32}; - }; - - class ILS_W: ILS_H { - pos3[] = {0.5,0.53}; - }; - - class WeaponAimGUN { - type = "vector"; - source = "weapon"; - pos0[] = {0.5,0.32}; - pos10[] = {" 0.5 + 0.253 "," 0.32 + 0.253 "}; - }; - - class WeaponAimROCKET { - type = "vector"; - source = "weapon"; - pos0[] = {0.5,0.39}; - pos10[] = {" 0.5 + 0.253 "," 0.390 + 0.253 "}; - }; - - class RadarAltitudeBone { - type = "linear"; - source = "altitudeAGL"; - sourceScale = 0.1; - min = 0; - max = 200; - minPos[] = {0.5,0.1}; - maxPos[] = {0.5,0.85}; - }; - - class TargetSelected { - type = "vector"; - source = "target"; - pos0[] = {0.5,0.32}; - pos10[] = {1.382,1.145}; - }; - - class Velocity { - type = "vector"; - source = "velocity"; - pos0[] = {0.5,0.32}; - pos10[] = {0.8,0.62}; - }; - - class center { - type = "fixed"; - pos[] = {0.5,0.38}; - }; - - class Level0 { - type = "horizon"; - pos0[] = {0.5,0.32}; - pos10[] = {1.5,1.32}; - angle = 0; - }; - - class LevelP5: Level0 { - angle = 5; - }; - - class LevelM5: Level0 { - angle = -5; - }; - - class LevelP10: Level0 { - angle = 10; - }; - - class LevelM10: Level0 { - angle = -10; - }; - - class LevelP15: Level0 { - angle = 15; - }; - - class LevelM15: Level0 { - angle = -15; - }; - - class LevelP20: Level0 { - angle = 20; - }; - - class LevelM20: Level0 { - angle = -20; - }; - - class LevelP25: Level0 { - angle = 25; - }; - - class LevelM25: Level0 { - angle = -25; - }; - - class LevelP30: Level0 { - angle = 30; - }; - - class LevelM30: Level0 { - angle = -30; - }; - - class LevelP35: Level0 { - angle = 35; - }; - - class LevelM35: Level0 { - angle = -35; - }; - - class LevelP40: Level0 { - angle = 40; - }; - - class LevelM40: Level0 { - angle = -40; - }; - - class LevelP45: Level0 { - angle = 45; - }; - - class LevelM45: Level0 { - angle = -45; - }; - - class LevelP50: Level0 { - angle = 50; - }; - - class LevelM50: Level0 { - angle = -50; - }; - }; - - class Draw { - color[] = {0.15,1,0.15}; - alpha = 0.9; - clipTL[] = {0,0}; - clipBR[] = {1,1}; - condition = "on"; - class Horizont { - clipTL[] = {0.1,0.1}; - clipBR[] = {0.9,0.9}; - class Dimmed { - class Level0 { - type = "line"; - points[] = { - {"Level0",{-0.2,0},1}, - {"Level0",{-0.05,0},1},{}, - {"Level0",{0.05,0},1}, - {"Level0",{0.2,0},1} - }; - }; - - /*class VALM_1_0 { - type = "text"; - source = "static"; - text = 0; - align = "left"; - scale = 1; - sourceScale = 57.2958; - pos[] = {"Level0",{-0.23,-0.025},1}; - right[] = {"Level0",{-0.13,-0.025},1}; - down[] = {"Level0",{-0.23,0.025},1}; - }; - - class VALM_2_0: VALM_1_0 { - align = "right"; - pos[] = {"Level0",{0.22,-0.025},1}; - right[] = {"Level0",{0.32,-0.025},1}; - down[] = {"Level0",{0.22,0.025},1}; - };*/ - - class LevelM5: Level0 { - type = "line"; - points[] = { - {"LevelM5",{-0.2,-0.03},1}, - {"LevelM5",{-0.2,0},1}, - {"LevelM5",{-0.15,0},1},{}, - {"LevelM5",{-0.1,0},1}, - {"LevelM5",{-0.05,0},1},{}, - {"LevelM5",{0.05,0},1}, - {"LevelM5",{0.1,0},1},{}, - {"LevelM5",{0.15,0},1}, - {"LevelM5",{0.2,0},1}, - {"LevelM5",{0.2,-0.03},1} - }; - }; - - class VALM_1_5 { - type = "text"; - source = "static"; - text = -5; - align = "left"; - scale = 1; - sourceScale = 57.2958; - pos[] = {"LevelM5",{-0.23,-0.085},1}; - right[] = {"LevelM5",{-0.13,-0.085},1}; - down[] = {"LevelM5",{-0.23,-0.035},1}; - }; - - class VALM_2_5: VALM_1_5 { - align = "right"; - pos[] = {"LevelM5",{0.22,-0.085},1}; - right[] = {"LevelM5",{0.32,-0.085},1}; - down[] = {"LevelM5",{0.22,-0.035},1}; - }; - - class LevelP5: Level0 { - type = "line"; - points[] = { - {"LevelP5",{-0.2,0.03},1}, - {"LevelP5",{-0.2,0},1}, - {"LevelP5",{-0.05,0},1},{}, - {"LevelP5",{0.05,0},1}, - {"LevelP5",{0.2,0},1}, - {"LevelP5",{0.2,0.03},1} - }; - }; - - class VALP_1_5 { - type = "text"; - source = "static"; - text = "5"; - align = "left"; - scale = 1; - sourceScale = 57.2958; - pos[] = {"LevelP5",{-0.23,0.035},1}; - right[] = {"LevelP5",{-0.13,0.035},1}; - down[] = {"LevelP5",{-0.23,0.085},1}; - }; - - class VALP_2_5: VALP_1_5 { - align = "right"; - pos[] = {"LevelP5",{0.22,0.035},1}; - right[] = {"LevelP5",{0.32,0.035},1}; - down[] = {"LevelP5",{0.22,0.085},1}; - }; - - class LevelM10: Level0 { - type = "line"; - points[] = { - {"LevelM10",{-0.2,-0.03},1}, - {"LevelM10",{-0.2,0},1}, - {"LevelM10",{-0.15,0},1},{}, - {"LevelM10",{-0.1,0},1}, - {"LevelM10",{-0.05,0},1},{}, - {"LevelM10",{0.05,0},1}, - {"LevelM10",{0.1,0},1},{}, - {"LevelM10",{0.15,0},1}, - {"LevelM10",{0.2,0},1}, - {"LevelM10",{0.2,-0.03},1} - }; - }; - - class VALM_1_10 { - type = "text"; - source = "static"; - text = -10; - align = "left"; - scale = 1; - sourceScale = 57.2958; - pos[] = {"LevelM10",{-0.23,-0.085},1}; - right[] = {"LevelM10",{-0.13,-0.085},1}; - down[] = {"LevelM10",{-0.23,-0.035},1}; - }; - - class VALM_2_10: VALM_1_10 { - align = "right"; - pos[] = {"LevelM10",{0.22,-0.085},1}; - right[] = {"LevelM10",{0.32,-0.085},1}; - down[] = {"LevelM10",{0.22,-0.035},1}; - }; - - class LevelP10: Level0 { - type = "line"; - points[] = { - {"LevelP10",{-0.2,0.03},1}, - {"LevelP10",{-0.2,0},1}, - {"LevelP10",{-0.05,0},1},{}, - {"LevelP10",{0.05,0},1}, - {"LevelP10",{0.2,0},1}, - {"LevelP10",{0.2,0.03},1} - }; - }; - - class VALP_1_10 { - type = "text"; - source = "static"; - text = "10"; - align = "left"; - scale = 1; - sourceScale = 57.2958; - pos[] = {"LevelP10",{-0.23,0.035},1}; - right[] = {"LevelP10",{-0.13,0.035},1}; - down[] = {"LevelP10",{-0.23,0.085},1}; - }; - - class VALP_2_10: VALP_1_10 { - align = "right"; - pos[] = {"LevelP10",{0.22,0.035},1}; - right[] = {"LevelP10",{0.32,0.035},1}; - down[] = {"LevelP10",{0.22,0.085},1}; - }; - - class LevelM15: Level0 { - type = "line"; - points[] = { - {"LevelM15",{-0.2,-0.03},1}, - {"LevelM15",{-0.2,0},1}, - {"LevelM15",{-0.15,0},1},{}, - {"LevelM15",{-0.1,0},1}, - {"LevelM15",{-0.05,0},1},{}, - {"LevelM15",{0.05,0},1}, - {"LevelM15",{0.1,0},1},{}, - {"LevelM15",{0.15,0},1}, - {"LevelM15",{0.2,0},1}, - {"LevelM15",{0.2,-0.03},1} - }; - }; - - class VALM_1_15 { - type = "text"; - source = "static"; - text = -15; - align = "left"; - scale = 1; - sourceScale = 57.2958; - pos[] = {"LevelM15",{-0.23,-0.085},1}; - right[] = {"LevelM15",{-0.13,-0.085},1}; - down[] = {"LevelM15",{-0.23,-0.035},1}; - }; - - class VALM_2_15: VALM_1_15 { - align = "right"; - pos[] = {"LevelM15",{0.22,-0.085},1}; - right[] = {"LevelM15",{0.32,-0.085},1}; - down[] = {"LevelM15",{0.22,-0.035},1}; - }; - - class LevelP15: Level0 { - type = "line"; - points[] = { - {"LevelP15",{-0.2,0.03},1}, - {"LevelP15",{-0.2,0},1}, - {"LevelP15",{-0.05,0},1},{}, - {"LevelP15",{0.05,0},1}, - {"LevelP15",{0.2,0},1}, - {"LevelP15",{0.2,0.03},1} - }; - }; - - class VALP_1_15 { - type = "text"; - source = "static"; - text = "15"; - align = "left"; - scale = 1; - sourceScale = 57.2958; - pos[] = {"LevelP15",{-0.23,0.035},1}; - right[] = {"LevelP15",{-0.13,0.035},1}; - down[] = {"LevelP15",{-0.23,0.085},1}; - }; - - class VALP_2_15: VALP_1_15 { - align = "right"; - pos[] = {"LevelP15",{0.22,0.035},1}; - right[] = {"LevelP15",{0.32,0.035},1}; - down[] = {"LevelP15",{0.22,0.085},1}; - }; - - class LevelM20: Level0 { - type = "line"; - points[] = { - {"LevelM20",{-0.2,-0.03},1}, - {"LevelM20",{-0.2,0},1}, - {"LevelM20",{-0.15,0},1},{}, - {"LevelM20",{-0.1,0},1}, - {"LevelM20",{-0.05,0},1},{}, - {"LevelM20",{0.05,0},1}, - {"LevelM20",{0.1,0},1},{}, - {"LevelM20",{0.15,0},1}, - {"LevelM20",{0.2,0},1}, - {"LevelM20",{0.2,-0.03},1} - }; - }; - - class VALM_1_20 { - type = "text"; - source = "static"; - text = -20; - align = "left"; - scale = 1; - sourceScale = 57.2958; - pos[] = {"LevelM20",{-0.23,-0.085},1}; - right[] = {"LevelM20",{-0.13,-0.085},1}; - down[] = {"LevelM20",{-0.23,-0.035},1}; - }; - - class VALM_2_20: VALM_1_20 { - align = "right"; - pos[] = {"LevelM20",{0.22,-0.085},1}; - right[] = {"LevelM20",{0.32,-0.085},1}; - down[] = {"LevelM20",{0.22,-0.035},1}; - }; - - class LevelP20: Level0 { - type = "line"; - points[] = { - {"LevelP20",{-0.2,0.03},1}, - {"LevelP20",{-0.2,0},1}, - {"LevelP20",{-0.05,0},1},{}, - {"LevelP20",{0.05,0},1}, - {"LevelP20",{0.2,0},1}, - {"LevelP20",{0.2,0.03},1} - }; - }; - - class VALP_1_20 { - type = "text"; - source = "static"; - text = "20"; - align = "left"; - scale = 1; - sourceScale = 57.2958; - pos[] = {"LevelP20",{-0.23,0.035},1}; - right[] = {"LevelP20",{-0.13,0.035},1}; - down[] = {"LevelP20",{-0.23,0.085},1}; - }; - - class VALP_2_20: VALP_1_20 { - align = "right"; - pos[] = {"LevelP20",{0.22,0.035},1}; - right[] = {"LevelP20",{0.32,0.035},1}; - down[] = {"LevelP20",{0.22,0.085},1}; - }; - - class LevelM25: Level0 { - type = "line"; - points[] = { - {"LevelM25",{-0.2,-0.03},1}, - {"LevelM25",{-0.2,0},1}, - {"LevelM25",{-0.15,0},1},{}, - {"LevelM25",{-0.1,0},1}, - {"LevelM25",{-0.05,0},1},{}, - {"LevelM25",{0.05,0},1}, - {"LevelM25",{0.1,0},1},{}, - {"LevelM25",{0.15,0},1}, - {"LevelM25",{0.2,0},1}, - {"LevelM25",{0.2,-0.03},1} - }; - }; - - class VALM_1_25 { - type = "text"; - source = "static"; - text = -25; - align = "left"; - scale = 1; - sourceScale = 57.2958; - pos[] = {"LevelM25",{-0.23,-0.085},1}; - right[] = {"LevelM25",{-0.13,-0.085},1}; - down[] = {"LevelM25",{-0.23,-0.035},1}; - }; - - class VALM_2_25: VALM_1_25 { - align = "right"; - pos[] = {"LevelM25",{0.22,-0.085},1}; - right[] = {"LevelM25",{0.32,-0.085},1}; - down[] = {"LevelM25",{0.22,-0.035},1}; - }; - - class LevelP25: Level0 { - type = "line"; - points[] = { - {"LevelP25",{-0.2,0.03},1}, - {"LevelP25",{-0.2,0},1}, - {"LevelP25",{-0.05,0},1},{}, - {"LevelP25",{0.05,0},1}, - {"LevelP25",{0.2,0},1}, - {"LevelP25",{0.2,0.03},1} - }; - }; - - class VALP_1_25 { - type = "text"; - source = "static"; - text = "25"; - align = "left"; - scale = 1; - sourceScale = 57.2958; - pos[] = {"LevelP25",{-0.23,0.035},1}; - right[] = {"LevelP25",{-0.13,0.035},1}; - down[] = {"LevelP25",{-0.23,0.085},1}; - }; - - class VALP_2_25: VALP_1_25 { - align = "right"; - pos[] = {"LevelP25",{0.22,0.035},1}; - right[] = {"LevelP25",{0.32,0.035},1}; - down[] = {"LevelP25",{0.22,0.085},1}; - }; - - class LevelM30: Level0 { - type = "line"; - points[] = { - {"LevelM30",{-0.2,-0.03},1}, - {"LevelM30",{-0.2,0},1}, - {"LevelM30",{-0.15,0},1},{}, - {"LevelM30",{-0.1,0},1}, - {"LevelM30",{-0.05,0},1},{}, - {"LevelM30",{0.05,0},1}, - {"LevelM30",{0.1,0},1},{}, - {"LevelM30",{0.15,0},1}, - {"LevelM30",{0.2,0},1}, - {"LevelM30",{0.2,-0.03},1} - }; - }; - - class VALM_1_30 { - type = "text"; - source = "static"; - text = -30; - align = "left"; - scale = 1; - sourceScale = 57.2958; - pos[] = {"LevelM30",{-0.23,-0.085},1}; - right[] = {"LevelM30",{-0.13,-0.085},1}; - down[] = {"LevelM30",{-0.23,-0.035},1}; - }; - - class VALM_2_30: VALM_1_30 { - align = "right"; - pos[] = {"LevelM30",{0.22,-0.085},1}; - right[] = {"LevelM30",{0.32,-0.085},1}; - down[] = {"LevelM30",{0.22,-0.035},1}; - }; - - class LevelP30: Level0 { - type = "line"; - points[] = { - {"LevelP30",{-0.2,0.03},1}, - {"LevelP30",{-0.2,0},1}, - {"LevelP30",{-0.05,0},1},{}, - {"LevelP30",{0.05,0},1}, - {"LevelP30",{0.2,0},1}, - {"LevelP30",{0.2,0.03},1} - }; - }; - - class VALP_1_30 { - type = "text"; - source = "static"; - text = "30"; - align = "left"; - scale = 1; - sourceScale = 57.2958; - pos[] = {"LevelP30",{-0.23,0.035},1}; - right[] = {"LevelP30",{-0.13,0.035},1}; - down[] = {"LevelP30",{-0.23,0.085},1}; - }; - - class VALP_2_30: VALP_1_30 { - align = "right"; - pos[] = {"LevelP30",{0.22,0.035},1}; - right[] = {"LevelP30",{0.32,0.035},1}; - down[] = {"LevelP30",{0.22,0.085},1}; - }; - - class LevelM35: Level0 { - type = "line"; - points[] = { - {"LevelM35",{-0.2,-0.03},1}, - {"LevelM35",{-0.2,0},1}, - {"LevelM35",{-0.15,0},1},{}, - {"LevelM35",{-0.1,0},1}, - {"LevelM35",{-0.05,0},1},{}, - {"LevelM35",{0.05,0},1}, - {"LevelM35",{0.1,0},1},{}, - {"LevelM35",{0.15,0},1}, - {"LevelM35",{0.2,0},1}, - {"LevelM35",{0.2,-0.03},1} - }; - }; - - class VALM_1_35 { - type = "text"; - source = "static"; - text = -35; - align = "left"; - scale = 1; - sourceScale = 57.2958; - pos[] = {"LevelM35",{-0.23,-0.085},1}; - right[] = {"LevelM35",{-0.13,-0.085},1}; - down[] = {"LevelM35",{-0.23,-0.035},1}; - }; - - class VALM_2_35: VALM_1_35 { - align = "right"; - pos[] = {"LevelM35",{0.22,-0.085},1}; - right[] = {"LevelM35",{0.32,-0.085},1}; - down[] = {"LevelM35",{0.22,-0.035},1}; - }; - - class LevelP35: Level0 { - type = "line"; - points[] = { - {"LevelP35",{-0.2,0.03},1}, - {"LevelP35",{-0.2,0},1}, - {"LevelP35",{-0.05,0},1},{}, - {"LevelP35",{0.05,0},1}, - {"LevelP35",{0.2,0},1}, - {"LevelP35",{0.2,0.03},1} - }; - }; - - class VALP_1_35 { - type = "text"; - source = "static"; - text = "35"; - align = "left"; - scale = 1; - sourceScale = 57.2958; - pos[] = {"LevelP35",{-0.23,0.035},1}; - right[] = {"LevelP35",{-0.13,0.035},1}; - down[] = {"LevelP35",{-0.23,0.085},1}; - }; - - class VALP_2_35: VALP_1_35 { - align = "right"; - pos[] = {"LevelP35",{0.22,0.035},1}; - right[] = {"LevelP35",{0.32,0.035},1}; - down[] = {"LevelP35",{0.22,0.085},1}; - }; - - class LevelM40: Level0 { - type = "line"; - points[] = { - {"LevelM40",{-0.2,-0.03},1}, - {"LevelM40",{-0.2,0},1}, - {"LevelM40",{-0.15,0},1},{}, - {"LevelM40",{-0.1,0},1}, - {"LevelM40",{-0.05,0},1},{}, - {"LevelM40",{0.05,0},1}, - {"LevelM40",{0.1,0},1},{}, - {"LevelM40",{0.15,0},1}, - {"LevelM40",{0.2,0},1}, - {"LevelM40",{0.2,-0.03},1} - }; - }; - - class VALM_1_40 { - type = "text"; - source = "static"; - text = -40; - align = "left"; - scale = 1; - sourceScale = 57.2958; - pos[] = {"LevelM40",{-0.23,-0.085},1}; - right[] = {"LevelM40",{-0.13,-0.085},1}; - down[] = {"LevelM40",{-0.23,-0.035},1}; - }; - - class VALM_2_40: VALM_1_40 { - align = "right"; - pos[] = {"LevelM40",{0.22,-0.085},1}; - right[] = {"LevelM40",{0.32,-0.085},1}; - down[] = {"LevelM40",{0.22,-0.035},1}; - }; - - class LevelP40: Level0 { - type = "line"; - points[] = { - {"LevelP40",{-0.2,0.03},1}, - {"LevelP40",{-0.2,0},1}, - {"LevelP40",{-0.05,0},1},{}, - {"LevelP40",{0.05,0},1}, - {"LevelP40",{0.2,0},1}, - {"LevelP40",{0.2,0.03},1} - }; - }; - - class VALP_1_40 { - type = "text"; - source = "static"; - text = "40"; - align = "left"; - scale = 1; - sourceScale = 57.2958; - pos[] = {"LevelP40",{-0.23,0.035},1}; - right[] = {"LevelP40",{-0.13,0.035},1}; - down[] = {"LevelP40",{-0.23,0.085},1}; - }; - - class VALP_2_40: VALP_1_40 { - align = "right"; - pos[] = {"LevelP40",{0.22,0.035},1}; - right[] = {"LevelP40",{0.32,0.035},1}; - down[] = {"LevelP40",{0.22,0.085},1}; - }; - - class LevelM45: Level0 { - type = "line"; - points[] = { - {"LevelM45",{-0.2,-0.03},1}, - {"LevelM45",{-0.2,0},1}, - {"LevelM45",{-0.15,0},1},{}, - {"LevelM45",{-0.1,0},1}, - {"LevelM45",{-0.05,0},1},{}, - {"LevelM45",{0.05,0},1}, - {"LevelM45",{0.1,0},1},{}, - {"LevelM45",{0.15,0},1}, - {"LevelM45",{0.2,0},1}, - {"LevelM45",{0.2,-0.03},1} - }; - }; - - class VALM_1_45 { - type = "text"; - source = "static"; - text = -45; - align = "left"; - scale = 1; - sourceScale = 57.2958; - pos[] = {"LevelM45",{-0.23,-0.085},1}; - right[] = {"LevelM45",{-0.13,-0.085},1}; - down[] = {"LevelM45",{-0.23,-0.035},1}; - }; - - class VALM_2_45: VALM_1_45 { - align = "right"; - pos[] = {"LevelM45",{0.22,-0.085},1}; - right[] = {"LevelM45",{0.32,-0.085},1}; - down[] = {"LevelM45",{0.22,-0.035},1}; - }; - - class LevelP45: Level0 { - type = "line"; - points[] = { - {"LevelP45",{-0.2,0.03},1}, - {"LevelP45",{-0.2,0},1}, - {"LevelP45",{-0.05,0},1},{}, - {"LevelP45",{0.05,0},1}, - {"LevelP45",{0.2,0},1}, - {"LevelP45",{0.2,0.03},1} - }; - }; - - class VALP_1_45 { - type = "text"; - source = "static"; - text = "45"; - align = "left"; - scale = 1; - sourceScale = 57.2958; - pos[] = {"LevelP45",{-0.23,0.035},1}; - right[] = {"LevelP45",{-0.13,0.035},1}; - down[] = {"LevelP45",{-0.23,0.085},1}; - }; - - class VALP_2_45: VALP_1_45 { - align = "right"; - pos[] = {"LevelP45",{0.22,0.035},1}; - right[] = {"LevelP45",{0.32,0.035},1}; - down[] = {"LevelP45",{0.22,0.085},1}; - }; - - class LevelM50: Level0 { - type = "line"; - points[] = { - {"LevelM50",{-0.2,-0.03},1}, - {"LevelM50",{-0.2,0},1}, - {"LevelM50",{-0.15,0},1},{}, - {"LevelM50",{-0.1,0},1}, - {"LevelM50",{-0.05,0},1},{}, - {"LevelM50",{0.05,0},1}, - {"LevelM50",{0.1,0},1},{}, - {"LevelM50",{0.15,0},1}, - {"LevelM50",{0.2,0},1}, - {"LevelM50",{0.2,-0.03},1} - }; - }; - - class VALM_1_50 { - type = "text"; - source = "static"; - text = -50; - align = "left"; - scale = 1; - sourceScale = 57.2958; - pos[] = {"LevelM50",{-0.23,-0.085},1}; - right[] = {"LevelM50",{-0.13,-0.085},1}; - down[] = {"LevelM50",{-0.23,-0.035},1}; - }; - - class VALM_2_50: VALM_1_50 { - align = "right"; - pos[] = {"LevelM50",{0.22,-0.085},1}; - right[] = {"LevelM50",{0.32,-0.085},1}; - down[] = {"LevelM50",{0.22,-0.035},1}; - }; - - class LevelP50: Level0 { - type = "line"; - points[] = { - {"LevelP50",{-0.2,0.03},1}, - {"LevelP50",{-0.2,0},1}, - {"LevelP50",{-0.05,0},1},{}, - {"LevelP50",{0.05,0},1}, - {"LevelP50",{0.2,0},1}, - {"LevelP50",{0.2,0.03},1} - }; - }; - - class VALP_1_50 { - type = "text"; - source = "static"; - text = "50"; - align = "left"; - scale = 1; - sourceScale = 57.2958; - pos[] = {"LevelP50",{-0.23,0.035},1}; - right[] = {"LevelP50",{-0.13,0.035},1}; - down[] = {"LevelP50",{-0.23,0.085},1}; - }; - - class VALP_2_50: VALP_1_50 { - align = "right"; - pos[] = {"LevelP50",{0.22,0.035},1}; - right[] = {"LevelP50",{0.32,0.035},1}; - down[] = {"LevelP50",{0.22,0.085},1}; - }; - }; - }; - - class PlaneMovementCrosshair { - clipTL[] = {0,1}; - clipBR[] = {1,0}; - type = "line"; - width = 6; - points[] = { - {"ForwardVec1",1,"Velocity",1,{"0 *2 /3","-0.02 *2 /3"},1}, - {"ForwardVec1",1,"Velocity",1,{"0.0099999998 *2 /3","-0.01732 *2 /3"},1}, - {"ForwardVec1",1,"Velocity",1,{"0.01732 *2 /3","-0.0099999998 *2 /3"},1}, - {"ForwardVec1",1,"Velocity",1,{"0.02 *2 /3","0 *2 /3"},1}, - {"ForwardVec1",1,"Velocity",1,{"0.01732 *2 /3","0.0099999998 *2 /3"},1}, - {"ForwardVec1",1,"Velocity",1,{"0.0099999998 *2 /3","0.01732 *2 /3"},1}, - {"ForwardVec1",1,"Velocity",1,{"0 *2 /3","0.02 *2 /3"},1}, - {"ForwardVec1",1,"Velocity",1,{"-0.0099999998 *2 /3","0.01732 *2 /3"},1}, - {"ForwardVec1",1,"Velocity",1,{"-0.01732 *2 /3","0.0099999998 *2 /3"},1}, - {"ForwardVec1",1,"Velocity",1,{"-0.02 *2 /3","0 *2 /3"},1}, - {"ForwardVec1",1,"Velocity",1,{"-0.01732 *2 /3","-0.0099999998 *2 /3"},1}, - {"ForwardVec1",1,"Velocity",1,{"-0.0099999998 *2 /3","-0.01732 *2 /3"},1}, - {"ForwardVec1",1,"Velocity",1,{"0 *2 /3","-0.02 *2 /3"},1},{}, - {"ForwardVec1",1,"Velocity",1,{0.035,0},1}, - {"ForwardVec1",1,"Velocity",1,{"0.02 *2 /3",0},1},{}, - {"ForwardVec1",1,"Velocity",1,{-0.035,0},1}, - {"ForwardVec1",1,"Velocity",1,{"-0.02 *2 /3",0},1},{}, - {"ForwardVec1",1,"Velocity",1,{0,"-0.039999999 *2 /3"},1}, - {"ForwardVec1",1,"Velocity",1,{0,"-0.02 *2 /3"},1} - }; - }; - - class RadarTargets { - type = "radar"; - pos0[] = {0.5,0.32}; - pos10[] = {1.382,1.145}; - width = 2.5; - points[] = { - {"ForwardVec",1,"RadarContact",{-0.02,-0.02},1}, - {"ForwardVec",1,"RadarContact",{0.02,-0.02},1}, - {"ForwardVec",1,"RadarContact",{0.02,0.02},1}, - {"ForwardVec",1,"RadarContact",{-0.02,0.02},1}, - {"ForwardVec",1,"RadarContact",{-0.02,-0.02},1} - }; - }; - - class AA_target { - condition = "AAmissile"; - class Target { - type = "line"; - points[] = { - /*{"TargetSelected",{ 0,"-0.08 + 0.2"},1}, - {"TargetSelected",{0.05,"-0.0696 + 0.2"},1}, - {"TargetSelected",{0.087,"-0.50*0.10/(1.5/1.2) + 0.2"},1}, - {"TargetSelected",{0.1,"0 + 0.2"},1}, - {"TargetSelected",{0.087,"0.04 + 0.2"},1}, - {"TargetSelected",{0.05,"+0.87*0.10/(1.5/1.2) + 0.2"},1}, - {"TargetSelected",{0,"0.08 + 0.2"},1}, - {"TargetSelected",{-0.05,"0.0696 + 0.2"},1}, - {"TargetSelected",{-0.087,"+0.50*0.10/(1.5/1.2) + 0.2"},1}, - {"TargetSelected",{-0.1,"0 + 0.2"},1}, - {"TargetSelected",{-0.087,"-0.04 + 0.2"},1}, - {"TargetSelected",{-0.05,"-0.87*0.10/(1.5/1.2) + 0.2"},1}, - {"TargetSelected",{0,"-0.08 + 0.2"},1}*/ - {"ForwardVec",1,"TargetSelected",1,{0,-0.02},1}, - {"ForwardVec",1,"TargetSelected",1,{0.0099999998,-0.01732},1}, - {"ForwardVec",1,"TargetSelected",1,{0.01732,-0.0099999998},1}, - {"ForwardVec",1,"TargetSelected",1,{0.02,0},1}, - {"ForwardVec",1,"TargetSelected",1,{0.01732,0.0099999998},1}, - {"ForwardVec",1,"TargetSelected",1,{0.0099999998,0.01732},1}, - {"ForwardVec",1,"TargetSelected",1,{0,0.02},1}, - {"ForwardVec",1,"TargetSelected",1,{-0.0099999998,0.01732},1}, - {"ForwardVec",1,"TargetSelected",1,{-0.01732,0.0099999998},1}, - {"ForwardVec",1,"TargetSelected",1,{-0.02,0},1}, - {"ForwardVec",1,"TargetSelected",1,{-0.01732,-0.0099999998},1}, - {"ForwardVec",1,"TargetSelected",1,{-0.0099999998,-0.01732},1}, - {"ForwardVec",1,"TargetSelected",1,{0,-0.02},1} - }; - }; - }; - - class AG_target { - condition = "ATmissile"; - class Target { - type = "line"; - points[] = { - /*{"TargetSelected",{0,"-0.08"},1}, - {"TargetSelected",{0.05,"-0.0696"},1}, - {"TargetSelected",{0.087,"-0.50*0.10/(1.5/1.2)"},1}, - {"TargetSelected",{0.1,"0"},1}, - {"TargetSelected",{0.087,"0.04"},1}, - {"TargetSelected",{0.05,"+0.87*0.10/(1.5/1.2)"},1}, - {"TargetSelected",{0,"0.08"},1}, - {"TargetSelected",{-0.05,"0.0696"},1}, - {"TargetSelected",{-0.087,"+0.50*0.10/(1.5/1.2)"},1}, - {"TargetSelected",{-0.1,"0"},1}, - {"TargetSelected",{-0.087,"-0.04"},1}, - {"TargetSelected",{-0.05,"-0.87*0.10/(1.5/1.2)"},1}, - {"TargetSelected",{0,"-0.08"},1},*/ - {"ForwardVec",1,"TargetSelected",1,{0,-0.02},1}, - {"ForwardVec",1,"TargetSelected",1,{0.0099999998,-0.01732},1}, - {"ForwardVec",1,"TargetSelected",1,{0.01732,-0.0099999998},1}, - {"ForwardVec",1,"TargetSelected",1,{0.02,0},1}, - {"ForwardVec",1,"TargetSelected",1,{0.01732,0.0099999998},1}, - {"ForwardVec",1,"TargetSelected",1,{0.0099999998,0.01732},1}, - {"ForwardVec",1,"TargetSelected",1,{0,0.02},1}, - {"ForwardVec",1,"TargetSelected",1,{-0.0099999998,0.01732},1}, - {"ForwardVec",1,"TargetSelected",1,{-0.01732,0.0099999998},1}, - {"ForwardVec",1,"TargetSelected",1,{-0.02,0},1}, - {"ForwardVec",1,"TargetSelected",1,{-0.01732,-0.0099999998},1}, - {"ForwardVec",1,"TargetSelected",1,{-0.0099999998,-0.01732},1}, - {"ForwardVec",1,"TargetSelected",1,{0,-0.02},1},{}, - {"ForwardVec",1,"TargetSelected",1,{0,-0.02},1}, - {"ForwardVec",1,"TargetSelected",1,{0,-0.01},1},{}, - {"ForwardVec",1,"TargetSelected",1,{0,0.02},1}, - {"ForwardVec",1,"TargetSelected",1,{0,0.01},1},{}, - {"ForwardVec",1,"TargetSelected",1,{0.02,0},1}, - {"ForwardVec",1,"TargetSelected",1,{0.01,0},1},{}, - {"ForwardVec",1,"TargetSelected",1,{-0.02,0},1}, - {"ForwardVec",1,"TargetSelected",1,{-0.01,0},1} - }; - }; - }; - - class GUN_target { - condition = "mgun"; - class Target { - type = "line"; - width = 4; - points[] = { - //////////////////////////////////////////////// UP - /*{"ForwardVec",1,"target",{ 0,-0.060},1}, - {"ForwardVec",1,"target",{ 0,-0.055},1},{}, - {"ForwardVec",1,"target",{ 0,-0.050},1}, - {"ForwardVec",1,"target",{ 0,-0.045},1},{}, - {"ForwardVec",1,"target",{ 0,-0.040},1}, - {"ForwardVec",1,"target",{ 0,-0.035},1},{},*/ - {"ForwardVec",1,"TargetSelected",1,{ 0,-0.030},1}, - {"ForwardVec",1,"TargetSelected",1,{ 0,-0.025},1},{}, - {"ForwardVec",1,"TargetSelected",1,{ 0,-0.020},1}, - {"ForwardVec",1,"TargetSelected",1,{ 0,-0.015},1},{}, - {"ForwardVec",1,"TargetSelected",1,{ 0,-0.010},1}, - {"ForwardVec",1,"TargetSelected",1,{ 0,-0.005},1},{}, - //////////////////////////////////////////////// center - {"ForwardVec",1,"TargetSelected",1,{ 0,0},1}, - {"ForwardVec",1,"TargetSelected",1,{ 0,0},1},{}, - /////////////////////////////////////////////// DOWN - /*{"ForwardVec",1,"target",{ 0,0.060},1}, - {"ForwardVec",1,"target",{ 0,0.055},1},{}, - {"ForwardVec",1,"target",{ 0,0.050},1}, - {"ForwardVec",1,"target",{ 0,0.045},1},{}, - {"ForwardVec",1,"target",{ 0,0.040},1}, - {"ForwardVec",1,"target",{ 0,0.035},1},{},*/ - {"ForwardVec",1,"TargetSelected",1,{ 0,0.030},1}, - {"ForwardVec",1,"TargetSelected",1,{ 0,0.025},1},{}, - {"ForwardVec",1,"TargetSelected",1,{ 0,0.020},1}, - {"ForwardVec",1,"TargetSelected",1,{ 0,0.015},1},{}, - {"ForwardVec",1,"TargetSelected",1,{ 0,0.010},1}, - {"ForwardVec",1,"TargetSelected",1,{ 0,0.005},1},{}, - /////////////////////////////////////////////// LEFT - /*{"ForwardVec",1,"target",{ -0.060, 0},1}, - {"ForwardVec",1,"target",{ -0.055, 0},1},{}, - {"ForwardVec",1,"target",{ -0.050, 0},1}, - {"ForwardVec",1,"target",{ -0.045, 0},1},{}, - {"ForwardVec",1,"target",{ -0.040, 0},1}, - {"ForwardVec",1,"target",{ -0.035, 0},1},{},*/ - {"ForwardVec",1,"TargetSelected",1,{ -0.030, 0},1}, - {"ForwardVec",1,"TargetSelected",1,{ -0.025, 0},1},{}, - {"ForwardVec",1,"TargetSelected",1,{ -0.020, 0},1}, - {"ForwardVec",1,"TargetSelected",1,{ -0.015, 0},1},{}, - {"ForwardVec",1,"TargetSelected",1,{ -0.010, 0},1}, - {"ForwardVec",1,"TargetSelected",1,{ -0.005, 0},1},{}, - /////////////////////////////////////////////// RIGHT - /*{"ForwardVec",1,"target",{ 0.060, 0},1}, - {"ForwardVec",1,"target",{ 0.055, 0},1},{}, - {"ForwardVec",1,"target",{ 0.050, 0},1}, - {"ForwardVec",1,"target",{ 0.045, 0},1},{}, - {"ForwardVec",1,"target",{ 0.040, 0},1}, - {"ForwardVec",1,"target",{ 0.035, 0},1},{},*/ - {"ForwardVec",1,"TargetSelected",1,{ 0.030, 0},1}, - {"ForwardVec",1,"TargetSelected",1,{ 0.025, 0},1},{}, - {"ForwardVec",1,"TargetSelected",1,{ 0.020, 0},1}, - {"ForwardVec",1,"TargetSelected",1,{ 0.015, 0},1},{}, - {"ForwardVec",1,"TargetSelected",1,{ 0.010, 0},1}, - {"ForwardVec",1,"TargetSelected",1,{ 0.005, 0},1},{} - }; - }; - }; - - class Rocket_target { - condition = "rocket"; - class Target { - type = "line"; - width = 4; - points[] = { - //////////////////////////////////////////////// UP - /*{"ForwardVec",1,"target",{ 0,-0.060},1}, - {"ForwardVec",1,"target",{ 0,-0.055},1},{}, - {"ForwardVec",1,"target",{ 0,-0.050},1}, - {"ForwardVec",1,"target",{ 0,-0.045},1},{}, - {"ForwardVec",1,"target",{ 0,-0.040},1}, - {"ForwardVec",1,"target",{ 0,-0.035},1},{},*/ - {"ForwardVec",1,"TargetSelected",1,{ 0,-0.030},1}, - {"ForwardVec",1,"TargetSelected",1,{ 0,-0.025},1},{}, - {"ForwardVec",1,"TargetSelected",1,{ 0,-0.020},1}, - {"ForwardVec",1,"TargetSelected",1,{ 0,-0.015},1},{}, - {"ForwardVec",1,"TargetSelected",1,{ 0,-0.010},1}, - {"ForwardVec",1,"TargetSelected",1,{ 0,-0.005},1},{}, - //////////////////////////////////////////////// center - {"ForwardVec",1,"TargetSelected",1,{ 0,0},1}, - {"ForwardVec",1,"TargetSelected",1,{ 0,0},1},{}, - /////////////////////////////////////////////// DOWN - /*{"ForwardVec",1,"target",{ 0,0.060},1}, - {"ForwardVec",1,"target",{ 0,0.055},1},{}, - {"ForwardVec",1,"target",{ 0,0.050},1}, - {"ForwardVec",1,"target",{ 0,0.045},1},{}, - {"ForwardVec",1,"target",{ 0,0.040},1}, - {"ForwardVec",1,"target",{ 0,0.035},1},{},*/ - {"ForwardVec",1,"TargetSelected",1,{ 0,0.030},1}, - {"ForwardVec",1,"TargetSelected",1,{ 0,0.025},1},{}, - {"ForwardVec",1,"TargetSelected",1,{ 0,0.020},1}, - {"ForwardVec",1,"TargetSelected",1,{ 0,0.015},1},{}, - {"ForwardVec",1,"TargetSelected",1,{ 0,0.010},1}, - {"ForwardVec",1,"TargetSelected",1,{ 0,0.005},1},{}, - /////////////////////////////////////////////// LEFT - /*{"ForwardVec",1,"target",{ -0.060, 0},1}, - {"ForwardVec",1,"target",{ -0.055, 0},1},{}, - {"ForwardVec",1,"target",{ -0.050, 0},1}, - {"ForwardVec",1,"target",{ -0.045, 0},1},{}, - {"ForwardVec",1,"target",{ -0.040, 0},1}, - {"ForwardVec",1,"target",{ -0.035, 0},1},{},*/ - {"ForwardVec",1,"TargetSelected",1,{ -0.030, 0},1}, - {"ForwardVec",1,"TargetSelected",1,{ -0.025, 0},1},{}, - {"ForwardVec",1,"TargetSelected",1,{ -0.020, 0},1}, - {"ForwardVec",1,"TargetSelected",1,{ -0.015, 0},1},{}, - {"ForwardVec",1,"TargetSelected",1,{ -0.010, 0},1}, - {"ForwardVec",1,"TargetSelected",1,{ -0.005, 0},1},{}, - /////////////////////////////////////////////// RIGHT - /*{"ForwardVec",1,"target",{ 0.060, 0},1}, - {"ForwardVec",1,"target",{ 0.055, 0},1},{}, - {"ForwardVec",1,"target",{ 0.050, 0},1}, - {"ForwardVec",1,"target",{ 0.045, 0},1},{}, - {"ForwardVec",1,"target",{ 0.040, 0},1}, - {"ForwardVec",1,"target",{ 0.035, 0},1},{},*/ - {"ForwardVec",1,"TargetSelected",1,{ 0.030, 0},1}, - {"ForwardVec",1,"TargetSelected",1,{ 0.025, 0},1},{}, - {"ForwardVec",1,"TargetSelected",1,{ 0.020, 0},1}, - {"ForwardVec",1,"TargetSelected",1,{ 0.015, 0},1},{}, - {"ForwardVec",1,"TargetSelected",1,{ 0.010, 0},1}, - {"ForwardVec",1,"TargetSelected",1,{ 0.005, 0},1},{} - }; - }; - }; - - class GunCross { - type = "group"; - condition = "mgun"; - class CCIP_circle { - type = "line"; - width = 5; - points[] = { - {"ForwardVec",1,"WeaponAimGUN",1,{"-1.2000 * 0.06","-0.0000 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimGUN",1,{"-1.0000 * 0.06","-0.0000 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimGUN",1,{"-0.9877 * 0.06","-0.1736 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimGUN",1,{"-0.9397 * 0.06","-0.3420 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimGUN",1,{"-0.8660 * 0.06","-0.5000 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimGUN",1,{"-0.7660 * 0.06","-0.6428 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimGUN",1,{"-0.6428 * 0.06","-0.7660 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimGUN",1,{"-0.5000 * 0.06","-0.8660 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimGUN",1,{"-0.3420 * 0.06","-0.9397 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimGUN",1,{"-0.1736 * 0.06","-0.9877 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimGUN",1,{"-0.0000 * 0.06","-1.0000 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimGUN",1,{"0.1736 * 0.06","-0.9877 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimGUN",1,{"0.3420 * 0.06","-0.9397 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimGUN",1,{"0.5000 * 0.06","-0.8660 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimGUN",1,{"0.6428 * 0.06","-0.7660 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimGUN",1,{"0.7660 * 0.06","-0.6428 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimGUN",1,{"0.8660 * 0.06","-0.5000 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimGUN",1,{"0.9397 * 0.06","-0.3420 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimGUN",1,{"0.9877 * 0.06","-0.1736 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimGUN",1,{"1.0000 * 0.06","-0.0000 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimGUN",1,{"1.2000 * 0.06","-0.0000 * 0.06"},1},{}, - {"ForwardVec",1,"WeaponAimGUN",1,{"-1.2000 * 0.06","0.0000 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimGUN",1,{"-1.0000 * 0.06","0.0000 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimGUN",1,{"-0.9877 * 0.06","0.1736 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimGUN",1,{"-0.9397 * 0.06","0.3420 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimGUN",1,{"-0.8660 * 0.06","0.5000 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimGUN",1,{"-0.7660 * 0.06","0.6428 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimGUN",1,{"-0.6428 * 0.06","0.7660 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimGUN",1,{"-0.5000 * 0.06","0.8660 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimGUN",1,{"-0.3420 * 0.06","0.9397 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimGUN",1,{"-0.1736 * 0.06","0.9877 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimGUN",1,{"-0.0000 * 0.06","1.0000 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimGUN",1,{"0.1736 * 0.06","0.9877 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimGUN",1,{"0.3420 * 0.06","0.9397 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimGUN",1,{"0.5000 * 0.06","0.8660 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimGUN",1,{"0.6428 * 0.06","0.7660 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimGUN",1,{"0.7660 * 0.06","0.6428 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimGUN",1,{"0.8660 * 0.06","0.5000 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimGUN",1,{"0.9397 * 0.06","0.3420 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimGUN",1,{"0.9877 * 0.06","0.1736 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimGUN",1,{"1.0000 * 0.06","0.0000 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimGUN",1,{"1.2000 * 0.06","0.0000 * 0.06"},1},{}, - {"ForwardVec",1,"WeaponAimGUN",1,{"-0.0000 * 0.06","-1.0000 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimGUN",1,{"-0.0000 * 0.06","-1.2000 * 0.06"},1},{}, - {"ForwardVec",1,"WeaponAimGUN",1,{"-0.0000 * 0.06","1.0000 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimGUN",1,{"-0.0000 * 0.06","1.2000 * 0.06"},1},{}, - {"ForwardVec",1,"WeaponAimGUN",1,{ 0.005,0},1}, - {"ForwardVec",1,"WeaponAimGUN",1,{ -0.005,0},1},{}, - {"ForwardVec",1,"WeaponAimGUN",1,{ 0,0.005},1}, - {"ForwardVec",1,"WeaponAimGUN",1,{ 0,-0.005},1} - }; - }; - }; - - class RocketCross { - type = "group"; - condition = "rocket"; - class CCIP_circle { - type = "line"; - width = 5; - points[] = { - {"ForwardVec",1,"WeaponAimROCKET",1,{"-1.2000 * 0.06","-0.0000 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimROCKET",1,{"-1.0000 * 0.06","-0.0000 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimROCKET",1,{"-0.9877 * 0.06","-0.1736 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimROCKET",1,{"-0.9397 * 0.06","-0.3420 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimROCKET",1,{"-0.8660 * 0.06","-0.5000 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimROCKET",1,{"-0.7660 * 0.06","-0.6428 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimROCKET",1,{"-0.6428 * 0.06","-0.7660 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimROCKET",1,{"-0.5000 * 0.06","-0.8660 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimROCKET",1,{"-0.3420 * 0.06","-0.9397 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimROCKET",1,{"-0.1736 * 0.06","-0.9877 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimROCKET",1,{"-0.0000 * 0.06","-1.0000 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimROCKET",1,{"0.1736 * 0.06","-0.9877 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimROCKET",1,{"0.3420 * 0.06","-0.9397 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimROCKET",1,{"0.5000 * 0.06","-0.8660 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimROCKET",1,{"0.6428 * 0.06","-0.7660 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimROCKET",1,{"0.7660 * 0.06","-0.6428 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimROCKET",1,{"0.8660 * 0.06","-0.5000 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimROCKET",1,{"0.9397 * 0.06","-0.3420 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimROCKET",1,{"0.9877 * 0.06","-0.1736 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimROCKET",1,{"1.0000 * 0.06","-0.0000 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimROCKET",1,{"1.2000 * 0.06","-0.0000 * 0.06"},1},{}, - {"ForwardVec",1,"WeaponAimROCKET",1,{"-1.2000 * 0.06","0.0000 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimROCKET",1,{"-1.0000 * 0.06","0.0000 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimROCKET",1,{"-0.9877 * 0.06","0.1736 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimROCKET",1,{"-0.9397 * 0.06","0.3420 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimROCKET",1,{"-0.8660 * 0.06","0.5000 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimROCKET",1,{"-0.7660 * 0.06","0.6428 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimROCKET",1,{"-0.6428 * 0.06","0.7660 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimROCKET",1,{"-0.5000 * 0.06","0.8660 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimROCKET",1,{"-0.3420 * 0.06","0.9397 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimROCKET",1,{"-0.1736 * 0.06","0.9877 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimROCKET",1,{"-0.0000 * 0.06","1.0000 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimROCKET",1,{"0.1736 * 0.06","0.9877 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimROCKET",1,{"0.3420 * 0.06","0.9397 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimROCKET",1,{"0.5000 * 0.06","0.8660 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimROCKET",1,{"0.6428 * 0.06","0.7660 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimROCKET",1,{"0.7660 * 0.06","0.6428 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimROCKET",1,{"0.8660 * 0.06","0.5000 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimROCKET",1,{"0.9397 * 0.06","0.3420 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimROCKET",1,{"0.9877 * 0.06","0.1736 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimROCKET",1,{"1.0000 * 0.06","0.0000 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimROCKET",1,{"1.2000 * 0.06","0.0000 * 0.06"},1},{}, - {"ForwardVec",1,"WeaponAimROCKET",1,{"-0.0000 * 0.06","-1.0000 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimROCKET",1,{"-0.0000 * 0.06","-1.2000 * 0.06"},1},{}, - {"ForwardVec",1,"WeaponAimROCKET",1,{"-0.0000 * 0.06","1.0000 * 0.06"},1}, - {"ForwardVec",1,"WeaponAimROCKET",1,{"-0.0000 * 0.06","1.2000 * 0.06"},1},{}, - {"ForwardVec",1,"WeaponAimROCKET",1,{ 0.005,0},1}, - {"ForwardVec",1,"WeaponAimROCKET",1,{ -0.005,0},1},{}, - {"ForwardVec",1,"WeaponAimROCKET",1,{ 0,0.005},1}, - {"ForwardVec",1,"WeaponAimROCKET",1,{ 0,-0.005},1} - }; - }; - }; - - class AC_Centerline { - type = "group"; - condition = "on"; - class RockCross { - type = "line"; - width = 4; - points[] = { - {"ForwardVec",1,{" -0.006 + 0.5","0 + 0.32"},1}, - {"ForwardVec",1,{" 0.006 + 0.5","0 + 0.32"},1},{}, - {"ForwardVec",1,{" -0.0 + 0.5","0.006 + 0.32"},1}, - {"ForwardVec",1,{" 0.0 + 0.5","-0.006 + 0.32"},1} - }; - }; - }; - - class ATMissileTOFGroup { - condition = "ATmissile"; - type = "group"; - class TOFtext { - type = "text"; - align = "right"; - source = "static"; - text = "TOF="; - scale = 1; - pos[] = {{0.15,0.62},1}; - right[] = {{0.19,0.62},1}; - down[] = {{0.15,0.66},1}; - }; - - class TOFnumber { - type = "text"; - source = "targetDist"; - sourcescale = 0.0025; - align = "right"; - scale = 1; - pos[] = {{0.23,0.62},1}; - right[] = {{0.27,0.62},1}; - down[] = {{0.23,0.66},1}; - }; - }; - - class BombTOFGroup { - condition = "Bomb"; - type = "group"; - class Crosshairs { - type = "line"; - width = 7; - points[] = { - {{"0 + 0.5","-0.02 + 0.5"},1}, - {{"0.0099999998 + 0.5","-0.01732 + 0.5"},1}, - {{"0.01732 + 0.5","-0.0099999998 + 0.5"},1}, - {{"0.02 + 0.5","0 + 0.5"},1}, - {{"0.01732 + 0.5","0.0099999998 + 0.5"},1}, - {{"0.0099999998 + 0.5","0.01732 + 0.5"},1}, - {{"0 + 0.5","0.02 + 0.5"},1}, - {{"-0.0099999998 + 0.5","0.01732 + 0.5"},1}, - {{"-0.01732 + 0.5","0.0099999998 + 0.5"},1}, - {{"-0.02 + 0.5","0 + 0.5"},1}, - {{"-0.01732 + 0.5","-0.0099999998 + 0.5"},1}, - {{"-0.0099999998 + 0.5","-0.01732 + 0.5"},1}, - {{"0 + 0.5","-0.02 + 0.5"},1},{}, - {{" -0.005 + 0.5","0 + 0.5"},1}, - {{" 0.005 + 0.5","0 + 0.5"},1},{}, - {{" -0.00 + 0.5","-0.005 + 0.5"},1}, - {{" 0.00 + 0.5","0.005 + 0.5"},1} - }; - }; - - /*class Target_Line_LGB { - type = "line"; - width = 5; - points[] = { - {"TargetSelected",{0,0},1}, - {"Velocity",{0,0},1} - }; - };*/ - - class Target_SPI_LGB { - type = "line"; - width = 3; - points[] = { - {"TargetSelected",{0,0},1}, - {"TargetSelected",{0,-0.05},1} - }; - }; - - class TOFtext { - type = "text"; - align = "right"; - source = "static"; - text = "TOF="; - scale = 1; - pos[] = {{0.15,0.62},1}; - right[] = {{0.19,0.62},1}; - down[] = {{0.15,0.66},1}; - }; - - class TOFnumber { - type = "text"; - source = "altitudeASL"; - sourcescale = 0.013; - align = "right"; - scale = 1; - pos[] = {{0.23,0.62},1}; - right[] = {{0.27,0.62},1}; - down[] = {{0.23,0.66},1}; - }; - - }; - - class ILS_Bars { - condition = "ils"; - class Glideslope { - clipTL[] = {0,0}; - clipBR[] = {1,1}; - class ILS { - type = "line"; - width = 2.5; - points[] = { - {"ForwardVec",1,"ILS_W",1,{-0.2,0},1}, - {"ForwardVec",1,"ILS_W",1,{0.2,0},1},{}, - {"ForwardVec",1,"ILS_W",1,{0,0.02},1}, - {"ForwardVec",1,"ILS_W",1,{0,-0.02},1},{}, - {"ForwardVec",1,"ILS_W",1,{0.1,0.02},1}, - {"ForwardVec",1,"ILS_W",1,{0.1,-0.02},1},{}, - {"ForwardVec",1,"ILS_W",1,{0.2,0.02},1}, - {"ForwardVec",1,"ILS_W",1,{0.2,-0.02},1},{}, - {"ForwardVec",1,"ILS_W",1,{-0.1,0.02},1}, - {"ForwardVec",1,"ILS_W",1,{-0.1,-0.02},1},{}, - {"ForwardVec",1,"ILS_W",1,{-0.2,0.02},1}, - {"ForwardVec",1,"ILS_W",1,{-0.2,-0.02},1},{}, - {"ForwardVec",1,"ILS_H",1,{0,-0.2},1}, - {"ForwardVec",1,"ILS_H",1,{0,0.2},1},{}, - {"ForwardVec",1,"ILS_H",1,{0.02,0},1}, - {"ForwardVec",1,"ILS_H",1,{-0.02,0},1},{}, - {"ForwardVec",1,"ILS_H",1,{0.02,0.1},1}, - {"ForwardVec",1,"ILS_H",1,{-0.02,0.1},1},{}, - {"ForwardVec",1,"ILS_H",1,{0.02,0.2},1}, - {"ForwardVec",1,"ILS_H",1,{-0.02,0.2},1},{}, - {"ForwardVec",1,"ILS_H",1,{0.02,-0.1},1}, - {"ForwardVec",1,"ILS_H",1,{-0.02,-0.1},1},{}, - {"ForwardVec",1,"ILS_H",1,{0.02,-0.2},1}, - {"ForwardVec",1,"ILS_H",1,{-0.02,-0.2},1},{} - }; - }; - }; - }; - }; - }; -}; diff --git a/TO_MERGE/agm/Aircraft/mfd_wildcat.hpp b/TO_MERGE/agm/Aircraft/mfd_wildcat.hpp deleted file mode 100644 index d3217f0ac4..0000000000 --- a/TO_MERGE/agm/Aircraft/mfd_wildcat.hpp +++ /dev/null @@ -1,784 +0,0 @@ - -class MFD { - class AirplaneHUD { - class Pos10Vector { - type = "vector"; - pos0[] = {0.5,0.5}; - pos10[] = {0.85,0.85}; - }; - - topLeft = "HUD_top_left"; - topRight = "HUD_top_right"; - bottomLeft = "HUD_bottom_left"; - borderLeft = 0; - borderRight = 0; - borderTop = 0; - borderBottom = 0; - color[] = {0.15,1,0.15,1}; - enableParallax = 0; - class Bones { - class PlaneOrientation { - type = "fixed"; - pos[] = {0.5,0.5}; - }; - - class GunnerAim { - type = "vector"; - source = "weapon"; - pos0[] = {0,0}; - pos10[] = {0.011,0.0027}; - }; - - class Target { - type = "vector"; - source = "target"; - pos0[] = {0.5,0.5}; - pos10[] = {0.85,0.85}; - }; - - class Velocity { - type = "vector"; - source = "velocity"; - pos0[] = {0.5,0.5}; - pos10[] = {0.65,0.65}; - }; - - class VspeedBone { - type = "linear"; - source = "vspeed"; - sourceScale = 1; - min = -10; - max = 10; - minPos[] = {0.93,0.2}; - maxPos[] = {0.93,0.8}; - }; - - class RadarAltitudeBone { - type = "linear"; - source = "altitudeAGL"; - sourceScale = 1; - min = 0; - max = 60; - minPos[] = {0.965,0.2}; - maxPos[] = {0.965,0.8}; - }; - - class HorizonBankRot { - type = "rotational"; - source = "horizonBank"; - center[] = {0.5,0.5}; - min = -3.1416; - max = 3.1416; - minAngle = -180; - maxAngle = 180; - aspectRatio = 1; - }; - - class ForwardVec { - type = "vector"; - source = "forward"; - pos0[] = {0,0}; - pos10[] = {0.2193,0.2193}; - }; - - class WeaponAim { - type = "vector"; - source = "weapon"; - pos0[] = {0.5,0.5}; - pos10[] = {0.75,0.75}; - }; - - class Level0 { - type = "horizon"; - pos0[] = {0.5,0.5}; - pos10[] = {0.78,0.78}; - angle = 0; - }; - }; - - class Draw { - color[] = {0.18,1,0.18}; - alpha = 1; - condition = "on"; - class Horizont { - clipTL[] = {0.15,0.15}; - clipBR[] = {0.85,0.85}; - class Dimmed { - class Level0 { - type = "line"; - points[] = { - {"Level0",{-0.42,0},1}, - {"Level0",{-0.38,0},1},{}, - {"Level0",{-0.37,0},1}, - {"Level0",{-0.33,0},1},{}, - {"Level0",{-0.32,0},1}, - {"Level0",{-0.28,0},1},{}, - {"Level0",{-0.27,0},1}, - {"Level0",{-0.23,0},1},{}, - {"Level0",{-0.22,0},1}, - {"Level0",{-0.18,0},1},{}, - {"Level0",{-0.17,0},1}, - {"Level0",{-0.13,0},1},{}, - {"Level0",{-0.12,0},1}, - {"Level0",{-0.08,0},1},{}, - {"Level0",{0.42,0},1}, - {"Level0",{0.38,0},1},{}, - {"Level0",{0.37,0},1}, - {"Level0",{0.33,0},1},{}, - {"Level0",{0.32,0},1}, - {"Level0",{0.28,0},1},{}, - {"Level0",{0.27,0},1}, - {"Level0",{0.23,0},1},{}, - {"Level0",{0.22,0},1}, - {"Level0",{0.18,0},1},{}, - {"Level0",{0.17,0},1}, - {"Level0",{0.13,0},1},{}, - {"Level0",{0.12,0},1}, - {"Level0",{0.08,0},1} - }; - }; - }; - }; - - /*class StaticBank { - type = "line"; - width = 3; - points[] = { - {{0.4782,0.251},1}, - {{0.4773,0.241},1},{}, - {{0.4566,0.2538},1}, - {{0.4549,0.2439},1},{}, - {{0.4353,0.2585},1}, - {{0.4301,0.2392},1},{}, - {{0.4145,0.2651},1}, - {{0.4111,0.2557},1},{}, - {{0.3943,0.2734},1}, - {{0.3901,0.2644},1},{}, - {{0.375,0.2835},1}, - {{0.365,0.2662},1},{}, - {{0.3232,0.3232},1}, - {{0.3091,0.3091},1},{}, - {{0.2835,0.375},1}, - {{0.2662,0.365},1},{}, - {{"0.5 + (0.5- 0.4782)",0.251},1}, - {{"0.5 + (0.5- 0.4773)",0.241},1},{}, - {{"0.5 + (0.5- 0.4566)",0.2538},1}, - {{"0.5 + (0.5- 0.4549)",0.2439},1},{}, - {{"0.5 + (0.5- 0.4353)",0.2585},1}, - {{"0.5 + (0.5- 0.4301)",0.2392},1},{}, - {{"0.5 + (0.5- 0.4145)",0.2651},1}, - {{"0.5 + (0.5- 0.4111)",0.2557},1},{}, - {{"0.5 + (0.5- 0.3943)",0.2734},1}, - {{"0.5 + (0.5- 0.3901)",0.2644},1},{}, - {{"0.5 + (0.5- 0.3750)",0.2835},1}, - {{"0.5 + (0.5- 0.3650)",0.2662},1},{}, - {{"0.5 + (0.5- 0.3232)",0.3232},1}, - {{"0.5 + (0.5- 0.3091)",0.3091},1},{}, - {{"0.5 + (0.5- 0.2835)",0.375},1}, - {{"0.5 + (0.5- 0.2662)",0.365},1},{}, - {{0.5,"0.5 - 0.25"},1}, - {{0.5,"0.5 - 0.28"},1} - }; - };*/ - - class HorizonBankRot { - type = "line"; - width = 3; - points[] = {{"HorizonBankRot",{0,0.25},1},{"HorizonBankRot",{-0.01,0.23},1},{"HorizonBankRot",{0.01,0.23},1},{"HorizonBankRot",{0,0.25},1}}; - }; - - class Static { - clipTL[] = {0,1}; - clipBR[] = {1,0}; - type = "line"; - width = 5; - points[] = {{{"0.5-0.1","0.9-0.04"},1},{{"0.5-0.1","0.9+0.04"},1},{{"0.5+0.1","0.9+0.04"},1},{{"0.5+0.1","0.9-0.04"},1},{{"0.5-0.1","0.9-0.04"},1},{},{{"0.5-0.1",0.9},1},{{"0.5-0.092",0.9},1},{},{{"0.5+0.1",0.9},1},{{"0.5+0.092",0.9},1},{},{{0.5,"0.9-0.04"},1},{{0.5,"0.9-0.032"},1},{},{{0.5,"0.9+0.04"},1},{{0.5,"0.9+0.032"},1},{}}; - }; - - class Centerline { - type = "line"; - width = 7; - points[] = {{{0.5,0.49},1},{{0.5,0.47},1},{},{{0.5,0.51},1},{{0.5,0.53},1},{},{{0.49,0.5},1},{{0.47,0.5},1},{},{{0.51,0.5},1},{{0.53,0.5},1},{}}; - }; - - class GunCross_CIRCLE { - type = "group"; - class CCIP_circle { - type = "line"; - width = 4; - points[] = { - {"ForwardVec",1,"PlaneOrientation",1,{"-1.2000 * 0.04","-0.0000 * 0.04"},1}, - {"ForwardVec",1,"PlaneOrientation",1,{"-1.0000 * 0.04","-0.0000 * 0.04"},1}, - {"ForwardVec",1,"PlaneOrientation",1,{"-0.9877 * 0.04","-0.1736 * 0.04"},1}, - {"ForwardVec",1,"PlaneOrientation",1,{"-0.9397 * 0.04","-0.3420 * 0.04"},1}, - {"ForwardVec",1,"PlaneOrientation",1,{"-0.8660 * 0.04","-0.5000 * 0.04"},1}, - {"ForwardVec",1,"PlaneOrientation",1,{"-0.7660 * 0.04","-0.6428 * 0.04"},1}, - {"ForwardVec",1,"PlaneOrientation",1,{"-0.6428 * 0.04","-0.7660 * 0.04"},1}, - {"ForwardVec",1,"PlaneOrientation",1,{"-0.5000 * 0.04","-0.8660 * 0.04"},1}, - {"ForwardVec",1,"PlaneOrientation",1,{"-0.3420 * 0.04","-0.9397 * 0.04"},1}, - {"ForwardVec",1,"PlaneOrientation",1,{"-0.1736 * 0.04","-0.9877 * 0.04"},1}, - {"ForwardVec",1,"PlaneOrientation",1,{"-0.0000 * 0.04","-1.0000 * 0.04"},1}, - {"ForwardVec",1,"PlaneOrientation",1,{"0.1736 * 0.04","-0.9877 * 0.04"},1}, - {"ForwardVec",1,"PlaneOrientation",1,{"0.3420 * 0.04","-0.9397 * 0.04"},1}, - {"ForwardVec",1,"PlaneOrientation",1,{"0.5000 * 0.04","-0.8660 * 0.04"},1}, - {"ForwardVec",1,"PlaneOrientation",1,{"0.6428 * 0.04","-0.7660 * 0.04"},1}, - {"ForwardVec",1,"PlaneOrientation",1,{"0.7660 * 0.04","-0.6428 * 0.04"},1}, - {"ForwardVec",1,"PlaneOrientation",1,{"0.8660 * 0.04","-0.5000 * 0.04"},1}, - {"ForwardVec",1,"PlaneOrientation",1,{"0.9397 * 0.04","-0.3420 * 0.04"},1}, - {"ForwardVec",1,"PlaneOrientation",1,{"0.9877 * 0.04","-0.1736 * 0.04"},1}, - {"ForwardVec",1,"PlaneOrientation",1,{"1.0000 * 0.04","-0.0000 * 0.04"},1}, - {"ForwardVec",1,"PlaneOrientation",1,{"1.2000 * 0.04","-0.0000 * 0.04"},1},{}, - {"ForwardVec",1,"PlaneOrientation",1,{"-1.2000 * 0.04","0.0000 * 0.04"},1}, - {"ForwardVec",1,"PlaneOrientation",1,{"-1.0000 * 0.04","0.0000 * 0.04"},1}, - {"ForwardVec",1,"PlaneOrientation",1,{"-0.9877 * 0.04","0.1736 * 0.04"},1}, - {"ForwardVec",1,"PlaneOrientation",1,{"-0.9397 * 0.04","0.3420 * 0.04"},1}, - {"ForwardVec",1,"PlaneOrientation",1,{"-0.8660 * 0.04","0.5000 * 0.04"},1}, - {"ForwardVec",1,"PlaneOrientation",1,{"-0.7660 * 0.04","0.6428 * 0.04"},1}, - {"ForwardVec",1,"PlaneOrientation",1,{"-0.6428 * 0.04","0.7660 * 0.04"},1}, - {"ForwardVec",1,"PlaneOrientation",1,{"-0.5000 * 0.04","0.8660 * 0.04"},1}, - {"ForwardVec",1,"PlaneOrientation",1,{"-0.3420 * 0.04","0.9397 * 0.04"},1}, - {"ForwardVec",1,"PlaneOrientation",1,{"-0.1736 * 0.04","0.9877 * 0.04"},1}, - {"ForwardVec",1,"PlaneOrientation",1,{"-0.0000 * 0.04","1.0000 * 0.04"},1}, - {"ForwardVec",1,"PlaneOrientation",1,{"0.1736 * 0.04","0.9877 * 0.04"},1}, - {"ForwardVec",1,"PlaneOrientation",1,{"0.3420 * 0.04","0.9397 * 0.04"},1}, - {"ForwardVec",1,"PlaneOrientation",1,{"0.5000 * 0.04","0.8660 * 0.04"},1}, - {"ForwardVec",1,"PlaneOrientation",1,{"0.6428 * 0.04","0.7660 * 0.04"},1}, - {"ForwardVec",1,"PlaneOrientation",1,{"0.7660 * 0.04","0.6428 * 0.04"},1}, - {"ForwardVec",1,"PlaneOrientation",1,{"0.8660 * 0.04","0.5000 * 0.04"},1}, - {"ForwardVec",1,"PlaneOrientation",1,{"0.9397 * 0.04","0.3420 * 0.04"},1}, - {"ForwardVec",1,"PlaneOrientation",1,{"0.9877 * 0.04","0.1736 * 0.04"},1}, - {"ForwardVec",1,"PlaneOrientation",1,{"1.0000 * 0.04","0.0000 * 0.04"},1}, - {"ForwardVec",1,"PlaneOrientation",1,{"1.2000 * 0.04","0.0000 * 0.04"},1},{}, - {"ForwardVec",1,"PlaneOrientation",1,{"-0.0000 * 0.04","-1.0000 * 0.04"},1}, - {"ForwardVec",1,"PlaneOrientation",1,{"-0.0000 * 0.04","-1.2000 * 0.04"},1},{}, - {"ForwardVec",1,"PlaneOrientation",1,{"-0.0000 * 0.04","1.0000 * 0.04"},1}, - {"ForwardVec",1,"PlaneOrientation",1,{"-0.0000 * 0.04","1.2000 * 0.04"},1},{}, - {"ForwardVec",1,"PlaneOrientation",1,{0.005,0},1}, - {"ForwardVec",1,"PlaneOrientation",1,{-0.005,0},1},{}, - {"ForwardVec",1,"PlaneOrientation",1,{0,0.005},1}, - {"ForwardVec",1,"PlaneOrientation",1,{0,-0.005},1} - }; - }; - }; - - class Gunner { - type = "line"; - width = 6; - points[] = { - {"GunnerAim",{"0.5-0.015","0.9-0.008"},1}, - {"GunnerAim",{"0.5-0.015","0.9+0.008"},1}, - {"GunnerAim",{"0.5+0.015","0.9+0.008"},1}, - {"GunnerAim",{"0.5+0.015","0.9-0.008"},1}, - {"GunnerAim",{"0.5-0.015","0.9-0.008"},1} - }; - }; - - class WeaponName { - type = "text"; - source = "weapon"; - sourceScale = 1; - align = "right"; - scale = 1; - pos[] = {{0.61,0.86},1}; - right[] = {{0.65,0.86},1}; - down[] = {{0.61,0.9},1}; - }; - - class AmmoCount { - type = "text"; - source = "ammo"; - sourceScale = 1; - align = "right"; - scale = 1; - pos[] = {{0.61,0.89},1}; - right[] = {{0.65,0.89},1}; - down[] = {{0.61,0.93},1}; - }; - - class LightsGroup { - type = "group"; - condition = "lights"; - class LightsText { - type = "text"; - source = "static"; - text = "LIGHTS"; - align = "right"; - scale = 1; - pos[] = {{0.03,"0.53 + 0.055"},1}; - right[] = {{0.07,"0.53 + 0.055"},1}; - down[] = {{0.03,"0.53 + 0.095"},1}; - }; - }; - - class CollisionLightsGroup { - type = "group"; - condition = "collisionlights"; - class CollisionLightsText { - type = "text"; - source = "static"; - text = "A-COL"; - align = "right"; - scale = 1; - pos[] = {{0.03,"0.53 + 0.105"},1}; - right[] = {{0.07,"0.53 + 0.105"},1}; - down[] = {{0.03,"0.53 + 0.145"},1}; - }; - }; - - class ATMissileTOFGroup { - condition = "ATmissile"; - type = "group"; - class TOFtext { - type = "text"; - align = "right"; - source = "static"; - text = "TOF="; - scale = 1; - pos[] = {{0.61,0.92},1}; - right[] = {{0.65,0.92},1}; - down[] = {{0.61,0.96},1}; - }; - - class TOFnumber { - type = "text"; - source = "targetDist"; - sourcescale = 0.0025; - align = "right"; - scale = 1; - pos[] = {{0.69,0.92},1}; - right[] = {{0.73,0.92},1}; - down[] = {{0.69,0.96},1}; - }; - }; - - class RangeNumber { - type = "text"; - source = "targetDist"; - sourceScale = 1; - align = "left"; - scale = 1; - pos[] = {{0.39,0.89},1}; - right[] = {{0.43,0.89},1}; - down[] = {{0.39,0.93},1}; - }; - - class RangeText { - type = "text"; - source = "static"; - text = "RNG"; - align = "left"; - scale = 1; - pos[] = {{0.39,0.86},1}; - right[] = {{0.43,0.86},1}; - down[] = {{0.39,0.9},1}; - }; - - class SpeedNumber { - type = "text"; - align = "right"; - scale = 1; - source = "speed"; - sourceScale = 3.6; - pos[] = {{0.03,0.475},1}; - right[] = {{0.08,0.475},1}; - down[] = {{0.03,0.525},1}; - }; - - class TorqueNumber { - type = "text"; - align = "left"; - scale = 1; - source = "rtdRotorTorque"; - sourceScale = 363; - pos[] = {{0.065,0.175},1}; - right[] = {{0.115,0.175},1}; - down[] = {{0.065,0.225},1}; - }; - - class Torquetext { - type = "text"; - source = "static"; - text = "%"; - align = "right"; - scale = 1; - pos[] = {{0.07,0.175},1}; - right[] = {{0.12,0.175},1}; - down[] = {{0.07,0.225},1}; - }; - - class AltNumber { - type = "text"; - align = "right"; - scale = 1; - source = "altitudeAGL"; - sourceScale = 1; - pos[] = {{0.83,0.475},1}; - right[] = {{0.88,0.475},1}; - down[] = {{0.83,0.525},1}; - }; - - class ASLNumber { - type = "text"; - source = "altitudeASL"; - sourceScale = 1; - align = "right"; - scale = 1; - pos[] = {{0.835,0.18},1}; - right[] = {{0.875,0.18},1}; - down[] = {{0.835,0.22},1}; - }; - - class VspeedScalePosta { - type = "line"; - width = 5; - points[] = { - {{0.98,0.2},1}, - {{1,0.2},1},{}, - {{0.93,0.2},1}, - {{0.95,0.2},1},{}, - {{0.98,0.35},1}, - {{1,0.35},1},{}, - {{0.93,0.35},1}, - {{0.95,0.35},1},{}, - {{0.94,0.38},1}, - {{0.95,0.38},1},{}, - {{0.94,0.41},1}, - {{0.95,0.41},1},{}, - {{0.94,0.44},1}, - {{0.95,0.44},1},{}, - {{0.94,0.47},1}, - {{0.95,0.47},1},{}, - {{0.98,0.5},1}, - {{1,0.5},1},{}, - {{0.93,0.5},1}, - {{0.95,0.5},1},{}, - {{0.94,0.53},1}, - {{0.95,0.53},1},{}, - {{0.94,0.56},1}, - {{0.95,0.56},1},{}, - {{0.94,0.59},1}, - {{0.95,0.59},1},{}, - {{0.94,0.62},1}, - {{0.95,0.62},1},{}, - {{0.98,0.65},1}, - {{1,0.65},1},{}, - {{0.93,0.65},1}, - {{0.95,0.65},1},{}, - {{0.99,0.68},1}, - {{0.98,0.68},1},{}, - {{0.99,0.71},1}, - {{0.98,0.71},1},{}, - {{0.99,0.74},1}, - {{0.98,0.74},1},{}, - {{0.99,0.77},1}, - {{0.98,0.77},1},{}, - {{0.98,0.8},1}, - {{1,0.8},1},{}, - {{0.93,0.8},1}, - {{0.95,0.8},1},{} - }; - }; - - class RadarAltitudeBand { - clipTL[] = {0,0.2}; - clipBR[] = {1,0.8}; - class radarbanda { - type = "line"; - width = 17; - points[] = { - {"RadarAltitudeBone",{0,0},1}, - {"RadarAltitudeBone",{0,0.6},1} - }; - }; - }; - - class VspeedBand { - type = "line"; - width = 3; - points[] = { - {"VspeedBone",{-0.01,0},1}, - {"VspeedBone",{-0.025,-0.015},1}, - {"VspeedBone",{-0.025,0.015},1}, - {"VspeedBone",{-0.01,0},1},{} - }; - }; - - class HeadingNumber: SpeedNumber { - source = "heading"; - sourceScale = 1; - align = "center"; - pos[] = {{0.5,0.01},1}; - right[] = {{0.56,0.01},1}; - down[] = {{0.5,0.06},1}; - }; - - class Center_box { - type = "line"; - width = 3; - points[] = { - {{0.44,0.005},1}, - {{"0.44 + 0.12",0.005},1}, - {{"0.44 + 0.12","0.005 + 0.06"},1}, - {{0.44,"0.005 + 0.06"},1}, - {{0.44,0.005},1} - }; - }; - - class HeadingArrow { - type = "line"; - width = 7; - points[] = { - {{"0.5","0.128 + 0.03"},1}, - {{0.5,0.128},1} - }; - }; - - class HeadingScale { - type = "scale"; - horizontal = 1; - source = "heading"; - sourceScale = 1; - width = 5; - top = 0.12; - center = 0.5; - bottom = 0.88; - lineXleft = "0.03 + 0.085"; - lineYright = "0.02 + 0.085"; - lineXleftMajor = "0.04 + 0.085"; - lineYrightMajor = "0.02 + 0.085"; - majorLineEach = 3; - numberEach = 3; - step = 10; - stepSize = "0.05"; - align = "center"; - scale = 1; - pos[] = {0.119,"0.0 + 0.065"}; - right[] = {0.159,"0.0 + 0.065"}; - down[] = {0.119,"0.04 + 0.065"}; - }; - - class Fuel_Text { - type = "text"; - source = "static"; - text = "Fuel"; - align = "right"; - scale = 1; - pos[] = {{0.03,0.9},1}; - right[] = {{0.07,0.9},1}; - down[] = {{0.03,0.94},1}; - }; - - class Fuel_Number { - type = "text"; - source = "fuel"; - sourceScale = 100; - align = "right"; - scale = 1; - pos[] = {{0.1,0.9},1}; - right[] = {{0.14,0.9},1}; - down[] = {{0.1,0.94},1}; - }; - }; - - helmetMountedDisplay = 1; - helmetPosition[] = {-0.04,0.04,0.1}; - helmetRight[] = {0.08,0,0}; - helmetDown[] = {0,-0.08,0}; - }; - - class LittleHUD { - class Pos10Vector { - type = "vector"; - pos0[] = {0.5,0.5}; - pos10[] = {0.722,0.722}; - }; - - topLeft = "HUD_top_left"; - topRight = "HUD_top_right"; - bottomLeft = "HUD_bottom_left"; - borderLeft = 0; - borderRight = 0; - borderTop = 0; - borderBottom = 0; - color[] = {0.15,1,0.15,1}; - enableParallax = 0; - class Bones { - class Velocity { - type = "vector"; - source = "velocity"; - pos0[] = {0.5,0.5}; - pos10[] = {0.75,0.75}; - }; - - class ForwardVec1 { - type = "vector"; - source = "forward"; - pos0[] = {0,0}; - pos10[] = {0.25,0.25}; - }; - - class ForwardVec { - type = "vector"; - source = "forward"; - pos0[] = {0,0}; - pos10[] = {0.253,0.253}; - }; - - class WeaponAim { - type = "vector"; - source = "weapon"; - pos0[] = {0.5,0.5}; - pos10[] = {0.753,0.753}; - }; - - class WeaponAim1 { - type = "vector"; - source = "weapon"; - pos0[] = {0,0}; - pos10[] = {0.253,0.23}; - }; - - class Target { - type = "vector"; - source = "target"; - pos0[] = {0.5,0.5}; - pos10[] = {0.753,0.753}; - }; - - class RadarContact { - type = "fixed"; - pos[] = {0,0}; - }; - }; - - class Draw { - color[] = {0.18,1,0.18}; - alpha = 1; - condition = "on"; - class PlaneMovementCrosshair { - type = "line"; - width = 7; - points[] = { - {"ForwardVec1",1,"Velocity",1,{0,-0.02},1}, - {"ForwardVec1",1,"Velocity",1,{0.01,-0.01732},1}, - {"ForwardVec1",1,"Velocity",1,{0.01732,-0.01},1}, - {"ForwardVec1",1,"Velocity",1,{0.02,0},1}, - {"ForwardVec1",1,"Velocity",1,{0.01732,0.01},1}, - {"ForwardVec1",1,"Velocity",1,{0.01,0.01732},1}, - {"ForwardVec1",1,"Velocity",1,{0,0.02},1}, - {"ForwardVec1",1,"Velocity",1,{-0.01,0.01732},1}, - {"ForwardVec1",1,"Velocity",1,{-0.01732,0.01},1}, - {"ForwardVec1",1,"Velocity",1,{-0.02,0},1}, - {"ForwardVec1",1,"Velocity",1,{-0.01732,-0.01},1}, - {"ForwardVec1",1,"Velocity",1,{-0.01,-0.01732},1}, - {"ForwardVec1",1,"Velocity",1,{0,-0.02},1},{}, - {"ForwardVec1",1,"Velocity",1,{0.04,0},1}, - {"ForwardVec1",1,"Velocity",1,{0.02,0},1},{}, - {"ForwardVec1",1,"Velocity",1,{-0.04,0},1}, - {"ForwardVec1",1,"Velocity",1,{-0.02,0},1},{}, - {"ForwardVec1",1,"Velocity",1,{0,-0.04},1}, - {"ForwardVec1",1,"Velocity",1,{0,-0.02},1} - }; - }; - - class TargetACQ { - type = "line"; - width = 2; - points[] = { - //////////////////////////////////////////////// UP - /*{"ForwardVec1",1,"target",{0,-0.1},1}, - {"ForwardVec1",1,"target",{0,-0.095},1},{}, - {"ForwardVec1",1,"target",{0,-0.09},1}, - {"ForwardVec1",1,"target",{0,-0.085},1},{}, - {"ForwardVec1",1,"target",{0,-0.08},1}, - {"ForwardVec1",1,"target",{0,-0.075},1},{}, - {"ForwardVec1",1,"target",{0,-0.07},1}, - {"ForwardVec1",1,"target",{0,-0.065},1},{},*/ - {"ForwardVec",1,"target",{0,-0.06},1}, - {"ForwardVec",1,"target",{0,-0.055},1},{}, - {"ForwardVec",1,"target",{0,-0.05},1}, - {"ForwardVec",1,"target",{0,-0.045},1},{}, - {"ForwardVec",1,"target",{0,-0.04},1}, - {"ForwardVec",1,"target",{0,-0.035},1},{}, - {"ForwardVec",1,"target",{0,-0.03},1}, - {"ForwardVec",1,"target",{0,-0.025},1},{}, - {"ForwardVec",1,"target",{0,-0.02},1}, - {"ForwardVec",1,"target",{0,-0.015},1},{}, - {"ForwardVec",1,"target",{0,-0.01},1}, - {"ForwardVec",1,"target",{0,-0.005},1},{}, - //////////////////////////////////////////////// center - {"ForwardVec",1,"target",{0,0},1}, - {"ForwardVec",1,"target",{0,0},1},{}, - /////////////////////////////////////////////// DOWN - /*{"ForwardVec1",1,"target",{0,0.1},1}, - {"ForwardVec1",1,"target",{0,0.095},1},{}, - {"ForwardVec1",1,"target",{0,0.09},1}, - {"ForwardVec1",1,"target",{0,0.085},1},{}, - {"ForwardVec1",1,"target",{0,0.080},1}, - {"ForwardVec1",1,"target",{0,0.075},1},{}, - {"ForwardVec1",1,"target",{0,0.070},1}, - {"ForwardVec1",1,"target",{0,0.065},1},{},*/ - {"ForwardVec",1,"target",{0,0.060},1}, - {"ForwardVec",1,"target",{0,0.055},1},{}, - {"ForwardVec",1,"target",{0,0.050},1}, - {"ForwardVec",1,"target",{0,0.045},1},{}, - {"ForwardVec",1,"target",{0,0.040},1}, - {"ForwardVec",1,"target",{0,0.035},1},{}, - {"ForwardVec",1,"target",{0,0.030},1}, - {"ForwardVec",1,"target",{0,0.025},1},{}, - {"ForwardVec",1,"target",{0,0.020},1}, - {"ForwardVec",1,"target",{0,0.015},1},{}, - {"ForwardVec",1,"target",{0,0.010},1}, - {"ForwardVec",1,"target",{0,0.005},1},{}, - /////////////////////////////////////////////// LEFT - /*{"ForwardVec1",1,"target",{-0.10, 0},1}, - {"ForwardVec1",1,"target",{-0.095, 0},1},{}, - {"ForwardVec1",1,"target",{-0.09, 0},1}, - {"ForwardVec1",1,"target",{-0.085, 0},1},{}, - {"ForwardVec1",1,"target",{-0.080, 0},1}, - {"ForwardVec1",1,"target",{-0.075, 0},1},{}, - {"ForwardVec1",1,"target",{-0.070, 0},1}, - {"ForwardVec1",1,"target",{-0.065, 0},1},{},*/ - {"ForwardVec",1,"target",{-0.060, 0},1}, - {"ForwardVec",1,"target",{-0.055, 0},1},{}, - {"ForwardVec",1,"target",{-0.050, 0},1}, - {"ForwardVec",1,"target",{-0.045, 0},1},{}, - {"ForwardVec",1,"target",{-0.040, 0},1}, - {"ForwardVec",1,"target",{-0.035, 0},1},{}, - {"ForwardVec",1,"target",{-0.030, 0},1}, - {"ForwardVec",1,"target",{-0.025, 0},1},{}, - {"ForwardVec",1,"target",{-0.020, 0},1}, - {"ForwardVec",1,"target",{-0.015, 0},1},{}, - {"ForwardVec",1,"target",{-0.010, 0},1}, - {"ForwardVec",1,"target",{-0.005, 0},1},{}, - /////////////////////////////////////////////// RIGHT - /*{"ForwardVec1",1,"target",{0.10, 0},1}, - {"ForwardVec1",1,"target",{0.095, 0},1},{}, - {"ForwardVec1",1,"target",{0.09, 0},1}, - {"ForwardVec1",1,"target",{0.085, 0},1},{}, - {"ForwardVec1",1,"target",{0.080, 0},1}, - {"ForwardVec1",1,"target",{0.075, 0},1},{}, - {"ForwardVec1",1,"target",{0.070, 0},1}, - {"ForwardVec1",1,"target",{0.065, 0},1},{},*/ - {"ForwardVec",1,"target",{0.060, 0},1}, - {"ForwardVec",1,"target",{0.055, 0},1},{}, - {"ForwardVec",1,"target",{0.050, 0},1}, - {"ForwardVec",1,"target",{0.045, 0},1},{}, - {"ForwardVec",1,"target",{0.040, 0},1}, - {"ForwardVec",1,"target",{0.035, 0},1},{}, - {"ForwardVec",1,"target",{0.030, 0},1}, - {"ForwardVec",1,"target",{0.025, 0},1},{}, - {"ForwardVec",1,"target",{0.020, 0},1}, - {"ForwardVec",1,"target",{0.015, 0},1},{}, - {"ForwardVec",1,"target",{0.010, 0},1}, - {"ForwardVec",1,"target",{0.005, 0},1},{} - }; - }; - }; - - helmetMountedDisplay = 1; - helmetPosition[] = {-0.035,0.035,0.1}; - helmetRight[] = {0.07,0,0}; - helmetDown[] = {0,-0.07,0}; - }; -}; diff --git a/TO_MERGE/agm/Aircraft/mfd_wildcat_unarmed.hpp b/TO_MERGE/agm/Aircraft/mfd_wildcat_unarmed.hpp deleted file mode 100644 index 26f4b42dc5..0000000000 --- a/TO_MERGE/agm/Aircraft/mfd_wildcat_unarmed.hpp +++ /dev/null @@ -1,896 +0,0 @@ - -class MFD { - class AirplaneHUD { - class Pos10Vector { - type = "vector"; - pos0[] = {0.5,0.5}; - pos10[] = {0.85,0.85}; - }; - - topLeft = "HUD_top_left"; - topRight = "HUD_top_right"; - bottomLeft = "HUD_bottom_left"; - borderLeft = 0; - borderRight = 0; - borderTop = 0; - borderBottom = 0; - color[] = {0.15,1,0.15,1}; - enableParallax = 0; - class Bones { - class PlaneOrientation { - type = "fixed"; - pos[] = {0.5,0.5}; - }; - - class GunnerAim { - type = "vector"; - source = "weapon"; - pos0[] = {0,0}; - pos10[] = {0.011,0.0027}; - }; - - class Target { - type = "vector"; - source = "target"; - pos0[] = {0.5,0.5}; - pos10[] = {0.85,0.85}; - }; - - class Velocity { - type = "vector"; - source = "velocity"; - pos0[] = {0.5,0.5}; - pos10[] = {0.65,0.65}; - }; - - class VspeedBone { - type = "linear"; - source = "vspeed"; - sourceScale = 1; - min = -10; - max = 10; - minPos[] = {0.93,0.2}; - maxPos[] = {0.93,0.8}; - }; - - class RadarAltitudeBone { - type = "linear"; - source = "altitudeAGL"; - sourceScale = 1; - min = 0; - max = 60; - minPos[] = {0.965,0.2}; - maxPos[] = {0.965,0.8}; - }; - - class HorizonBankRot { - type = "rotational"; - source = "horizonBank"; - center[] = {0.5,0.5}; - min = -3.1416; - max = 3.1416; - minAngle = -180; - maxAngle = 180; - aspectRatio = 1; - }; - - class ForwardVec { - type = "vector"; - source = "forward"; - pos0[] = {0,0}; - pos10[] = {0.235,0.235}; - }; - - class WeaponAim { - type = "vector"; - source = "weapon"; - pos0[] = {0.5,0.5}; - pos10[] = {0.75,0.75}; - }; - - class Level0 { - type = "horizon"; - pos0[] = {0.5,0.5}; - pos10[] = {0.78,0.78}; - angle = 0; - }; - - class LevelP5: Level0 { - angle = 5; - }; - - class LevelM5: Level0 { - angle = -5; - }; - - class LevelP10: Level0 { - angle = 10; - }; - - class LevelM10: Level0 { - angle = -10; - }; - - class LevelP15: Level0 { - angle = 15; - }; - - class LevelM15: Level0 { - angle = -15; - }; - - class LevelP20: Level0 { - angle = 20; - }; - - class LevelM20: Level0 { - angle = -20; - }; - - class LevelP25: Level0 { - angle = 25; - }; - - class LevelM25: Level0 { - angle = -25; - }; - - class LevelP30: Level0 { - angle = 30; - }; - - class LevelM30: Level0 { - angle = -30; - }; - - class LevelP35: Level0 { - angle = 35; - }; - - class LevelM35: Level0 { - angle = -35; - }; - - class LevelP40: Level0 { - angle = 40; - }; - - class LevelM40: Level0 { - angle = -40; - }; - - class LevelP45: Level0 { - angle = 45; - }; - - class LevelM45: Level0 { - angle = -45; - }; - - class LevelP50: Level0 { - angle = 50; - }; - - class LevelM50: Level0 { - angle = -50; - }; - - class LevelP55: Level0 { - angle = 55; - }; - - class LevelM55: Level0 { - angle = -55; - }; - - class LevelP60: Level0 { - angle = 60; - }; - - class LevelM60: Level0 { - angle = -60; - }; - - class LevelP65: Level0 { - angle = 65; - }; - - class LevelM65: Level0 { - angle = -65; - }; - - class LevelP70: Level0 { - angle = 70; - }; - - class LevelM70: Level0 { - angle = -70; - }; - - class LevelP75: Level0 { - angle = 75; - }; - - class LevelM75: Level0 { - angle = -75; - }; - - class LevelP80: Level0 { - angle = 80; - }; - - class LevelM80: Level0 { - angle = -80; - }; - - class LevelP85: Level0 { - angle = 85; - }; - - class LevelM85: Level0 { - angle = -85; - }; - - class LevelP90: Level0 { - angle = 90; - }; - - class LevelM90: Level0 { - angle = -90; - }; - }; - - class Draw { - color[] = {0.18,1,0.18}; - alpha = 1; - condition = "on"; - class Horizont { - clipTL[] = {0.15,0.15}; - clipBR[] = {0.85,0.85}; - class Dimmed { - class Level0 { - type = "line"; - points[] = { - {"Level0",{-0.42,0},1}, - {"Level0",{-0.38,0},1},{}, - {"Level0",{-0.37,0},1}, - {"Level0",{-0.33,0},1},{}, - {"Level0",{-0.32,0},1}, - {"Level0",{-0.28,0},1},{}, - {"Level0",{-0.27,0},1}, - {"Level0",{-0.23,0},1},{}, - {"Level0",{-0.22,0},1}, - {"Level0",{-0.18,0},1},{}, - {"Level0",{-0.17,0},1}, - {"Level0",{-0.13,0},1},{}, - {"Level0",{-0.12,0},1}, - {"Level0",{-0.08,0},1},{}, - {"Level0",{0.42,0},1}, - {"Level0",{0.38,0},1},{}, - {"Level0",{0.37,0},1}, - {"Level0",{0.33,0},1},{}, - {"Level0",{0.32,0},1}, - {"Level0",{0.28,0},1},{}, - {"Level0",{0.27,0},1}, - {"Level0",{0.23,0},1},{}, - {"Level0",{0.22,0},1}, - {"Level0",{0.18,0},1},{}, - {"Level0",{0.17,0},1}, - {"Level0",{0.13,0},1},{}, - {"Level0",{0.12,0},1}, - {"Level0",{0.08,0},1} - }; - }; - }; - }; - - /*class StaticBank { - type = "line"; - width = 3; - points[] = { - {{0.4782,0.251},1}, - {{0.4773,0.241},1},{}, - {{0.4566,0.2538},1}, - {{0.4549,0.2439},1},{}, - {{0.4353,0.2585},1}, - {{0.4301,0.2392},1},{}, - {{0.4145,0.2651},1}, - {{0.4111,0.2557},1},{}, - {{0.3943,0.2734},1}, - {{0.3901,0.2644},1},{}, - {{0.375,0.2835},1}, - {{0.365,0.2662},1},{}, - {{0.3232,0.3232},1}, - {{0.3091,0.3091},1},{}, - {{0.2835,0.375},1}, - {{0.2662,0.365},1},{}, - {{"0.5 + (0.5- 0.4782)",0.251},1}, - {{"0.5 + (0.5- 0.4773)",0.241},1},{}, - {{"0.5 + (0.5- 0.4566)",0.2538},1}, - {{"0.5 + (0.5- 0.4549)",0.2439},1},{}, - {{"0.5 + (0.5- 0.4353)",0.2585},1}, - {{"0.5 + (0.5- 0.4301)",0.2392},1},{}, - {{"0.5 + (0.5- 0.4145)",0.2651},1}, - {{"0.5 + (0.5- 0.4111)",0.2557},1},{}, - {{"0.5 + (0.5- 0.3943)",0.2734},1}, - {{"0.5 + (0.5- 0.3901)",0.2644},1},{}, - {{"0.5 + (0.5- 0.3750)",0.2835},1}, - {{"0.5 + (0.5- 0.3650)",0.2662},1},{}, - {{"0.5 + (0.5- 0.3232)",0.3232},1}, - {{"0.5 + (0.5- 0.3091)",0.3091},1},{}, - {{"0.5 + (0.5- 0.2835)",0.375},1}, - {{"0.5 + (0.5- 0.2662)",0.365},1},{}, - {{0.5,"0.5 - 0.25"},1}, - {{0.5,"0.5 - 0.28"},1} - }; - };*/ - - class HorizonBankRot { - type = "line"; - width = 3; - points[] = { - {"HorizonBankRot",{0,0.25},1}, - {"HorizonBankRot",{-0.01,0.23},1}, - {"HorizonBankRot",{0.01,0.23},1}, - {"HorizonBankRot",{0,0.25},1} - }; - }; - - class Static { - clipTL[] = {0,1}; - clipBR[] = {1,0}; - type = "line"; - width = 5; - points[] = { - {{"0.5-0.1","0.9-0.04"},1}, - {{"0.5-0.1","0.9+0.04"},1}, - {{"0.5+0.1","0.9+0.04"},1}, - {{"0.5+0.1","0.9-0.04"},1}, - {{"0.5-0.1","0.9-0.04"},1},{}, - {{"0.5-0.1",0.9},1}, - {{"0.5-0.092",0.9},1},{}, - {{"0.5+0.1",0.9},1}, - {{"0.5+0.092",0.9},1},{}, - {{0.5,"0.9-0.04"},1}, - {{0.5,"0.9-0.032"},1},{}, - {{0.5,"0.9+0.04"},1}, - {{0.5,"0.9+0.032"},1},{} - }; - }; - - class Centerline { - type = "line"; - width = 7; - points[] = { - {{0.5,0.49},1}, - {{0.5,0.47},1},{}, - {{0.5,0.51},1}, - {{0.5,0.53},1},{}, - {{0.49,0.5},1}, - {{0.47,0.5},1},{}, - {{0.51,0.5},1}, - {{0.53,0.5},1},{} - }; - }; - - class Gunner { - type = "line"; - width = 6; - points[] = { - {"GunnerAim",{"0.5-0.015","0.9-0.008"},1}, - {"GunnerAim",{"0.5-0.015","0.9+0.008"},1}, - {"GunnerAim",{"0.5+0.015","0.9+0.008"},1}, - {"GunnerAim",{"0.5+0.015","0.9-0.008"},1}, - {"GunnerAim",{"0.5-0.015","0.9-0.008"},1} - }; - }; - - class WeaponName { - type = "text"; - source = "weapon"; - sourceScale = 1; - align = "right"; - scale = 1; - pos[] = {{0.61,0.86},1}; - right[] = {{0.65,0.86},1}; - down[] = {{0.61,0.9},1}; - }; - - class AmmoCount { - type = "text"; - source = "ammo"; - sourceScale = 1; - align = "right"; - scale = 1; - pos[] = {{0.61,0.89},1}; - right[] = {{0.65,0.89},1}; - down[] = {{0.61,0.93},1}; - }; - - class LightsGroup { - type = "group"; - condition = "lights"; - class LightsText { - type = "text"; - source = "static"; - text = "LIGHTS"; - align = "right"; - scale = 1; - pos[] = {{0.03,"0.53 + 0.055"},1}; - right[] = {{0.07,"0.53 + 0.055"},1}; - down[] = {{0.03,"0.53 + 0.095"},1}; - }; - }; - - class CollisionLightsGroup { - type = "group"; - condition = "collisionlights"; - class CollisionLightsText { - type = "text"; - source = "static"; - text = "A-COL"; - align = "right"; - scale = 1; - pos[] = {{0.03,"0.53 + 0.105"},1}; - right[] = {{0.07,"0.53 + 0.105"},1}; - down[] = {{0.03,"0.53 + 0.145"},1}; - }; - }; - - class ATMissileTOFGroup { - condition = "ATmissile"; - type = "group"; - class TOFtext { - type = "text"; - align = "right"; - source = "static"; - text = "TOF="; - scale = 1; - pos[] = {{0.61,0.92},1}; - right[] = {{0.65,0.92},1}; - down[] = {{0.61,0.96},1}; - }; - - class TOFnumber { - type = "text"; - source = "targetDist"; - sourcescale = 0.0025; - align = "right"; - scale = 1; - pos[] = {{0.69,0.92},1}; - right[] = {{0.73,0.92},1}; - down[] = {{0.69,0.96},1}; - }; - }; - - class RangeNumber { - type = "text"; - source = "targetDist"; - sourceScale = 1; - align = "left"; - scale = 1; - pos[] = {{0.39,0.89},1}; - right[] = {{0.43,0.89},1}; - down[] = {{0.39,0.93},1}; - }; - - class RangeText { - type = "text"; - source = "static"; - text = "RNG"; - align = "left"; - scale = 1; - pos[] = {{0.39,0.86},1}; - right[] = {{0.43,0.86},1}; - down[] = {{0.39,0.9},1}; - }; - - class SpeedNumber { - type = "text"; - align = "right"; - scale = 1; - source = "speed"; - sourceScale = 3.6; - pos[] = {{0.03,0.475},1}; - right[] = {{0.08,0.475},1}; - down[] = {{0.03,0.525},1}; - }; - - class TorqueNumber { - type = "text"; - align = "left"; - scale = 1; - source = "rtdRotorTorque"; - sourceScale = 110; - pos[] = {{0.065,0.175},1}; - right[] = {{0.115,0.175},1}; - down[] = {{0.065,0.225},1}; - }; - - class Torquetext { - type = "text"; - source = "static"; - text = "%"; - align = "right"; - scale = 1; - pos[] = {{0.07,0.175},1}; - right[] = {{0.12,0.175},1}; - down[] = {{0.07,0.225},1}; - }; - - class AltNumber { - type = "text"; - align = "right"; - scale = 1; - source = "altitudeAGL"; - sourceScale = 1; - pos[] = {{0.83,0.475},1}; - right[] = {{0.88,0.475},1}; - down[] = {{0.83,0.525},1}; - }; - - class ASLNumber { - type = "text"; - source = "altitudeASL"; - sourceScale = 1; - align = "right"; - scale = 1; - pos[] = {{0.835,0.18},1}; - right[] = {{0.875,0.18},1}; - down[] = {{0.835,0.22},1}; - }; - - class VspeedScalePosta { - type = "line"; - width = 5; - points[] = { - {{0.98,0.2},1}, - {{1,0.2},1},{}, - {{0.93,0.2},1}, - {{0.95,0.2},1},{}, - {{0.98,0.35},1}, - {{1,0.35},1},{}, - {{0.93,0.35},1}, - {{0.95,0.35},1},{}, - {{0.94,0.38},1}, - {{0.95,0.38},1},{}, - {{0.94,0.41},1}, - {{0.95,0.41},1},{}, - {{0.94,0.44},1}, - {{0.95,0.44},1},{}, - {{0.94,0.47},1}, - {{0.95,0.47},1},{}, - {{0.98,0.5},1}, - {{1,0.5},1},{}, - {{0.93,0.5},1}, - {{0.95,0.5},1},{}, - {{0.94,0.53},1}, - {{0.95,0.53},1},{}, - {{0.94,0.56},1}, - {{0.95,0.56},1},{}, - {{0.94,0.59},1}, - {{0.95,0.59},1},{}, - {{0.94,0.62},1}, - {{0.95,0.62},1},{}, - {{0.98,0.65},1}, - {{1,0.65},1},{}, - {{0.93,0.65},1}, - {{0.95,0.65},1},{}, - {{0.99,0.68},1}, - {{0.98,0.68},1},{}, - {{0.99,0.71},1}, - {{0.98,0.71},1},{}, - {{0.99,0.74},1}, - {{0.98,0.74},1},{}, - {{0.99,0.77},1}, - {{0.98,0.77},1},{}, - {{0.98,0.8},1}, - {{1,0.8},1},{}, - {{0.93,0.8},1}, - {{0.95,0.8},1},{} - }; - }; - - class RadarAltitudeBand { - clipTL[] = {0,0.2}; - clipBR[] = {1,0.8}; - class radarbanda { - type = "line"; - width = 17; - points[] = { - {"RadarAltitudeBone",{0,0},1}, - {"RadarAltitudeBone",{0,0.6},1} - }; - }; - }; - - class VspeedBand { - type = "line"; - width = 3; - points[] = { - {"VspeedBone",{-0.01,0},1}, - {"VspeedBone",{-0.025,-0.015},1}, - {"VspeedBone",{-0.025,0.015},1}, - {"VspeedBone",{-0.01,0},1},{} - }; - }; - - class HeadingNumber: SpeedNumber { - source = "heading"; - sourceScale = 1; - align = "center"; - pos[] = {{0.5,0.01},1}; - right[] = {{0.56,0.01},1}; - down[] = {{0.5,0.06},1}; - }; - - class Center_box { - type = "line"; - width = 3; - points[] = { - {{0.44,0.005},1}, - {{"0.44 + 0.12",0.005},1}, - {{"0.44 + 0.12","0.005 + 0.06"},1}, - {{0.44,"0.005 + 0.06"},1}, - {{0.44,0.005},1} - }; - }; - - class HeadingArrow { - type = "line"; - width = 7; - points[] = { - {{"0.5","0.128 + 0.03"},1}, - {{0.5,0.128},1} - }; - }; - - class HeadingScale { - type = "scale"; - horizontal = 1; - source = "heading"; - sourceScale = 1; - width = 5; - top = 0.12; - center = 0.5; - bottom = 0.88; - lineXleft = "0.03 + 0.085"; - lineYright = "0.02 + 0.085"; - lineXleftMajor = "0.04 + 0.085"; - lineYrightMajor = "0.02 + 0.085"; - majorLineEach = 3; - numberEach = 3; - step = 10; - stepSize = "0.05"; - align = "center"; - scale = 1; - pos[] = {0.119,"0.0 + 0.065"}; - right[] = {0.159,"0.0 + 0.065"}; - down[] = {0.119,"0.04 + 0.065"}; - }; - - class Fuel_Text { - type = "text"; - source = "static"; - text = "Fuel"; - align = "right"; - scale = 1; - pos[] = {{0.03,0.9},1}; - right[] = {{0.07,0.9},1}; - down[] = {{0.03,0.94},1}; - }; - - class Fuel_Number { - type = "text"; - source = "fuel"; - sourceScale = 100; - align = "right"; - scale = 1; - pos[] = {{0.1,0.9},1}; - right[] = {{0.14,0.9},1}; - down[] = {{0.1,0.94},1}; - }; - }; - - helmetMountedDisplay = 1; - helmetPosition[] = {-0.04,0.04,0.1}; - helmetRight[] = {0.08,0,0}; - helmetDown[] = {0,-0.08,0}; - }; - - class LittleHUD { - class Pos10Vector { - type = "vector"; - pos0[] = {0.5,0.5}; - pos10[] = {0.722,0.722}; - }; - - topLeft = "HUD_top_left"; - topRight = "HUD_top_right"; - bottomLeft = "HUD_bottom_left"; - borderLeft = 0; - borderRight = 0; - borderTop = 0; - borderBottom = 0; - color[] = {0.15,1,0.15,1}; - enableParallax = 0; - class Bones { - class Velocity { - type = "vector"; - source = "velocity"; - pos0[] = {0.5,0.5}; - pos10[] = {0.75,0.75}; - }; - - class ForwardVec1 { - type = "vector"; - source = "forward"; - pos0[] = {0,0}; - pos10[] = {0.25,0.25}; - }; - - class ForwardVec { - type = "vector"; - source = "forward"; - pos0[] = {0,0}; - pos10[] = {0.253,0.253}; - }; - - class WeaponAim { - type = "vector"; - source = "weapon"; - pos0[] = {0.5,0.5}; - pos10[] = {0.753,0.753}; - }; - - class WeaponAim1 { - type = "vector"; - source = "weapon"; - pos0[] = {0,0}; - pos10[] = {0.253,0.23}; - }; - - class Target { - type = "vector"; - source = "target"; - pos0[] = {0.5,0.5}; - pos10[] = {0.753,0.753}; - }; - - class RadarContact { - type = "fixed"; - pos[] = {0,0}; - }; - }; - - class Draw { - color[] = {0.18,1,0.18}; - alpha = 1; - condition = "on"; - class PlaneMovementCrosshair { - type = "line"; - width = 7; - points[] = { - {"ForwardVec1",1,"Velocity",1,{0,-0.02},1}, - {"ForwardVec1",1,"Velocity",1,{0.01,-0.01732},1}, - {"ForwardVec1",1,"Velocity",1,{0.01732,-0.01},1}, - {"ForwardVec1",1,"Velocity",1,{0.02,0},1}, - {"ForwardVec1",1,"Velocity",1,{0.01732,0.01},1}, - {"ForwardVec1",1,"Velocity",1,{0.01,0.01732},1}, - {"ForwardVec1",1,"Velocity",1,{0,0.02},1}, - {"ForwardVec1",1,"Velocity",1,{-0.01,0.01732},1}, - {"ForwardVec1",1,"Velocity",1,{-0.01732,0.01},1}, - {"ForwardVec1",1,"Velocity",1,{-0.02,0},1}, - {"ForwardVec1",1,"Velocity",1,{-0.01732,-0.01},1}, - {"ForwardVec1",1,"Velocity",1,{-0.01,-0.01732},1}, - {"ForwardVec1",1,"Velocity",1,{0,-0.02},1},{}, - {"ForwardVec1",1,"Velocity",1,{0.04,0},1}, - {"ForwardVec1",1,"Velocity",1,{0.02,0},1},{}, - {"ForwardVec1",1,"Velocity",1,{-0.04,0},1}, - {"ForwardVec1",1,"Velocity",1,{-0.02,0},1},{}, - {"ForwardVec1",1,"Velocity",1,{0,-0.04},1}, - {"ForwardVec1",1,"Velocity",1,{0,-0.02},1} - }; - }; - - class TargetACQ { - type = "line"; - width = 2; - points[] = { - //////////////////////////////////////////////// UP - /*{"ForwardVec1",1,"target",{0,-0.1},1}, - {"ForwardVec1",1,"target",{0,-0.095},1},{}, - {"ForwardVec1",1,"target",{0,-0.09},1}, - {"ForwardVec1",1,"target",{0,-0.085},1},{}, - {"ForwardVec1",1,"target",{0,-0.08},1}, - {"ForwardVec1",1,"target",{0,-0.075},1},{}, - {"ForwardVec1",1,"target",{0,-0.07},1}, - {"ForwardVec1",1,"target",{0,-0.065},1},{},*/ - {"ForwardVec",1,"target",{0,-0.06},1}, - {"ForwardVec",1,"target",{0,-0.055},1},{}, - {"ForwardVec",1,"target",{0,-0.05},1}, - {"ForwardVec",1,"target",{0,-0.045},1},{}, - {"ForwardVec",1,"target",{0,-0.04},1}, - {"ForwardVec",1,"target",{0,-0.035},1},{}, - {"ForwardVec",1,"target",{0,-0.03},1}, - {"ForwardVec",1,"target",{0,-0.025},1},{}, - {"ForwardVec",1,"target",{0,-0.02},1}, - {"ForwardVec",1,"target",{0,-0.015},1},{}, - {"ForwardVec",1,"target",{0,-0.01},1}, - {"ForwardVec",1,"target",{0,-0.005},1},{}, - //////////////////////////////////////////////// center - {"ForwardVec",1,"target",{0,0},1}, - {"ForwardVec",1,"target",{0,0},1},{}, - /////////////////////////////////////////////// DOWN - /*{"ForwardVec1",1,"target",{0,0.1},1}, - {"ForwardVec1",1,"target",{0,0.095},1},{}, - {"ForwardVec1",1,"target",{0,0.09},1}, - {"ForwardVec1",1,"target",{0,0.085},1},{}, - {"ForwardVec1",1,"target",{0,0.080},1}, - {"ForwardVec1",1,"target",{0,0.075},1},{}, - {"ForwardVec1",1,"target",{0,0.070},1}, - {"ForwardVec1",1,"target",{0,0.065},1},{},*/ - {"ForwardVec",1,"target",{0,0.060},1}, - {"ForwardVec",1,"target",{0,0.055},1},{}, - {"ForwardVec",1,"target",{0,0.050},1}, - {"ForwardVec",1,"target",{0,0.045},1},{}, - {"ForwardVec",1,"target",{0,0.040},1}, - {"ForwardVec",1,"target",{0,0.035},1},{}, - {"ForwardVec",1,"target",{0,0.030},1}, - {"ForwardVec",1,"target",{0,0.025},1},{}, - {"ForwardVec",1,"target",{0,0.020},1}, - {"ForwardVec",1,"target",{0,0.015},1},{}, - {"ForwardVec",1,"target",{0,0.010},1}, - {"ForwardVec",1,"target",{0,0.005},1},{}, - /////////////////////////////////////////////// LEFT - /*{"ForwardVec1",1,"target",{-0.10, 0},1}, - {"ForwardVec1",1,"target",{-0.095, 0},1},{}, - {"ForwardVec1",1,"target",{-0.09, 0},1}, - {"ForwardVec1",1,"target",{-0.085, 0},1},{}, - {"ForwardVec1",1,"target",{-0.080, 0},1}, - {"ForwardVec1",1,"target",{-0.075, 0},1},{}, - {"ForwardVec1",1,"target",{-0.070, 0},1}, - {"ForwardVec1",1,"target",{-0.065, 0},1},{},*/ - {"ForwardVec",1,"target",{-0.060, 0},1}, - {"ForwardVec",1,"target",{-0.055, 0},1},{}, - {"ForwardVec",1,"target",{-0.050, 0},1}, - {"ForwardVec",1,"target",{-0.045, 0},1},{}, - {"ForwardVec",1,"target",{-0.040, 0},1}, - {"ForwardVec",1,"target",{-0.035, 0},1},{}, - {"ForwardVec",1,"target",{-0.030, 0},1}, - {"ForwardVec",1,"target",{-0.025, 0},1},{}, - {"ForwardVec",1,"target",{-0.020, 0},1}, - {"ForwardVec",1,"target",{-0.015, 0},1},{}, - {"ForwardVec",1,"target",{-0.010, 0},1}, - {"ForwardVec",1,"target",{-0.005, 0},1},{}, - /////////////////////////////////////////////// RIGHT - /*{"ForwardVec1",1,"target",{0.10, 0},1}, - {"ForwardVec1",1,"target",{0.095, 0},1},{}, - {"ForwardVec1",1,"target",{0.09, 0},1}, - {"ForwardVec1",1,"target",{0.085, 0},1},{}, - {"ForwardVec1",1,"target",{0.080, 0},1}, - {"ForwardVec1",1,"target",{0.075, 0},1},{}, - {"ForwardVec1",1,"target",{0.070, 0},1}, - {"ForwardVec1",1,"target",{0.065, 0},1},{},*/ - {"ForwardVec",1,"target",{0.060, 0},1}, - {"ForwardVec",1,"target",{0.055, 0},1},{}, - {"ForwardVec",1,"target",{0.050, 0},1}, - {"ForwardVec",1,"target",{0.045, 0},1},{}, - {"ForwardVec",1,"target",{0.040, 0},1}, - {"ForwardVec",1,"target",{0.035, 0},1},{}, - {"ForwardVec",1,"target",{0.030, 0},1}, - {"ForwardVec",1,"target",{0.025, 0},1},{}, - {"ForwardVec",1,"target",{0.020, 0},1}, - {"ForwardVec",1,"target",{0.015, 0},1},{}, - {"ForwardVec",1,"target",{0.010, 0},1}, - {"ForwardVec",1,"target",{0.005, 0},1},{} - }; - }; - }; - - helmetMountedDisplay = 1; - helmetPosition[] = {-0.035,0.035,0.1}; - helmetRight[] = {0.07,0,0}; - helmetDown[] = {0,-0.07,0}; - }; -}; diff --git a/addons/aircraft/CfgAmmo.hpp b/addons/aircraft/CfgAmmo.hpp new file mode 100644 index 0000000000..2c9d6a91e6 --- /dev/null +++ b/addons/aircraft/CfgAmmo.hpp @@ -0,0 +1,302 @@ + +class CfgAmmo { + class BulletBase; + class B_20mm: BulletBase { + deflecting = 3; + hit = 100; + indirectHit = 10; + indirectHitRange = 2; + model = "\A3\Weapons_f\Data\bullettracer\tracer_red"; + }; + + class SubmunitionBullet; + class B_65x39_Minigun_Caseless: SubmunitionBullet { + hit = 10; + indirectHit = 0; + indirectHitRange = 0; + caliber = 1; + deflecting = 5; + typicalSpeed = 850; + }; + + class B_762x51_Minigun_Tracer_Red: SubmunitionBullet { + hit = 12; + indirectHit = 0; + indirectHitRange = 0; + model = "\A3\Weapons_f\Data\bullettracer\tracer_red"; + caliber = 1.6; + deflecting = 5; + typicalSpeed = 850; + }; + + class M_Titan_AA; + class M_Zephyr: M_Titan_AA { + proxyShape = "\A3\Weapons_F\Ammo\Missile_AA_02_F.p3d"; + model = "\A3\Weapons_F\Ammo\Missile_AA_02_fly_F.p3d"; + airFriction = 0.078; + sideAirFriction = 0.18; + maneuvrability = 24; + class CamShakeFire {}; + class CamShakePlayerFire {}; + }; + + class M_Zephyr_Mi06: M_Zephyr { + maverickWeaponIndexOffset = 6; + }; + + class MissileBase; + class M_Air_AA: MissileBase { + model = "\A3\Weapons_F\Ammo\Missile_AT_02_fly_F"; + proxyShape = "\A3\Weapons_F\Ammo\Missile_AT_02_F"; + hit = 280; + indirectHit = 85; + indirectHitRange = 10; + maneuvrability = 27; + simulationStep = 0.002; + airLock = 1; + irLock = 1; + cost = 1500; + //maxSpeed = 2400; + timeToLive = 40; + airFriction = 0.05; + sideAirFriction = 0.1; + trackOversteer = 1; + trackLead = 1; + initTime = 0; + thrustTime = 12; + thrust = 340; + fuseDistance = 500; + weaponLockSystem = "2 + 16"; + maxControlRange = 8000; + class CamShakeExplode {}; + class CamShakeHit {}; + class CamShakeFire {}; + class CamShakePlayerFire {}; + }; + + class Missile_AA_04_F: MissileBase { + hit = 800; + indirectHit = 60; + indirectHitRange = 12; + airLock = 2; + irLock = 1; + laserLock = 0; + nvLock = 0; + weaponLockSystem = "2 + 16"; + cmimmunity = 0.8; + initTime = 0; + thrust = 380; + thrustTime = 9.5; + airFriction = 0.04; + sideAirFriction = 0.08; + //maxSpeed = 2600; + maneuvrability = 14; + simulationStep = 0.002; + fuseDistance = 500; + timeToLive = 19; + trackLead = 1; + trackOversteer = 1; + }; + + class Gatling_30mm_HE_Plane_CAS_01_F: BulletBase { + model = "\A3\Weapons_f\Data\bullettracer\tracer_red.p3d"; + cost = 20; + hit = 80; + indirectHit = 12; + indirectHitRange = 3; + caliber = 1.4; + explosive = 0.6; + airlock = 1; + deflecting = 3; + airFriction = -0.00042; + typicalSpeed = 960; + visibleFire = 32; + audibleFire = 32; + visibleFireTime = 3; + fuseDistance = 3; + tracerScale = 2.5; + tracerStartTime = 0.02; + tracerEndTime = 4.7; + multiSoundHit[] = {"soundHit1",0.2,"soundHit2",0.2,"soundHit3",0.2,"soundHit4",0.1,"soundHit5",0.15,"soundHit6",0.15}; + soundFly[] = {"A3\Sounds_F\weapons\Explosion\cannon_fly",1,1,50}; + explosionSoundEffect = "DefaultExplosion"; + explosionEffects = "ExploAmmoExplosion"; + craterEffects = "ExploAmmoCrater"; + soundHit1[] = {"A3\Sounds_F\weapons\Explosion\gr_explosion_1",3.16228,1,1600}; + soundHit2[] = {"A3\Sounds_F\weapons\Explosion\gr_explosion_2",3.16228,1,1600}; + soundHit3[] = {"A3\Sounds_F\weapons\Explosion\gr_explosion_3",3.16228,1,1600}; + soundHit4[] = {"A3\Sounds_F\weapons\Explosion\gr_explosion_4",3.16228,1,1600}; + soundHit5[] = {"A3\Sounds_F\weapons\Explosion\gr_explosion_5",3.16228,1,1600}; + soundHit6[] = {"A3\Sounds_F\weapons\Explosion\gr_explosion_6",3.16228,1,1600}; + class CamShakeExplode {}; + class CamShakeHit {}; + class CamShakeFire {}; + class CamShakePlayerFire {}; + }; + class ACE_Gatling_30mm_HE_Plane_CAS_01_Deploy: Gatling_30mm_HE_Plane_CAS_01_F { + simulation = "shotSubmunitions"; + triggerTime = 0; + submunitionAmmo = "ACE_Gatling_30mm_HE_Plane_CAS_01_Sub"; + submunitionConeType[] = {"custom", {{0,0}, {0,0}, {0,0}} }; + }; + class ACE_Gatling_30mm_HE_Plane_CAS_01_Sub: Gatling_30mm_HE_Plane_CAS_01_F { + }; + + class Cannon_30mm_HE_Plane_CAS_02_F: Gatling_30mm_HE_Plane_CAS_01_F { + model = "\A3\Weapons_f\Data\bullettracer\tracer_green.p3d"; + hit = 70; + indirectHit = 11; + indirectHitRange = 3; + caliber = 2; + explosive = 0.6; + }; + + class Missile_AGM_02_F: MissileBase { + model = "\A3\Weapons_F_EPC\Ammo\Missile_AGM_02_fly_F.p3d"; + proxyShape = "\A3\Weapons_F_EPC\Ammo\Missile_AGM_02_F.p3d"; + maverickWeaponIndexOffset = 2; + cost = 1500; + hit = 2100; + indirectHit = 85; + indirectHitRange = 8; + manualControl = 0; + maxControlRange = 8000; + airLock = 0; + irLock = 1; + laserLock = 0; + nvLock = 0; + weaponLockSystem = "2 + 16"; + cmimmunity = 0.8; + initTime = 0; + thrust = 240; + thrustTime = 5; + airFriction = 0.05; + sideAirFriction = 0.1; + maxSpeed = 828; + maneuvrability = 27; + simulationStep = 0.002; + fuseDistance = 500; + timeToLive = 40; + trackLead = 1; + trackOversteer = 1; + craterEffects = "AAMissileCrater"; + effectsMissile = "missile3"; + explosionEffects = "AAMissileExplosion"; + muzzleEffect = "BIS_fnc_effectFiredHeliRocket"; + whistleDist = 20; + class CamShakeExplode {}; + class CamShakeHit {}; + class CamShakeFire {}; + class CamShakePlayerFire {}; + }; + + class LaserBombCore; + class Bomb_04_F: LaserBombCore { + model = "\A3\Weapons_F_EPC\Ammo\Bomb_04_fly_F.p3d"; + proxyShape = "\A3\Weapons_F_EPC\Ammo\Bomb_04_F.p3d"; + maverickWeaponIndexOffset = 8; + hit = 6000; + indirectHit = 1400; + indirectHitRange = 15; + nvLock = 1; + weaponLockSystem = "2 + 16 + 4"; + maneuvrability = 20; + fuseDistance = 35; + trackLead = 0.95; + trackOversteer = 1; + craterEffects = "BombCrater"; + explosionEffects = "BombExplosion"; + explosionSoundEffect = "DefaultExplosion"; + explosionTime = 2; + multiSoundHit[] = {"soundHit1",0.2,"soundHit2",0.2,"soundHit3",0.2,"soundHit4",0.2,"soundHit5",0.2}; + soundHit1[] = {"\A3\Sounds_F\weapons\Explosion\expl_big_1",2.51189,1,2400}; + soundHit2[] = {"\A3\Sounds_F\weapons\Explosion\expl_big_2",2.51189,1,2400}; + soundHit3[] = {"\A3\Sounds_F\weapons\Explosion\expl_big_3",2.51189,1,2400}; + soundHit4[] = {"\A3\Sounds_F\weapons\Explosion\expl_shell_1",2.51189,1,2400}; + soundHit5[] = {"\A3\Sounds_F\weapons\Explosion\expl_shell_2",2.51189,1,2400}; + whistleDist = 24; + }; + + class Rocket_04_HE_F: MissileBase { + model = "\A3\Weapons_F_EPC\Ammo\Rocket_04_HE_fly_F.p3d"; + proxyShape = "\A3\Weapons_F_EPC\Ammo\Rocket_04_HE_F.p3d"; + maverickWeaponIndexOffset = 12; + cost = 500; + hit = 210; + indirectHit = 55; + indirectHitRange = 15; + manualControl = 0; + maxControlRange = 8000; + airLock = 0; + irLock = 1; + laserLock = 0; + nvLock = 0; + weaponLockSystem = 0; + cmimmunity = 1; + initTime = 0.002; + thrust = 1600; + thrustTime = 0.7; + airFriction = 0.0046; + sideAirFriction = 0.005; + maxSpeed = 610; + maneuvrability = 0; + fuseDistance = 50; + timeToLive = 60; + effectsMissileInit = "MissileDAR1"; + whistleDist = 30; + class CamShakeExplode {}; + class CamShakeHit {}; + class CamShakeFire {}; + class CamShakePlayerFire {}; + }; + + class Rocket_04_AP_F: Rocket_04_HE_F { + model = "\A3\Weapons_F_EPC\Ammo\Rocket_04_AP_fly_F.p3d"; + proxyShape = "\A3\Weapons_F_EPC\Ammo\Rocket_04_AP_F.p3d"; + maverickWeaponIndexOffset = 19; + hit = 400; + indirectHit = 20; + indirectHitRange = 10; + }; + + class Missile_AA_03_F: Missile_AA_04_F { + model = "\A3\Weapons_F_EPC\Ammo\Missile_AA_03_fly_F.p3d"; + proxyShape = "\A3\Weapons_F_EPC\Ammo\Missile_AA_03_F.p3d"; + maverickWeaponIndexOffset = 0; + hit = 900; + indirectHit = 50; + indirectHitRange = 15; + }; + + class Missile_AGM_01_F: Missile_AGM_02_F { + model = "\A3\Weapons_F_EPC\Ammo\Missile_AGM_01_fly_F.p3d"; + proxyShape = "\A3\Weapons_F_EPC\Ammo\Missile_AGM_01_F.p3d"; + maverickWeaponIndexOffset = 2; + hit = 2200; + indirectHit = 90; + indirectHitRange = 10; + }; + + class Bomb_03_F: Bomb_04_F { + model = "\A3\Weapons_F_EPC\Ammo\Bomb_03_F.p3d"; + proxyShape = "\A3\Weapons_F_EPC\Ammo\Bomb_03_F.p3d"; + maverickWeaponIndexOffset = 6; + hit = 6400; + indirectHit = 1400; + indirectHitRange = 16; + }; + + class Rocket_03_HE_F: Rocket_04_HE_F { + model = "\A3\Weapons_F_EPC\Ammo\Rocket_03_HE_fly_F.p3d"; + proxyShape = "\A3\Weapons_F_EPC\Ammo\Rocket_03_HE_F.p3d"; + maverickWeaponIndexOffset = 8; + }; + + class Rocket_03_AP_F: Rocket_04_AP_F { + model = "\A3\Weapons_F_EPC\Ammo\Rocket_03_AP_fly_F.p3d"; + proxyShape = "\A3\Weapons_F_EPC\Ammo\Rocket_03_AP_F.p3d"; + maverickWeaponIndexOffset = 28; + }; + + class RocketBase; +}; diff --git a/addons/aircraft/CfgMagazines.hpp b/addons/aircraft/CfgMagazines.hpp new file mode 100644 index 0000000000..7328eda091 --- /dev/null +++ b/addons/aircraft/CfgMagazines.hpp @@ -0,0 +1,202 @@ + +class CfgMagazines { + class VehicleMagazine; + class 24Rnd_PG_missiles; + + class 12Rnd_PG_missiles: 24Rnd_PG_missiles { + count = 12; + displayName = "$STR_A3_CfgMagazines_12Rnd_PG_missiles0"; + displayNameShort = "$STR_A3_CfgMagazines_12Rnd_PG_missiles_dns"; + descriptionShort = "$STR_A3_CfgMagazines_12Rnd_PG_missiles1"; + }; + class 12Rnd_missiles: VehicleMagazine { + scope = 2; + count = 12; + ammo = "M_AT"; + displayName = "$STR_A3_CfgMagazines_24Rnd_PuG_missiles0"; + displayNameShort = "$STR_A3_CfgMagazines_24Rnd_PuG_missiles_dns"; + descriptionShort = "$STR_A3_CfgMagazines_24Rnd_PuG_missiles0"; + initSpeed = 44; + maxLeadSpeed = 800; + nameSound = "rockets"; + sound[] = {"A3\sounds_f\weapons\rockets\explosion_missile_01",1,1,1200}; + reloadSound[] = {"",0.000316228,1}; + }; + + //minigun magazines, muzzle velocities and tracercounts + class 200Rnd_65x39_Belt: VehicleMagazine {}; + class 2000Rnd_65x39_Belt: 200Rnd_65x39_Belt {}; + class 2000Rnd_65x39_Belt_Tracer_Red: 2000Rnd_65x39_Belt { + }; + class 2000Rnd_65x39_Belt_Green: 2000Rnd_65x39_Belt {}; + class 2000Rnd_65x39_Belt_Tracer_Green: 2000Rnd_65x39_Belt_Green { + tracersEvery = 1; + }; + class 2000Rnd_65x39_Belt_Yellow: 2000Rnd_65x39_Belt { + tracersEvery = 1; + }; + class 2000Rnd_65x39_Belt_Tracer_Yellow: 2000Rnd_65x39_Belt_Yellow { + tracersEvery = 1; + }; + + class 5000Rnd_762x51_Belt: 2000Rnd_65x39_Belt { + tracersEvery = 1; + count = 5000; + }; + class 5000Rnd_762x51_Yellow_Belt: 5000Rnd_762x51_Belt {}; + class 4000Rnd_762x51_M134 : 5000Rnd_762x51_Belt { + count = 4000; + tracersEvery = 1; + }; + class 2000Rnd_762x51_M134 : 4000Rnd_762x51_M134 { + count = 2000; + tracersEvery = 1; + }; + + class 2Rnd_AAA_missiles: VehicleMagazine { + scope = 2; + displayName = "$STR_A3_CfgMagazines_2Rnd_AAA_missiles0"; + displayNameShort = "$STR_A3_CfgMagazines_2Rnd_AAA_missiles_dns"; + ammo = "M_Air_AA"; + count = 2; + maxLeadSpeed = 950; + nameSound = "missiles"; + }; + class 2Rnd_AAA_missiles_MI02: 2Rnd_AAA_missiles { + ammo = "M_Air_AA_MI02"; + }; + class 4Rnd_AAA_missiles: 2Rnd_AAA_missiles { + displayName = "$STR_A3_CfgMagazines_4Rnd_AAA_missiles0"; + displayNameShort = "$STR_A3_CfgMagazines_4Rnd_AAA_missiles_dns"; + count = 4; + }; + class 4Rnd_AAA_missiles_MI02: 4Rnd_AAA_missiles { + ammo = "M_Air_AA_MI02"; + }; + + class 4Rnd_GAA_missiles: VehicleMagazine { + scope = 2; + displayName = "$STR_A3_CfgMagazines_4Rnd_GAA_missiles0"; + displayNameShort = "$STR_A3_CfgMagazines_4Rnd_GAA_missiles_dns"; + count = 4; + ammo = "M_Zephyr"; + maxLeadSpeed = 950; + nameSound = "missiles"; + }; + + class 300Rnd_20mm_shells: VehicleMagazine { + scope = 2; + displayName = "$STR_A3_CfgMagazines_300Rnd_20mm_shells0"; + displayNameShort = "$STR_A3_CfgMagazines_300Rnd_20mm_shells_dns"; + ammo = "B_20mm"; + count = 300; + deflecting = 3; + maxLeadSpeed = 300; + tracersEvery = 5; + nameSound = "cannon"; + }; + + class 1000Rnd_Gatling_30mm_Plane_CAS_01_F: VehicleMagazine { + scope = 2; + displayNameShort = ""; + ammo = "ACE_Gatling_30mm_HE_Plane_CAS_01_Deploy"; + count = 1170; + //count = 390; + //initSpeed = 3852; + maxLeadSpeed = 300; + nameSound = "cannon"; + tracersEvery = 1; + }; + + class 2Rnd_Missile_AA_04_F: VehicleMagazine { + scope = 2; + displayNameShort = "$STR_A3_CFGMAGAZINES_4RND_AAA_MISSILES_DNS"; + ammo = "Missile_AA_04_F"; + count = 2; + maxLeadSpeed = 220; + nameSound = "missiles"; + }; + class 6Rnd_Missile_AGM_02_F: VehicleMagazine { + scope = 2; + displayNameShort = "$STR_A3_CFGMAGAZINES_38RND_80MM_ROCKETS_DNS"; + ammo = "Missile_AGM_02_F"; + count = 6; + maxLeadSpeed = 450; + nameSound = "missiles"; + }; + class 2Rnd_Missile_AGM_02_F: VehicleMagazine { + scope = 2; + displayNameShort = "$STR_A3_CFGMAGAZINES_38RND_80MM_ROCKETS_DNS"; + ammo = "Missile_AGM_02_F"; + count = 2; + maxLeadSpeed = 450; + nameSound = "missiles"; + }; + + class 7Rnd_Rocket_04_HE_F: VehicleMagazine { + scope = 2; + displayNameShort = "$STR_A3_CFGMAGAZINES_40RND_20MM_G_BELT_DNS"; + ammo = "Rocket_04_HE_F"; + count = 7; + maxLeadSpeed = 200; + nameSound = "rockets"; + }; + class 7Rnd_Rocket_04_AP_F: 7Rnd_Rocket_04_HE_F { + displayNameShort = "$STR_A3_CFGMAGAZINES_TITAN_AP_DNS"; + ammo = "Rocket_04_AP_F"; + }; + + class 4Rnd_Bomb_04_F: VehicleMagazine { + scope = 2; + displayNameShort = "$STR_A3_CFGVEHICLES_BOMB0"; + ammo = "Bomb_04_F"; + count = 4; + maxLeadSpeed = 1000; + nameSound = "cannon"; + }; + + class 500Rnd_Cannon_30mm_Plane_CAS_02_F: 1000Rnd_Gatling_30mm_Plane_CAS_01_F { + displayNameShort = ""; + ammo = "Cannon_30mm_HE_Plane_CAS_02_F"; + count = 500; + }; + + class 2Rnd_Missile_AA_03_F: 2Rnd_Missile_AA_04_F { + displayNameShort = "$STR_A3_CFGMAGAZINES_4RND_AAA_MISSILES_DNS"; + ammo = "Missile_AA_03_F"; + count = 2; + }; + class 4Rnd_Missile_AGM_01_F: 6Rnd_Missile_AGM_02_F { + displayNameShort = "$STR_A3_CFGMAGAZINES_38RND_80MM_ROCKETS_DNS"; + ammo = "Missile_AGM_01_F"; + count = 4; + }; + + class 20Rnd_Rocket_03_HE_F: 7Rnd_Rocket_04_HE_F { + displayNameShort = "$STR_A3_CFGMAGAZINES_40RND_20MM_G_BELT_DNS"; + ammo = "Rocket_03_HE_F"; + count = 20; + }; + class 20Rnd_Rocket_03_AP_F: 7Rnd_Rocket_04_AP_F { + displayNameShort = "$STR_A3_CFGMAGAZINES_TITAN_AP_DNS"; + ammo = "Rocket_03_AP_F"; + count = 20; + }; + + class 2Rnd_Bomb_03_F: 4Rnd_Bomb_04_F { + displayNameShort = "$STR_A3_CFGVEHICLES_BOMB0"; + ammo = "Bomb_03_F"; + count = 2; + }; + + class ACE_500Rnd_20mm_shells_Comanche: 300Rnd_20mm_shells { + displayName = "20mm"; + displayNameShort = "20mm"; + ammo = "B_20mm"; + count = 500; + deflecting = 3; + initSpeed = 1030; + maxLeadSpeed = 300; + tracersEvery = 5; + }; +}; diff --git a/addons/aircraft/CfgVehicles.hpp b/addons/aircraft/CfgVehicles.hpp new file mode 100644 index 0000000000..18be36b9e8 --- /dev/null +++ b/addons/aircraft/CfgVehicles.hpp @@ -0,0 +1,402 @@ + +class CfgVehicles { + class All { + class Turrets; + }; + + class AllVehicles: All { + class NewTurret { + class Turrets; + }; + class CargoTurret; + }; + + class Air: AllVehicles { + class AnimationSources; + }; + + class Helicopter: Air { + class Turrets { + class MainTurret; + }; + }; + + class Plane: Air {}; + + class ParachuteBase: Helicopter { + class Turrets; + }; + + class UAV: Plane {}; + + class Helicopter_Base_F: Helicopter { + class Turrets: Turrets { + class CopilotTurret; + }; + }; + + class Helicopter_Base_H: Helicopter_Base_F { + class Turrets: Turrets { + class CopilotTurret; + }; + //class UserActions; + }; + + class Heli_Light_01_base_F: Helicopter_Base_H { + lockDetectionSystem = 0; + incomingMissileDetectionSystem = 16; + driverCanEject = 1; + //class MFD {}; + class Turrets: Turrets { + class CopilotTurret: CopilotTurret { + canEject = 1; + showHMD = 1; + }; + }; + }; + + 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 { + lockDetectionSystem = 0; + incomingMissileDetectionSystem = 16; + driverCanEject = 1; + //class MFD {}; + class Turrets: Turrets { + class CopilotTurret: CopilotTurret { + canEject = 1; + }; + }; + }; + + class B_Heli_Light_01_armed_F: Heli_Light_01_armed_base_F {}; + + class Heli_Light_02_base_F: Helicopter_Base_H { + driverCanEject = 1; + lockDetectionSystem = 12; + incomingMissileDetectionSystem = 16; + magazines[] = {"2000Rnd_762x51_Belt_T_Green", "12Rnd_PG_missiles", "168Rnd_CMFlare_Chaff_Magazine"}; + class Turrets: Turrets { + class CopilotTurret: CopilotTurret { + canEject = 1; + showHMD = 1; + }; + }; + }; + + class Plane_Base_F: Plane { + class Turrets { + class CopilotTurret; + }; + }; + + class Heli_Attack_01_base_F: Helicopter_Base_F { + lockDetectionSystem = 12; + incomingMissileDetectionSystem = 16; + driverCanEject = 1; + //class MFD {}; + class AnimationSources: AnimationSources { + class HitGlass1 { + source = "Hit"; + hitpoint = "HitGlass1"; + raw = 1; + }; + class HitGlass2: HitGlass1 { + hitpoint = "HitGlass2"; + }; + class HitGlass3: HitGlass1 { + hitpoint = "HitGlass3"; + }; + class HitGlass4: HitGlass1 { + hitpoint = "HitGlass4"; + }; + class Gatling { + source = "revolving"; + weapon = "ACE_gatling_20mm_Comanche"; + }; + class Hide { + source = "user"; + animPeriod = 0; + initPhase = 0; + }; + class Muzzle_flash { + source = "ammorandom"; + weapon = "ACE_gatling_20mm_Comanche"; + }; + }; + class Turrets: Turrets { + class MainTurret: MainTurret { + canEject = 1; + showHMD = 1; + weapons[] = {"ACE_gatling_20mm_Comanche","missiles_DAGR","missiles_ASRAAM"}; + magazines[] = {"ACE_500Rnd_20mm_shells_Comanche","4Rnd_AAA_missiles","24Rnd_PG_missiles"}; + }; + }; + }; + + class B_Heli_Attack_01_F: Heli_Attack_01_base_F {}; + + class Heli_Attack_02_base_F: Helicopter_Base_F { + lockDetectionSystem = 12; + incomingMissileDetectionSystem = 16; + driverCanEject = 1; + class Turrets: Turrets { + class MainTurret: MainTurret { + canEject = 1; + }; + }; + }; + + class Heli_Transport_01_base_F: Helicopter_Base_H { + lockDetectionSystem = 12; + incomingMissileDetectionSystem = 16; + driverCanEject = 1; + class Turrets: Turrets { + class CopilotTurret: CopilotTurret { + canEject = 1; + showHMD = 1; + }; + class MainTurret: MainTurret { + magazines[] = {"2000Rnd_762x51_Belt_T_Red"}; + canEject = 1; + }; + class RightDoorGun: MainTurret { + magazines[] = {"2000Rnd_762x51_Belt_T_Red"}; + canEject = 1; + }; + }; + /*class UserActions { + class DoorL1_Open { + available = 1; + condition = "((this doorPhase 'door_L') == 0) AND Alive(this) AND driver this != player AND gunner this != player"; + }; + class DoorR1_Open: DoorL1_Open { + condition = "((this doorPhase 'door_R') == 0) AND Alive(this) AND driver this != player AND gunner this != player"; + }; + class DoorL1_Close: DoorL1_Open { + condition = "((this doorPhase 'door_L') > 0) AND Alive(this) AND driver this != player AND gunner this != player"; + }; + class DoorR1_Close: DoorL1_Close { + condition = "((this doorPhase 'door_R') > 0) AND Alive(this) AND driver this != player AND gunner this != player"; + }; + };*/ + }; + + class Heli_Transport_02_base_F: Helicopter_Base_H { + lockDetectionSystem = 12; + incomingMissileDetectionSystem = 16; + driverCanEject = 1; + //class MFD {}; + class Turrets: Turrets { + class CopilotTurret: CopilotTurret { + canEject = 1; + showHMD = 1; + }; + + class CargoTurret_01: CargoTurret {}; + class CargoTurret_02: CargoTurret_01 {}; + }; + /*class UserActions: UserActions { + class DoorL1_Open { + available = 1; + condition = "this animationPhase ""door_back_L"" < 0.5 AND Alive(this)"; + }; + class DoorR1_Open: DoorL1_Open { + condition = "this animationPhase ""door_back_R"" < 0.5 AND Alive(this)"; + }; + class DoorL1_Close: DoorL1_Open { + condition = "this animationPhase ""door_back_L"" > 0.5 AND Alive(this)"; + }; + class DoorR1_Close: DoorL1_Close { + condition = "this animationPhase ""door_back_R"" > 0.5 AND Alive(this)"; + }; + class CargoRamp_Open: DoorL1_Open { + userActionID = 52; + displayName = "$STR_ACE_Aircraft_OpenCargoRamp"; + textToolTip = "$STR_ACE_Aircraft_OpenCargoRamp"; + position = "action_cargoramp"; + radius = 3.0; + condition = "this animationPhase ""cargoramp_open"" < 0.5 AND Alive(this)"; + statement = "this animateDoor ['cargoramp_open', 1]"; + }; + class CargoRamp_Close: DoorL1_Close { + userActionID = 55; + displayName = "$STR_ACE_Aircraft_CloseCargoRamp"; + textToolTip = "$STR_ACE_Aircraft_CloseCargoRamp"; + position = "action_cargoramp"; + radius = 3.0; + condition = "this animationPhase ""cargoramp_open"" > 0.5 AND Alive(this)"; + statement = "this animateDoor ['cargoramp_open', 0]"; + }; + };*/ + }; + + class I_Heli_Transport_02_F: Heli_Transport_02_base_F {}; + + class I_Heli_light_03_base_F: Helicopter_Base_F { + lockDetectionSystem = 0; + incomingMissileDetectionSystem = 16; + driverCanEject = 1; + //class MFD {}; + weapons[] = {"M134_minigun","missiles_DAR","CMFlareLauncher"}; + magazines[] = {"5000Rnd_762x51_Yellow_Belt","24Rnd_missiles","168Rnd_CMFlare_Chaff_Magazine"}; + class Turrets: Turrets { + class MainTurret: MainTurret { + canEject = 1; + showHMD = 1; + gunBeg = "commanderview"; + gunEnd = "laserstart"; + memoryPointGun = "laserstart"; + stabilizedInAxes = 3; + weapons[] = {"Laserdesignator_mounted"}; + soundServo[] = {"",0.01,1,30}; + magazines[] = {"Laserbatteries"}; + inGunnerMayFire = 1; + }; + }; + }; + + 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 I_Heli_light_03_unarmed_base_F: I_Heli_light_03_base_F { + //class MFD {}; + }; + class I_Heli_light_03_unarmed_F: I_Heli_light_03_unarmed_base_F {}; + + class Plane_CAS_01_base_F: Plane_Base_F { + lockDetectionSystem = 12; + incomingMissileDetectionSystem = 16; + //class MFD {}; + class Turrets; + #include + }; + + class Plane_CAS_02_base_F: Plane_Base_F { + lockDetectionSystem = 12; + incomingMissileDetectionSystem = 16; + class Turrets; + #include + }; + + class Plane_Fighter_03_base_F: Plane_Base_F { + lockDetectionSystem = 12; + incomingMissileDetectionSystem = 16; + class Turrets; + #include + }; + + class UAV_01_base_F: Helicopter_Base_F { + /*class Turrets: Turrets { + class MainTurret: MainTurret {}; + };*/ + }; + + class UAV_02_base_F: UAV { + class Turrets { + class MainTurret; + }; + weapons[] = {}; + magazines[] = {}; + }; + + class UAV_02_CAS_base_F: UAV_02_base_F { + /*class Turrets: Turrets { + class MainTurret: MainTurret {}; + };*/ + weapons[] = {}; + magazines[] = {}; + }; + + class B_Heli_Transport_03_base_F: Helicopter_Base_H { + lockDetectionSystem = 12; + incomingMissileDetectionSystem = 16; + driverCanEject = 1; + class Turrets: Turrets { + class CopilotTurret: CopilotTurret { + canEject = 1; + }; + //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 { + canEject = 1; + }; + //class MainTurret: MainTurret {}; + //class RightDoorGun: MainTurret {}; + + //class CargoTurret_01: CargoTurret {}; + //class CargoTurret_02: CargoTurret_01 {}; + }; + }; + + class Heli_Transport_04_base_F: Helicopter_Base_H { + lockDetectionSystem = 12; + incomingMissileDetectionSystem = 16; + driverCanEject = 1; + class Turrets: Turrets { + class CopilotTurret: CopilotTurret { + canEject = 1; + }; + class LoadmasterTurret: MainTurret { + canEject = 1; + }; + }; + }; + + class O_Heli_Transport_04_bench_F: Heli_Transport_04_base_F { + class Turrets: Turrets { + class CopilotTurret: CopilotTurret { + canEject = 1; + }; + class LoadmasterTurret: LoadmasterTurret { + canEject = 1; + }; + + 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 { + canEject = 1; + }; + class LoadmasterTurret: LoadmasterTurret { + canEject = 1; + }; + + class CargoTurret_01: CargoTurret {}; + class CargoTurret_02: CargoTurret_01 {}; + }; + }; +}; diff --git a/addons/aircraft/CfgWeapons.hpp b/addons/aircraft/CfgWeapons.hpp new file mode 100644 index 0000000000..321df4a3af --- /dev/null +++ b/addons/aircraft/CfgWeapons.hpp @@ -0,0 +1,240 @@ + +class Mode_SemiAuto; +class Mode_Burst; +class Mode_FullAuto; + +class CfgWeapons { + class MGunCore; + class MGun: MGunCore {}; + + class LMG_RCWS: MGun {}; + + // Manual Switching Of Flare Mode + class SmokeLauncher; + class CMFlareLauncher: SmokeLauncher { + modes[] = {"Single", "Burst", "AIBurst"}; + class Single: Mode_SemiAuto { + reloadTime = 0.1; + }; + class Burst: Mode_Burst { + displayName = "$STR_ACE_Aircraft_CMFlareLauncher_Burst_Name"; + }; + }; + + class CannonCore; + class gatling_20mm: CannonCore { + magazines[] = {"2000Rnd_20mm_shells","1000Rnd_20mm_shells","300Rnd_20mm_shells","ACE_500Rnd_20mm_shells_Comanche"}; + + class manual: CannonCore { + reloadTime = 0.023; + dispersion = 0.006; + }; + class close: manual {}; + class short: close {}; + class medium: close {}; + class far: close {}; + }; + + class ACE_gatling_20mm_Comanche: gatling_20mm { + displayName = "XM301"; + class close: close { + reloadTime = 0.04; + dispersion = 0.0022; + }; + class far: far { + reloadTime = 0.04; + dispersion = 0.0022; + }; + class manual: manual { + reloadTime = 0.04; + dispersion = 0.0022; + displayName = "XM301"; + }; + class medium: medium { + reloadTime = 0.04; + dispersion = 0.0022; + }; + class short: short { + reloadTime = 0.04; + dispersion = 0.0022; + }; + }; + + class LMG_Minigun: LMG_RCWS { + magazines[] = {"1000Rnd_65x39_Belt","1000Rnd_65x39_Belt_Green","1000Rnd_65x39_Belt_Tracer_Green","1000Rnd_65x39_Belt_Tracer_Red","1000Rnd_65x39_Belt_Tracer_Yellow","1000Rnd_65x39_Belt_Yellow","2000Rnd_65x39_Belt","2000Rnd_65x39_Belt_Green","2000Rnd_65x39_Belt_Tracer_Green","2000Rnd_65x39_Belt_Tracer_Green_Splash","2000Rnd_65x39_Belt_Tracer_Red","2000Rnd_65x39_Belt_Tracer_Yellow","2000Rnd_65x39_Belt_Tracer_Yellow_Splash","2000Rnd_65x39_Belt_Yellow","2000Rnd_762x51_Belt_T_Green","2000Rnd_762x51_Belt_T_Red","2000Rnd_762x51_Belt_T_Yellow","200Rnd_65x39_Belt","200Rnd_65x39_Belt_Tracer_Green","200Rnd_65x39_Belt_Tracer_Red","200Rnd_65x39_Belt_Tracer_Yellow","5000Rnd_762x51_Belt","5000Rnd_762x51_Yellow_Belt"}; + class manual: MGun { + reloadTime = 0.015; + dispersion = 0.006; + }; + class close: manual {}; + class short: close {}; + class medium: close {}; + class far: close {}; + }; + class LMG_Minigun_heli: LMG_Minigun { + showAimCursorInternal = 0; + class manual: manual { + reloadTime = 0.015; + dispersion = 0.006; + }; + class close: manual {}; + class short: close {}; + class medium: close {}; + class far: close {}; + }; + class M134_minigun: MGunCore { + class LowROF: Mode_FullAuto { + reloadTime = 0.015; + dispersion = 0.006; + }; + class HighROF: LowROF { + reloadTime = 0.015; + dispersion = 0.006; + }; + class close: HighROF {}; + class short: close {}; + class medium: LowROF {}; + class far: medium {}; + }; + + class Gatling_30mm_Plane_CAS_01_F: CannonCore { + autoFire = 1; + burst = 1; + reloadTime = 0.0154; + class LowROF: Mode_FullAuto { + autoFire = 0; + //burst = 65; + burst = 22; + //reloadTime = 0.0154; + reloadTime = 0.0462; + //sound[] = {"A3\Sounds_F_epc\weapons\cas_02_cannon",1.77828,1,3800}; + sound[] = {"A3\Sounds_F_EPC\Weapons\gau_03_burst",2.51189,1,4500,{25704,32159}}; + weaponSoundEffect = "DefaultRifle"; + dispersion = 0.005; + soundContinuous = 1; + textureType = "burst"; + multiplier = 3; + }; + class close: LowROF {}; + class near: close {}; + class short: close {}; + class medium: close {}; + class far: close {}; + }; + + class RocketPods; + class Missile_AA_04_Plane_CAS_01_F: RocketPods { + holdsterAnimValue = 2; + aiRateOfFire = 5; + aiRateOfFireDistance = 500; + autoFire = 0; + cursor = "EmptyCursor"; + cursorAim = "missile"; + nameSound = "MissileLauncher"; + textureType = "fullAuto"; + weaponLockDelay = 3; + minRange = 300; + minRangeProbab = 0.25; + midRange = 2500; + midRangeProbab = 0.9; + maxRange = 9000; + maxRangeProbab = 0.01; + }; + + class MissileLauncher; + class Missile_AGM_02_Plane_CAS_01_F: MissileLauncher { + holdsterAnimValue = 3; + magazineReloadTime = 30; + reloadTime = 0.001; + textureType = "semi"; + weaponLockDelay = 3; + weaponSoundEffect = "DefaultRifle"; + }; + + class Rocket_04_HE_Plane_CAS_01_F: RocketPods { + holdsterAnimValue = 4; + canLock = 1; + modes[] = {"Far_AI","Medium_AI","Close_AI","Burst"}; + weaponLockDelay = 0; + class Far_AI: RocketPods { + canLock = 1; + weaponLockDelay = 0; + showToPlayer = 0; + minRange = 800; + minRangeProbab = 0.31; + midRange = 2500; + midRangeProbab = 0.71; + maxRange = 3200; + maxRangeProbab = 0.1; + burst = 1; + reloadTime = 0.001; + autoFire = 0; + aiRateOfFire = 5; + aiRateOfFireDistance = 500; + }; + class Medium_AI: Far_AI {}; + class Close_AI: Far_AI {}; + class Burst: RocketPods { + burst = 1; + reloadTime = 0.002; + minRange = 300; + minRangeProbab = 0.25; + midRange = 400; + midRangeProbab = 0.7; + maxRange = 1300; + maxRangeProbab = 0.1; + aiRateOfFire = 5; + aiRateOfFireDistance = 500; + autoFire = 0; + soundContinuous = 0; + textureType = "fullAuto"; + weaponSoundEffect = "DefaultRifle"; + }; + }; + + class Rocket_04_AP_Plane_CAS_01_F: Rocket_04_HE_Plane_CAS_01_F { + holdsterAnimValue = 5; + }; + + class Bomb_04_Plane_CAS_01_F: RocketPods { + holdsterAnimValue = 6; + aiRateOfFire = 5; + aiRateOfFireDistance = 500; + missileLockCone = 180; + nameSound = ""; + textureType = "fullAuto"; + weaponLockDelay = 1; + }; + + class Cannon_30mm_Plane_CAS_02_F: CannonCore { + scope = 1; + holdsterAnimValue = 1; + ballisticsComputer = 2; + canLock = 1; + modes[] = {"LowROF","close","near","short","medium","far"}; + nameSound = "cannon"; + shotFromTurret = 0; + muzzlePos = "Cannon_muzzleflash"; + muzzleEnd = "Cannon_barrel_end"; + selectionFireAnim = "Cannon_muzzleflash"; + autoFire = 1; + burst = 5; + reloadTime = 0.04; + class GunParticles { + class Effect { + effectName = "MachineGun2"; + positionName = "Cannon_barrel_start"; + directionName = "Cannon_barrel_end"; + }; + }; + class LowROF: Mode_FullAuto { + dispersion = 0.0055; + reloadTime = 0.04; + }; + class close: LowROF {}; + class near: close {}; + class short: close {}; + class medium: close {}; + class far: close {}; + }; +}; diff --git a/addons/aircraft/config.cpp b/addons/aircraft/config.cpp new file mode 100644 index 0000000000..1df70e15b0 --- /dev/null +++ b/addons/aircraft/config.cpp @@ -0,0 +1,18 @@ +#include "script_component.hpp" + +class CfgPatches { + class AGM_Aircraft { + units[] = {}; + weapons[] = {}; + requiredVersion = REQUIRED_VERSION; + requiredAddons[] = {"ace_common"}; + author[] = {"KoffeinFlummi","Crusty"}; + authorUrl = "https://github.com/KoffeinFlummi/"; + VERSION_CONFIG; + }; +}; + +#include "CfgAmmo.hpp" +#include "CfgMagazines.hpp" +#include "CfgVehicles.hpp" +#include "CfgWeapons.hpp" diff --git a/TO_MERGE/agm/Aircraft/flightmodel_alca.hpp b/addons/aircraft/flightmodel_alca.hpp similarity index 100% rename from TO_MERGE/agm/Aircraft/flightmodel_alca.hpp rename to addons/aircraft/flightmodel_alca.hpp diff --git a/TO_MERGE/agm/Aircraft/flightmodel_thunderbolt.hpp b/addons/aircraft/flightmodel_thunderbolt.hpp similarity index 100% rename from TO_MERGE/agm/Aircraft/flightmodel_thunderbolt.hpp rename to addons/aircraft/flightmodel_thunderbolt.hpp diff --git a/TO_MERGE/agm/Aircraft/flightmodel_yak.hpp b/addons/aircraft/flightmodel_yak.hpp similarity index 100% rename from TO_MERGE/agm/Aircraft/flightmodel_yak.hpp rename to addons/aircraft/flightmodel_yak.hpp diff --git a/addons/aircraft/script_component.hpp b/addons/aircraft/script_component.hpp new file mode 100644 index 0000000000..db2e42ac75 --- /dev/null +++ b/addons/aircraft/script_component.hpp @@ -0,0 +1,12 @@ +#define COMPONENT aircraft +#include "\z\ace\addons\main\script_mod.hpp" + +#ifdef DEBUG_ENABLED_AIRCRAFT + #define DEBUG_MODE_FULL +#endif + +#ifdef DEBUG_ENABLED_AIRCRAFT + #define DEBUG_SETTINGS DEBUG_ENABLED_AIRCRAFT +#endif + +#include "\z\ace\addons\main\script_macros.hpp" \ No newline at end of file diff --git a/TO_MERGE/agm/Aircraft/stringtable.xml b/addons/aircraft/stringtable.xml similarity index 87% rename from TO_MERGE/agm/Aircraft/stringtable.xml rename to addons/aircraft/stringtable.xml index 767ee131e1..da013cac5e 100644 --- a/TO_MERGE/agm/Aircraft/stringtable.xml +++ b/addons/aircraft/stringtable.xml @@ -1,8 +1,8 @@  - + - + Burst Feuerstoß Ráfaga @@ -14,7 +14,7 @@ Rajada Raffica - + Open Cargo Door Laderampe öffnen Abrir compuerta de carga @@ -24,7 +24,7 @@ Rámpát kinyitni Открыть грузовой отсек - + Close Cargo Door Laderampe schließen Cerrar compuerta de carga From a97b767283742b18959a708e20bac697afc8d0b2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=A1s=20Badano?= Date: Tue, 13 Jan 2015 21:07:32 -0300 Subject: [PATCH 44/50] overheating: ironing out bugs --- addons/overheating/CfgEventHandlers.hpp | 4 ++-- addons/overheating/CfgSounds.hpp | 2 +- addons/overheating/CfgVehicles.hpp | 8 ++++---- addons/overheating/CfgWeapons.hpp | 2 +- addons/overheating/config.cpp | 8 ++++---- addons/overheating/functions/fnc_checkTemperature.sqf | 2 +- 6 files changed, 13 insertions(+), 13 deletions(-) diff --git a/addons/overheating/CfgEventHandlers.hpp b/addons/overheating/CfgEventHandlers.hpp index 839856a5db..f5c0105711 100644 --- a/addons/overheating/CfgEventHandlers.hpp +++ b/addons/overheating/CfgEventHandlers.hpp @@ -1,6 +1,6 @@ class Extended_PreInit_EventHandlers { class ADDON { - init = QUOTE( call COMPILE_FILE(XEH_preInit.sqf) ); + init = QUOTE( call COMPILE_FILE(XEH_preInit) ); }; }; @@ -15,7 +15,7 @@ class Extended_FiredBIS_EventHandlers { class Extended_Take_EventHandlers { class CAManBase { class GVAR(UnjamReload) { - clientTake = QUOTE( if (_this select 0 == ACE_player && {(_this select 1) in [ARR_3(uniformContainer (_this select 0), vestContainer (_this select 0), backpackContainer (_this select 0))]} && {_this select 2 == currentMagazine (_this select 0)}) then {_vehicle = vehicle (_this select 0); [ARR_4(_vehicle, currentWeapon _vehicle, true)] call FUNC(clearJam)}; ); + clientTake = QUOTE( if (_this select 0 == ACE_player && {(_this select 1) in [ARR_3(uniformContainer (_this select 0), vestContainer (_this select 0), backpackContainer (_this select 0))]} && {_this select 2 == currentMagazine (_this select 0)}) then {_vehicle = vehicle (_this select 0); [ARR_3(_vehicle, currentWeapon _vehicle, true)] call FUNC(clearJam)}; ); }; }; }; diff --git a/addons/overheating/CfgSounds.hpp b/addons/overheating/CfgSounds.hpp index a3d593ec7a..fd3a5596bd 100644 --- a/addons/overheating/CfgSounds.hpp +++ b/addons/overheating/CfgSounds.hpp @@ -1,6 +1,6 @@ class CfgSounds { class ACE_BarrelSwap { - sound[] = {QUOTE(PATHOF(sounds\barrelswap.ogg)),5,1,200}; + sound[] = {QUOTE(PATHTOF(sounds\barrelswap.ogg)),5,1,200}; titles[] = {}; }; }; diff --git a/addons/overheating/CfgVehicles.hpp b/addons/overheating/CfgVehicles.hpp index a3c955dd12..6ab439f94f 100644 --- a/addons/overheating/CfgVehicles.hpp +++ b/addons/overheating/CfgVehicles.hpp @@ -15,17 +15,17 @@ class CfgVehicles { statement = QUOTE( [_player, currentWeapon _player] call FUNC(swapBarrel); ); showDisabled = 0; priority = 3; - icon = QUOTE(PATHOF(UI\spare_barrel_ca.paa)); + icon = QUOTE(PATHTOF(UI\spare_barrel_ca.paa)); hotkey = "B"; }; }; class ACE_CheckTemperature { displayName = "$STR_ACE_Overheating_CheckTemperatureShort"; - condition = QUOTE( currentWeapon _player in [primaryWeapon _player, secondaryWeapon _player, handgunWeapon _player] ); - statement = QUOTE( [_player, currentWeapon _player] call FUNC(CheckTemperature); ); + condition = QUOTE( currentWeapon _player in [ARR_3(primaryWeapon _player, secondaryWeapon _player, handgunWeapon _player)] ); + statement = QUOTE( [ARR_2(_player, currentWeapon _player)] call FUNC(CheckTemperature); ); showDisabled = 0; priority = 3.1; - icon = QUOTE(PATHOF(UI\temp_ca.paa)); + icon = QUOTE(PATHTOF(UI\temp_ca.paa)); hotkey = "P"; }; }; diff --git a/addons/overheating/CfgWeapons.hpp b/addons/overheating/CfgWeapons.hpp index fc379494f0..fff251f096 100644 --- a/addons/overheating/CfgWeapons.hpp +++ b/addons/overheating/CfgWeapons.hpp @@ -6,7 +6,7 @@ class CfgWeapons { displayname = "$STR_ACE_Overheating_SpareBarrelName"; descriptionshort = "$STR_ACE_Overheating_SpareBarrelDescription"; //model = ""; - picture = QUOTE(PATHOF(UI\spare_barrel_ca.paa)); + picture = QUOTE(PATHTOF(UI\spare_barrel_ca.paa)); scope = 2; class ItemInfo: InventoryItem_Base_F { mass = 50; diff --git a/addons/overheating/config.cpp b/addons/overheating/config.cpp index 3fa17d9be0..1cb2793c52 100644 --- a/addons/overheating/config.cpp +++ b/addons/overheating/config.cpp @@ -5,7 +5,7 @@ class CfgPatches { units[] = {}; weapons[] = {"ACE_SpareBarrel"}; requiredVersion = 0.60; - requiredAddons[] = {ACE_Core, ACE_Interaction}; + requiredAddons[] = {ace_common, ace_interaction}; version = "0.95"; versionStr = "0.95"; versionAr[] = {0,95,0}; @@ -16,11 +16,11 @@ class CfgPatches { #include "CfgEventHandlers.hpp" -class ACE_Core_Default_Keys { +class ACE_Default_Keys { class clearJam { displayName = "$STR_ACE_Overheating_UnjamWeapon"; - condition = QUOTE( [_player] call EFUNC(common,canUseWeapon) && {currentWeapon _player in (_player getVariable [QUOTE(QGVAR(jammedWeapons)), []])} ); - statement = QUOTE( [_player, currentMuzzle _player, false] call FUNC(clearJam); ); + condition = QUOTE( [_player] call EFUNC(common,canUseWeapon) && {currentWeapon _player in (_player getVariable [ARR_2(QUOTE(QGVAR(jammedWeapons)), [])])} ); + statement = QUOTE( [ARR_3(_player, currentMuzzle _player, false)] call FUNC(clearJam); ); key = 19; shift = 1; control = 0; diff --git a/addons/overheating/functions/fnc_checkTemperature.sqf b/addons/overheating/functions/fnc_checkTemperature.sqf index a19221eaa4..de2c45b1ff 100644 --- a/addons/overheating/functions/fnc_checkTemperature.sqf +++ b/addons/overheating/functions/fnc_checkTemperature.sqf @@ -6,7 +6,7 @@ _this spawn { _weapon = _this select 1; // Calculate cool down of weapon since last shot - _string = format [GVAR(%1), _weapon]; + _string = format [QGVAR(%1), _weapon]; _overheat = _player getVariable [_string, [0, 0]]; _temperature = _overheat select 0; _time = _overheat select 1; From 4e8daecb3540b819608de9878366d6352669bd9c Mon Sep 17 00:00:00 2001 From: commy2 Date: Wed, 14 Jan 2015 01:11:43 +0100 Subject: [PATCH 45/50] delete obolete stuff --- TO_MERGE/agm/Attach/UI/attach_ca.paa | Bin 22016 -> 0 bytes TO_MERGE/agm/Attach/UI/detach_ca.paa | Bin 22016 -> 0 bytes TO_MERGE/agm/Attach/UI/irstrobe_item.paa | Bin 44650 -> 0 bytes TO_MERGE/agm/Attach/config.cpp | 159 ----- TO_MERGE/agm/Attach/functions/fn_attach.sqf | 60 -- .../agm/Attach/functions/fn_canAttach.sqf | 19 - .../agm/Attach/functions/fn_canDetach.sqf | 17 - TO_MERGE/agm/Attach/functions/fn_detach.sqf | 63 -- .../agm/Attach/functions/fn_openAttachUI.sqf | 63 -- TO_MERGE/agm/Attach/stringtable.xml | 150 ---- TO_MERGE/agm/Interaction/Menu_Config.hpp | 632 ----------------- TO_MERGE/agm/Interaction/UI/CenterIcon_ca.paa | Bin 11081 -> 0 bytes .../agm/Interaction/UI/IconInteraction_ca.paa | Bin 5625 -> 0 bytes TO_MERGE/agm/Interaction/UI/backArrow_ca.paa | Bin 1522 -> 0 bytes .../agm/Interaction/UI/command_rose_ca.paa | Bin 40311 -> 0 bytes TO_MERGE/agm/Interaction/UI/dot_ca.paa | Bin 1522 -> 0 bytes TO_MERGE/agm/Interaction/UI/gestures_ca.paa | Bin 22016 -> 0 bytes TO_MERGE/agm/Interaction/UI/mouse_left_ca.paa | Bin 5625 -> 0 bytes .../agm/Interaction/UI/mouse_right_ca.paa | Bin 5625 -> 0 bytes .../agm/Interaction/UI/mouse_scroll_ca.paa | Bin 5625 -> 0 bytes .../agm/Interaction/UI/team/team_blue_ca.paa | Bin 22016 -> 0 bytes .../agm/Interaction/UI/team/team_green_ca.paa | Bin 22016 -> 0 bytes .../UI/team/team_management_ca.paa | Bin 22016 -> 0 bytes .../agm/Interaction/UI/team/team_red_ca.paa | Bin 22016 -> 0 bytes .../agm/Interaction/UI/team/team_white_ca.paa | Bin 22016 -> 0 bytes .../Interaction/UI/team/team_yellow_ca.paa | Bin 22016 -> 0 bytes TO_MERGE/agm/Interaction/clientInit.sqf | 12 - TO_MERGE/agm/Interaction/config.cpp | 664 ------------------ .../functions/fn_AddSelectableItem.sqf | 40 -- .../Interaction/functions/fn_GetActions.sqf | 154 ---- .../agm/Interaction/functions/fn_MoveDown.sqf | 66 -- .../functions/fn_addInteraction.sqf | 55 -- .../functions/fn_addInteractionSelf.sqf | 55 -- .../Interaction/functions/fn_addToTooltip.sqf | 3 - .../Interaction/functions/fn_applyButtons.sqf | 51 -- .../functions/fn_canInteractWith.sqf | 12 - .../Interaction/functions/fn_canLockDoor.sqf | 16 - .../functions/fn_canTapShoulder.sqf | 11 - .../Interaction/functions/fn_getActions2.sqf | 120 ---- .../functions/fn_getCaptivityStatus.sqf | 3 - .../agm/Interaction/functions/fn_getDoor.sqf | 31 - .../functions/fn_getDoorAnimations.sqf | 106 --- .../agm/Interaction/functions/fn_getDown.sqf | 33 - .../functions/fn_getSelectedButton.sqf | 23 - .../agm/Interaction/functions/fn_hideMenu.sqf | 22 - .../functions/fn_hideMouseHint.sqf | 22 - .../functions/fn_initialiseInteraction.sqf | 167 ----- .../Interaction/functions/fn_isInRange.sqf | 49 -- .../agm/Interaction/functions/fn_joinTeam.sqf | 20 - .../agm/Interaction/functions/fn_lockDoor.sqf | 27 - .../Interaction/functions/fn_menuKeyInput.sqf | 16 - .../functions/fn_moduleInteraction.sqf | 20 - .../Interaction/functions/fn_onButtonDown.sqf | 14 - .../functions/fn_onButtonDownSelf.sqf | 14 - .../Interaction/functions/fn_onButtonUp.sqf | 44 -- .../agm/Interaction/functions/fn_onClick.sqf | 44 -- .../functions/fn_onSelectMenuDblClick.sqf | 3 - .../agm/Interaction/functions/fn_openDoor.sqf | 56 -- .../agm/Interaction/functions/fn_openMenu.sqf | 6 - .../functions/fn_openMenuSelectUI.sqf | 43 -- .../Interaction/functions/fn_openMenuSelf.sqf | 3 - .../functions/fn_openSelectMenu.sqf | 43 -- .../Interaction/functions/fn_openSubMenu.sqf | 3 - .../functions/fn_openSubMenuSelf.sqf | 3 - .../functions/fn_prepareSelectMenu.sqf | 35 - .../agm/Interaction/functions/fn_push.sqf | 21 - .../functions/fn_removeInteraction.sqf | 35 - .../functions/fn_removeInteractionSelf.sqf | 35 - .../Interaction/functions/fn_removeTag.sqf | 19 - .../agm/Interaction/functions/fn_sendAway.sqf | 35 - .../functions/fn_setCaptivityStatus.sqf | 3 - .../agm/Interaction/functions/fn_showMenu.sqf | 118 ---- .../functions/fn_showMouseHint.sqf | 54 -- .../functions/fn_sortOptionsByPriority.sqf | 20 - .../Interaction/functions/fn_tapShoulder.sqf | 20 - .../functions/fn_updateTooltipPosition.sqf | 12 - TO_MERGE/agm/Interaction/rsc/button1.paa | Bin 24483 -> 0 bytes TO_MERGE/agm/Interaction/stringtable.xml | 652 ----------------- 78 files changed, 4296 deletions(-) delete mode 100644 TO_MERGE/agm/Attach/UI/attach_ca.paa delete mode 100644 TO_MERGE/agm/Attach/UI/detach_ca.paa delete mode 100644 TO_MERGE/agm/Attach/UI/irstrobe_item.paa delete mode 100644 TO_MERGE/agm/Attach/config.cpp delete mode 100644 TO_MERGE/agm/Attach/functions/fn_attach.sqf delete mode 100644 TO_MERGE/agm/Attach/functions/fn_canAttach.sqf delete mode 100644 TO_MERGE/agm/Attach/functions/fn_canDetach.sqf delete mode 100644 TO_MERGE/agm/Attach/functions/fn_detach.sqf delete mode 100644 TO_MERGE/agm/Attach/functions/fn_openAttachUI.sqf delete mode 100644 TO_MERGE/agm/Attach/stringtable.xml delete mode 100644 TO_MERGE/agm/Interaction/Menu_Config.hpp delete mode 100644 TO_MERGE/agm/Interaction/UI/CenterIcon_ca.paa delete mode 100644 TO_MERGE/agm/Interaction/UI/IconInteraction_ca.paa delete mode 100644 TO_MERGE/agm/Interaction/UI/backArrow_ca.paa delete mode 100644 TO_MERGE/agm/Interaction/UI/command_rose_ca.paa delete mode 100644 TO_MERGE/agm/Interaction/UI/dot_ca.paa delete mode 100644 TO_MERGE/agm/Interaction/UI/gestures_ca.paa delete mode 100644 TO_MERGE/agm/Interaction/UI/mouse_left_ca.paa delete mode 100644 TO_MERGE/agm/Interaction/UI/mouse_right_ca.paa delete mode 100644 TO_MERGE/agm/Interaction/UI/mouse_scroll_ca.paa delete mode 100644 TO_MERGE/agm/Interaction/UI/team/team_blue_ca.paa delete mode 100644 TO_MERGE/agm/Interaction/UI/team/team_green_ca.paa delete mode 100644 TO_MERGE/agm/Interaction/UI/team/team_management_ca.paa delete mode 100644 TO_MERGE/agm/Interaction/UI/team/team_red_ca.paa delete mode 100644 TO_MERGE/agm/Interaction/UI/team/team_white_ca.paa delete mode 100644 TO_MERGE/agm/Interaction/UI/team/team_yellow_ca.paa delete mode 100644 TO_MERGE/agm/Interaction/clientInit.sqf delete mode 100644 TO_MERGE/agm/Interaction/config.cpp delete mode 100644 TO_MERGE/agm/Interaction/functions/fn_AddSelectableItem.sqf delete mode 100644 TO_MERGE/agm/Interaction/functions/fn_GetActions.sqf delete mode 100644 TO_MERGE/agm/Interaction/functions/fn_MoveDown.sqf delete mode 100644 TO_MERGE/agm/Interaction/functions/fn_addInteraction.sqf delete mode 100644 TO_MERGE/agm/Interaction/functions/fn_addInteractionSelf.sqf delete mode 100644 TO_MERGE/agm/Interaction/functions/fn_addToTooltip.sqf delete mode 100644 TO_MERGE/agm/Interaction/functions/fn_applyButtons.sqf delete mode 100644 TO_MERGE/agm/Interaction/functions/fn_canInteractWith.sqf delete mode 100644 TO_MERGE/agm/Interaction/functions/fn_canLockDoor.sqf delete mode 100644 TO_MERGE/agm/Interaction/functions/fn_canTapShoulder.sqf delete mode 100644 TO_MERGE/agm/Interaction/functions/fn_getActions2.sqf delete mode 100644 TO_MERGE/agm/Interaction/functions/fn_getCaptivityStatus.sqf delete mode 100644 TO_MERGE/agm/Interaction/functions/fn_getDoor.sqf delete mode 100644 TO_MERGE/agm/Interaction/functions/fn_getDoorAnimations.sqf delete mode 100644 TO_MERGE/agm/Interaction/functions/fn_getDown.sqf delete mode 100644 TO_MERGE/agm/Interaction/functions/fn_getSelectedButton.sqf delete mode 100644 TO_MERGE/agm/Interaction/functions/fn_hideMenu.sqf delete mode 100644 TO_MERGE/agm/Interaction/functions/fn_hideMouseHint.sqf delete mode 100644 TO_MERGE/agm/Interaction/functions/fn_initialiseInteraction.sqf delete mode 100644 TO_MERGE/agm/Interaction/functions/fn_isInRange.sqf delete mode 100644 TO_MERGE/agm/Interaction/functions/fn_joinTeam.sqf delete mode 100644 TO_MERGE/agm/Interaction/functions/fn_lockDoor.sqf delete mode 100644 TO_MERGE/agm/Interaction/functions/fn_menuKeyInput.sqf delete mode 100644 TO_MERGE/agm/Interaction/functions/fn_moduleInteraction.sqf delete mode 100644 TO_MERGE/agm/Interaction/functions/fn_onButtonDown.sqf delete mode 100644 TO_MERGE/agm/Interaction/functions/fn_onButtonDownSelf.sqf delete mode 100644 TO_MERGE/agm/Interaction/functions/fn_onButtonUp.sqf delete mode 100644 TO_MERGE/agm/Interaction/functions/fn_onClick.sqf delete mode 100644 TO_MERGE/agm/Interaction/functions/fn_onSelectMenuDblClick.sqf delete mode 100644 TO_MERGE/agm/Interaction/functions/fn_openDoor.sqf delete mode 100644 TO_MERGE/agm/Interaction/functions/fn_openMenu.sqf delete mode 100644 TO_MERGE/agm/Interaction/functions/fn_openMenuSelectUI.sqf delete mode 100644 TO_MERGE/agm/Interaction/functions/fn_openMenuSelf.sqf delete mode 100644 TO_MERGE/agm/Interaction/functions/fn_openSelectMenu.sqf delete mode 100644 TO_MERGE/agm/Interaction/functions/fn_openSubMenu.sqf delete mode 100644 TO_MERGE/agm/Interaction/functions/fn_openSubMenuSelf.sqf delete mode 100644 TO_MERGE/agm/Interaction/functions/fn_prepareSelectMenu.sqf delete mode 100644 TO_MERGE/agm/Interaction/functions/fn_push.sqf delete mode 100644 TO_MERGE/agm/Interaction/functions/fn_removeInteraction.sqf delete mode 100644 TO_MERGE/agm/Interaction/functions/fn_removeInteractionSelf.sqf delete mode 100644 TO_MERGE/agm/Interaction/functions/fn_removeTag.sqf delete mode 100644 TO_MERGE/agm/Interaction/functions/fn_sendAway.sqf delete mode 100644 TO_MERGE/agm/Interaction/functions/fn_setCaptivityStatus.sqf delete mode 100644 TO_MERGE/agm/Interaction/functions/fn_showMenu.sqf delete mode 100644 TO_MERGE/agm/Interaction/functions/fn_showMouseHint.sqf delete mode 100644 TO_MERGE/agm/Interaction/functions/fn_sortOptionsByPriority.sqf delete mode 100644 TO_MERGE/agm/Interaction/functions/fn_tapShoulder.sqf delete mode 100644 TO_MERGE/agm/Interaction/functions/fn_updateTooltipPosition.sqf delete mode 100644 TO_MERGE/agm/Interaction/rsc/button1.paa delete mode 100644 TO_MERGE/agm/Interaction/stringtable.xml diff --git a/TO_MERGE/agm/Attach/UI/attach_ca.paa b/TO_MERGE/agm/Attach/UI/attach_ca.paa deleted file mode 100644 index ec545508ba595a2a3625507bd65226cc81b6d6e7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22016 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 diff --git a/TO_MERGE/agm/Attach/UI/detach_ca.paa b/TO_MERGE/agm/Attach/UI/detach_ca.paa deleted file mode 100644 index 886c494d904f7bea2d583b05ad2b65deae32535d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22016 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 "CfgMagazines" >> _x; - if (getNumber (_item >> "AGM_Attachable") == 1) then { - _actions = [ - _actions, - getText(_item >> "displayName"), - getText(_item >> "picture"), - _x - ] call AGM_Interaction_fnc_AddSelectableItem; - }; - _listed pushBack _x; - }; -} forEach _attachables; -_attachables = items _unit; -{ - if !(_x in _listed) then { - _item = ConfigFile >> "CfgWeapons" >> _x; - if (getNumber (_item >> "AGM_Attachable") == 1) then { - _actions = [ - _actions, - getText(_item >> "displayName"), - getText(_item >> "picture"), - _x - ] call AGM_Interaction_fnc_AddSelectableItem; - }; - _listed pushBack _x; - }; -} forEach _attachables; - -[ - _actions, - { - [AGM_player, _this] call AGM_Attach_fnc_attach; - call AGM_Interaction_fnc_hideMenu; - }, - { - call AGM_Interaction_fnc_hideMenu; - if !(profileNamespace getVariable ["AGM_Interaction_AutoCloseMenu", false]) then {"Default" call AGM_Interaction_fnc_openMenuSelf}; - } -] call AGM_Interaction_fnc_openSelectMenu; diff --git a/TO_MERGE/agm/Attach/stringtable.xml b/TO_MERGE/agm/Attach/stringtable.xml deleted file mode 100644 index 895dff95c7..0000000000 --- a/TO_MERGE/agm/Attach/stringtable.xml +++ /dev/null @@ -1,150 +0,0 @@ - - - - - - Attach item >> - Gegenstand befestigen >> - Acoplar objeto >> - Przyczep przedmiot >> - Attacher l'objet >> - Připnout předmět >> - Acoplar item >> - Attacca l'oggetto >> - Tárgy hozzácsatolása >> - Добавить приспособления - - - Attach - Befestigen - Acoplar - Przyczep - Attacher - Připnout - Acoplar - Attacca - Hozzácsatolás - Присоединить - - - Detach item - Gegenstand entfernen - Quitar objeto - Odczep przedmiot - Détacher l'objet - Odepnout předmět - Separar item - Stacca l'oggetto - Tárgy lecsatolása - Отсоединить - - - IR Strobe Attached - IR-Stroboskop befestigt - Marcador IR acoplado - Przyczepiono stroboskop IR - Strobe IR attaché - IR Značkovač Připnutý - Marcador IV Acoplado - Strobo IR attaccata - Infravörös jeladó hozzácsatolva - ИК строб присоединён - - - IR Strobe Detached - IR-Stroboskop entfernt - Marcador IR quitado - Odczepiono stroboskop IR - Strobe IR détaché - IR Značkovač Odepnutý - Marcador IV Separado - Strobo IR staccata - Infravörös jeladó lecsatolva - ИК строб отсоединён - - - IR Grenade Attached - IR-Granate befestigt - Granada IR acoplada - Przyczepiono granat IR - Grenade IR attachée - IR Granát Připnutý - Granada IV Acoplada - Granata IR attaccata - Infravörös gránát hozzácsatolva - ИК граната присоединена - - - IR Grenade Detached - IR-Granate entfernt - Granada IR quitada - Odczepiono granat IR - Grenade IR détachée - IR Granát Odepnutý - Granada IV Separada - Granata IR staccata - Infravörös gránát lecsatolva - ИК граната отсоединена - - - Chemlight Attached - Leuchtstab befestigt - Barra de luz acoplada - Przyczepiono światło chemiczne - Chemlight attaché - Chemické světlo Připnuto - Chemlight Acoplada - Chemlight attaccata - Chemlight hozzácsatolva - Химсвет присоединён - - - Chemlight Detached - Leuchtstab entfernt - Barra de luz quitada - Odczepiono światło chemiczne - Chemlight détaché - Chemické světlo Odepnuto - Chemlight Separada - Chemlight staccata - Chemlight hozzácsatolva - Химсвет отсоединён - - - No inventory space - Kein Platz im Inventar - Sin espacio en inventario - Brak miejsca w ekwipunku - Pas de place dans l'inventaire - Není místo v inventáři - Sem espaço no inventário - Non hai più spazio - Nincs több hely - В инвентаре нет места - - - IR Strobe - IR-Stroboskop - Marcador IR - Stroboskop IR - Strobe IR - IR Značkovač - Marcador IV - Strobo IR - 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. - El Marcador IR permite señalizar su posisición a través de una baliza visible solo a través de dispositivos de visión nocturna. - Le Strobe IR permet de signaler votre position grace à un clignotement visible par des JVN. - IR Značkovač je Infračerveně zářící stroboskop umožňující signalizaci vaší pozice díky blikajícímu světlu, které je vidět pouze při užití noktovizoru. - O Marcador IV permite que você sinalize sua posição através de um pulso visível somente com equipamento de visão noturna. - La Strobo IR è una luce stroboscopica che ti permette di segnalare la tua posizione grazie all'emissione di impulsi ad infrarossi visibili solo con i visori notturni. - Az infravörös jeladóval megjelölheted a helyzetedet úgy, hogy annak pulzáló fénye csak éjjellátó készülékkel látható. - ИК строб позволяет сигнализировать свое местоположение через пульсирующий маяк, видимый только через ПНВ. - - - \ No newline at end of file diff --git a/TO_MERGE/agm/Interaction/Menu_Config.hpp b/TO_MERGE/agm/Interaction/Menu_Config.hpp deleted file mode 100644 index cc66efa2e9..0000000000 --- a/TO_MERGE/agm/Interaction/Menu_Config.hpp +++ /dev/null @@ -1,632 +0,0 @@ - -#define HSPACE 0.5-2.0/16/2 -#define VSPACE 0.5-0.3/9/2 - -class RscStructuredText; -class AGM_Interaction_Button_Base { - tooltip = ""; - //action = "AGM_Interaction_isMousePressed = true;(findDisplay 1713999) closeDisplay 1;_action = AGM_Interaction_Buttons select AGM_Interaction_SelectedButton;AGM_Interaction_SelectedButton = -1; if (call (_action select 2)) then {call (_action select 1)};"; - action = ""; - - idc = -1; - access = 0; - type = 1; - text = ""; - font = "PuristaMedium"; - sizeEx = "0.8 / 40 / (getResolution select 5)"; - shadow = 2; - - style = 2; - x = 0; - y = 0; - w = 2.0 / 16 * safezoneW; - h = 0.3 / 9 * safezoneH; - - offsetX = 0.003; - offsetY = 0.003; - offsetPressedX = 0.002; - offsetPressedY = 0.002; - borderSize = 0; - - colorText[] = {1,1,1,1}; - colorDisabled[] = {0.5,0.5,0.5,1}; - colorBackground[] = {0,0,0,0.8}; - colorBackgroundDisabled[] = {0,0,0,0.8}; - colorBackgroundActive[] = {1,1,1,0}; - colorFocused[] = {1,1,1,1}; - colorShadow[] = {0,0,0,0}; - colorBorder[] = {1,1,1,0.8}; - - soundEnter[] = {"\A3\ui_f\data\sound\RscButton\soundEnter",0.09,1}; - soundPush[] = {"\A3\ui_f\data\sound\RscButton\soundPush",0.09,1}; - soundClick[] = {"\A3\ui_f\data\sound\RscButton\soundClick",0.09,1}; - soundEscape[] = {"\A3\ui_f\data\sound\RscButton\soundEscape",0.09,1}; -}; - -#define ICON_BORDER 0.05 - -// Old command rose -class AGM_Interaction_Dialog { - idd = 1713999; - enableSimulation = 1; - movingEnable = 0; - onLoad = "_dlgInteractionDialog = _this select 0; for '_a' from 10 to 19 do {(_dlgInteractionDialog displayCtrl _a) ctrlShow false}; uiNamespace setVariable ['AGM_Interaction_Dialog', _dlgInteractionDialog];"; - objects[] = {}; - class controls { - class Interaction_BackgroundMain: AGM_Interaction_Button_Base { - type = 0; - style = 2; - idc = 2; - colorBackground[] = {0,0,0,0.5}; - colorBackgroundDisabled[] = {0,0,0,0.5}; - x = "(0.5-1.8/16/2 + 0 * 0.1) * safezoneW + safezoneX"; - y = "(0.5-0.55/9/2 + 0 * 0.04) * safezoneH + safezoneY"; - w = "1.8 / 16 * safezoneW"; - h = "0.55 / 9 * safezoneH"; - }; - - class Interaction_ButtonMain: AGM_Interaction_Button_Base { - action = "-1 call AGM_Interaction_fnc_onClick;"; - style = 2; - tooltip = ""; - text = "Interaction Menu"; - idc = 3; - sizeEx = "0.6 / 40 / (getResolution select 5)"; - colorBackground[] = {0,0,0,0}; - colorBackgroundDisabled[] = {0,0,0,0}; - colorBackgroundActive[] = {1,1,1,0.2}; - colorFocused[] = {0,0,0,0}; - x = "(0.5-1.8/16/2 + 0 * 0.1) * safezoneW + safezoneX"; - y = "(0.5-0.55/9/2 + 0 * 0.04) * safezoneH + safezoneY"; - w = "1.8 / 16 * safezoneW"; - h = "0.55 / 9 * safezoneH"; - }; - - class Interaction_Background0: AGM_Interaction_Button_Base { - type = 0; - style = 2; - idc = 40; - colorBackground[] = {0,0,0,0.5}; - colorBackgroundDisabled[] = {0,0,0,0.5}; - x = "(0.5-2.0/16/2 + 0 * 0.1) * safezoneW + safezoneX"; - y = "(0.5-0.3/9/2 - 2.5 * 0.04) * safezoneH + safezoneY"; - w = "2.0 / 16 * safezoneW"; - h = "0.3 / 9 * safezoneH"; - }; - class Interaction_Background1: Interaction_Background0 { - idc = 41; - x = "(0.5-2.0/16/2 + 1.0 * 0.1) * safezoneW + safezoneX"; - y = "(0.5-0.3/9/2 - 1.5 * 0.04) * safezoneH + safezoneY"; - w = "2.0 / 16 * safezoneW"; - h = "0.3 / 9 * safezoneH"; - }; - class Interaction_Background2: Interaction_Background0 { - idc = 42; - x = "(0.5-2.0/16/2 + 1.25 * 0.1) * safezoneW + safezoneX"; - y = "(0.5-0.3/9/2 - 0.5 * 0.04) * safezoneH + safezoneY"; - w = "2.0 / 16 * safezoneW"; - h = "0.3 / 9 * safezoneH"; - }; - class Interaction_Background3: Interaction_Background0 { - idc = 43; - x = "(0.5-2.0/16/2 + 1.25 * 0.1) * safezoneW + safezoneX"; - y = "(0.5-0.3/9/2 + 0.5 * 0.04) * safezoneH + safezoneY"; - w = "2.0 / 16 * safezoneW"; - h = "0.3 / 9 * safezoneH"; - }; - class Interaction_Background4: Interaction_Background0 { - idc = 44; - x = "(0.5-2.0/16/2 + 1.0 * 0.1) * safezoneW + safezoneX"; - y = "(0.5-0.3/9/2 + 1.5 * 0.04) * safezoneH + safezoneY"; - w = "2.0 / 16 * safezoneW"; - h = "0.3 / 9 * safezoneH"; - }; - class Interaction_Background5: Interaction_Background0 { - idc = 45; - x = "(0.5-2.0/16/2 + 0 * 0.1) * safezoneW + safezoneX"; - y = "(0.5-0.3/9/2 + 2.5 * 0.04) * safezoneH + safezoneY"; - w = "2.0 / 16 * safezoneW"; - h = "0.3 / 9 * safezoneH"; - }; - class Interaction_Background6: Interaction_Background0 { - idc = 46; - x = "(0.5-2.0/16/2 - 1.0 * 0.1) * safezoneW + safezoneX"; - y = "(0.5-0.3/9/2 + 1.5 * 0.04) * safezoneH + safezoneY"; - w = "2.0 / 16 * safezoneW"; - h = "0.3 / 9 * safezoneH"; - }; - class Interaction_Background7: Interaction_Background0 { - idc = 47; - x = "(0.5-2.0/16/2 - 1.25 * 0.1) * safezoneW + safezoneX"; - y = "(0.5-0.3/9/2 + 0.5 * 0.04) * safezoneH + safezoneY"; - w = "2.0 / 16 * safezoneW"; - h = "0.3 / 9 * safezoneH"; - }; - class Interaction_Background8: Interaction_Background0 { - idc = 48; - x = "(0.5-2.0/16/2 - 1.25 * 0.1) * safezoneW + safezoneX"; - y = "(0.5-0.3/9/2 - 0.5 * 0.04) * safezoneH + safezoneY"; - w = "2.0 / 16 * safezoneW"; - h = "0.3 / 9 * safezoneH"; - }; - class Interaction_Background9: Interaction_Background0 { - idc = 49; - x = "(0.5-2.0/16/2 - 1.0 * 0.1) * safezoneW + safezoneX"; - y = "(0.5-0.3/9/2 - 1.5 * 0.04) * safezoneH + safezoneY"; - w = "2.0 / 16 * safezoneW"; - h = "0.3 / 9 * safezoneH"; - }; - - class Interaction_Icon0: AGM_Interaction_Button_Base { - tooltip = ""; - text = ""; - idc = 20; - type = 0; - style = 48; - colorBackground[] = {0,0,0,0}; - x = (0.5-(2.0-ICON_BORDER)/16/2 + 0 * 0.1) * safezoneW + safezoneX; - y = (0.5-(0.3-ICON_BORDER)/9/2 - 2.5 * 0.04) * safezoneH + safezoneY; - w = (0.3-ICON_BORDER) / 16 * safezoneW; - h = (0.3-ICON_BORDER) / 9 * safezoneH; - }; - class Interaction_Icon1: Interaction_Icon0 { - idc = 21; - x = (0.5-(2.0-ICON_BORDER)/16/2 + 1.0 * 0.1) * safezoneW + safezoneX; - y = (0.5-(0.3-ICON_BORDER)/9/2 - 1.5 * 0.04) * safezoneH + safezoneY; - w = (0.3-ICON_BORDER) / 16 * safezoneW; - h = (0.3-ICON_BORDER) / 9 * safezoneH; - }; - class Interaction_Icon2: Interaction_Icon0 { - idc = 22; - x = (0.5-(2.0-ICON_BORDER)/16/2 + 1.25 * 0.1) * safezoneW + safezoneX; - y = (0.5-(0.3-ICON_BORDER)/9/2 - 0.5 * 0.04) * safezoneH + safezoneY; - w = (0.3-ICON_BORDER) / 16 * safezoneW; - h = (0.3-ICON_BORDER) / 9 * safezoneH; - }; - class Interaction_Icon3: Interaction_Icon0 { - idc = 23; - x = (0.5-(2.0-ICON_BORDER)/16/2 + 1.25 * 0.1) * safezoneW + safezoneX; - y = (0.5-(0.3-ICON_BORDER)/9/2 + 0.5 * 0.04) * safezoneH + safezoneY; - w = (0.3-ICON_BORDER) / 16 * safezoneW; - h = (0.3-ICON_BORDER) / 9 * safezoneH; - }; - class Interaction_Icon4: Interaction_Icon0 { - idc = 24; - x = (0.5-(2.0-ICON_BORDER)/16/2 + 1.0 * 0.1) * safezoneW + safezoneX; - y = (0.5-(0.3-ICON_BORDER)/9/2 + 1.5 * 0.04) * safezoneH + safezoneY; - w = (0.3-ICON_BORDER) / 16 * safezoneW; - h = (0.3-ICON_BORDER) / 9 * safezoneH; - }; - class Interaction_Icon5 : Interaction_Icon0 { - idc = 25; - x = (0.5-(2.0-ICON_BORDER)/16/2 + 0 * 0.1) * safezoneW + safezoneX; - y = (0.5-(0.3-ICON_BORDER)/9/2 + 2.5 * 0.04) * safezoneH + safezoneY; - w = (0.3-ICON_BORDER) / 16 * safezoneW; - h = (0.3-ICON_BORDER) / 9 * safezoneH; - }; - class Interaction_Icon6: Interaction_Icon0 { - idc = 26; - x = (0.5-(2.0-ICON_BORDER)/16/2 - 1.0 * 0.1) * safezoneW + safezoneX; - y = (0.5-(0.3-ICON_BORDER)/9/2 + 1.5 * 0.04) * safezoneH + safezoneY; - w = (0.3-ICON_BORDER) / 16 * safezoneW; - h = (0.3-ICON_BORDER) / 9 * safezoneH; - }; - class Interaction_Icon7: Interaction_Icon0 { - idc = 27; - x = (0.5-(2.0-ICON_BORDER)/16/2 - 1.25 * 0.1) * safezoneW + safezoneX; - y = (0.5-(0.3-ICON_BORDER)/9/2 + 0.5 * 0.04) * safezoneH + safezoneY; - w = (0.3-ICON_BORDER) / 16 * safezoneW; - h = (0.3-ICON_BORDER) / 9 * safezoneH; - }; - class Interaction_Icon8: Interaction_Icon0 { - idc = 28; - x = (0.5-(2.0-ICON_BORDER)/16/2 - 1.25 * 0.1) * safezoneW + safezoneX; - y = (0.5-(0.3-ICON_BORDER)/9/2 - 0.5 * 0.04) * safezoneH + safezoneY; - w = (0.3-ICON_BORDER) / 16 * safezoneW; - h = (0.3-ICON_BORDER) / 9 * safezoneH; - }; - class Interaction_Icon9: Interaction_Icon0 { - idc = 29; - x = (0.5-(2.0-ICON_BORDER)/16/2 - 1.0 * 0.1) * safezoneW + safezoneX; - y = (0.5-(0.3-ICON_BORDER)/9/2 - 1.5 * 0.04) * safezoneH + safezoneY; - w = (0.3-ICON_BORDER) / 16 * safezoneW; - h = (0.3-ICON_BORDER) / 9 * safezoneH; - }; - - class Interaction_Shortcut0: AGM_Interaction_Button_Base { - tooltip = ""; - text = ""; - idc = 30; - style = 2; - colorBackground[] = {0,0,0,0}; - x = "(0.5+2.0/16/2-0.3/16 + 0 * 0.1) * safezoneW + safezoneX"; - y = "(0.5-0.3/9/2 - 2.5 * 0.04) * safezoneH + safezoneY"; - w = "0.3 / 16 * safezoneW"; - h = "0.3 / 9 * safezoneH"; - }; - class Interaction_Shortcut1: Interaction_Shortcut0 { - idc = 31; - type = 0; - x = "(0.5+2.0/16/2-0.3/16 + 1.0 * 0.1) * safezoneW + safezoneX"; - y = "(0.5-0.3/9/2 - 1.5 * 0.04) * safezoneH + safezoneY"; - w = "0.3 / 16 * safezoneW"; - h = "0.3 / 9 * safezoneH"; - }; - class Interaction_Shortcut2: Interaction_Shortcut0 { - idc = 32; - type = 0; - x = "(0.5+2.0/16/2-0.3/16 + 1.25 * 0.1) * safezoneW + safezoneX"; - y = "(0.5-0.3/9/2 - 0.5 * 0.04) * safezoneH + safezoneY"; - w = "0.3 / 16 * safezoneW"; - h = "0.3 / 9 * safezoneH"; - }; - class Interaction_Shortcut3: Interaction_Shortcut0 { - idc = 33; - type = 0; - x = "(0.5+2.0/16/2-0.3/16 + 1.25 * 0.1) * safezoneW + safezoneX"; - y = "(0.5-0.3/9/2 + 0.5 * 0.04) * safezoneH + safezoneY"; - w = "0.3 / 16 * safezoneW"; - h = "0.3 / 9 * safezoneH"; - }; - class Interaction_Shortcut4: Interaction_Shortcut0 { - idc = 34; - type = 0; - x = "(0.5+2.0/16/2-0.3/16 + 1.0 * 0.1) * safezoneW + safezoneX"; - y = "(0.5-0.3/9/2 + 1.5 * 0.04) * safezoneH + safezoneY"; - w = "0.3 / 16 * safezoneW"; - h = "0.3 / 9 * safezoneH"; - }; - class Interaction_Shortcut5 : Interaction_Shortcut0 { - idc = 35; - type = 0; - x = "(0.5+2.0/16/2-0.3/16 + 0 * 0.1) * safezoneW + safezoneX"; - y = "(0.5-0.3/9/2 + 2.5 * 0.04) * safezoneH + safezoneY"; - w = "0.3 / 16 * safezoneW"; - h = "0.3 / 9 * safezoneH"; - }; - class Interaction_Shortcut6: Interaction_Shortcut0 { - idc = 36; - type = 0; - x = "(0.5+2.0/16/2-0.3/16 - 1.0 * 0.1) * safezoneW + safezoneX"; - y = "(0.5-0.3/9/2 + 1.5 * 0.04) * safezoneH + safezoneY"; - w = "0.3 / 16 * safezoneW"; - h = "0.3 / 9 * safezoneH"; - }; - class Interaction_Shortcut7: Interaction_Shortcut0 { - idc = 37; - type = 0; - x = "(0.5+2.0/16/2-0.3/16 - 1.25 * 0.1) * safezoneW + safezoneX"; - y = "(0.5-0.3/9/2 + 0.5 * 0.04) * safezoneH + safezoneY"; - w = "0.3 / 16 * safezoneW"; - h = "0.3 / 9 * safezoneH"; - }; - class Interaction_Shortcut8: Interaction_Shortcut0 { - idc = 38; - type = 0; - x = "(0.5+2.0/16/2-0.3/16 - 1.25 * 0.1) * safezoneW + safezoneX"; - y = "(0.5-0.3/9/2 - 0.5 * 0.04) * safezoneH + safezoneY"; - w = "0.3 / 16 * safezoneW"; - h = "0.3 / 9 * safezoneH"; - }; - class Interaction_Shortcut9: Interaction_Shortcut0 { - idc = 39; - type = 0; - x = "(0.5+2.0/16/2-0.3/16 - 1.0 * 0.1) * safezoneW + safezoneX"; - y = "(0.5-0.3/9/2 - 1.5 * 0.04) * safezoneH + safezoneY"; - w = "0.3 / 16 * safezoneW"; - h = "0.3 / 9 * safezoneH"; - }; - - class Interaction_Button0: AGM_Interaction_Button_Base { - action = "0 call AGM_Interaction_fnc_onClick;"; - style = 2; - tooltip = ""; - text = ""; - idc = 10; - colorBackground[] = {0,0,0,0}; - colorBackgroundDisabled[] = {0,0,0,0}; - colorBackgroundActive[] = {1,1,1,0.2}; - colorFocused[] = {0,0,0,0}; - x = "(0.5-2.0/16/2 + 0 * 0.1) * safezoneW + safezoneX"; - y = "(0.5-0.3/9/2 - 2.5 * 0.04) * safezoneH + safezoneY"; - w = "2.0 / 16 * safezoneW"; - h = "0.3 / 9 * safezoneH"; - }; - class Interaction_Button1: Interaction_Button0 { - action = "1 call AGM_Interaction_fnc_onClick;"; - idc = 11; - x = "(0.5-2.0/16/2 + 1.0 * 0.1) * safezoneW + safezoneX"; - y = "(0.5-0.3/9/2 - 1.5 * 0.04) * safezoneH + safezoneY"; - w = "2.0 / 16 * safezoneW"; - h = "0.3 / 9 * safezoneH"; - }; - class Interaction_Button2: Interaction_Button0 { - action = "2 call AGM_Interaction_fnc_onClick;"; - idc = 12; - x = "(0.5-2.0/16/2 + 1.25 * 0.1) * safezoneW + safezoneX"; - y = "(0.5-0.3/9/2 - 0.5 * 0.04) * safezoneH + safezoneY"; - w = "2.0 / 16 * safezoneW"; - h = "0.3 / 9 * safezoneH"; - }; - class Interaction_Button3: Interaction_Button0 { - action = "3 call AGM_Interaction_fnc_onClick;"; - idc = 13; - x = "(0.5-2.0/16/2 + 1.25 * 0.1) * safezoneW + safezoneX"; - y = "(0.5-0.3/9/2 + 0.5 * 0.04) * safezoneH + safezoneY"; - w = "2.0 / 16 * safezoneW"; - h = "0.3 / 9 * safezoneH"; - }; - class Interaction_Button4: Interaction_Button0 { - action = "4 call AGM_Interaction_fnc_onClick;"; - idc = 14; - x = "(0.5-2.0/16/2 + 1.0 * 0.1) * safezoneW + safezoneX"; - y = "(0.5-0.3/9/2 + 1.5 * 0.04) * safezoneH + safezoneY"; - w = "2.0 / 16 * safezoneW"; - h = "0.3 / 9 * safezoneH"; - }; - class Interaction_Button5: Interaction_Button0 { - action = "5 call AGM_Interaction_fnc_onClick;"; - idc = 15; - x = "(0.5-2.0/16/2 + 0 * 0.1) * safezoneW + safezoneX"; - y = "(0.5-0.3/9/2 + 2.5 * 0.04) * safezoneH + safezoneY"; - w = "2.0 / 16 * safezoneW"; - h = "0.3 / 9 * safezoneH"; - }; - class Interaction_Button6: Interaction_Button0 { - action = "6 call AGM_Interaction_fnc_onClick;"; - idc = 16; - x = "(0.5-2.0/16/2 - 1.0 * 0.1) * safezoneW + safezoneX"; - y = "(0.5-0.3/9/2 + 1.5 * 0.04) * safezoneH + safezoneY"; - w = "2.0 / 16 * safezoneW"; - h = "0.3 / 9 * safezoneH"; - }; - class Interaction_Button7: Interaction_Button0 { - action = "7 call AGM_Interaction_fnc_onClick;"; - idc = 17; - x = "(0.5-2.0/16/2 - 1.25 * 0.1) * safezoneW + safezoneX"; - y = "(0.5-0.3/9/2 + 0.5 * 0.04) * safezoneH + safezoneY"; - w = "2.0 / 16 * safezoneW"; - h = "0.3 / 9 * safezoneH"; - }; - class Interaction_Button8: Interaction_Button0 { - action = "8 call AGM_Interaction_fnc_onClick;"; - idc = 18; - x = "(0.5-2.0/16/2 - 1.25 * 0.1) * safezoneW + safezoneX"; - y = "(0.5-0.3/9/2 - 0.5 * 0.04) * safezoneH + safezoneY"; - w = "2.0 / 16 * safezoneW"; - h = "0.3 / 9 * safezoneH"; - }; - class Interaction_Button9: Interaction_Button0 { - action = "9 call AGM_Interaction_fnc_onClick;"; - idc = 19; - x = "(0.5-2.0/16/2 - 1.0 * 0.1) * safezoneW + safezoneX"; - y = "(0.5-0.3/9/2 - 1.5 * 0.04) * safezoneH + safezoneY"; - w = "2.0 / 16 * safezoneW"; - h = "0.3 / 9 * safezoneH"; - }; - }; -}; - -class RscListbox; -class IGUIBack; -class RscText; -#define X_OFFSET 0.2 - -class RscAGM_SelectAnItem { - idd = 8854; - movingEnable = 0; - class controls { - class back:IGUIBack { - x = X_OFFSET; - y = 0; - w = 0.6; - h = 0.71; - colorBackground[] = {0, 0, 0, 0.2}; - }; - class header: RscText{ - idc = 8870; - x = X_OFFSET + 0.005; - y = 0.005; - w = 0.59; - h = 0.05; - style = 0x02; - text = ""; - }; - class itemList:RscListBox { - onMouseButtonDblClick = "_this call AGM_Interaction_fnc_onSelectMenuDblClick"; - idc = 8866; - x = X_OFFSET + 0.005; - w = 0.59; - h = 0.54; - y = 0.06; - }; - - class cancelBtnBackground: AGM_Interaction_Button_Base { - type = 0; - style = 2; - idc = -1; - colorBackground[] = {0,0,0,0.5}; - colorBackgroundDisabled[] = {0,0,0,0.5}; - x = X_OFFSET + 0.005; - w = 0.15; - h = 0.1; - y = 0.605; - }; - class approveBtnBackground: AGM_Interaction_Button_Base { - type = 0; - style = 2; - idc = -1; - colorBackground[] = {0,0,0,0.5}; - colorBackgroundDisabled[] = {0,0,0,0.5}; - x = X_OFFSET + 0.445; - y = 0.605; - h = 0.1; - w = 0.15; - }; - - class cancelBtn: AGM_Interaction_Button_Base { - idc = 8855; - x = X_OFFSET + 0.005; - w = 0.15; - h = 0.1; - y = 0.605; - style = 2; - text = $STR_AGM_Interaction_Back; //$STR_AGM_Interaction_CancelSelection; - action = "call AGM_Interaction_fnc_hideMenu;"; //'Default' call AGM_Interaction_fnc_openMenu; 'Default' call AGM_Interaction_fnc_openMenuSelf; - colorBackground[] = {0,0,0,0}; - colorBackgroundDisabled[] = {0,0,0,0}; - colorBackgroundActive[] = {1,1,1,0.2}; - colorFocused[] = {0,0,0,0}; - }; - class approveBtn: AGM_Interaction_Button_Base { - idc = 8860; - x = X_OFFSET + 0.445; - y = 0.605; - h = 0.1; - w = 0.15; - style = 2; - text = $STR_AGM_Interaction_MakeSelection; - action = "call AGM_Interaction_fnc_hideMenu;"; - colorBackground[] = {0,0,0,0}; - colorBackgroundDisabled[] = {0,0,0,0}; - colorBackgroundActive[] = {1,1,1,0.2}; - colorFocused[] = {0,0,0,0}; - }; - }; -}; - -#define GUI_GRID_W (0.025) -#define GUI_GRID_H (0.04) - -class RscPicture; -class RscInteractionIcon: RscPicture { - x = 19.25 * GUI_GRID_W; - y = 15.75 * GUI_GRID_H; - w = 2*GUI_GRID_H; - h = 2*GUI_GRID_H; -}; -class RscInteractionHelperIcon: RscInteractionIcon { - x = 20 * GUI_GRID_W; - y = 16 * GUI_GRID_H; - w = GUI_GRID_H; - h = GUI_GRID_H; -}; -class RscInteractionText: RscText{ - x = 21 * GUI_GRID_W; - y = 16 * GUI_GRID_H; - w = 8 * GUI_GRID_W; - h = 1.5 * GUI_GRID_H; -}; -class RscTitles { - class AGM_FlowMenu { - idd = 9920; - enableSimulation = 1; - movingEnable = 0; - fadeIn=0.5; - fadeOut=0.5; - duration = 10e10; - onLoad = "uiNamespace setVariable ['AGM_Flow_Display', _this select 0];"; - - class controls { - class RearIcon: RscInteractionIcon{ - idc = 999; - text = "AGM_interaction\UI\CenterIcon_ca.paa"; - x = 17.9 * GUI_GRID_W; - y = 10 * GUI_GRID_H; - w = 3.7 * GUI_GRID_H; - h = 5.75 * GUI_GRID_H; - }; - class TopIcon: RscInteractionIcon{ - idc = 1200; - h = 1 * GUI_GRID_H; - y = 9 * GUI_GRID_H; - }; - class FirstIcon: RscInteractionIcon{ - idc = 1201; - y = 10.25 * GUI_GRID_H; - h = 1.5 * GUI_GRID_H; - }; - class SelectedItemIcon: RscInteractionIcon{ - idc = 1202; - y = 12 * GUI_GRID_H; - }; - class ThirdIcon: RscInteractionIcon{ - idc = 1203; - y = 14.25 * GUI_GRID_H; - h = 1.5 * GUI_GRID_H; - }; - class BottomIcon: TopIcon{ - idc = 1204; - y = 16 * GUI_GRID_H; - }; - class ItemName: RscText{ - idc = 1000; - style = 0x01; - x = 5.25 * GUI_GRID_W; - y = 12.15 * GUI_GRID_H; - w = 13 * GUI_GRID_W; - h = 1.5 * GUI_GRID_H; - colorBackground[] = {0.3, 0.3, 0.3, 0.8}; - }; - class BackIcon: RscInteractionIcon{ - idc = 1210; - text = "AGM_interaction\UI\backArrow_ca.paa"; - x = 18.25 * GUI_GRID_W; - y = 12.69 * GUI_GRID_H; - w = 0.5 * GUI_GRID_W; - h = 0.5 * GUI_GRID_H; - }; - class ItemDetails: RscStructuredText{ - idc = 1100; - style = 0x0c; - x = 23.5 * GUI_GRID_W; - y = 11 * GUI_GRID_H; - w = 13 * GUI_GRID_W; - h = 3.9 * GUI_GRID_H; - colorBackground[] = {0, 0, 0, 0.4}; - }; - }; - }; - class AGM_InteractionHelper { - idd = 9930; - enableSimulation = 1; - movingEnable = 0; - fadeIn=0.5; - fadeOut=0.5; - duration = 10e10; - onLoad = "uiNamespace setVariable ['AGM_Helper_Display', _this select 0];"; - - class controls { - class SelectIcon: RscInteractionHelperIcon{ - idc = 1200; - text = "AGM_interaction\UI\mouse_left_ca.paa"; - y = 17.5 * GUI_GRID_H; - }; - class SelectText: RscInteractionText{ - idc = 1000; - y = 17 * GUI_GRID_H; - text = $STR_AGM_Interaction_MakeSelection; - }; - class GoBackIcon: RscInteractionHelperIcon{ - idc = 1201; - text = "AGM_interaction\UI\mouse_right_ca.paa"; - y = 19.5 * GUI_GRID_H; - }; - class GoBackText: RscInteractionText{ - idc = 1001; - y = 19 * GUI_GRID_H; - text = $STR_AGM_Interaction_Back; - }; - class ScrollIcon: RscInteractionHelperIcon{ - idc = 1202; - text = "AGM_interaction\UI\mouse_scroll_ca.paa"; - y = 18.5 * GUI_GRID_H; - }; - class ScrollText: RscInteractionText{ - idc = 1002; - y = 18 * GUI_GRID_H; - text = $STR_AGM_Interaction_ScrollHint; - }; - }; - }; -}; diff --git a/TO_MERGE/agm/Interaction/UI/CenterIcon_ca.paa b/TO_MERGE/agm/Interaction/UI/CenterIcon_ca.paa deleted file mode 100644 index 86deb5df7c1aa509e5946aa246f8ef0206bd698a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11081 zcmeHN3vd(18Qzm6Tc%hz1QE#DAZ(de3?UFi3u!n(uyrnW6i4SKZ9Ld=fq*5u%rt6& z5S<0hv&6E15Ml@n!z7)|Bry;!6CS~1QwFB=mB|o5Oi75tG@W*EI+VZ!TY<=^Y<`JJw+$^WRIjQ!&x)HUvN*e;j^lO{Q2r+B&l6Byr~d`M{o%s)iG`ZJyl7$a zVu0fB-YooXP+rv^)W03{pJ>p(HYw**Q|{5BQ5X+|2m&GZ4ukPXqHoc7 z1M3e(9E+;+gNn)O4-E83)QHKaE(4u>x`pA~jmrF`#55YQ1w4Imq?|XJ*gn_%e;Jv3 z_0fC*+I%cs!jZu*mnSI8Q9!rLUhSo;+;CpX}7(=DdSV zIo;pzjNkM#;m!w9X@t-kSEZ6G~*kF%T`b?mIcHFAjYvzOE zCkmgT;neoc58ht-KYsSEYz`i#zpohN*ZHehBAbE*>mdFyVhBOH-k*T|AL{B$#p20h zIt=vk&vdxC81&zJ8~MMA&i~Vye)E53^mkA3lk-VSu&`OP*Ze2Na=m?;D{lk+!HihNc0n&HnC+UG^*)%#< zcrX!7f_`-jE# z`^3b0g6qvBFUaHh5A6-*8T$pUH=Wa&e2Y;2M-%y(B>AqIpQSzKdOF`V59U|Y$6_CG zylZ23tzVnpFU|(%$5w0cIqDDhpO4*@xk{5a>@hj4vLlJPfy6Cq_2sZN>g434{$aQ5 zfG1g>$POU}_E+r_7EMkuTWcRa1^y?bmC-#7_^VN)KYR-D_DuW+Ny*Ty8@t+?vS@q= zf^b#+v5mf1$kr(2`_O+P{{t7VW*7q`EW7*}p{jhOo55gmSj;xNvvvA;VrG)9(9^2?^3v9r@AbQ}`QJTf z(`zQcgZyy)|LY^3S3dBpJi_FEwjSoM&<0JPWq?nB!NTdCJJ#z0i!!ZR`{oh>( z>j69rV@%x0!qfd<{TZge<7-HMe_ILjA9D42d54(i*5xBP4$(yPctq(Bj95&;!L$^5 zKRxEdpsZ3&*JnHdxxmBbPrv`ak;+5gciR4c@J=O|R;SnNs-uky3oCCT#b?6GAeK=V7`EPYJm z3)40EBq^PE@Vpl0XV`mUe$-d`EYN3xJ`40&fLg#o1VXHuF&ywqpGw`SINf**WZ@{j z^qTKl?W0~3j!Z1Wl6DMnrS^CK{m45V>3({w04}jS6llqfZ_TC49Nc1Q*H~9-pJ7v~ zrztgBn&3XZCHlg;+@r`JiZ`8%ZJdy5m1Hk?X z{&P!={8RA?Q9LuJ2mDROc(b1-2b-LtKZe{a;GRVaS4Cbkiivp>|0e?~E{(m<5zv|@? z>w-;#C=IJFnPc1*UJjQkYgaJ+pZ~6B{!iuq^3>mF#m^;=Ii#sZ{!=T!AG&LbsSBLj z$Hn?>x?cY3_|xKl*rqju2q)0-59<4dJs`Fk`}4 zYl(l#KYeotjXyZ^3@mENio+Cy_*&*4+W_3AR8PbDxJ?NhNBeJ>j~M?+AThsQc|N^+ z$B-Jft-t}mJ+w88Vc%uuD~t&&4)~zWGa#PX{08AHts$*%FiarcOjpB zRbZR=*%J)MiM+~Lve}9J1h3B*T#8{oR}1?Aa~ANiqZL{RJvM-}WChpmW9>g|-vRO` zZYSul+Ci*^GM<*fu(4Pq7lCE3Ox?Xg++$dq#r2dQj4J8A13NYxjU;Zre1dSvGzuo7 z#R1=pC%(86w!(3NOvsR@!7a+aTTu*2s&;eB(5(U0ZL_$H+EZ1bdH*axI@|$}#pHbX z*i|NaDS&qpGFcZb`TF(4NXH5?k;jkg@ZV1{RN$Yo1=#HGc1x1^S4Dw80*gd{fFUCV d5giMZEIxb1BlsFsvxZ9E3P$GAY5-Mj{|B6tz{CIm diff --git a/TO_MERGE/agm/Interaction/UI/IconInteraction_ca.paa b/TO_MERGE/agm/Interaction/UI/IconInteraction_ca.paa deleted file mode 100644 index 000c4bc9c69a7eba2bc576fd9ca7e5a2774e9132..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5625 zcmds54Nz0r6~0kG5tJW)7L5qTj8v-@O`GYCtbtwRN0zLt;woF(4cM)UB#w5F)@B2% zTk7ZHspl3`e6R!L z4fq!f4*-5IlJ!>*{gm@WEZRFr^wsaO@f7(}#N{Q*6_=bk-o9o%?Vr|zhg1YWBmP1> zv#r(oR*EMZkBt5it*u_i=3DB*4wJ#o#?yCx6&;-q7Z+Y{ru?$&M&a^Hf4NGrqNYI0 z_vUV(7+se{BNWKSOLp*FzBQ0%`iV78qpk2~p7q=z*_ROGWcy?0Kob_OMiDwOK6zqw zn6)~Rtv{*D)r=cF{%7=?gjN;L{GTj-W%;-f^Cn<-^KUe(c&kxpqd4p%F8`3%`bZr3 zkqgJ{W8)h(APk$@J?lYsa6rcwsM-7^b|_=5gQpq4tj5A$v+!&`OROn8eibfiPllT= z$W!*bO)tx)`+l%To&}r`#`X&lXL|JKRla<~{pKaM~q(D=eX@j^ES$i#@UxT4-Nk(G0k1M@vs7K${f=`OZbQ zmVF$01UENb^XNOyMnd!8DaN0o)INk1rv5_w4hwcgQ9K#ni{+3%PI38&`L)pu!CQpO zQ`Pt74+$ml^~3s3&m-}VMiei30N1(E=0l%C!@*h8vRfnz$$H2Njfe<(RFz$qnf+Ic zzgand!SVoKzR7Tk8G;|tvHj)6a@fD{(A}x}pV8k7`Rd6Z>3IVmg~y1xd%qF)b5Fia z=8x>Ix+^Y8d%t#cRc<`;n-@OR@M~Voulzg-RJDV6#l(48I~oCGY5g1dD+V6&Kl5W2 zJUplNeeJ>dNc16}-2O>jy+)ol5h(imM!!n9Y}B*;%U9nQ2bU%Hm^bq^4^Jo$iZ z{&tDQo=o|D^?mW2Hf7G6BHu@^pMv?9IU&CUBh1gkEGT`Uj&f^IzLo(4|92G+>n+X( z^*Jlhsoa+z^`TjhTK>T1JA?R(9Z|G@a7js|)vNycH~onRw7;)hezR9M%H>L_9O{iB z3?Wdw(p;r)Qwb`Hmp*lUtk?wMqZjTp==h`@E5^Gw1^W9V^Z+zdr@{Qzjv|zaF1SK| z(q2aD!xIOhBO;LR{H`{0nuon6Von^n&ORr(Rgpi$clk|~&|dAS$9&`Ys(9(m1{jas z;Gf%``U`SL=F^SmSAK(65de+Y+Sm{EN60Y4iZs{{iiIb!@*fPR*rEQ)5z7xze|}|> zNfg2#!soV!XOL$EFTH87x0^lnG`75i6JG}8XQe3RiA2dDY^ZDSnO-_a%D zWRq7~7tL5kIH(*IEu9nZg|oWx@AwhVYf_A(DzeRTmZc5RC5`HapkE?W`1L0b0=-Z6~<3IKQUb~e#HlN{*=4@~O zfKzN#|DE>>G;@`C3jN@T19Jib{5N%hG09?e?dYwu7ccILp6JfTcWxuMyTujW~K$2MjyFW8L{vIBN{&BWg z7+&B0o4Yx!tu=BrT#l6X-_cbiv>84pP@JDI5FVrx|R-7TRCdZ?Iqcx!3xgFi7RT_I>fXwryJPZML`v zhxB^QZ}FEHlS-5Ft!py|Kg%{5N&Uvux(;1 zuYBS(THyTS8TIyDu*Y3I2?kSI%1XX$-YeQCo8DHw_=(eGCYnjs&ex2}Jpm2d(lPFY zq68J4M*H`#TKt_KQ@2i{{d@ct{&G7BE54`*t!Q1hVD9}ma7#ZZLDOJA^&{iCXxFa4 PagoOY+|jQBCer=|Kr0Q{ diff --git a/TO_MERGE/agm/Interaction/UI/backArrow_ca.paa b/TO_MERGE/agm/Interaction/UI/backArrow_ca.paa deleted file mode 100644 index 627cb64f17ac8ffe20a3f9987e29289cc19299b0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1522 zcmb_cUr1A76hGUXI%v6|MK*^k1YdfKiJ`DN|7;5VnRxG5(8HFBWG#iBd=NJYda8lo zLl0UH`PM@|cwd4ttR+79l(rbm2Mv2uak)W`uiv?MH>92>9{Bj~`R?KTe&=`2_gO_S z=$AW#VSg176^q4I&5!tRvM*rl2mLn!?3=LI?+*lSOZZM;J;jgbR-$#R%FRO_B2IlW zd$B>JD9-MVTWV})EhQ#)iOyA-=yJ=#M8;QY%n72wh?Fq0kFRmOtQdZ!yMfnsM;+J# z-fRJQRuhEMGYOF^nDKcgFAi$z8Zz2>LW)#V&vaAobW=O{g)6`}@Ot`zmwqW`%k_y8 zw}KnADH!kkPa$f24Vg{mk&qmh%6P6FqOJQ$6JnWIm`7Qv?*d?>$K_akAJG(J>qJH`hJk@?Dgvb21RPji_M&m-jT zIt?zIW5(cf{U~)rbsk+GYrV+xU)D!Eu{7ktN9_Apt&oIyEb|%X`ywl+rjNm=`EX@) zyT$02xxP0f4!))AS?*6F8X07EY^|6N;Qu!t4sh3A7d^~_jo+TZAvK=G&CWq&WyWih z-(7gqC=R~l3h@V>h%s|nxLF%KHeoqDG_1!nEaL6MAJZv;cpUPt Fus_BSWnTaQ diff --git a/TO_MERGE/agm/Interaction/UI/command_rose_ca.paa b/TO_MERGE/agm/Interaction/UI/command_rose_ca.paa deleted file mode 100644 index 3dd8b58768cda84b9312da35f5fd8abf92ab6775..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40311 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 diff --git a/TO_MERGE/agm/Interaction/UI/mouse_left_ca.paa b/TO_MERGE/agm/Interaction/UI/mouse_left_ca.paa deleted file mode 100644 index 1cbc49397e724a114030dd64df63f55867745e44..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5625 zcmd5=Z){Ul6hE)qWKZnY03|bn@JI@Tj6^Z8XhO0#35+EW3-q=N*<2aHkQiwF0GgQ5 zM+XuN+Bsb$0kbL+%?xn^sUJkF5XTgP0WC~x*rH(lVC)8NY_8q)-1qu=UuVi#vK4RM zd-wf%PtUo(bI$$u3TRbTrDJuKvoaq5y1)JLu!?IcH!w`GFkDr+el5cS-VASEyY@L5 z-xa(MS^(ah1JG&(_yzCD6&Yjz)G*1i5vp5k)h(<~YAK_kouBMzvFX^{?7qu7uN(m& zge;}+R-0Ix5>zqhIH+N7(*dEM$vaM{?V`V_TE#0g4D({M6BXEQ*{`<0Qg|p-*He+K zU^*X0kv<>VmADe1x^0?z>l+43Yk^?mI6NF|Z*MnZga!=Y#iF;fTExP!_QvtkT{0Tw z7{FEQmFwfD8+!uD3wnR1yQY3Y28<~3g-EN_s`saFI6VAu2EXudCg1URvi!&UBXoxO z<3^$)agio_Ut6x`hhy6L^LT?5i;@3Cd_j@Z@ji!oT!a+p|8I-~n61R2V@j88LoNcx z+S`9HfJwqD_6&dnOK$l`h~6KT515_VaX*0FUY~BKbZem~2nK!<)Y$EIT_2_AErLJ{ z@|pTm-XQ2k1AiCE6@O-*7~)T9Wg#=p`=5!=-9z~detzVa$se23{8jmk_Dp?gdnx{E z{^v0MjHfaG*&MD$NPTJxm=W(q{ziV3-k(3ymg%1?`cwSZEXDkHI-R+U|77^H-rMb7 zx5h%t6G1SaF=D&D*2QrH%a8PWlGVQ{{vY5{?r`Qd|0l=)^-VGchx5bn;Ofi3k(DL` z)+D)n7M$Wg-Er6T^ZraO|Fgy~%XoQEc^IPu3+TWMy?@hP|9|-RGS4Z)RDAF9p=06c z=B?|$7RShp1n}{&<3BG3iXz_{@+B_%a<~7RMc1FQt^0NH-yb6Xh;e;>=`i}pu%2s~ z!t-USaf3w(%kHv2eaRmx5EVxK_73Knl}j~fc&&B1h@oKItP#SrJ)y}&@p^f^EUe( zxA}!6BAVzW?O2bvg!p9n>+{+%o&}ZAyu1Y+3lnW9uWn;qZl$ylIdnGmr1ha4RwTSp zj7{Zgk?_gzwbAlju^|r)cChao*^gN;0uT0UHk<7%w=XfgnB&x2%Kil$RK{)MRM___%x4+{ zR*U$`vG(Ru(D{J}k3aN>ixc7ETQ?@;ujwCek7JgBio9oUAo=r04{m?%$R1C;yy4YL zTeM-z^)a5N`+TNJ^=C-+htx}P;N!7hI^Nb8?KDRv{8>#ewVB5|1+$KaHC;*1Sb0N~ zX-T;rwr@)=Y!su@g*d+bk6;E@J(Q4tDR~8C?|vz*#eWEY4=%!afBGP;fW2 z^=N3@sJj`538wx2+dJ;4-5n7i=~t8&`l<&QrgZz#I=?AzdpKl{cFvDtlB2xKL7}=i zAFp^54jaR;T@?#((owZKXKVu+y*=X|KMDT}^maXl@cCki^;5=X_LiliRiY z2*w2Eb+;5kA^R)}*X>1PeZ^yx%3cyV`Nrdyixb~dyzryN7W>u=tSC%ZglY)KYH t^NFYEp<~@*?N3ZC9&(@0#~BsvUOtIKZfjF zFbjUr1!)8sZu~(I%*;rn2}Yofge)pxgoa6VD~LkyV^dsKS;3M1`aI9?dESqEFN>9yIxCiyRys2QpttwzTO3zAR}f|>giD>vO9-3rB>a3y$+HsP zD|oir0JhEo@Yw;r!!tFJKmtGuDaryU-{vUaMlo?Qclql->SavBIp0s)PQkC(03gfq z<7{EMKy7gh3ya|oYHxUjw^y@bwcWj*SiM1k@%2fTizxl19eX;49 zzjXgv_xKy4r@RTi8gs^4Y{4v(pyN%085o?7)jJ&nRHJA(91$0rP;?xK96-^r+btRF zg@-U76)yLE*Shoi_Qj5;D-W+dpG?G8)ztM<<)54nu~1R~8m}&m zo@tH_q>H~XemjbelldiMiZI~T^gkFu{<2)4;Vq*8T|T)&!{G>x02sGFz+ZvLF%&F= zAkvX0(c)t)-)y%BWgSxhY(m`VsvXmAG4yxFoaSnm%ca>1N07WJme40`w4cCJ#vjMu znEE3=VC?_5z^iqB#M3z52_yXkf5P&9eLmng+5RKwZ_4Dui=uIZ;A(e&7%jK%BGGgR!SWn`7c@{`Nj{h_Kv+JZW^~3&M6*jDo zxSlMUVZh_?onrofjgCx_t^ZGwPcpyT;dIykrz|&2x4}_dzy6o}4`)h{WrN*= zoWD=4s$o3du3mSn{ejCkoTP7tSZtssvR9(|`piu+G^E*CZI(wyn_NAlK!yVxH_j-XG8Vct#mXI`=*dDk7l9^drA1v(Ei{rI1;MsLM^z}_Th%uRzf4gyJ+w=fO`<%zl89d zo{w=qydE)}Vr=Oi-9X{VoX0}`yH{TkM1aI@o&YYvjAb)_eXf7Q0u2}LpSFvhQ@P}z zMcBDp-Ntj=EJ>Yv)NMPxmdi{KO0K>en~vHXS2YGoe?$)5c_Gany5S?7THG7O*aUwy~A#KtHaLk+Q(D2a_aq-!TPZAiPON{mfO3o1AA@cud+PXio zMIz#Plm7|$Gq%?3a5&mEi*Y*h7pJ;eD>=pVP>ikb%uo#(?6|5fon z^M7fisbQqZ^TVrM|MoS5UQ|GOS;69aH%+?!vko^kT*GPp&F9cR4of|s#7eN}SiQRm zUm`u4rt{5;A~o8)9h*W2t&{Kn{O@{yka}XC8%66v7$=3cDYO9I(Xr~=Z={0_p`vkJY!nde&Mgn#hK=X z`D)pmU!u{d=Sek9mLNoMc5SYlF+g!B?y85qSQFG2xlP8*V5ZNa4p#DW!J3Qwxxr2DnoOKgF`qMk WE$ghk{>JQ2`vEo<7cWC6D1QU<_h23X diff --git a/TO_MERGE/agm/Interaction/UI/mouse_scroll_ca.paa b/TO_MERGE/agm/Interaction/UI/mouse_scroll_ca.paa deleted file mode 100644 index 662d11b0d81313f3224e760d1e7c935631e78990..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5625 zcmd^DZ){Ul6hG}&?TeN*NWqA>P8eYyh^TBIgk-Jg=2T+UzI7ogFIzMc+?be5f*Cv@ zhJ*+sgo%ktXV@kzVw`4`sEjHqi6pCGmK17Mbkl|Kp$udluH|~}yL<1xS2k!RT}-@b zd*843+;h(Fo^$^_3#qJhdskFeyYm5{udjcnf@|C>DJEDbu5>?LL9q$H6hB{4@r(IEMZ>HkU z)&(lgb#3{ptTu5vo>c9S3Ffp87YlhDH^*tvIA%{A1Gup0u>}jq>GHh^mq8zZuf`=W zAMH+^El-|M{mFHGPy5(0lJc|ohFcxn-x#5R<~ZGdBkoOP%iq|akQfP4dp0n)fmQ1N z0Q0Nb>&-QP(qXa#erP^Auw=@Y$py7|AGrol;}fs&{$MW-i$0E>NX2a8m_1#Gd%^6) zPvR(m7fY`BcXW=mkTJh9A03Xc$o-*~$qjL%XSLRTZVbRCm^6MAdn8HX`fBZhP1NKk z*k6Zxe+(NMFYv^Vw#zsqKVJ zq7Utz_=#NhlPiVq_MrSU#J|1ss-IkKnTUTj`M<@A^t0lR^mY8%NbvDsPe(}A-p8u; z=F|OUI`V&i84J(yH>ISZefCtC-gM`9b$Un%lgcJ-y#f)&+nC;NH+XSe>{JM1#}PxCdX@rfZj(P7r`RD9Fx`PXk`{Oi|F5C2#Exc()z`LE62O!M_tNJe6tlP8O;cpk^cKVX}eC0|Y&IzI%;~-(Ij}x@l%?@BX&Fbq50VT0AU2V4~MFXn6iAn)xlI zbiKX<^R*C9{Dk;tgb<%YoOcvqNYdo*Yv24rM5ixfM=}(2f)hZy%~POE&HTfG`niF+ zxQZYC>b8FBC=G`g7R=-%yQV9c$nv+}vuivdwRSOOGCkB)k}Ox{eUfbH3D~0DsWYlR zG@}$J{xYpb{NbsxhD1}tFkRNehGRBM2z^?}vJ~OiZ8w>OVvb`(M%5q1wx`avq$025 zF~O%hCOffhGW)0c%NhnJ>^nsLH5V5?u?zcPN2Ra4+l%*3j-?HylgP)0wx`atq|PeG z6qIMZK^yOM9O`dsNT3Up|Ba7Xl8kg}^!6Q&QXPNR(l?04_ccd8eZ#m-Iu#CTZ=F9O z*Nh?j+}u7uqoRW`pqc~&X1aqX(Z0VqGOgTu9Q-DY|1EE`o!_ASkDDWFo-}Tg zPQ};j`L7_OwetgO=WfL}WDcB`s)SOT^8}9B)6^IZ$U&*%7bK6%^i=jxN-0kKoh%>W zlVrg)*$e~t+5}${h_eq-se&@*&lT~mgB1H`Dp>Z3C0*odXiI&R%HwMWZCjj5zn#7c zG{L6xblR_7w&OXR=9tD!f4q8$D&CK3Qf3Ig`CHWp#njB^t>!#Aj?=nlUUVg-{akA z9Oa#gPC~3;rLRSumnsHR1M$=V((JGu-s!wpk_-|2AYQe8<9Y%myUh>o##vuvwb?8^ q1YCJbjbaXjrKPqeN6`|a7$0f6JjkGs(bmVW@r43Iql diff --git a/TO_MERGE/agm/Interaction/UI/team/team_blue_ca.paa b/TO_MERGE/agm/Interaction/UI/team/team_blue_ca.paa deleted file mode 100644 index ef64818d12cd9eac0f75ad52b5fc7be84190ef97..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22016 zcmeHPPiP!f7=N>7Bn9p6!NrzRI^cqW3Oxmig?&LtQcxUlM?6&MpR4Ki)RS$ey|gDA zDjvjY4m}9s!Cuxw4^t76p6o$sVgo8fEM7WEgSDlTjKA-D^OAM9asNy_l5_A5H|-04>SD!@Y@8(NCb}#zcoUzg^S>KM@HU}c=mB! zz{AI`5T90rxZ(*hkE{LUQysGX{3fU2fZ>4QfZ>4QfZ>4QKt?zai$j-7hc1gAB+ssaUk>d z-YEYDI34w-w2}YQtpm!ORR0f7^g;j6^5XsX>zV@??-ytYNaHEXvhB?K1N8q6 zhJb{xl&+Z%b}e~T5c9u@0fcynpT(l*WzHWcG*|6C7GviTk79f)6|bWuxsd!r|XaO!zA+~RX@>=?Lj>qOWzvoJd?@p8ssd$U! zc@_2#J0{rvgs?mJ7ftfT3#sfGGkU6z;>`o>-$4M;Lm^0lJ=}UYvbd!4fAboPbB)`k$%wnfR4{n1poh&%KzW>gp!u82l;Mvy!lD^ zZ=-lJ{Pn7R!#rBshw9+hU!U3T-w{7_prYgt;NJQ!!G6#`D|;^%Vei{rUcIJ|#*>LZ zs8q7QzSMW|`d-T~ZT)?=p1||IV&&WPlPBQ*pb=m9gFG;Dd zSsxG>`5XBY2YRLdPrH5@`|quNWnI5AFMmc*#rN=-{q?$({c+FrMG2hagLsq*%-cPc)F5+**R*p{qU z2$$4FuODK$q3`7VWGygn4F?Pd3AwdUz|FvhAKmCf zz}qg=HW?htEc!w1X!IzKX<55S+W-RGkPcv>o9d4PtZ~%Ae(>$`5AhP`r%f@cK7Fjp zTRm3gpiDRTp%^Cz_g<9ugHtD>l}n62PA#Dg)!r(-9m0Na3H(^zr?v%1RT=IMu3q4; z8|b$FCi!+qZxg>7^dl{Py)F-ZMk=i7cY6A%LPzTl0hAnES(LvYJPhNh>Rr-T+PB># z&kp(F2l3)>&mXd>OE9jR&ZG5ga{u1Fs$IcnPsr(yF+Trhx&y}MxeJ^4g znhfH}`1kzhjK2^sH0cNH%bI+VKQ5Pt_vrk7aBX~UYEt<_Y(wMr&Mq)a?J0crGJk+i z&-o*RQ}?2Wir)HdU0OdI8zLK%W0dKft$#*x76&3(vH!$o8Y6r{hIczvQfZb8x46^qX#B$n)qMwdy>}vu<0{didxTx9U6k&%JZsoo0Qg-!{}e z{X-}2KBy{r*lWiywu-)1{Plwi%d^4q9P69Ab_}Ci`gvPZatsCJr}k&9@K61nwhbl6 zP(Xfqe-PZrM>q0+5I_5Yei4)xo+&S=ZIl~9zmz*kcbI-0I}kpc$|J=OVo7RwweWAP z>Sui7CB_f0f?0BuVBP7wX1@R3x6lY={zQ&625-MV=xeyFC= z*iE{+n?Tp6OSB7%TW1&c#f$qG-@5IT>$QI*TnVG8>Q%~*=2N@*BVoKeT|UgiGBlsQ zTTU3Z9{$Paw%v4rLV+YWl^pz#Sf2X^vz?K95wXGZEQ{fMG_BxfF%}xs_T=Lq!|2!i zYY7|0$;W4->G+C8FiAn>UsKD2*K5b;ADmz_hn3qGXE4=4(qg_igQ->>eDM0U)3cMx z%wgs3uK2;Rt3a9RxAmg4UW5h(tY>xbuK2SLW|RCb7F`F$AgS}fU$ya9hpLRWhd-YI zy!V%{zWAQW#-F>KnVFhjxn1REpdH?snFG;G@FBw>%Nu}41wa3`u6^?Qvmf23V#Byp F`WLqUohtwU diff --git a/TO_MERGE/agm/Interaction/UI/team/team_green_ca.paa b/TO_MERGE/agm/Interaction/UI/team/team_green_ca.paa deleted file mode 100644 index 7f8c2218c14389acf48050a0c94c797b35e6da6b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22016 zcmeHPPiP!f7=N>7LJHd5g9DXPI^cqW3OxnH!oDEn4=4_}BOWTG?bUR9>Zxs}y|gDA zDjvjY4m}9s!Cuxw4^t76oa{kqVgo8fEM7WEgEgU(jKA-DGs(K!u$!H1GTXcdGdthR z`}4iu_r34E_r3SljE05=%5M*SFwi4}=$q*~!Ssg%?-Cs$5Ir>T&LGhSE~4Kb9DGmW z*~4`O51%+fd{!3XhAYGZuGWJ`dC1n|>zEn=jetf#BcKt`2xtT{fa= zz1PdXj!sv5om$I(f9rs1POAS05?#>$v%I+f$CG4A-`Yk1l-+*xYFEkr=)Ve-!guF1y=Wl1mBIzDQ2< z!9*X-z0ijSdCLuXJ6hgNbx`?pRDbTemI1mziMV~kmDkk1vp+V+@m)ufe|MrdqWmp} z>z3I*9GKwtCxp3ud(j|YypXCrV@6N;k-xcz?K>(!^&uA|(XMH}kwe$Yky7@Mj2N%A=lk|hu2NM6R+q6Gc@&CV`P)y|OLcSzy1j?VD zn(C|Su!L-Vz2TYiC&ONEv~M(z^msMHv)jMJe`v@01@qQ*0qqC99?!@wSWeRRUUk`9 zj`vdPbJhn0TK-!8gg~eCf4}ROZvUNaUs>0$%*&q{RQ^3YW`DgdWq;gpeNh5u{~#Wv zBC~rZe=J-8?0+@jpzk<7S(jg0{xJS84lDn&!~#QhCI58JP<`k_>_0b?^*iMsLJI94 zQn1DA6~ZBPN!Aas+|YIMe!3Ruw;BPBfJQ(gpb^jrWC;ODQwm<8Wv*=8>Awe$w;a7XAs8jp{77jMFZA!+DUsMf`W~!9r;jN3O24zr1$)lAeyQ?Abq8M z+ewd-@V{N!^P{ETOW_>nhkez^m4l6YC-_&nZ;g-it7G%kv6qP-I(E+VjIwVuX@|W# zJzok-^xbmN$@+=3j^x8}x(qWmCS0AC*c2hm-i8e`{=hYEs!lY(wMn#uu5U z@)SQu7$5M{aeSnI?qRs1>f6e;F5%}FOAr**hne%xIAWTuxd*Hh+5-B%{0bz;$0>e9 zRT7a~Y@?H~kJHhT%3rFubhmL)KJ-k%#?=lDd7gZ$T3I0eyJ1@s`p+Zt-(O&TsNFWy ze*OE;Ja}AD@-VZ148!xUtj+mr^Q>>q<}r+R>(ASo;$tYNerkJ`XyjJemgR)p#!N$9G>>uSt!N#T2C$00@!NVrW(jN_~VB;r?Vm=mB#}42ENY+iGMIiF8ieDzF zKBj328KAPO`M;9-G94`!5?TbW6pY**pW-`C8NMDm4bl2E`dH9^>fd{nbyZ&Dzi-&V zOCjkAeV5P~JD7Tu&<5)eZU_lK$AU|1_xEHk48&Jnctf2lv|ZQ8mtH5ROKecNAao6{AduZO_xsaunfhg@0Mf0w&K45&nEE; zF9<* zG)Y0l-&D)vx2vZY9-rZ6j#h47oyAlKLB^y1tFxGD)zHUp-?}h2shT-jxpOFbeCj4x zru@xh(K%U!Mh#fcYUo4J=O4|*@f|F>_K7}H=bpc-W3TmBm~9t-J_Gv5uU~)p17+*t w&s{FgPA#n8t8g*U4)@~ho8hegG1I7)+XIUVJpVCnefmc4`A3v&Kmm*Ue_g{#_W%F@ diff --git a/TO_MERGE/agm/Interaction/UI/team/team_management_ca.paa b/TO_MERGE/agm/Interaction/UI/team/team_management_ca.paa deleted file mode 100644 index aa5f1c79b5b61ddf4db79ac9ac80ed1eb2fba642..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22016 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 YHwcdkeg11*`}Fl^KfX(^jfy1w2T0E)0ssI2 diff --git a/TO_MERGE/agm/Interaction/UI/team/team_white_ca.paa b/TO_MERGE/agm/Interaction/UI/team/team_white_ca.paa deleted file mode 100644 index cbb02bf7b4e62bbcc931e83844d46b184ec1370a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22016 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 diff --git a/TO_MERGE/agm/Interaction/clientInit.sqf b/TO_MERGE/agm/Interaction/clientInit.sqf deleted file mode 100644 index 02762d42b6..0000000000 --- a/TO_MERGE/agm/Interaction/clientInit.sqf +++ /dev/null @@ -1,12 +0,0 @@ -// by commy2 and CAA-Picard - -if (!hasInterface) exitWith {}; - -AGM_Interaction_isOpeningDoor = false; -AGM_Dancing = false; - -// restore global fire teams for JIP -{ - _team = _x getVariable ["AGM_assignedFireTeam", ""]; - if (_team != "") then {_x assignTeam _team}; -} forEach allUnits; diff --git a/TO_MERGE/agm/Interaction/config.cpp b/TO_MERGE/agm/Interaction/config.cpp deleted file mode 100644 index 961d644a0b..0000000000 --- a/TO_MERGE/agm/Interaction/config.cpp +++ /dev/null @@ -1,664 +0,0 @@ -class CfgPatches { - class AGM_Interaction { - units[] = {}; - weapons[] = {}; - requiredVersion = 0.60; - requiredAddons[] = {AGM_Core}; - version = "0.95"; - versionStr = "0.95"; - versionAr[] = {0,95,0}; - author[] = {"commy2", "KoffeinFlummi", "CAA-Picard", "bux578"}; - authorUrl = "https://github.com/commy2/"; - }; -}; - -class CfgFunctions { - class AGM_Interaction { - class AGM_Interaction { - file = "\AGM_interaction\functions"; - class addInteraction; - class addInteractionSelf; - class AddSelectableItem; - class addToTooltip; - class applyButtons; - class canInteractWith; - class canLockDoor; - class canTapShoulder; - class getActions2; - class GetActions; - class getDoor; - class getDoorAnimations; - class getDown; - class getSelectedButton; - class hideMenu; - class hideMouseHint; - class initialiseInteraction; - class isInRange; - class joinTeam; - class lockDoor; - class menuKeyInput; - class moduleInteraction; - class moveDown; - class onButtonDown; - class onButtonDownSelf; - class onButtonUp; - class onClick; - class onSelectMenuDblClick; - class openDoor; - class openMenu; - class openMenuSelectUI; - class openMenuSelf; - class openSelectMenu; - class openSubMenu; - class openSubMenuSelf; - class prepareSelectMenu; - class push; - class removeInteraction; - class removeInteractionSelf; - class removeTag; - class sendAway; - class showMenu; - class showMouseHint; - class sortOptionsByPriority; - class tapShoulder; - class updateTooltipPosition; - - // backwards compatibility, remove in some patches - class getCaptivityStatus; - class setCaptivityStatus; - }; - }; -}; - -class Extended_PostInit_EventHandlers { - class AGM_Interaction { - clientInit = "call compile preprocessFileLineNumbers '\AGM_Interaction\clientInit.sqf'"; - }; -}; - -class Extended_GetIn_EventHandlers { - class All { - class AGM_AutoCloseMenu { - clientGetIn = "if (_this select 2 == AGM_player && {!isNull (findDisplay 1713999)}) then {(findDisplay 1713999) closeDisplay 1}"; - }; - }; -}; - -class Extended_GetOut_EventHandlers { - class All { - class AGM_AutoCloseMenu { - clientGetOut = "if (_this select 2 == AGM_player && {!isNull (findDisplay 1713999)}) then {(findDisplay 1713999) closeDisplay 1}"; - }; - }; -}; - -class AGM_Core_Default_Keys { - class openInteractionMenuNew { - displayName = "$STR_AGM_Interaction_InteractionMenu"; - condition = "true"; - statement = "call AGM_Interaction_fnc_onButtonDown"; - conditionUp = "!isNull (findDisplay 1713999) && {profileNamespace getVariable ['AGM_Interaction_AutoCloseMenu', false]}"; - statementUp = "if (AGM_Interaction_MenuType mod 2 == 0) then {call AGM_Interaction_fnc_onButtonUp};"; - exceptions[] = {"AGM_Drag_isNotDragging", "AGM_Medical_canTreat", "AGM_Interaction_isNotEscorting", "AGM_Interaction_isNotSwimming"}; - key = 219; - shift = 0; - control = 0; - alt = 0; - }; - class openInteractionMenuSelfNew { - displayName = "$STR_AGM_Interaction_InteractionMenuSelf"; - condition = "true"; - statement = "call AGM_Interaction_fnc_onButtonDownSelf"; - conditionUp = "!isNull (findDisplay 1713999) && {profileNamespace getVariable ['AGM_Interaction_AutoCloseMenu', false]}"; - statementUp = "if (AGM_Interaction_MenuType mod 2 == 1) then {call AGM_Interaction_fnc_onButtonUp};"; - exceptions[] = {"AGM_Drag_isNotDragging", "AGM_Medical_canTreat", "AGM_Interaction_isNotEscorting", "AGM_Interaction_isNotSwimming", "AGM_Core_notOnMap"}; - key = 219; - shift = 0; - control = 1; - alt = 0; - }; - class openDoor { - displayName = "$STR_AGM_Interaction_OpenDoor"; - condition = "!AGM_Interaction_isOpeningDoor && {[2] call AGM_Interaction_fnc_getDoor select 1 != ''}"; - statement = "call AGM_Interaction_fnc_openDoor"; - conditionUp = "AGM_Interaction_isOpeningDoor"; - statementUp = "AGM_Interaction_isOpeningDoor = false"; - key = 57; - shift = 0; - control = 1; - alt = 0; - }; - // disabled for now - /*class lockDoor { - displayName = "$STR_AGM_Interaction_LockDoor"; - condition = "[true] call AGM_Interaction_fnc_canLockDoor && {!AGM_Interaction_isOpeningDoor}"; - statement = "[true] call AGM_Interaction_fnc_lockDoor"; - key = 57; - shift = 0; - control = 0; - alt = 1; - }; - class unlockDoor { - displayName = "$STR_AGM_Interaction_UnlockDoor"; - condition = "[false] call AGM_Interaction_fnc_canLockDoor"; - statement = "[false] call AGM_Interaction_fnc_lockDoor"; - key = 57; - shift = 0; - control = 1; - alt = 1; - };*/ - class tapShoulder { - displayName = "$STR_AGM_Interaction_TapShoulder"; - condition = "[_player, cursorTarget] call AGM_Interaction_fnc_canTapShoulder"; - statement = "[_player, cursorTarget] call AGM_Interaction_fnc_tapShoulder"; - key = 20; - shift = 1; - control = 0; - alt = 0; - }; - class modifierKey { - displayName = "$STR_AGM_Interaction_ModifierKey"; - condition = ""; - statement = "AGM_Modifier = 1;"; - conditionUp = ""; - statementUp = "AGM_Modifier = 0;"; - exceptions[] = {"AGM_Drag_isNotDragging"}; - key = 29; - shift = 0; - control = 0; - alt = 0; - }; -}; - -class AGM_Core_Options { - class Interaction_FlowMenu { - displayName = "$STR_AGM_Interaction_FlowMenu"; - default = 0; - }; - class Interaction_AutoCloseMenu { - displayName = "$STR_AGM_Interaction_AutoCloseMenu"; - default = 0; - }; - class Interaction_AutoCenterCursor { - displayName = "$STR_AGM_Interaction_AutoCenterCursor"; - default = 1; - }; -}; - -class AGM_Parameters { - AGM_Modifier = 0; -}; -class AGM_Parameters_Boolean { - AGM_Interaction_EnableTeamManagement = 1; -}; - -class AGM_Core_canInteractConditions { - class AGM_Interaction_isNotEscorting { - condition = "!(_player getVariable ['AGM_isEscorting', false])"; - }; - class AGM_Interaction_isNotCaptive { - condition = "!(_player getVariable ['AGM_isCaptive', false])"; - }; - class AGM_Interaction_isNotSurrendering { - condition = "!(_player getVariable ['AGM_isSurrender', false])"; - }; - class AGM_Interaction_isNotSwimming { - condition = "!underwater _player"; - }; -}; - -#define MACRO_ADDITEM(ITEM,COUNT) class _xx_##ITEM { \ - name = #ITEM; \ - count = COUNT; \ -}; - -class CfgVehicles { - - class Module_F; - class AGM_ModuleInteraction: Module_F { - author = "$STR_AGM_Core_AGMTeam"; - category = "AGM"; - displayName = "Interaction System"; - function = "AGM_Interaction_fnc_moduleInteraction"; - scope = 2; - isGlobal = 1; - icon = "\AGM_Interaction\UI\IconInteraction_ca.paa"; - class Arguments { - class EnableTeamManagement { - displayName = "Enable Team Management"; - description = "Should players be allowed to use the Team Management Menu? Default: Yes"; - typeName = "BOOL"; - class values { - class Yes { default = 1; name = "Yes"; value = 1;}; - class No { name = "No"; value = 0; }; - }; - }; - }; - }; - - class Man; - class CAManBase: Man { - class AGM_Actions { - class AGM_TeamManagement { - displayName = "$STR_AGM_Interaction_TeamManagement"; - distance = 4; - condition = "alive _target && {!isPlayer _target} && {_target in units group _player} && {AGM_Interaction_EnableTeamManagement}"; - statement = ""; - showDisabled = 0; - priority = 3.2; - icon = "\AGM_Interaction\UI\team\team_management_ca.paa"; - subMenu[] = {"AGM_TeamManagement", 0}; - hotkey = "M"; - enableInside = 1; - - class AGM_JoinTeamRed { - displayName = "$STR_AGM_Interaction_JoinTeamRed"; - distance = 4; - condition = "alive _target && {!isPlayer _target} && {_target in units group _player}"; - statement = "[_target, 'RED'] call AGM_Interaction_fnc_joinTeam"; - showDisabled = 1; - icon = "\AGM_Interaction\UI\team\team_red_ca.paa"; - priority = 2.4; - hotkey = "R"; - enableInside = 1; - }; - class AGM_JoinTeamGreen { - displayName = "$STR_AGM_Interaction_JoinTeamGreen"; - distance = 4; - condition = "alive _target && {!isPlayer _target} && {_target in units group _player}"; - statement = "[_target, 'GREEN'] call AGM_Interaction_fnc_joinTeam"; - showDisabled = 1; - icon = "\AGM_Interaction\UI\team\team_green_ca.paa"; - priority = 2.3; - hotkey = "G"; - enableInside = 1; - }; - class AGM_JoinTeamBlue { - displayName = "$STR_AGM_Interaction_JoinTeamBlue"; - distance = 4; - condition = "alive _target && {!isPlayer _target} && {_target in units group _player}"; - statement = "[_target, 'BLUE'] call AGM_Interaction_fnc_joinTeam"; - showDisabled = 1; - icon = "\AGM_Interaction\UI\team\team_blue_ca.paa"; - priority = 2.2; - hotkey = "B"; - enableInside = 1; - }; - class AGM_JoinTeamYellow { - displayName = "$STR_AGM_Interaction_JoinTeamYellow"; - distance = 4; - condition = "alive _target && {!isPlayer _target} && {_target in units group _player}"; - statement = "[_target, 'YELLOW'] call AGM_Interaction_fnc_joinTeam"; - showDisabled = 1; - icon = "\AGM_Interaction\UI\team\team_yellow_ca.paa"; - priority = 2.1; - hotkey = "Y"; - enableInside = 1; - }; - - class AGM_LeaveTeam { - displayName = "$STR_AGM_Interaction_LeaveTeam"; - distance = 4; - condition = "alive _target && {!isPlayer _target} && {_target in units group _player} && {assignedTeam _player != 'MAIN'}"; - statement = "[_target, 'MAIN'] call AGM_Interaction_fnc_joinTeam"; - showDisabled = 1; - icon = "\AGM_Interaction\UI\team\team_white_ca.paa"; - priority = 2.5; - hotkey = "N"; - enableInside = 1; - }; - }; - - class AGM_TapShoulder { - displayName = "$STR_AGM_Interaction_TapShoulder"; - distance = 4; - condition = "[_player, _target] call AGM_Interaction_fnc_canTapShoulder"; - statement = "[_player, _target] call AGM_Interaction_fnc_tapShoulder"; - showDisabled = 1; - priority = 2.8; - hotkey = "Q"; - enableInside = 1; - }; - class AGM_JoinGroup { - displayName = "$STR_AGM_Interaction_JoinGroup"; - distance = 4; - condition = "side group _player == side group _target && {group _player != group _target}"; - statement = "[_player] joinSilent group _target;"; - showDisabled = 0; - priority = 2.6; - icon = "\AGM_Interaction\UI\team\team_management_ca.paa"; - hotkey = "J"; - enableInside = 1; - }; - - class AGM_GetDown { - displayName = "$STR_AGM_Interaction_GetDown"; - distance = 4; - condition = "[_target] call AGM_Interaction_fnc_canInteractWith"; - statement = "[_target] call AGM_Interaction_fnc_getDown"; - showDisabled = 0; - priority = 2.2; - }; - class AGM_SendAway { - displayName = "$STR_AGM_Interaction_SendAway"; - distance = 4; - condition = "[_target] call AGM_Interaction_fnc_canInteractWith"; - statement = "[_target] call AGM_Interaction_fnc_sendAway"; - showDisabled = 0; - priority = 2.0; - }; - class AGM_Pardon { - displayName = "$STR_AGM_Interaction_Pardon"; - distance = 4; - condition = "rating _target < -2000 && {alive _target} && {side group _player == side group _target}"; - statement = "[_target, '{_this addRating -rating _this}', _target] call AGM_Core_fnc_execRemoteFnc"; - showDisabled = 0; - priority = 2.5; - enableInside = 1; - }; - }; - - class AGM_SelfActions { - class AGM_TeamManagement { - displayName = "$STR_AGM_Interaction_TeamManagement"; - condition = "AGM_Interaction_EnableTeamManagement"; - statement = ""; - showDisabled = 1; - priority = 3.2; - icon = "\AGM_Interaction\UI\team\team_management_ca.paa"; - subMenu[] = {"AGM_TeamManagement", 1}; - enableInside = 1; - hotkey = "M"; - - class AGM_JoinTeamRed { - displayName = "$STR_AGM_Interaction_JoinTeamRed"; - condition = "true"; - statement = "[_player, 'RED'] call AGM_Interaction_fnc_joinTeam"; - showDisabled = 1; - priority = 2.4; - icon = "\AGM_Interaction\UI\team\team_red_ca.paa"; - enableInside = 1; - hotkey = "R"; - }; - class AGM_JoinTeamGreen { - displayName = "$STR_AGM_Interaction_JoinTeamGreen"; - condition = "true"; - statement = "[_player, 'GREEN'] call AGM_Interaction_fnc_joinTeam"; - showDisabled = 1; - priority = 2.3; - icon = "\AGM_Interaction\UI\team\team_green_ca.paa"; - enableInside = 1; - hotkey = "G"; - }; - class AGM_JoinTeamBlue { - displayName = "$STR_AGM_Interaction_JoinTeamBlue"; - condition = "true"; - statement = "[_player, 'BLUE'] call AGM_Interaction_fnc_joinTeam"; - showDisabled = 1; - priority = 2.2; - icon = "\AGM_Interaction\UI\team\team_blue_ca.paa"; - enableInside = 1; - hotkey = "B"; - }; - class AGM_JoinTeamYellow { - displayName = "$STR_AGM_Interaction_JoinTeamYellow"; - condition = "true"; - statement = "[_player, 'YELLOW'] call AGM_Interaction_fnc_joinTeam"; - showDisabled = 1; - priority = 2.1; - icon = "\AGM_Interaction\UI\team\team_yellow_ca.paa"; - enableInside = 1; - hotkey = "Y"; - }; - - class AGM_LeaveTeam { - displayName = "$STR_AGM_Interaction_LeaveTeam"; - condition = "assignedTeam _player != 'MAIN'"; - statement = "[_player, 'MAIN'] call AGM_Interaction_fnc_joinTeam"; - showDisabled = 1; - priority = 2.5; - icon = "\AGM_Interaction\UI\team\team_white_ca.paa"; - enableInside = 1; - hotkey = "N"; - }; - - class AGM_BecomeLeader { - displayName = "$STR_AGM_Interaction_BecomeLeader"; - condition = "count (units group _player) > 1 && {leader group _player != _player}"; - statement = "_newGroup = createGroup side group _player; (units group _player) joinSilent _newGroup; _newGroup selectLeader _player;"; - showDisabled = 1; - priority = 1.0; - icon = "\AGM_Interaction\UI\team\team_white_ca.paa"; - enableInside = 1; - hotkey = "L"; - }; - class AGM_LeaveGroup { - displayName = "$STR_AGM_Interaction_LeaveGroup"; - condition = "count (units group _player) > 1"; - statement = "_oldGroup = units group _player; _newGroup = createGroup side _player; [_player] joinSilent _newGroup; {_player reveal _x} forEach _oldGroup;"; - showDisabled = 1; - priority = 1.2; - icon = "\AGM_Interaction\UI\team\team_management_ca.paa"; - enableInside = 1; - hotkey = "M"; - }; - }; - - /* DANCE ANIMATION DOESN'T WORK :( - class AGM_Dance { - displayName = "$STR_AGM_Interaction_Dance"; - condition = "isClass (configFile >> 'CfgPatches' >> 'AGM_Movement') and !AGM_Dancing"; - statement = "AGM_Dancing = true; [-2, {_this switchMove 'TestDance';}, player] call CBA_fnc_globalExecute;"; - showDisabled = 0; - priority = -1.2; - }; - class AGM_StopDancing { - displayName = "$STR_AGM_Interaction_StopDancing"; - condition = "AGM_Dancing"; - statement = "AGM_Dancing = false; [-2, {_this switchMove '';}, player] call CBA_fnc_globalExecute;"; - showDisabled = 0; - priority = -1.2; - }; - */ - - class AGM_Gestures { - displayName = "$STR_AGM_Interaction_Gestures"; - condition = "canStand _target"; - statement = ""; - showDisabled = 1; - priority = 3.5; - subMenu[] = {"AGM_Gestures", 1}; - icon = "AGM_Interaction\UI\gestures_ca.paa"; - hotkey = "G"; - - /*class AGM_Gesture_Advance { - displayName = "$STR_AGM_Interaction_Gestures_Attack"; - condition = "canStand _target"; - statement = "_target playActionNow 'gestureAttack';"; - showDisabled = 1; - priority = 2.0; - };*/ - class AGM_Gesture_Advance { - displayName = "$STR_AGM_Interaction_Gestures_Advance"; - condition = "canStand _target"; - statement = "_target playActionNow 'gestureAdvance';"; - showDisabled = 1; - priority = 1.9; - hotkey = "1"; - }; - class AGM_Gesture_Go { - displayName = "$STR_AGM_Interaction_Gestures_Go"; - condition = "canStand _target"; - statement = "_target playActionNow (['gestureGo', 'gestureGoB'] select (floor random 2));"; - showDisabled = 1; - priority = 1.8; - hotkey = "2"; - }; - class AGM_Gesture_Follow { - displayName = "$STR_AGM_Interaction_Gestures_Follow"; - condition = "canStand _target"; - statement = "_target playActionNow 'gestureFollow';"; - showDisabled = 1; - priority = 1.7; - hotkey = "3"; - }; - /*class AGM_Gesture_Point { - displayName = "$STR_AGM_Interaction_Gestures_Point"; - condition = "canStand _target"; - statement = "_target playActionNow 'gesturePoint';"; - showDisabled = 1; - priority = 1.6; - };*/ - class AGM_Gesture_Up { - displayName = "$STR_AGM_Interaction_Gestures_Up"; - condition = "canStand _target"; - statement = "_target playActionNow 'gestureUp';"; - showDisabled = 1; - priority = 1.5; - hotkey = "4"; - }; - class AGM_Gesture_Cover { - displayName = "$STR_AGM_Interaction_Gestures_Cover"; - condition = "canStand _target"; - statement = "_target playActionNow 'gestureCover';"; - showDisabled = 1; - priority = 1.4; - hotkey = "5"; - }; - class AGM_Gesture_CeaseFire { - displayName = "$STR_AGM_Interaction_Gestures_Cease_Fire"; - condition = "canStand _target"; - statement = "_target playActionNow 'gestureCeaseFire';"; - showDisabled = 1; - priority = 1.3; - hotkey = "6"; - }; - class AGM_Gesture_Freeze { - displayName = "$STR_AGM_Interaction_Gestures_Freeze"; - condition = "canStand _target"; - statement = "_target playActionNow 'gestureFreeze';"; - showDisabled = 1; - priority = 1.2; - hotkey = "7"; - }; - class AGM_Gesture_Yes { - displayName = "$STR_AGM_Interaction_Gestures_Yes"; - condition = "canStand _target"; - statement = "_target playActionNow (['gestureYes', 'gestureNod'] select (floor random 2));"; - showDisabled = 1; - priority = 1.1; - hotkey = "8"; - }; - class AGM_Gesture_No { - displayName = "$STR_AGM_Interaction_Gestures_No"; - condition = "canStand _target"; - statement = "_target playActionNow 'gestureNo';"; - showDisabled = 1; - priority = 1.0; - hotkey = "9"; - }; - class AGM_Gesture_Hi { - displayName = "$STR_AGM_Interaction_Gestures_Hi"; - condition = "canStand _target"; - statement = "_target playActionNow (['gestureHi', 'gestureHiB', 'gestureHiC'] select (floor random 3));"; - showDisabled = 1; - priority = 0.9; - hotkey = "0"; - }; - }; - - class AGM_Equipment { - displayName = "$STR_AGM_Interaction_Equipment"; - condition = "true"; - statement = ""; - showDisabled = 1; - priority = 4.5; - icon = ""; // @todo - subMenu[] = {"AGM_Equipment", 1}; - enableInside = 1; - hotkey = "E"; - - class AGM_Dummy { - displayName = ""; - condition = "false"; - statement = ""; - showDisabled = 1; - priority = -99; - icon = "AGM_Core\UI\blank_CO.paa"; - enableInside = 1; - }; - }; - }; - }; - - class LandVehicle; - class Car: LandVehicle { - class AGM_Actions {}; - class AGM_SelfActions {}; - }; - class Tank: LandVehicle { - class AGM_Actions {}; - class AGM_SelfActions {}; - }; - - class Air; - class Helicopter: Air { - class AGM_Actions {}; - class AGM_SelfActions {}; - }; - class Plane: Air { - class AGM_Actions {}; - class AGM_SelfActions {}; - }; - - class Ship; - class Ship_F: Ship { - class AGM_Actions { - class AGM_Push { - displayName = "$STR_AGM_Interaction_Push"; - distance = 4; - condition = "getMass _target < 1000 and alive _target"; - statement = "[_target, [2 * (vectorDir _player select 0), 2 * (vectorDir _player select 1), 0.5]] call AGM_Interaction_fnc_push;"; - showDisabled = 0; - priority = -1; - }; - }; - class AGM_SelfActions {}; - }; - - class StaticWeapon: LandVehicle { - class AGM_Actions {}; - class AGM_SelfActions {}; - }; - - class StaticMortar; - class Mortar_01_base_F: StaticMortar { - class AGM_Actions {}; - class AGM_SelfActions {}; - }; - - class Box_NATO_Support_F; - class AGM_Box_Misc: Box_NATO_Support_F { - class TransportItems { - MACRO_ADDITEM(AGM_CableTie,24) - }; - }; -}; - -class CfgWeapons { - class AGM_ItemCore; - class InventoryItem_Base_F; - - class AGM_CableTie: AGM_ItemCore { - displayName = "$STR_AGM_Interaction_CableTie_Name"; - descriptionShort = "$STR_AGM_Interaction_CableTie_Description"; - model = "\AGM_Interaction\agm_cabletie.p3d"; - picture = "\AGM_Interaction\UI\agm_cabletie_x_ca.paa"; - scope = 2; - class ItemInfo: InventoryItem_Base_F { - mass = 1; - }; - }; -}; - -#include diff --git a/TO_MERGE/agm/Interaction/functions/fn_AddSelectableItem.sqf b/TO_MERGE/agm/Interaction/functions/fn_AddSelectableItem.sqf deleted file mode 100644 index f6fccae709..0000000000 --- a/TO_MERGE/agm/Interaction/functions/fn_AddSelectableItem.sqf +++ /dev/null @@ -1,40 +0,0 @@ -/* - Name: AGM_Interaction_fnc_AddSelectableItem - - Author: Garth de Wet (LH) - - Description: - Adds an item to the select menu - - Parameters: - 0: ARRAY/NUMBER - List container - 1: String - Display Name - 2: String - Picture - 3: String/code - data - - Returns: - ARRAY/Number - - Example: -*/ -private ["_container", "_displayName", "_picture", "_data", "_index"]; - -_container = _this select 0; -_displayName = _this select 1; -_picture = _this select 2; -_data = _this select 3; - -if (_picture == "" || _picture == "PictureThing") then { - _picture = "AGM_Interaction\UI\dot_ca.paa"; -}; - -if ((profileNamespace getVariable ["AGM_Interaction_FlowMenu", false])) then { - //[_displayName, _statement, _condition, _priority, _subMenu, _icon, _tooltip, _conditionShow, _exceptions, _distance, _hotkey] - _container pushBack [_displayName, nil, {true},0,[], _picture, "", {true}, [], 4, "", _data]; -}else{ - _index = lbAdd [_container, _displayName]; - lbSetData [_container, _index, str _data]; - lbSetPicture [_container, _index, _picture]; -}; - -_container diff --git a/TO_MERGE/agm/Interaction/functions/fn_GetActions.sqf b/TO_MERGE/agm/Interaction/functions/fn_GetActions.sqf deleted file mode 100644 index 6e7b067150..0000000000 --- a/TO_MERGE/agm/Interaction/functions/fn_GetActions.sqf +++ /dev/null @@ -1,154 +0,0 @@ -/* - Name: AGM_Interaction_fnc_GetActions - - Author: - commy2 - Garth de Wet (LH) - - Description: - - Parameters: - 0: OBJECT - target - 1: ARRAY - Parents of the target object - 2: ARRAY - Actions - 3: ARRAY - Patches - 4: CONFIG - Parent config (ConfigFile >> "CfgVehicles"/MissionConfigFile >> "CfgVehicles") - 5: BOOL - Is mission config file? - 6: STRING - Classname ("AGM_Actions"/"AGM_SelfActions") - 7: STRING - Sub-class - - Returns: - Nothing - - Example: - [player, [configfile >> "CfgVehicles" >> typeOf player, true] call BIS_fnc_returnParents, [], [],configfile >> "CfgVehicles", false, "AGM_Actions"] call AGM_Interaction_fnc_GetActions; - - [player, [configfile >> "CfgVehicles" >> typeOf player, true] call BIS_fnc_returnParents, [], [],configfile >> "CfgVehicles", false, "AGM_SelfActions"] call AGM_Interaction_fnc_GetActions; -*/ -#define DEFAULT_ICON "\AGM_Interaction\UI\dot_ca.paa" -private ["_target", "_parents", "_actions", "_patches", "_baseConfig", "_actionType", "_i","_index", "_missionConfig", "_stdConfig"]; -_target = _this select 0; -_parents = _this select 1; -_actions = _this select 2; -_patches = _this select 3; -_baseConfig = _this select 4; -_missionConfig = _this select 5; -_actionType = _this select 6; -_subClass = _this select 7; - -_stdConfig = (configFile >> "CfgVehicles" >> typeOf _target >> _actionType); -if (_subClass != "") then { - _stdConfig = _stdConfig >> _subClass; -}; - -_count = count _parents; -for "_i" from 0 to (_count - 1) do { - _config = _baseConfig >> _parents select _i >> _actionType; - if (_subClass != "") then { - _config = _config >> _subClass; - }; - - _count = count _config; - if (_count > 0) then { - for "_index" from 0 to (_count - 1) do { - private ["_action", "_displayName", "_distance","_condition","_statement","_showDisabled", "_priority", "_tooltip", "_hotkey", - "_subMenu", "_conditionShow", "_exceptions", "_icon", "_actionToCache", "_cacheActions", "_cache", "_indexCache", "_configName"]; - _action = if (_missionConfig) then {_config select _index} else {_stdConfig >> configName (_config select _index)}; - _cache = missionNamespace getVariable ["AGM_Interaction_MenuCache", [[], [], []]]; - - if (count _action > 0) then { - _configName = configName _action; - - _cacheConfigs = _cache select 0; - _cacheActions = _cache select 1; - _cacheIndices = _cache select 2; - - _indexCache = _cacheConfigs find _action; - if (_indexCache == -1) then { - _displayName = getText (_action >> "displayName"); - _distance = getNumber (_action >> "distance"); - _priority = getNumber (_action >> "priority"); - _subMenu = getArray (_action >> "subMenu"); - _tooltip = getText (_action >> "tooltip"); - _hotkey = getText (_action >> "hotkey"); - _enableInside = getNumber (_action >> "enableInside"); - - // Condition - _condition = getText (_action >> "condition"); - if (_condition == "") then {_condition = "true"}; - - _condition = _condition + format [" && {%1 call AGM_Core_canInteract} && {[AGM_player, AGM_Interaction_Target] call AGM_Core_fnc_canInteractWith}", getArray (_action >> "exceptions")]; - if (_enableInside != 1) then {_condition = _condition + " && {_player == _vehicle}"}; - - _condition = compile _condition; - - // Condition to show the action - _conditionShow = getText (_action >> "conditionShow"); - _conditionShow = if (_conditionShow == "") then {{true}} else {compile _conditionShow}; - - _showDisabled = getNumber (_action >> "showDisabled") == 1; - if (isText (_action >> "conditionShow")) then { - _showDisabled = [_object, _player] call _conditionShow; - }; - - // Exceptions to the general conditions that have to be true - _exceptions = getArray (_action >> "exceptions"); - - // statement - _statement = getText (_action >> "statement"); - _statement = compile _statement; - - if (profileNamespace getVariable ["AGM_Interaction_FlowMenu", false]) then { - _statement = if (getText (_action >> "statement") == "" && {count _subMenu > 1}) then { - compile format ["call AGM_Interaction_fnc_hideMenu;if(%2 == 1)then{['%1'] call AGM_Interaction_fnc_openSubMenuSelf;}else{['%1'] call AGM_Interaction_fnc_openSubMenu;};", _subMenu select 0, _subMenu select 1]; - } else { - compile ("call AGM_Interaction_fnc_hideMenu;" + getText (_action >> "statement")); - }; - }; - - // icon - _icon = getText (_action >> "Icon"); - if (_icon == "") then { - _icon = DEFAULT_ICON; - }; - - _actionToCache = [_displayName, _statement, _condition, _priority, _subMenu, _icon, _tooltip, _conditionShow, _exceptions, _distance, _hotkey]; - - if (!(_configName in _patches) && {_showDisabled || {[_object, _player] call _condition}} && {_distance == 0 || {[_object, _distance] call AGM_Interaction_fnc_isInRange}}) then { - _actions pushBack _actionToCache; - _patches pushBack _configName; - }; - - _indexCache = _cacheActions find _actionToCache; - if (_indexCache == -1) then { - _indexCache = count _cacheActions; - _cacheActions pushBack _actionToCache; - }; - - _cacheConfigs pushBack _action; - _cacheIndices pushBack _indexCache; - - _cache = [_cacheConfigs, _cacheActions, _cacheIndices]; - ["InteractionMenu", _action, {format ["%1 loaded into cache", _this]}] call AGM_Debug_fnc_log; - } else { - ["InteractionMenu", _action, {format ["%1 loaded from cache", _this]}] call AGM_Debug_fnc_log; - - _cachedAction = _cacheActions select (_cacheIndices select _indexCache); - - _showDisabled = getNumber (_action >> "showDisabled") == 1; - if (isText (_action >> "conditionShow")) then { - _showDisabled = [_object, _player] call (_cachedAction select 7); - }; - - if (!(_configName in _patches) && {_showDisabled || {[_object, _player] call (_cachedAction select 2)}} && {[_object, (_cachedAction select 9)] call AGM_Interaction_fnc_isInRange || {(_cachedAction select 9) == 0}}) then { - _actions pushBack _cachedAction; - _patches pushBack _configName; - }; - }; - }; - - AGM_Interaction_MenuCache = _cache; - }; - }; -}; -[_actions, _patches] diff --git a/TO_MERGE/agm/Interaction/functions/fn_MoveDown.sqf b/TO_MERGE/agm/Interaction/functions/fn_MoveDown.sqf deleted file mode 100644 index 7a5662ed9b..0000000000 --- a/TO_MERGE/agm/Interaction/functions/fn_MoveDown.sqf +++ /dev/null @@ -1,66 +0,0 @@ -/* - Name: AGM_Interaction_fnc_MoveDown - - Author: Garth de Wet (LH) - - Description: - Depending on the passed value, either scrolls down through the list or up. - - Parameters: - NUMBER - Amount to increase current interaction target - - Returns: - Nothing - - Example: - 1 call AGM_Interaction_fnc_MoveDown; - -1 call AGM_Interaction_fnc_MoveDown; -*/ -#define CLAMP(x,low,high) (if(x > high)then{high}else{if(x < low)then{low}else{x}}) -if (isNil "AGM_Interaction_MainButton") exitWith{}; -if (isNil "AGM_Interaction_Buttons") exitWith{}; -_count = (count AGM_Interaction_Buttons)- 1; -AGM_Interaction_SelectedButton = CLAMP(AGM_Interaction_SelectedButton + _this, 0, _count); - -_target = AGM_Interaction_Target; -_player = AGM_player; -_vehicle = vehicle _player; - -disableSerialization; -_dlgInteractionDialog = uiNamespace getVariable "AGM_Flow_Display"; -_top = AGM_Interaction_SelectedButton - 2; -_i = 0; -while {_i <= 4} do { - _index =_i + _top; - _ctrl = _dlgInteractionDialog displayCtrl (1200 + _i); - if (_index >= 0 && {_index <= _count}) then { - _action = AGM_Interaction_Buttons select _index; - _ctrl ctrlShow true; - _ctrl ctrlSetText (_action select 5); - _color = [1,1,1,1]; - if !([_target, _player] call (_action select 2)) then { - _color = [0.3,0.3,0.3,0.8]; - }; - if (_i == 0 || _i == 4) then { - _color set [3, 0.5]; - }; - if (_i == 1 || _i == 3) then { - _color set [3, 0.75]; - }; - _ctrl ctrlSetTextColor _color; - }else{ - _ctrl ctrlShow false; - }; - _i = _i + 1; -}; - -_ctrl = _dlgInteractionDialog displayCtrl 1000; -_ctrl ctrlSetText ((AGM_Interaction_Buttons select AGM_Interaction_SelectedButton) select 0); -_ctrl = _dlgInteractionDialog displayCtrl 1100; -_current = (AGM_Interaction_Buttons select AGM_Interaction_SelectedButton); -_infoText = ""; -if !([_target, _player] call (_current select 2)) then { - _infoText = "Unavailable"; -}; -_ctrl ctrlSetText _infoText; -_ctrl ctrlShow (_infoText != ""); diff --git a/TO_MERGE/agm/Interaction/functions/fn_addInteraction.sqf b/TO_MERGE/agm/Interaction/functions/fn_addInteraction.sqf deleted file mode 100644 index 72c3ccb182..0000000000 --- a/TO_MERGE/agm/Interaction/functions/fn_addInteraction.sqf +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Author: commy2 - * - * Add an AGM action to an object. Note: This function is global. - * - * Argument: - * 0: Object the action should be assigned to (Object) - * 1: Name of the action shown in the menu (String) - * 2: Distance the player can be away from the object (Number) - * 3: Condition (Code or String) - * 4: Statement (Code or String) - * 5: Show the action even if the conditon is not met (Bool or Number) - * 6: Priority (Number, optional default: 0) - * - * Return value: - * ID of the action (used to remove it later). - */ - -private ["_object", "_displayName", "_distance", "_condition", "_statement", "_showDisabled", "_priority", "_actionsVar", "_id", "_actionIDs", "_actions"]; - -_object = _this select 0; -_displayName = _this select 1; -_distance = _this select 2; -_condition = _this select 3; -_statement = _this select 4; -_showDisabled = _this select 5; -_priority = _this select 6; - -if (typeName _condition == "STRING") then { - _condition = compile _condition; -}; - -if (typeName _statement == "STRING") then { - _statement = compile _statement; -}; - -if (typeName _showDisabled == "SCALAR") then { - _showDisabled = _showDisabled > 0; -}; - -if (isNil "_priority") then { - _priority = 0; -}; - -_actionsVar = _object getVariable ["AGM_Interactions", [-1, [], []]]; - -_id = (_actionsVar select 0) + 1; -_actionIDs = _actionsVar select 1; -_actions = _actionsVar select 2; - -_actionIDs pushBack _id; -_actions pushBack [_displayName, _distance, _condition, _statement, _showDisabled, _priority]; - -_object setVariable ["AGM_Interactions", [_id, _actionIDs, _actions], true]; -_id diff --git a/TO_MERGE/agm/Interaction/functions/fn_addInteractionSelf.sqf b/TO_MERGE/agm/Interaction/functions/fn_addInteractionSelf.sqf deleted file mode 100644 index bccaf40528..0000000000 --- a/TO_MERGE/agm/Interaction/functions/fn_addInteractionSelf.sqf +++ /dev/null @@ -1,55 +0,0 @@ -/* - * Author: commy2 - * - * Add an AGM self action to the player. Execute this on the local machine of the player. - * - * Argument: - * 0: Name of the action shown in the menu (String) - * 1: Condition (Code or String) - * 2: Statement (Code or String) - * 3: Show the action even if the conditon is not met (Bool or Number) - * 4: Priority (Number, optional default: 0) - * - * Return value: - * ID of the action (used to remove it later). - */ - - - -private ["_displayName", "_condition", "_statement", "_showDisabled", "_priority", "_actionsVar", "_id", "_actionIDs", "_actions"]; - - -_displayName = _this select 0; - -_condition = _this select 1; -_statement = _this select 2; -_showDisabled = _this select 3; -_priority = _this select 4; - -if (typeName _condition == "STRING") then { - _condition = compile _condition; -}; - -if (typeName _statement == "STRING") then { - _statement = compile _statement; -}; - -if (typeName _showDisabled == "SCALAR") then { - _showDisabled = _showDisabled > 0; -}; - -if (isNil "_priority") then { - _priority = 0; -}; - -_actionsVar = AGM_player getVariable ["AGM_InteractionsSelf", [-1, [], []]]; - -_id = (_actionsVar select 0) + 1; -_actionIDs = _actionsVar select 1; -_actions = _actionsVar select 2; - -_actionIDs pushBack _id; -_actions pushBack [_displayName, _condition, _statement, _showDisabled, _priority]; - -AGM_player setVariable ["AGM_InteractionsSelf", [_id, _actionIDs, _actions], false]; -_id diff --git a/TO_MERGE/agm/Interaction/functions/fn_addToTooltip.sqf b/TO_MERGE/agm/Interaction/functions/fn_addToTooltip.sqf deleted file mode 100644 index b54b7c5716..0000000000 --- a/TO_MERGE/agm/Interaction/functions/fn_addToTooltip.sqf +++ /dev/null @@ -1,3 +0,0 @@ -// by commy2 - -AGM_Interaction_CurrentTooltip pushBack (_this select 0); diff --git a/TO_MERGE/agm/Interaction/functions/fn_applyButtons.sqf b/TO_MERGE/agm/Interaction/functions/fn_applyButtons.sqf deleted file mode 100644 index 8bc732f946..0000000000 --- a/TO_MERGE/agm/Interaction/functions/fn_applyButtons.sqf +++ /dev/null @@ -1,51 +0,0 @@ -// by commy2 - -private ["_object", "_actions", "_dlgInteractionDialog", "_ctrlInteractionDialog", "_index", "_ctrlInteractionDialogIcon"]; - -_object = AGM_Interaction_Target; -_actions = AGM_Interaction_Buttons; - - -disableSerialization; -_dlgInteractionDialog = uiNamespace getVariable "AGM_Interaction_Dialog"; - -/* -for "_a" from 0 to (_count - 1) do { - _action = AGM_Interaction_Buttons select _a; - - _ctrlInteractionDialog = _dlgInteractionDialog displayCtrl (10 + _a); - _ctrlInteractionDialog ctrlShow true; - _ctrlInteractionDialog ctrlSetText (_action select 0); - _ctrlInteractionDialog ctrlEnable (call (_action select 2)); -}; -*/ - -_ctrlInteractionDialog = _dlgInteractionDialog displayCtrl 3; - -AGM_Interaction_MainButton = "(findDisplay 1713999) closeDisplay 1;"; - -if (_object isKindOf "Man") then { - _ctrlInteractionDialog ctrlSetText (if (alive _object) then {name _object} else {_object getVariable ["AGM_Name", "Unknown"]}); -} else { - _ctrlInteractionDialog ctrlSetText (getText (configFile >> "CfgVehicles" >> typeOf _object >> "displayName")); -}; - -for "_index" from 0 to 9 do { - _ctrlInteractionDialog = _dlgInteractionDialog displayCtrl (10 + _index); - _ctrlInteractionDialog ctrlShow true; - - _ctrlInteractionDialogIcon = _dlgInteractionDialog displayCtrl (20 + _index); - - if (_index < _count) then { - _action = AGM_Interaction_Buttons select _index; - _ctrlInteractionDialog ctrlSetText (_action select 0); - _ctrlInteractionDialog ctrlEnable (call (_action select 2)); - - _ctrlInteractionDialogIcon ctrlSetText (_action select 5); - } else { - _ctrlInteractionDialog ctrlSetText ""; - _ctrlInteractionDialog ctrlEnable false; - - _ctrlInteractionDialogIcon ctrlSetText ""; - }; -}; diff --git a/TO_MERGE/agm/Interaction/functions/fn_canInteractWith.sqf b/TO_MERGE/agm/Interaction/functions/fn_canInteractWith.sqf deleted file mode 100644 index 8766ff096e..0000000000 --- a/TO_MERGE/agm/Interaction/functions/fn_canInteractWith.sqf +++ /dev/null @@ -1,12 +0,0 @@ -// by commy2 - -private ["_unit", "_isCivilian"]; - -_unit = _this select 0; -_isCivilian = _this select 1; - -if (isNil "_isCivilian") then {_isCivilian = true}; - -alive _unit -&& [side _unit != side AGM_player, side group _unit == civilian] select _isCivilian -//&& {count (weapons _unit) == 0} diff --git a/TO_MERGE/agm/Interaction/functions/fn_canLockDoor.sqf b/TO_MERGE/agm/Interaction/functions/fn_canLockDoor.sqf deleted file mode 100644 index 8591bc3c78..0000000000 --- a/TO_MERGE/agm/Interaction/functions/fn_canLockDoor.sqf +++ /dev/null @@ -1,16 +0,0 @@ -// by commy2 - -private ["_mode", "_info", "_house", "_door", "_id"]; - -_mode = _this select 0; //lock: true, unlock: false - -_info = [2] call AGM_Interaction_fnc_getDoor; - -_house = _info select 0; -_door = _info select 1; -_id = _info select 2; - -!isNull _house -&& {_door == "door"} -&& {!_mode || {_house animationPhase format ["door_%1_rot", _id] <= 0}} -&& {(_house getVariable [format ["BIS_Disabled_Door_%1", _id], 0] != 1) isEqualTo _mode} diff --git a/TO_MERGE/agm/Interaction/functions/fn_canTapShoulder.sqf b/TO_MERGE/agm/Interaction/functions/fn_canTapShoulder.sqf deleted file mode 100644 index 0966b53c37..0000000000 --- a/TO_MERGE/agm/Interaction/functions/fn_canTapShoulder.sqf +++ /dev/null @@ -1,11 +0,0 @@ -// by commy2 - -private ["_unit", "_target"]; - -_unit = _this select 0; -_target = _this select 1; - -_target isKindOf "CAManBase" && -{alive _target} && -{_unit distance _target < 4} && -{!(_target getVariable ["AGM_isUnconscious", false])} diff --git a/TO_MERGE/agm/Interaction/functions/fn_getActions2.sqf b/TO_MERGE/agm/Interaction/functions/fn_getActions2.sqf deleted file mode 100644 index 2ede8ea968..0000000000 --- a/TO_MERGE/agm/Interaction/functions/fn_getActions2.sqf +++ /dev/null @@ -1,120 +0,0 @@ -// commy2 - -private ["_object", "_config", "_type", "_actions", "_configs"]; - -_object = _this select 0; -_config = _this select 1; // configFile, missionConfigFile -_type = _this select 2; // "AGM_CfgInteractions", "AGM_CfgInteractionsSelf" -_actions = _this select 3; // []; - -_configs = "_object isKindOf configName _x" configClasses (_config >> _type); - -// cache -private ["_cache", "_cacheConfigs", "_cacheActions", "_cacheIndices"]; - -_cache = uiNamespace getVariable ["AGM_Interaction_MenuCache", [[], [], []]]; -_cacheConfigs = _cache select 0; -_cacheActions = _cache select 1; -_cacheIndices = _cache select 2; - -// get interactions -{ - private "_configActions"; - - _configActions = "true" configClasses (_config >> _type >> configName _x); - { - private ["_action", "_configName", "_indexCache"]; - - _action = _x; - _configName = configName _action; - - _indexCache = _cacheConfigs find _action; - if (_indexCache == -1) then { - private ["_displayName", "_distance", "_priority", "_subMenu", "_tooltip", "_hotkey", "_enableInside", "_condition", "_conditionShow", "_showDisabled", "_exceptions", "_statement", "_icon"]; - - _displayName = getText (_action >> "displayName"); - _distance = getNumber (_action >> "distance"); - _priority = getNumber (_action >> "priority"); - _subMenu = getArray (_action >> "subMenu"); - _tooltip = getText (_action >> "tooltip"); - _hotkey = getText (_action >> "hotkey"); - _enableInside = getNumber (_action >> "enableInside"); - - // Condition - _condition = getText (_action >> "condition"); - if (_condition == "") then {_condition = "true"}; - - _condition = _condition + format [" && {%1 call AGM_Core_canInteract} && {[AGM_player, AGM_Interaction_Target] call AGM_Core_fnc_canInteractWith}", getArray (_action >> "exceptions")]; - if (_enableInside != 1) then {_condition = _condition + " && {_player == _vehicle}"}; - - _condition = compile _condition; - - // Condition to show the action - _conditionShow = getText (_action >> "conditionShow"); - _conditionShow = if (_conditionShow == "") then {{true}} else {compile _conditionShow}; - - _showDisabled = getNumber (_action >> "showDisabled") == 1; - if (isText (_action >> "conditionShow")) then { - _showDisabled = [_object, _player] call _conditionShow; - }; - - // Exceptions to the general conditions that have to be true - _exceptions = getArray (_action >> "exceptions"); - - // statement - _statement = getText (_action >> "statement"); - _statement = compile _statement; - - if (profileNamespace getVariable ["AGM_Interaction_FlowMenu", false]) then { - _statement = if (getText (_action >> "statement") == "" && {count _subMenu > 1}) then { - compile format ["call AGM_Interaction_fnc_hideMenu;if(%2 == 1)then{['%1'] call AGM_Interaction_fnc_openSubMenuSelf;}else{['%1'] call AGM_Interaction_fnc_openSubMenu;};", _subMenu select 0, _subMenu select 1]; - } else { - compile ("call AGM_Interaction_fnc_hideMenu;" + getText (_action >> "statement")); - }; - }; - - // icon - _icon = getText (_action >> "Icon"); - if (_icon == "") then { - _icon = DEFAULT_ICON; - }; - - private "_actionToCache"; - _actionToCache = [_displayName, _statement, _condition, _priority, _subMenu, _icon, _tooltip, _conditionShow, _exceptions, _distance, _hotkey]; - - if ((_showDisabled || {[_object, _player] call _condition}) && {_distance == 0 || {[_object, _distance] call AGM_Interaction_fnc_isInRange}}) then { - _actions pushBack _actionToCache; - }; - - _indexCache = _cacheActions find _actionToCache; - if (_indexCache == -1) then { - _indexCache = count _cacheActions; - _cacheActions pushBack _actionToCache; - }; - - _cacheConfigs pushBack _action; - _cacheIndices pushBack _indexCache; - - _cache = [_cacheConfigs, _cacheActions, _cacheIndices]; - ["InteractionMenu", _action, {format ["%1 loaded into cache", _this]}] call AGM_Debug_fnc_log; - } else { - ["InteractionMenu", _action, {format ["%1 loaded from cache", _this]}] call AGM_Debug_fnc_log; - - private ["_cachedAction", "_showDisabled"]; - _cachedAction = _cacheActions select (_cacheIndices select _indexCache); - - _showDisabled = getNumber (_action >> "showDisabled") == 1; - if (isText (_action >> "conditionShow")) then { - _showDisabled = [_object, _player] call (_cachedAction select 7); - }; - - if ((_showDisabled || {[_object, _player] call (_cachedAction select 2)}) && {[_object, (_cachedAction select 9)] call AGM_Interaction_fnc_isInRange || {(_cachedAction select 9) == 0}}) then { - _actions pushBack _cachedAction; - }; - }; - } forEach _configActions; //Actions of this CfgVehicles class -} forEach _configs; //CfgVehicles class - -uiNamespace setVariable ["AGM_Interaction_MenuCache", _cache]; - -_actions diff --git a/TO_MERGE/agm/Interaction/functions/fn_getCaptivityStatus.sqf b/TO_MERGE/agm/Interaction/functions/fn_getCaptivityStatus.sqf deleted file mode 100644 index 43538e882b..0000000000 --- a/TO_MERGE/agm/Interaction/functions/fn_getCaptivityStatus.sqf +++ /dev/null @@ -1,3 +0,0 @@ -// by commy2 - -_this call AGM_Core_fnc_getCaptivityStatus; diff --git a/TO_MERGE/agm/Interaction/functions/fn_getDoor.sqf b/TO_MERGE/agm/Interaction/functions/fn_getDoor.sqf deleted file mode 100644 index 19e5277873..0000000000 --- a/TO_MERGE/agm/Interaction/functions/fn_getDoor.sqf +++ /dev/null @@ -1,31 +0,0 @@ -// by commy2 - -private ["_distance", "_position0", "_position1", "_intersections", "_count", "_house", "_door", "_index", "_id"]; - -_distance = _this select 0; - -_position0 = positionCameraToWorld [0, 0, 0]; -_position1 = positionCameraToWorld [0, 0, _distance]; - -_intersections = lineIntersectsWith [ATLToASL _position0, ATLToASL _position1, objNull, objNull, true]; - -_count = count _intersections; -if (_count == 0) exitWith {[objNull, ""]}; - -_house = _intersections select (_count - 1); - -// shithouse is bugged -if (typeOf _house == "") exitWith {[objNull, ""]}; - -_intersections = [_house, "GEOM"] intersect [_position0, _position1]; - -_door = _intersections select 0 select 0; -if (isNil "_door") exitWith {[_house, ""]}; -[_house, _door] - -/* -_house = cursorTarget; -_actions = "true" configClasses (configFile >> "CfgVehicles" >> typeOf _house >> "UserActions"); -_actions = [_actions, {getText (_x >> "statement")}] call AGM_Core_fnc_map; -_actions -*/ diff --git a/TO_MERGE/agm/Interaction/functions/fn_getDoorAnimations.sqf b/TO_MERGE/agm/Interaction/functions/fn_getDoorAnimations.sqf deleted file mode 100644 index 67e6788754..0000000000 --- a/TO_MERGE/agm/Interaction/functions/fn_getDoorAnimations.sqf +++ /dev/null @@ -1,106 +0,0 @@ -// by commy2 - -private ["_house", "_door", "_animations", "_lockedVariable"]; - -_house = _this select 0; -_door = _this select 1; - -_index = [ - "door_1", - "door_2", - "door_3", - "door_4", - "door_5", - "door_6", - "door_7", - "door_8", - "door_9", - "door_10", - "door_11", - "door_12", - "door_13", - "Door_14", - "door_15", - "door_16", - "door_17", - "door_18", - "door_19", - "door_20", - "door_21", - "door_22", - - "hatch_1", - "hatch_2", - "hatch_3", - "hatch_4", - "hatch_5", - "hatch_6" -] find toLower _door; - -if (_index == -1) exitWith {[[],""]}; - -_animations = [ - ["Door_1_rot", "Door_Handle_1_rot_1", "Door_Handle_1_rot_2"], - ["Door_2_rot", "Door_Handle_2_rot_1", "Door_Handle_2_rot_2"], - ["Door_3_rot", "Door_Handle_3_rot_1", "Door_Handle_3_rot_2"], - ["Door_4_rot", "Door_Handle_4_rot_1", "Door_Handle_4_rot_2"], - ["Door_5_rot", "Door_Handle_5_rot_1", "Door_Handle_5_rot_2"], - ["Door_6_rot", "Door_Handle_6_rot_1", "Door_Handle_6_rot_2"], - ["Door_7_rot", "Door_Handle_7_rot_1", "Door_Handle_7_rot_2"], - ["Door_8_rot", "Door_Handle_8_rot_1", "Door_Handle_8_rot_2"], - ["Door_9_rot", "Door_Handle_9_rot_1", "Door_Handle_9_rot_2"], - ["Door_10_rot", "Door_Handle_10_rot_1", "Door_Handle_10_rot_2"], - ["Door_11_rot", "Door_Handle_11_rot_1", "Door_Handle_11_rot_2"], - ["Door_12_rot", "Door_Handle_12_rot_1", "Door_Handle_12_rot_2"], - ["Door_13_rot", "Door_Handle_13_rot_1", "Door_Handle_13_rot_2"], - ["Door_14_rot", "Door_Handle_14_rot_1", "Door_Handle_14_rot_2"], - ["Door_15_rot", "Door_Handle_15_rot_1", "Door_Handle_15_rot_2"], - ["Door_16_rot", "Door_Handle_16_rot_1", "Door_Handle_16_rot_2"], - ["Door_17_rot", "Door_Handle_17_rot_1", "Door_Handle_17_rot_2"], - ["Door_18_rot", "Door_Handle_18_rot_1", "Door_Handle_18_rot_2"], - ["Door_19_rot", "Door_Handle_19_rot_1", "Door_Handle_19_rot_2"], - ["Door_20_rot", "Door_Handle_20_rot_1", "Door_Handle_20_rot_2"], - ["Door_21_rot", "Door_Handle_21_rot_1", "Door_Handle_21_rot_2"], - ["Door_22_rot", "Door_Handle_22_rot_1", "Door_Handle_22_rot_2"], - - ["Hatch_1_rot"], - ["Hatch_2_rot"], - ["Hatch_3_rot"], - ["Hatch_4_rot"], - ["Hatch_5_rot"], - ["Hatch_6_rot"] -] select _index; - -_lockedVariable = [ - ["BIS_Disabled_Door_1", "Door_Handle_1_rot_1", "Door_Locked_1_rot"], - ["BIS_Disabled_Door_2", "Door_Handle_2_rot_1", "Door_Locked_2_rot"], - ["BIS_Disabled_Door_3", "Door_Handle_3_rot_1", "Door_Locked_3_rot"], - ["BIS_Disabled_Door_4", "Door_Handle_4_rot_1", "Door_Locked_4_rot"], - ["BIS_Disabled_Door_5", "Door_Handle_5_rot_1", "Door_Locked_5_rot"], - ["BIS_Disabled_Door_6", "Door_Handle_6_rot_1", "Door_Locked_6_rot"], - ["BIS_Disabled_Door_7", "Door_Handle_7_rot_1", "Door_Locked_7_rot"], - ["BIS_Disabled_Door_8", "Door_Handle_8_rot_1", "Door_Locked_8_rot"], - ["BIS_Disabled_Door_9", "Door_Handle_9_rot_1", "Door_Locked_9_rot"], - ["BIS_Disabled_Door_10", "Door_Handle_10_rot_1", "Door_Locked_10_rot"], - ["BIS_Disabled_Door_11", "Door_Handle_11_rot_1", "Door_Locked_11_rot"], - ["BIS_Disabled_Door_12", "Door_Handle_12_rot_1", "Door_Locked_12_rot"], - ["BIS_Disabled_Door_13", "Door_Handle_13_rot_1", "Door_Locked_13_rot"], - ["BIS_Disabled_Door_14", "Door_Handle_14_rot_1", "Door_Locked_14_rot"], - ["BIS_Disabled_Door_15", "Door_Handle_15_rot_1", "Door_Locked_15_rot"], - ["BIS_Disabled_Door_16", "Door_Handle_16_rot_1", "Door_Locked_16_rot"], - ["BIS_Disabled_Door_17", "Door_Handle_17_rot_1", "Door_Locked_17_rot"], - ["BIS_Disabled_Door_18", "Door_Handle_18_rot_1", "Door_Locked_18_rot"], - ["BIS_Disabled_Door_19", "Door_Handle_19_rot_1", "Door_Locked_19_rot"], - ["BIS_Disabled_Door_20", "Door_Handle_20_rot_1", "Door_Locked_20_rot"], - ["BIS_Disabled_Door_21", "Door_Handle_21_rot_1", "Door_Locked_21_rot"], - ["BIS_Disabled_Door_22", "Door_Handle_22_rot_1", "Door_Locked_22_rot"], - - ["", ""], - ["", ""], - ["", ""], - ["", ""], - ["", ""], - ["", ""] -] select _index; - -[_animations, _lockedVariable] diff --git a/TO_MERGE/agm/Interaction/functions/fn_getDown.sqf b/TO_MERGE/agm/Interaction/functions/fn_getDown.sqf deleted file mode 100644 index 73bae1c883..0000000000 --- a/TO_MERGE/agm/Interaction/functions/fn_getDown.sqf +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Author: KoffeinFlummi - * - * Forces a civilian to the ground. (chance of failure). - * - * Arguments: - * 0: Unit to be sent away (Object) - * - * Return value: - * none - */ - -#define RADIUS 10 - -private ["_unit", "_chance", "_x"]; - -_unit = _this select 0; - -AGM_player playActionNow "GestureGo"; // put something else here. - -if (count (weapons AGM_player) > 0) then { - _chance = 0.8; -} else { - _chance = 0.5; -}; - -{ - if (count (weapons _unit) == 0 and random 1 < _chance) then { - [-2, { - _this setUnitPos "DOWN"; - }, _x] call CBA_fnc_globalExecute; - }; -} foreach (_unit nearEntities ["Civilian", RADIUS]); diff --git a/TO_MERGE/agm/Interaction/functions/fn_getSelectedButton.sqf b/TO_MERGE/agm/Interaction/functions/fn_getSelectedButton.sqf deleted file mode 100644 index 3813811703..0000000000 --- a/TO_MERGE/agm/Interaction/functions/fn_getSelectedButton.sqf +++ /dev/null @@ -1,23 +0,0 @@ -// by commy2 - -#define MIN_DISTANCE 0.0065 - -private ["_position", "_distance", "_angle"]; - -_position = uiNamespace getVariable ['AGM_Interaction_CursorPosition', [0.5, 0.5, 0]]; - -_position = [((_position select 1) - 0.5) / safezoneH, ((_position select 2) - 0.5) / safezoneW, 0]; - -_distance = [0, 0, 0] vectorDistanceSqr _position; - -// is in center -if (_distance < MIN_DISTANCE) exitWith {-1}; - -_angle = (_position select 0) atan2 (_position select 1); - -// rotate circle -_angle = 180 - _angle + 360 / 10 / 2; -if (_angle < 0) then {_angle = _angle + 360}; - -_angle = floor (_angle / 360 * 10); -if (_angle == 10) then {0} else {_angle} diff --git a/TO_MERGE/agm/Interaction/functions/fn_hideMenu.sqf b/TO_MERGE/agm/Interaction/functions/fn_hideMenu.sqf deleted file mode 100644 index 24e867b5b5..0000000000 --- a/TO_MERGE/agm/Interaction/functions/fn_hideMenu.sqf +++ /dev/null @@ -1,22 +0,0 @@ -/* - Name: AGM_Interaction_fnc_hideMenu - - Author: Garth de Wet (LH) - - Description: - Closes the Interaction menu - - Parameters: - Nothing - - Returns: - Nothing - - Example: - call AGM_Interaction_fnc_hideMenu; -*/ -closeDialog 0; -(findDisplay 1713999) closeDisplay 1; -(uiNameSpace getVariable "AGM_Flow_Display") closeDisplay 0; -AGM_Interaction_MainButton = nil; -call AGM_Interaction_fnc_hideMouseHint; \ No newline at end of file diff --git a/TO_MERGE/agm/Interaction/functions/fn_hideMouseHint.sqf b/TO_MERGE/agm/Interaction/functions/fn_hideMouseHint.sqf deleted file mode 100644 index f8f9b75b35..0000000000 --- a/TO_MERGE/agm/Interaction/functions/fn_hideMouseHint.sqf +++ /dev/null @@ -1,22 +0,0 @@ -/* - Name: AGM_Interaction_fnc_hideMouseHint - - Author(s): - Garth de Wet (LH) - - Description: - Hides the interaction helper text with the mouse buttons at the bottom middle of the screen - - Parameters: - Nothing - - Returns: - Nothing - - Example: - call AGM_Interaction_fnc_hideMouseHint; -*/ -if (isNull (uiNamespace getVariable ["AGM_Helper_Display", objNull])) exitWith{}; - -("AGM_InteractionHelper" call BIS_fnc_rscLayer) cutText ["", "PLAIN"]; -showHUD true; \ No newline at end of file diff --git a/TO_MERGE/agm/Interaction/functions/fn_initialiseInteraction.sqf b/TO_MERGE/agm/Interaction/functions/fn_initialiseInteraction.sqf deleted file mode 100644 index 556e3d0bd6..0000000000 --- a/TO_MERGE/agm/Interaction/functions/fn_initialiseInteraction.sqf +++ /dev/null @@ -1,167 +0,0 @@ -/* - Name: AGM_Interaction_fnc_initialiseInteraction - - Author: - commy2 - Garth de Wet (LH) - - Description: - Initialises the interaction click handlers. - - Parameters: - 0 : CODE - code to call when right clicking/center button - 1 : BOOLEAN - Submenu - 2 : BOOLEAN - Flow Menu - 3 : BOOLEAN - Self interaction - 4 : OBJECT - Target - - Returns: - Nothing - - Example: - [{"Default" call AGM_Interaction_fnc_openMenu;}, true, (profileNamespace getVariable ["AGM_Interaction_FlowMenu", false]), AGM_Interaction_Target] call AGM_Interaction_fnc_initialiseInteraction; -*/ -private ["_subMenu", "_selfMenu", "_target"]; -AGM_Interaction_MainButton = _this select 0; -_subMenu = _this select 1; -_selfMenu = _this select 3; -_target = _this select 4; - -_player = AGM_player; -_vehicle = vehicle _player; -//_object = [AGM_Interaction_Target, _player] select (AGM_Interaction_MenuType % 2 == 1); - -if !([_target, 5] call AGM_Interaction_fnc_isInRange) exitWith {}; - -AGM_Interaction_Shortcuts = [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1]; - -// Flow menu -if (_this select 2) then { - ("AGM_FlowMenu" call BIS_fnc_rscLayer) cutRsc ["AGM_FlowMenu", "PLAIN",0.5, false]; - AGM_Interaction_SelectedButton = 0; - (findDisplay 1713999) closeDisplay 1; - if (_player getVariable ["AGM_AcceptAction", -1] == -1) then { - [{if(isNil {AGM_Interaction_MainButton} || {!(profileNamespace getVariable ['AGM_Interaction_FlowMenu', false])})exitWith{false};(-(_this select 0) / 1.2) call AGM_Interaction_fnc_MoveDown;true}] call AGM_Core_fnc_addScrollWheelEventHandler; - - _player setVariable ["AGM_AcceptAction", [_player, "DefaultAction", {(!isNil {AGM_Interaction_MainButton}) && {(profileNamespace getVariable ['AGM_Interaction_FlowMenu', false])}}, {_action = AGM_Interaction_Buttons select AGM_Interaction_SelectedButton;_target = AGM_Interaction_Target;_player = AGM_player;_vehicle = vehicle _player;if ([_target, _player] call (_action select 2)) then {call AGM_Interaction_fnc_hideMenu;if(count _action == 12) then{(_action select 11) call (_action select 1);}else{[_target, _player] call (_action select 1);};};}] call AGM_core_fnc_addActionEventHandler]; - _player setVariable ["AGM_AcceptAction", [_player, "menuBack", {(!isNil {AGM_Interaction_MainButton}) && {(profileNamespace getVariable ['AGM_Interaction_FlowMenu', false])}}, {call AGM_Interaction_MainButton;}] call AGM_core_fnc_addActionEventHandler]; - }; - 0 call AGM_Interaction_fnc_moveDown; - [localize "STR_AGM_Interaction_MakeSelection", if (_subMenu)then{localize "STR_AGM_Interaction_Back"}else{""}, localize "STR_AGM_Interaction_ScrollHint"] call AGM_Interaction_fnc_showMouseHint; - ((uiNamespace getVariable "AGM_Flow_Display") displayCtrl (1210)) ctrlShow _subMenu; -}else{ // Rose - if (!isNull(uiNamespace getVariable "AGM_Flow_Display")) then { - (uiNameSpace getVariable "AGM_Flow_Display") closeDisplay 0; - call AGM_Interaction_fnc_hideMouseHint; - }; - if (!_subMenu || {isNull (findDisplay 1713999)}) then { - (findDisplay 1713999) closeDisplay 1; - - (findDisplay 46) createDisplay "AGM_Interaction_Dialog"; - // Add eventhandlers - (findDisplay 1713999) displayAddEventHandler ["KeyDown", "_this call AGM_Core_onKeyDown"]; - (findDisplay 1713999) displayAddEventHandler ["KeyUp", "_this call AGM_Core_onKeyUp"]; - - (findDisplay 1713999) displayAddEventHandler ["KeyDown", "_this call AGM_Interaction_fnc_menuKeyInput"]; - }; - disableSerialization; - _dlgInteractionDialog = uiNamespace getVariable "AGM_Interaction_Dialog"; - _ctrlInteractionDialog = _dlgInteractionDialog displayCtrl 3; - if (profileNamespace getVariable ["AGM_Interaction_AutoCenterCursor", true]) then {setMousePosition [0.5, 0.5]}; - if !(_subMenu) then { - _ctrlInteractionDialog ctrlSetText ([_target] call AGM_Core_fnc_getName); - } else { - _ctrlInteractionDialog ctrlSetText localize "STR_AGM_Interaction_Back"; - }; - - _buttons = AGM_Interaction_Buttons; - _count = count _buttons; - - for "_i" from 0 to 9 do { - _ctrlInteractionDialog = _dlgInteractionDialog displayCtrl (10 + _i); - _ctrlInteractionDialog ctrlShow true; - - _ctrlInteractionDialogIcon = _dlgInteractionDialog displayCtrl (20 + _i); - _ctrlInteractionDialogShortcut = _dlgInteractionDialog displayCtrl (30 + _i); - //_ctrlInteractionDialogBackground = _dlgInteractionDialog displayCtrl (40 + _i); - if (_i < _count) then { - _action = _buttons select _i; - _ctrlInteractionDialog ctrlSetText (_action select 0); - _ctrlInteractionDialog ctrlEnable ([_target, _player] call (_action select 2)); - _ctrlInteractionDialog ctrlSetTooltip (_action select 6); - - _ctrlInteractionDialogIcon ctrlSetText (_action select 5); - _ctrlInteractionDialogShortcut ctrlSetText (_action select 10); - //_ctrlInteractionDialogBackground ctrlShow true; - - AGM_Interaction_Shortcuts set [_i, [_action select 10] call AGM_Core_fnc_letterToCode]; - } else { - _ctrlInteractionDialog ctrlSetText ""; - _ctrlInteractionDialog ctrlEnable false; - _ctrlInteractionDialog ctrlSetTooltip ""; - - _ctrlInteractionDialogIcon ctrlSetText ""; - _ctrlInteractionDialogShortcut ctrlSetText ""; - //_ctrlInteractionDialogBackground ctrlShow false; - }; - }; - - // Update Buttons - terminate (missionNamespace getVariable ["AGM_Interaction_updateMenuHandle", scriptNull]); - - AGM_Interaction_updateMenuHandle = 0 spawn { - disableSerialization; - _dlgMenu = uiNamespace getVariable ["AGM_Interaction_Dialog", displayNull]; - _ctrlTooltip = _dlgMenu displayCtrl 40; - - _player = AGM_player; - _vehicle = vehicle _player; - _target = [AGM_Interaction_Target, _player] select (AGM_Interaction_MenuType % 2 == 1); - - waitUntil { - if !([_target, 5] call AGM_Interaction_fnc_isInRange) exitWith { - (findDisplay 1713999) closeDisplay 1 - }; - - AGM_Interaction_Tooltips = [[], [], [], [], [], [], [], [], [], []]; - { - _ctrlText = _dlgMenu displayCtrl (10 + _forEachIndex); - _ctrlIcon = _dlgMenu displayCtrl (20 + _forEachIndex); - - _condition = _x select 2; - _conditionShow = _x select 7; - _distance = _x select 9; - - AGM_Interaction_CurrentTooltip = []; - - _enable = (_distance == 0 || {[_target, _distance] call AGM_Interaction_fnc_isInRange}) && {[_target, _player] call _condition} && {[_target, _player] call _conditionShow}; - if (isNil "_enable") then {_enable = false}; - - AGM_Interaction_Tooltips set [_forEachIndex, AGM_Interaction_CurrentTooltip]; - - // apply conditional tooltips - /*if (_forEachIndex == call AGM_Interaction_fnc_getSelectedButton) then { - _tooltip = _x select 6; - - _showTooltip = _tooltip != ""; - - _tooltip = text _tooltip; - - { - _showTooltip = true; - _tooltip = composeText [_tooltip, lineBreak, _x]; - } forEach (AGM_Interaction_Tooltips select _forEachIndex); - - _ctrlTooltip ctrlSetStructuredText _tooltip; - _ctrlTooltip ctrlShow _showTooltip; - };*/ - - _ctrlText ctrlEnable _enable; - _ctrlIcon ctrlEnable _enable; - } forEach AGM_Interaction_Buttons; - - sleep 0.5; - isNull (findDisplay 1713999) - }; - }; -}; diff --git a/TO_MERGE/agm/Interaction/functions/fn_isInRange.sqf b/TO_MERGE/agm/Interaction/functions/fn_isInRange.sqf deleted file mode 100644 index bb82f7af95..0000000000 --- a/TO_MERGE/agm/Interaction/functions/fn_isInRange.sqf +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Author: commy2 - * - * Check if the vehicle is in range of the player. - * - * Argument: - * 0: Vehicke (Object) - * 1: Distance in meters (Number) - * - * Return value: - * (Bool) - */ - -private ["_vehicle", "_distance", "_player"]; - -_vehicle = _this select 0; -_distance = _this select 1; - -_player = AGM_player; - -if (_vehicle isKindOf "Man") exitWith {_player distance _vehicle < _distance}; - -private ["_position0", "_position1"];//, "_direction"]; - -_position0 = getPosASL _player; -_position1 = getPosASL _vehicle; - -/* -_direction = _position1 vectorDiff _position0; -_direction = _direction vectorMultiply (_distance / (vectorMagnitude _direction)); - -_position0 = eyePos _player; -_position1 = _position0 vectorAdd _direction; - -_vehicle in lineIntersectsWith [_position0, _position1] || {_player distance _vehicle < _distance} -*/ - -_position0 = ATLToASL positionCameraToWorld [0, 0, 0]; -_position0 set [2, (_position0 select 2) - (getTerrainHeightASL _position0 min 0)]; - -_position1 = ATLToASL positionCameraToWorld [0, 0, _distance]; -_position1 set [2, (_position1 select 2) - (getTerrainHeightASL _position1 min 0)]; - -if (_vehicle in lineIntersectsWith [_position0, _position1] || {_player distance _vehicle < _distance}) then { - true -} else { - ["Not in Range"] call AGM_Interaction_fnc_addToTooltip; - false -} diff --git a/TO_MERGE/agm/Interaction/functions/fn_joinTeam.sqf b/TO_MERGE/agm/Interaction/functions/fn_joinTeam.sqf deleted file mode 100644 index c6db297c49..0000000000 --- a/TO_MERGE/agm/Interaction/functions/fn_joinTeam.sqf +++ /dev/null @@ -1,20 +0,0 @@ -// by commy2 - -private ["_unit", "_team", "_message"]; - -_unit = _this select 0; -_team = _this select 1; - -_unit setVariable ["AGM_assignedFireTeam", _team, true]; -[_unit, format ["{_this assignTeam '%1'}", _team]] call AGM_Core_fnc_execRemoteFnc; - -if (_unit == AGM_player) then { - _message = if (_team == "MAIN") then { - localize "STR_AGM_Interaction_LeftTeam"; - } else { - _team = localize format ["STR_AGM_Interaction_Team%1", _team]; - format [localize "STR_AGM_Interaction_JoinedTeam", _team]; - }; - - [_message] call AGM_Core_fnc_displayTextStructured; -}; diff --git a/TO_MERGE/agm/Interaction/functions/fn_lockDoor.sqf b/TO_MERGE/agm/Interaction/functions/fn_lockDoor.sqf deleted file mode 100644 index edc317bfac..0000000000 --- a/TO_MERGE/agm/Interaction/functions/fn_lockDoor.sqf +++ /dev/null @@ -1,27 +0,0 @@ -// by commy2 - -private ["_mode", "_info", "_house", "_door", "_id", "_phase"]; - -_mode = _this select 0; //lock: true, unlock: false - -_info = [2] call AGM_Interaction_fnc_getDoor; - -_house = _info select 0; -_door = _info select 1; -_id = _info select 2; - -if (isNull _house) exitWith {}; - -/* -_phase = [1, 0] select _mode; - -_house animate [format ["%1_%2_rot", _door, _id], _phase]; -_house animate [format ["%1_Handle_%2_rot_1", _door, _id], _phase]; -_house animate [format ["%1_Handle_%2_rot_2", _door, _id], _phase]; -*/ - -_house setVariable [format ["BIS_Disabled_%1_%2", _door, _id], [0, 1] select _mode]; - -playSound "AGM_Sound_Click"; - -[localize (["STR_AGM_Interaction_UnlockedDoor", "STR_AGM_Interaction_LockedDoor"] select _mode)] call AGM_Core_fnc_displayTextStructured; diff --git a/TO_MERGE/agm/Interaction/functions/fn_menuKeyInput.sqf b/TO_MERGE/agm/Interaction/functions/fn_menuKeyInput.sqf deleted file mode 100644 index 786add7670..0000000000 --- a/TO_MERGE/agm/Interaction/functions/fn_menuKeyInput.sqf +++ /dev/null @@ -1,16 +0,0 @@ -// by commy2 - -private "_key"; - -_key = _this select 1; - -if (_key in [28, 57, 156, 200, 208, 203, 205, 201, 209]) exitWith {true}; - -_index = AGM_Interaction_Shortcuts find _key; - -if (_index != -1 && {ctrlEnabled (findDisplay 1713999 displayCtrl (_index + 10))}) exitWith { - _index call AGM_Interaction_fnc_onClick; - true -}; - -false diff --git a/TO_MERGE/agm/Interaction/functions/fn_moduleInteraction.sqf b/TO_MERGE/agm/Interaction/functions/fn_moduleInteraction.sqf deleted file mode 100644 index 60f15e1215..0000000000 --- a/TO_MERGE/agm/Interaction/functions/fn_moduleInteraction.sqf +++ /dev/null @@ -1,20 +0,0 @@ -/* - * Author: bux578 - * - * Initializes the Interaction module. - * - * Arguments: - * Whatever the module provides. (I dunno.) - * - * Return Value: - * None - */ - -_logic = _this select 0; -_activated = _this select 2; - -if !(_activated) exitWith {}; - -[_logic, "AGM_Interaction_EnableTeamManagement", "EnableTeamManagement"] call AGM_Core_fnc_readBooleanParameterFromModule; - -diag_log text "[AGM]: Interaction Module Initialized."; diff --git a/TO_MERGE/agm/Interaction/functions/fn_onButtonDown.sqf b/TO_MERGE/agm/Interaction/functions/fn_onButtonDown.sqf deleted file mode 100644 index 91a20d9fc7..0000000000 --- a/TO_MERGE/agm/Interaction/functions/fn_onButtonDown.sqf +++ /dev/null @@ -1,14 +0,0 @@ -// by commy2 - -if (dialog) exitWith { - closeDialog 0; -}; - -if (isNull (findDisplay 1713999)) then { - if (AGM_player == vehicle AGM_player) then {"" call AGM_Interaction_fnc_openMenu} else {[AGM_player, vehicle AGM_player] call AGM_Interaction_fnc_openMenuSelectUI}; - setMousePosition [0.5, 0.5]; -} else { - (findDisplay 1713999) closeDisplay 1; -}; - -[_player, "interactionMenuOpened", [_player, AGM_Interaction_Target, 0]] call AGM_Core_fnc_callCustomEventHandlers; diff --git a/TO_MERGE/agm/Interaction/functions/fn_onButtonDownSelf.sqf b/TO_MERGE/agm/Interaction/functions/fn_onButtonDownSelf.sqf deleted file mode 100644 index 90aa4b4aca..0000000000 --- a/TO_MERGE/agm/Interaction/functions/fn_onButtonDownSelf.sqf +++ /dev/null @@ -1,14 +0,0 @@ -// by commy2 - -if (dialog) exitWith { - closeDialog 0; -}; - -if (isNull (findDisplay 1713999)) then { - "" call AGM_Interaction_fnc_openMenuSelf; - setMousePosition [0.5, 0.5]; -} else { - (findDisplay 1713999) closeDisplay 1; -}; - -[_player, "interactionMenuOpened", [_player, AGM_Interaction_Target, 1]] call AGM_Core_fnc_callCustomEventHandlers; diff --git a/TO_MERGE/agm/Interaction/functions/fn_onButtonUp.sqf b/TO_MERGE/agm/Interaction/functions/fn_onButtonUp.sqf deleted file mode 100644 index 0466eee0dc..0000000000 --- a/TO_MERGE/agm/Interaction/functions/fn_onButtonUp.sqf +++ /dev/null @@ -1,44 +0,0 @@ -// by commy2 - -private ["_player", "_vehicle", "_target", "_count", "_index", "_action", "_statement", "_condition", "_conditionShow", "_exceptions", "_distance"]; - -_player = AGM_player; -_vehicle = vehicle _player; -_target = [AGM_Interaction_Target, _player] select (AGM_Interaction_MenuType % 2 == 1); - -_count = count AGM_Interaction_Buttons; -_index = call AGM_Interaction_fnc_getSelectedButton; - -_action = if (_index != -1 && {_index < _count}) then { - AGM_Interaction_Buttons select _index -} else { - ["", {}, {false}, 0, [], "", "", {false}, [], 0] -}; - -(findDisplay 1713999) closeDisplay 1; -closeDialog 0; - - - - - - - - - - - - - - - - -_statement = _action select 1; -_condition = _action select 2; -_conditionShow = _action select 7; -_exceptions = _action select 8;// -_distance = _action select 9; - -if ((_distance == 0 || {[AGM_Interaction_Target, _distance] call AGM_Interaction_fnc_isInRange}) && {[_target, _player] call _condition} && {[_target, _player] call _conditionShow}) then { - [_target, _player] call _statement; -}; diff --git a/TO_MERGE/agm/Interaction/functions/fn_onClick.sqf b/TO_MERGE/agm/Interaction/functions/fn_onClick.sqf deleted file mode 100644 index 6fb9a353fc..0000000000 --- a/TO_MERGE/agm/Interaction/functions/fn_onClick.sqf +++ /dev/null @@ -1,44 +0,0 @@ -// by commy2 - -private ["_player", "_vehicle", "_target", "_count", "_index", "_action", "_subMenu", "_statement", "_condition", "_conditionShow", "_exceptions", "_distance"]; - -_player = AGM_player; -_vehicle = vehicle _player; -_target = [AGM_Interaction_Target, _player] select (AGM_Interaction_MenuType % 2 == 1); - -_count = count AGM_Interaction_Buttons; -_index = _this; //call AGM_Interaction_fnc_getSelectedButton; - -_action = if (_index != -1 && {_index < _count}) then { - AGM_Interaction_Buttons select _index -} else { - ["", {}, {false}, 0, [], "", "", {false}, [], 0] -}; - -_subMenu = _action select 4; - -// back -if (_index == -1) exitWith { - call AGM_Interaction_MainButton; -}; - -if (count _subMenu < 2) then { - (findDisplay 1713999) closeDisplay 1; - closeDialog 0; - - _statement = _action select 1; - _condition = _action select 2; - _conditionShow = _action select 7; - _exceptions = _action select 8;// - _distance = _action select 9; - - if ((_distance == 0 || {[AGM_Interaction_Target, _distance] call AGM_Interaction_fnc_isInRange}) && {[_target, _player] call _condition} && {[_target, _player] call _conditionShow}) then { - [_target, _player] call _statement; - }; -} else { - if (_subMenu select 1 < 1) then { - [_subMenu select 0] call AGM_Interaction_fnc_openSubMenu; - } else { - [_subMenu select 0] call AGM_Interaction_fnc_openSubMenuSelf; - }; -}; diff --git a/TO_MERGE/agm/Interaction/functions/fn_onSelectMenuDblClick.sqf b/TO_MERGE/agm/Interaction/functions/fn_onSelectMenuDblClick.sqf deleted file mode 100644 index db7f326bd2..0000000000 --- a/TO_MERGE/agm/Interaction/functions/fn_onSelectMenuDblClick.sqf +++ /dev/null @@ -1,3 +0,0 @@ -// by CorruptedHeart, commy2 - -call compile (lbData [8866, lbCurSel 8866]) call AGM_Interaction_SelectAccept; diff --git a/TO_MERGE/agm/Interaction/functions/fn_openDoor.sqf b/TO_MERGE/agm/Interaction/functions/fn_openDoor.sqf deleted file mode 100644 index 98f21fe690..0000000000 --- a/TO_MERGE/agm/Interaction/functions/fn_openDoor.sqf +++ /dev/null @@ -1,56 +0,0 @@ -// by commy2 - -private ["_info", "_house", "_door", "_animations", "_lockedVariable"]; - -_info = [2] call AGM_Interaction_fnc_getDoor; - -_house = _info select 0; -_door = _info select 1; - -if (isNull _house) exitWith {}; - -_animations = [_house, _door] call AGM_Interaction_fnc_getDoorAnimations; - -_lockedVariable = _animations select 1; -_animations = _animations select 0; - -if (count _animations == 0) exitWith {}; - -if (_house animationPhase (_animations select 0) <= 0 && {_house getVariable [_lockedVariable select 0, 0] == 1}) exitWith { - _lockedVariable set [0, _house]; - _lockedVariable spawn compile preprocessFileLineNumbers "\A3\Structures_F\scripts\LockedDoor_open.sqf"; -}; - -AGM_Interaction_isOpeningDoor = true; -playSound "AGM_Sound_Click"; - -[_house, _animations] spawn { - _house = _this select 0; - _animations = _this select 1; - - _phase = _house animationPhase (_animations select 0); - _position = getPosASL AGM_player; - - _time = time + 0.2; - _usedMouseWheel = false; - waitUntil { - if (inputAction "PrevAction" > 0 || {inputAction "NextAction" > 0}) then { - _usedMouseWheel = true; - }; - - _phase = _phase + (inputAction "PrevAction" / 12) min 1; - _phase = _phase - (inputAction "NextAction" / 12) max 0; - - {_house animate [_x, _phase]} forEach _animations; - - !AGM_Interaction_isOpeningDoor || {getPosASL AGM_player distance _position > 1} - }; - - if (!_usedMouseWheel && {time < _time}) then { - _phase = [0, 1] select (_house animationPhase (_animations select 0) < 0.5); - - {_house animate [_x, _phase]} forEach _animations; - }; - - AGM_Interaction_isOpeningDoor = false; -}; diff --git a/TO_MERGE/agm/Interaction/functions/fn_openMenu.sqf b/TO_MERGE/agm/Interaction/functions/fn_openMenu.sqf deleted file mode 100644 index 02fe1ba1ab..0000000000 --- a/TO_MERGE/agm/Interaction/functions/fn_openMenu.sqf +++ /dev/null @@ -1,6 +0,0 @@ -// by commy2 - -private "_target"; -_target = [cursorTarget, AGM_Interaction_Target] select (_this == "Default"); - -[0, _target, ""] call AGM_Interaction_fnc_showMenu; diff --git a/TO_MERGE/agm/Interaction/functions/fn_openMenuSelectUI.sqf b/TO_MERGE/agm/Interaction/functions/fn_openMenuSelectUI.sqf deleted file mode 100644 index dbac9e2f75..0000000000 --- a/TO_MERGE/agm/Interaction/functions/fn_openMenuSelectUI.sqf +++ /dev/null @@ -1,43 +0,0 @@ -// by commy2 - -private ["_unit", "_vehicle", "_cargo"]; - -_unit = _this select 0; -_vehicle = _this select 1; - -// allow interaction with all cargo slots and all ffv slots -_cargo = [_vehicle, ["cargo", "ffv"], true] call AGM_Core_fnc_getVehicleCrew; - -// you can only interact if you are in cargo or ffv yourself. exit otherwise -if !(_unit in _cargo) exitWith {}; - -AGM_InteractionMenu_Crew = _cargo; - -// prepare: add header and "OK" button to select menu -private "_actions"; -_actions = [localize "STR_AGM_Interaction_InteractionMenu", localize "STR_AGM_Interaction_Interact"] call AGM_Interaction_fnc_prepareSelectMenu; - -// prepare: add all cargo units as options to select menu -{ - if (_x != _unit) then { - _actions = [ - _actions, - [_x] call AGM_Core_fnc_getName, - "\AGM_Interaction\UI\dot_ca.paa", - _forEachIndex - ] call AGM_Interaction_fnc_AddSelectableItem; - }; -} forEach _cargo; - -// open select menu -[ - _actions, - { - call AGM_Interaction_fnc_hideMenu; - [0, AGM_InteractionMenu_Crew select _this, ""] spawn AGM_Interaction_fnc_showMenu; - AGM_InteractionMenu_Crew = nil; - }, - { - call AGM_Interaction_fnc_hideMenu; - } -] call AGM_Interaction_fnc_openSelectMenu; diff --git a/TO_MERGE/agm/Interaction/functions/fn_openMenuSelf.sqf b/TO_MERGE/agm/Interaction/functions/fn_openMenuSelf.sqf deleted file mode 100644 index e6056eb1ef..0000000000 --- a/TO_MERGE/agm/Interaction/functions/fn_openMenuSelf.sqf +++ /dev/null @@ -1,3 +0,0 @@ -// by commy2 - -[1, AGM_player, ""] call AGM_Interaction_fnc_showMenu; diff --git a/TO_MERGE/agm/Interaction/functions/fn_openSelectMenu.sqf b/TO_MERGE/agm/Interaction/functions/fn_openSelectMenu.sqf deleted file mode 100644 index 069d1dbc8a..0000000000 --- a/TO_MERGE/agm/Interaction/functions/fn_openSelectMenu.sqf +++ /dev/null @@ -1,43 +0,0 @@ -/* - Name: AGM_Interaction_fnc_openSelectMenu - - Author: Garth de Wet (LH) - - Description: - Opens the select menu UI and sets up the UI - - Parameters: - 0: ARRAY - items - ARRAY - 0 = Text - 1 = statement to execute - 2 = condition before execute - 3 = showDisabled - 4 = priority - 5 = icon - 6 = extra variables. Passed to the code. - 1: Code - select action - 2: Code - Cancel Action - Returns: - Nothing - - Example: -*/ -if (!(profileNamespace getVariable ["AGM_Interaction_FlowMenu", false])) then { - AGM_Interaction_SelectAccept = _this select 1; - AGM_Interaction_SelectCancel = _this select 2; - buttonSetAction [8855, "call AGM_Interaction_SelectCancel;"]; // cancel - buttonSetAction [8860, "(call compile (lbData [8866, lbCurSel 8866])) call AGM_Interaction_SelectAccept;"]; // accept - lbSetCurSel [8866, 0]; -}else{ - _customActions = _this select 0; - _count = count _customActions; - if (_count == 0) exitWith {}; - _customActions call AGM_Interaction_fnc_sortOptionsByPriority; - for "_i" from 0 to _count -1 do { - _action = _customActions select _i; - _action set [1, (_this select 1)]; - }; - AGM_Interaction_Buttons = _customActions; - [(_this select 2), true, true, false, AGM_player] call AGM_Interaction_fnc_initialiseInteraction; -}; diff --git a/TO_MERGE/agm/Interaction/functions/fn_openSubMenu.sqf b/TO_MERGE/agm/Interaction/functions/fn_openSubMenu.sqf deleted file mode 100644 index 7898d9e181..0000000000 --- a/TO_MERGE/agm/Interaction/functions/fn_openSubMenu.sqf +++ /dev/null @@ -1,3 +0,0 @@ -// by commy2 - -[2, AGM_Interaction_Target, _this select 0] call AGM_Interaction_fnc_showMenu; diff --git a/TO_MERGE/agm/Interaction/functions/fn_openSubMenuSelf.sqf b/TO_MERGE/agm/Interaction/functions/fn_openSubMenuSelf.sqf deleted file mode 100644 index 966684c84f..0000000000 --- a/TO_MERGE/agm/Interaction/functions/fn_openSubMenuSelf.sqf +++ /dev/null @@ -1,3 +0,0 @@ -// by commy2 - -[3, AGM_player, _this select 0] call AGM_Interaction_fnc_showMenu; diff --git a/TO_MERGE/agm/Interaction/functions/fn_prepareSelectMenu.sqf b/TO_MERGE/agm/Interaction/functions/fn_prepareSelectMenu.sqf deleted file mode 100644 index bb84eaca12..0000000000 --- a/TO_MERGE/agm/Interaction/functions/fn_prepareSelectMenu.sqf +++ /dev/null @@ -1,35 +0,0 @@ -/* - Name: AGM_Interaction_fnc_prepareSelectMenu - - Author: Garth de Wet (LH) - - Description: - Prepares the select menu for use. - - Parameters: - 0: TEXT - Header text - 1: TEXT - Approve button text - - Returns: - ARRAY/NUMBER - container object for use with AddSelectableItem. - - Example: - ["Select Explosive", "Place"] call AGM_Interaction_fnc_prepareSelectMenu; -*/ -private ["_buttonAction", "_header", "_buttonText", "_cancelButton"]; -closeDialog 0; -if (!(profileNamespace getVariable ["AGM_Interaction_FlowMenu", false])) exitWith { - _header = _this select 0; - _buttonText = _this select 1; - if (isNil "_buttonText" or {_buttonText == ""}) then { - _buttonText = localize "STR_AGM_Interaction_MakeSelection"; - }; - createDialog "RscAGM_SelectAnItem"; - ctrlSetText [8860, _buttonText]; - ctrlSetText [8870, _header]; - - lbClear 8866; - - 8866 -}; -[] diff --git a/TO_MERGE/agm/Interaction/functions/fn_push.sqf b/TO_MERGE/agm/Interaction/functions/fn_push.sqf deleted file mode 100644 index d4ce290d1e..0000000000 --- a/TO_MERGE/agm/Interaction/functions/fn_push.sqf +++ /dev/null @@ -1,21 +0,0 @@ -/* - * Author: KoffeinFlummi - * - * Pushes a boat away from the player. - * - * Arguments: - * 0: Boat (object) - * 1: Velocity (vectorlike array) - * - * Return Value: - * None - */ - -_boat = _this select 0; -_velocity = _this select 1; - -if !(local _boat) exitWith { - [_this, "AGM_Interaction_fnc_push", _boat] call AGM_Core_fnc_execRemoteFnc; -}; - -_boat setVelocity _velocity; diff --git a/TO_MERGE/agm/Interaction/functions/fn_removeInteraction.sqf b/TO_MERGE/agm/Interaction/functions/fn_removeInteraction.sqf deleted file mode 100644 index b633ce0bc8..0000000000 --- a/TO_MERGE/agm/Interaction/functions/fn_removeInteraction.sqf +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Author: commy2 - * - * Remove an AGM action from an object. Note: This function is global. - * - * Argument: - * 0: Object (Object) - * 1: ID of the action (Number) - * - * Return value: - * None. - */ - -private ["_object", "_id", "_actionsVar", "_currentID", "_actionIDs", "_actions"]; - -_object = _this select 0; -_id = _this select 1; - -_actionsVar = _object getVariable ["AGM_Interactions", [-1, [], []]]; - -_currentID = _actionsVar select 0; -_actionIDs = _actionsVar select 1; -_actions = _actionsVar select 2; - -_id = _actionIDs find _id; - -if (_id == -1) exitWith {}; - -_actionIDs set [_id, -1]; -_actionIDs = _actionIDs - [-1]; - -_actions set [_id, []]; -_actions = _actions - [[]]; - -_object setVariable ["AGM_Interactions", [_currentID, _actionIDs, _actions], true]; diff --git a/TO_MERGE/agm/Interaction/functions/fn_removeInteractionSelf.sqf b/TO_MERGE/agm/Interaction/functions/fn_removeInteractionSelf.sqf deleted file mode 100644 index 140c6f0502..0000000000 --- a/TO_MERGE/agm/Interaction/functions/fn_removeInteractionSelf.sqf +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Author: commy2 - * - * Remove an AGM self action from the player. - * - * Argument: - * 0: ID of the action (Number) - * - * Return value: - * None. - */ - - -private ["_id", "_actionsVar", "_currentID", "_actionIDs", "_actions"]; - - -_id = _this select 0; - -_actionsVar = AGM_player getVariable ["AGM_InteractionsSelf", [-1, [], []]]; - -_currentID = _actionsVar select 0; -_actionIDs = _actionsVar select 1; -_actions = _actionsVar select 2; - -_id = _actionIDs find _id; - -if (_id == -1) exitWith {}; - -_actionIDs set [_id, -1]; -_actionIDs = _actionIDs - [-1]; - -_actions set [_id, []]; -_actions = _actions - [[]]; - -AGM_player setVariable ["AGM_InteractionsSelf", [_currentID, _actionIDs, _actions], false]; diff --git a/TO_MERGE/agm/Interaction/functions/fn_removeTag.sqf b/TO_MERGE/agm/Interaction/functions/fn_removeTag.sqf deleted file mode 100644 index 9d37367f1c..0000000000 --- a/TO_MERGE/agm/Interaction/functions/fn_removeTag.sqf +++ /dev/null @@ -1,19 +0,0 @@ -// by commy2 - -0 spawn { - waitUntil {player getVariable ["AGM_Name", ""] != ""}; - - _name = player getVariable ["AGM_Name", ""]; - _name = toArray _name; - - _index = _name find (toArray "]" select 0); - - if (_index != -1) then { - for "_index" from 0 to _index do { - _name set [_index, -1]; - }; - _name = _name - [-1]; - _name = toString _name; - player setVariable ["AGM_Name", _name, true]; - }; -}; diff --git a/TO_MERGE/agm/Interaction/functions/fn_sendAway.sqf b/TO_MERGE/agm/Interaction/functions/fn_sendAway.sqf deleted file mode 100644 index a4434bbd12..0000000000 --- a/TO_MERGE/agm/Interaction/functions/fn_sendAway.sqf +++ /dev/null @@ -1,35 +0,0 @@ -/* - * Author: KoffeinFlummi - * - * Sends a civilian crowd away (chance of failure). - * - * Arguments: - * 0: Unit to be sent away (Object) - * - * Return value: - * none -*/ - -#define DISTANCE 50 -#define RADIUS 10 - -private ["_unit", "_chance", "_x"]; - -_unit = _this select 0; - -AGM_player playActionNow "GestureGo"; - -if (count weapons AGM_player > 0) then { - _chance = 0.8; -} else { - _chance = 0.5; -}; - -{ - if (count (weapons _unit) == 0 and random 1 < _chance) then { - [-2, { - (_this select 0) setUnitPos "AUTO"; - (_this select 0) doMove [(getPos (_this select 0) select 0) + DISTANCE * (eyeDirection (_this select 1) select 0), (getPos (_this select 0) select 1) + DISTANCE * (eyeDirection (_this select 1) select 1), 0]; - }, [_x, AGM_player]] call CBA_fnc_globalExecute; - }; -} foreach (_unit nearEntities ["Civilian", RADIUS]); diff --git a/TO_MERGE/agm/Interaction/functions/fn_setCaptivityStatus.sqf b/TO_MERGE/agm/Interaction/functions/fn_setCaptivityStatus.sqf deleted file mode 100644 index 1055780cac..0000000000 --- a/TO_MERGE/agm/Interaction/functions/fn_setCaptivityStatus.sqf +++ /dev/null @@ -1,3 +0,0 @@ -// by commy2 - -_this call AGM_Core_fnc_setCaptivityStatus; diff --git a/TO_MERGE/agm/Interaction/functions/fn_showMenu.sqf b/TO_MERGE/agm/Interaction/functions/fn_showMenu.sqf deleted file mode 100644 index 291ab27331..0000000000 --- a/TO_MERGE/agm/Interaction/functions/fn_showMenu.sqf +++ /dev/null @@ -1,118 +0,0 @@ -/* - Name: AGM_Interaction_fnc_showMenu - - Author: - commy2 - Garth de Wet (LH) - aeroson - - Description: - - Parameters: - 0: NUMBER - Menu type (0 - interaction, 1 - self-interaction, 2 - sub-interaction, 3 - sub-self-interaction) - 1: OBJECT - Target object - 2: STRING - Sub-Menu ClassName - - Returns: - Nothing - - Example: - [0, AGM_Interaction_Target] call AGM_Interaction_fnc_showMenu; - [1, player] call AGM_Interaction_fnc_showMenu; - [2, AGM_Interaction_Target, "AGM_Explosives"] call AGM_Interaction_fnc_showMenu; - [3, player, "AGM_Explosives"] call AGM_Interaction_fnc_showMenu; -*/ -private ["_player", "_vehicle", "_mainButtonAction", "_object", "_index", "_actions", "_result", "_menuType"]; -#define DEFAULT_ICON "\AGM_Interaction\UI\dot_ca.paa" -#define DEFAULT_DISTANCE 4 // seems to be 4 -_player = AGM_player; -_vehicle = vehicle _player; - -AGM_Interaction_MenuType = _this select 0; // 0 Interaction, 1 Self Interaction - -_mainButtonAction = [ - {call AGM_Interaction_fnc_hideMenu}, - {call AGM_Interaction_fnc_hideMenu}, - {"Default" call AGM_Interaction_fnc_openMenu}, - {"Default" call AGM_Interaction_fnc_openMenuSelf} -] select AGM_Interaction_MenuType; - -_menuType = AGM_Interaction_MenuType % 2; -uiNamespace setVariable ["AGM_Interaction_CursorPosition", [controlNull, 0.5, 0.5, -1]]; - -AGM_Interaction_Target = _this select 1; -_object = AGM_Interaction_Target; - -if (_menuType == 0 && {(isNull (_object) || {!([_object, 4] call AGM_Interaction_fnc_isInRange)})}) exitWith {};//call ([AGM_Interaction_fnc_onButtonDown, AGM_Interaction_fnc_onButtonDownSelf] select _menuType)}; -if !([_player, _object] call AGM_Core_fnc_canInteractWith) exitWith {}; - -// add actions or self actions of AGM_Interaction_Target -_parents = [configFile >> "CfgVehicles" >> typeOf _object, true] call BIS_fnc_returnParents; -_result = [_object, _parents, [], [], missionConfigFile >> "CfgVehicles", true, ["AGM_Actions", "AGM_SelfActions"] select _menuType, _this select 2] call AGM_Interaction_fnc_GetActions; -_actions = ([_object, _parents, _result select 0, _result select 1,configFile >> "CfgVehicles", false, ["AGM_Actions", "AGM_SelfActions"] select _menuType, _this select 2] call AGM_Interaction_fnc_GetActions) select 0; - -// add self actions of vehicle _player -if (_menuType == 1 && {_player != _vehicle}) then { - _parents = [configFile >> "CfgVehicles" >> typeOf _vehicle, true] call BIS_fnc_returnParents; - _result = [_vehicle, _parents, [], [], missionConfigFile >> "CfgVehicles", true, ["AGM_Actions", "AGM_SelfActions"] select _menuType, _this select 2] call AGM_Interaction_fnc_GetActions; - _actions = _actions + (([_vehicle, _parents, _result select 0, _result select 1,configFile >> "CfgVehicles", false, ["AGM_Actions", "AGM_SelfActions"] select _menuType, _this select 2] call AGM_Interaction_fnc_GetActions) select 0); -}; - -// custom defined actions, stored in variable instead of cfg like above -if (AGM_Interaction_MenuType < 2) then { - - private ["_customActions", "_customAction", "_displayName", "_distance","_condition","_statement","_showDisabled", "_priority"]; - - // add interactions or self interactions of AGM_Interaction_Target - _customActions = (_object getVariable [["AGM_Interactions", "AGM_InteractionsSelf"] select _menuType, [-1, [], []]]) select 2; - - // add self interactions of vehicle _player - if (_menuType == 1 && {_player != _vehicle}) then { - _customActions = _customActions + ((_vehicle getVariable [["AGM_Interactions", "AGM_InteractionsSelf"] select _menuType, [-1, [], []]]) select 2); - }; - - if(_menuType==0) then { - - private ["_distance"]; - - for "_index" from 0 to (count _customActions - 1) do { - - _customAction = _customActions select _index; - _displayName = _customAction select 0; - _distance = _customAction select 1; - _condition = _customAction select 2; - _statement = _customAction select 3; - _showDisabled = _customAction select 4; - _priority = _customAction select 5; - - if ((_showDisabled || {[_object, _player] call _condition}) && {[_object, _distance] call AGM_Interaction_fnc_isInRange || {_distance == 0}}) then { - _actions pushBack [_displayName, _statement, _condition, _priority, [], DEFAULT_ICON, "", {true}, [], _distance, ""]; - }; - }; - - } else { // self interactions do not have distance - - for "_index" from 0 to (count _customActions - 1) do { - - _customAction = _customActions select _index; - _displayName = _customAction select 0; - _condition = _customAction select 1; - _statement = _customAction select 2; - _showDisabled = _customAction select 3; - _priority = _customAction select 4; - - if (_showDisabled || {[_object, _player] call _condition}) then { - _actions pushBack [_displayName, _statement, _condition, _priority, [], DEFAULT_ICON, "", {true}, [], DEFAULT_DISTANCE, ""]; - }; - }; - - }; - - -}; - -if (count _actions == 0) exitWith {};//call ([AGM_Interaction_fnc_onButtonDown, AGM_Interaction_fnc_onButtonDownSelf] select _menuType)}; - -_actions call AGM_Interaction_fnc_sortOptionsByPriority; -AGM_Interaction_Buttons = _actions; -[_mainButtonAction, (_this select 2) != "", (profileNamespace getVariable ["AGM_Interaction_FlowMenu", false]), _menuType == 1, _object] call AGM_Interaction_fnc_initialiseInteraction; diff --git a/TO_MERGE/agm/Interaction/functions/fn_showMouseHint.sqf b/TO_MERGE/agm/Interaction/functions/fn_showMouseHint.sqf deleted file mode 100644 index a856e9d9c6..0000000000 --- a/TO_MERGE/agm/Interaction/functions/fn_showMouseHint.sqf +++ /dev/null @@ -1,54 +0,0 @@ -/* - Name: AGM_Interaction_fnc_showMouseHint - - Author(s): - Garth de Wet (LH) - - Description: - Shows the interaction helper text with the mouse buttons at the bottom middle of the screen - - Parameters: - 0: STRING - Left click text - 1: STRING - Right click text - 3: STRING - (Optional) Scroll text - - Returns: - Nothing - - Example: - ["Place Explosive", "Cancel"] call AGM_Interaction_fnc_showMouseHint; -*/ -#define GUI_GRID_W (0.025) -#define GUI_GRID_H (0.04) -private ["_leftClick", "_rightClick", "_scroll"]; -_leftClick = _this select 0; -_rightClick = _this select 1; -_scroll = ""; -if (count _this > 2) then { - _scroll = _this select 2; -}; - -("AGM_InteractionHelper" call BIS_fnc_rscLayer) cutRsc ["AGM_InteractionHelper", "PLAIN",0.5, false]; -disableSerialization; -_display = uiNamespace getVariable ["AGM_Helper_Display", objNull]; -if (isNull _display) exitWith{}; - -(_display displayCtrl 1000) ctrlSetText _leftClick; -(_display displayCtrl 1001) ctrlSetText _rightClick; - -(_display displayCtrl 1000) ctrlShow (_leftClick != ""); -(_display displayCtrl 1200) ctrlShow (_leftClick != ""); -(_display displayCtrl 1001) ctrlShow (_rightClick != ""); -(_display displayCtrl 1201) ctrlShow (_rightClick != ""); - -if (_scroll == "") exitWith { - (_display displayCtrl 1002) ctrlShow false; - (_display displayCtrl 1202) ctrlShow false; - - (_display displayCtrl 1001) ctrlSetPosition [21 * GUI_GRID_W, 18 * GUI_GRID_H, 8 * GUI_GRID_W, 1.5 * GUI_GRID_H]; - (_display displayCtrl 1201) ctrlSetPosition [20 * GUI_GRID_W, 18.5 * GUI_GRID_H, 1 * GUI_GRID_W, 1 * GUI_GRID_H]; - (_display displayCtrl 1001) ctrlCommit 0; - (_display displayCtrl 1201) ctrlCommit 0; -}; -(_display displayCtrl 1002) ctrlSetText _scroll; -showHUD false; \ No newline at end of file diff --git a/TO_MERGE/agm/Interaction/functions/fn_sortOptionsByPriority.sqf b/TO_MERGE/agm/Interaction/functions/fn_sortOptionsByPriority.sqf deleted file mode 100644 index dd94cadfe4..0000000000 --- a/TO_MERGE/agm/Interaction/functions/fn_sortOptionsByPriority.sqf +++ /dev/null @@ -1,20 +0,0 @@ -// by commy2 - -private ["_actions", "_count", "_index", "_actionN", "_actionM"]; - -_actions = _this; -_count = count _actions; -_index = 0; - -while {_index < _count - 1} do { - _actionN = + _actions select _index; - _actionM = + _actions select (_index + 1); - - if (_actionN select 3 < _actionM select 3) then { - _actions set [_index, _actionM]; - _actions set [_index + 1, _actionN]; - _index = 0; - } else { - _index = _index + 1; - }; -}; diff --git a/TO_MERGE/agm/Interaction/functions/fn_tapShoulder.sqf b/TO_MERGE/agm/Interaction/functions/fn_tapShoulder.sqf deleted file mode 100644 index 8d6340143f..0000000000 --- a/TO_MERGE/agm/Interaction/functions/fn_tapShoulder.sqf +++ /dev/null @@ -1,20 +0,0 @@ -// by commy2 - -private ["_unit", "_message"]; - -_tapper = _this select 0; -_target = _this select 1; - -if (_target != AGM_player) exitWith { - addCamShake [4, 0.5, 5]; - if !(local _target) then { - [[_tapper, _target], "AGM_Interaction_fnc_tapShoulder", _target] call AGM_Core_fnc_execRemoteFnc; - }; -}; - -addCamShake [4, 0.5, 5]; - -//_message = format ["%1 tapped you on your shoulder.", [_unit] call AGM_Core_fnc_getName]; -_message = localize "STR_AGM_Interaction_YouWereTapped"; - -[_message] call AGM_Core_fnc_displayTextStructured; diff --git a/TO_MERGE/agm/Interaction/functions/fn_updateTooltipPosition.sqf b/TO_MERGE/agm/Interaction/functions/fn_updateTooltipPosition.sqf deleted file mode 100644 index 3df14635e0..0000000000 --- a/TO_MERGE/agm/Interaction/functions/fn_updateTooltipPosition.sqf +++ /dev/null @@ -1,12 +0,0 @@ -// by commy2 - -disableSerialization; -_ctrl = ctrlParent (_this select 0) displayCtrl 40; - -_ctrl ctrlSetPosition [ - (_this select 1) + 0.01 * safezoneW, - (_this select 2) + 0.01 * safezoneH, - 2.0 / 16 * safezoneW, - 0.3 / 9 * safezoneH -]; -_ctrl ctrlCommit 0; diff --git a/TO_MERGE/agm/Interaction/rsc/button1.paa b/TO_MERGE/agm/Interaction/rsc/button1.paa deleted file mode 100644 index 51d3a373a18780b4eabfffe2000dc71982936aa0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24483 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 - - - - - Interaction Menu - Interaktionsmenü - Menú de interacción - Menu interakcji - Menu interakce - Menu d'interaction - Меню взаимодействия - Interakció - Menu de Interação - Menù Interattivo - - - Interaction Menu (Self) - Interaktionsmenü (Selbst) - Menú de interacción (Propia) - Menu interakcji (na siebie) - Menu interakce (vlastní) - Menu d'interaction (Perso) - Меню взаимодействия (с собой) - Interakció (saját) - Menu de Interação (Individual) - Menù Interattivo (Individuale) - - - Open / Close Door - Tür öffnen / schließen - Abrir / Cerrar puerta - Otwórz / Zamknij drzwi - Otevřít / Zavřít dveře - Ouvrir / Fermer Portes - Открыть / Закрыть двери - Ajtó nyitás / zárás - Abrir / Fechar Porta - Apri / Chiudi la porta - - - Lock Door - Tür sperren - Bloquear puerta - Verrouiller Porte - Blocca la porta - Заблокировать дверь - Trancar Porta - Ajtó bezárása - Zablokuj drzwi - Zamknout dveře - - - Unlock Door - Tür entsperren - Desbloquear puerta - Déverrouiller Porte - Sblocca la porta - Разблокировать дверь - Destrancar Porta - Zár kinyitása - Odblokuj drzwi - Odemknout dveře - - - Locked Door - Tür gesperrt - Puerta bloqueada - Porte Verrouillée - Porta bloccata - Дверь заблокирована - Porta Trancada - Zárt ajtó - Zablokowano drzwi - Zamčené dveře - - - Unlocked Door - Tür entsperrt - Puerta desbloqueada - Porte Déverrouillée - Porta sbloccata - Дверь разблокирована - Porta Destrancada - Nyitott ajtó - Odblokowano drzwi - Odemčené dveře - - - Join group - Gruppe beitreten - Unirse al grupo - Dołącz do grupy - Přidat se do skupiny - Rejoindre Groupe - Вступить в группу - Csatlakozás - Unir-se ao grupo - Unisciti alla squadra - - - Leave Group - Gruppe verlassen - Dejar grupo - Opuść grupę - Odejít ze skupiny - Quitter Groupe - Выйти из группы - Csoport elhagyása - Deixar grupo - Lascia la squadra - - - Become Leader - Grp.-führung übern. - Asumir el liderazgo - Przejmij dowodzenie - Stát se velitelem - Devenir Leader - Стать лидером - Vezetés átvétele - Tornar-se Líder - Prendi il comando - - - DANCE! - TANZEN! - BAILAR! - TAŃCZ! - TANČIT! - Danse! - ТАНЦЕВАТЬ! - TÁNC! - DANCE! - Balla! - - - Stop Dancing - Tanzen abbrechen - Dejar de bailar - Przestań tańczyć - Přestat tancovat - Arrêter de danser - Прекратить танцевать - Tánc abbahagyása - Parar de dançar - Smetti di ballare - - - << Back - << Zurück - << Atrás - << Wstecz - << Zpět - << Retour - << Назад - << Vissza - << Voltar - << Indietro - - - Gestures >> - Gesten >> - Gestos >> - Gesty >> - Gesta >> - Signaux >> - Жесты >> - Kézjelek >> - Gestos >> - Segnali gestuali >> - - - Attack - Angreifen - Atacar - Do ataku - Zaútočit - Attaquer - Атаковать - Támadás - Atacar - Attaccare - - - Advance - Vordringen - Avanzar - Naprzód - Postoupit - Avancer - Продвигаться - Előre - Avançar - Avanzare - - - Go - Los - Adelante - Szybko - Jít - Aller - Идти - Mozgás - Mover-se - Muoversi - - - Follow - Folgen - Seguirme - Za mną - Následovat - Suivre - Следовать - Utánam - Seguir - Seguire - - - Point - Zeigen - Señalar - Wskazać - Ukázat - Pointer - Точка - Mutat - Apontar - Puntare a - - - Up - Aufstehen - Arriba - Do góry - Vztyk - Debout - Вверх - Fel - Acima - Alzarsi - - - Cover - Deckung - Cubrirse - Do osłony - Krýt se - A couvert - Укрыться - Fedezékbe - Proteger-se - Copertura - - - Cease Fire - Feuer einstellen - Alto el fuego - Wstrzymać ogień - Zastavit palbu - Halte au feu - Прекратить огонь - Tüzet szüntess - Cessar Fogo - Cessare il Fuoco - - - Freeze - Keine Bewegung - Alto - Stać - Stát - Halte - Замереть - Állj - Alto - Fermi - - - Hi - Hallo - Hola - Witaj - Ahoj - Salut - Привет - Szeva - Olá - Ciao - - - Yes - Ja - Si - Tak - Ano - Oui - Да - Igen - Sim - Si - - - No - Nein - No - Nie - Ne - Non - Нет - Nem - Não - No - - - Put weapon on back - Waffe wegstecken - Arma a la espalda - Umieść broń na plecach - Dát zbraň na záda - Arme à la bretelle - Повесить оружие на спину - Fegyvert hátra - Colocar arma nas costas - Metti l'arma in spalla - - - Tap Shoulder - Auf Schulter klopfen - Tocar el hombro - Klepnij w ramię - Poklepat na rameno - Taper sur l'épaule - Похлопать по плечу - Vállveregetés - Tocar ombro - Dai un colpetto - - - You were tapped on the shoulder. - Dir wurde auf die Schulter geklopft - Te tocaron el hombro. - On te tape sur l'épaule. - Zostałeś klepnięty po ramieniu - Vállonveregettek - Někdo tě poklepal na rameno. - Вас похлопали по плечу - Você foi tocado no ombro. - Ti è stato dato un colpetto sulla spalla - - - Cancel - Abbrechen - Cancelar - Anuluj - Annuler - Zrušit - Annulla - Отменить - Cancelar - Mégse - - - Select - Wählen - Seleccionar - Wybierz - Sélectionner - Zvolit - Seleziona - Выбрать - Selecionar - Kiválaszt - - - Go Away! - Geh Weg! - Aléjate! - Odejdź! - Jděte pryč! - Allez-vous-en! - Уходите отсюда! - Tűnés! - Vá Embora! - Via di qui! - - - Get Down! - Auf Den Boden! - Al suelo! - Padnij! - K zemi! - A terre! - A földre! - Ложись! - Abaixe-se! - A Terra! - - - Team Management >> - Team Management >> - Gestión de equipo >> - Gestion d'équipe >> - Zarządzanie oddziałem >> - Správa týmu >> - Управление группой >> - Gerenciamento de Equipe >> - Organizzazione Squadra >> - Csapat kezelés >> - - - Red - Rot - Rojo - Rouge - Czerwony - Červený - Красный - Vermelha - Rosso - Piros - - - Green - Grün - Verde - Vert - Zielony - Zelený - Зеленый - Verde - Verde - Zöld - - - Blue - Blau - Azul - Bleu - Niebieski - Modrý - Синий - Azul - Blu - Kék - - - Yellow - Gelb - Amarillo - Jaune - Żółty - Žlutý - Желтый - Amarela - Giallo - Sárga - - - Join Team Red - Team Rot beitreten - Unirse al equipo rojo - Rejoindre Rouge - Dołącz do drużyny czerwonej - Připojit do Červeného Týmu - Присоединиться к красной группе - Unir-se à Equipe Vermelha - Entra nella Squadra Rossa - Csatlakozás a piros csapathoz - - - Join Team Green - Team Grün beitreten - Unirse al equipo verde - Rejoindre Verte - Dołącz do drużyny zielonej - Připojit do Zeleného Týmu - Присоединиться к зеленой группе - Unir-se à Equipe Verde - Entra nella Squadra Verde - Csatlakozás a zöld csapathoz - - - Join Team Blue - Team Blau beitreten - Unirse al equipo azul - Rejoindre Bleue - Dołącz do drużyny niebieskiej - Připojit do Modrého Týmu - Присоединиться к синей группе - Unir-se à Equipe Azul - Entra nella Squadra Blu - Csatlakozás a kék csapathoz - - - Join Team Yellow - Team Gelb beitreten - Unirse al equipo amarillo - Rejoindre Jaune - Dołącz do drużyny żółtej - Připojit do Žlutého Týmu - Присоединиться к желтой группе - Unir-se à Equipe Amarela - Entra nella Squadra Gialla - Csatlakozás a sárga csapathoz - - - You joined Team %1 - Du bist Team %1 beigetreten - Te has unido al equipo %1 - Tu as rejoint l'équipe %1 - Dołączyłeś do drużyny %1 - Připojil ses do Týmu %1 - Вы присоединились к группе %1 - Você uniu-se à Equipe %1 - Sei entrato nella Squadra %1 - Csatlakoztál a %1 csapathoz - - - Leave Team - Team verlassen - Dejar equipo - Quitter l'équipe - Opuść drużynę - Opustit tým - Покинуть группу - Deixar Equipe - Lascia la Squadra - Csapat elhagyása - - - You left the Team - Du hast das Team verlassen - Has dejado el equipo - Tu as quitté l'équipe - Opuściłeś drużynę - Opustil si tým - Вы покинули группу - Você deixou a Equipe - Hai lasciato la squadra - Elhagytad a csapatot - - - Pardon - Begnadigen - Perdonar - Przebacz - Pardon - Pardon - Извините - Perdão - Perdona - Megbocsátás - - - Flow Menu - Mausradmenü - Flow Menu - Menú desplegable - Menu Déroulant - Flow Menu - Выпадающее меню - Flow Menu - Menù a Scorrimento - Legördülő menü - - - Scroll - Scrollen - Przewiń - Défilement - Desplazar - Пролистать - Rolar - Scorri - Görgetés - Otáčení - - - Modifier Key - Modifikator - Modyfikator - Modifier la touche - Tecla modificadora - клавиша-модификатор - Tecla Modificadora - Modifica Tasto - Módosító billentyű - Modifikátor - - - Not in Range - Außer Reichweite - Hors de portée. - Fuera de rango - Слишком далеко - Fora do Alcançe - Hatótávolságon kívül - Poza zasięgiem - Mimo dosah - - - Close Menu on Key Release - Menü nach Loslassen schließen - Zamknij menu automatycznie - Fermer le menu en relâchant la touche - Cerrar menú al soltar la tecla - Menü bezárása a billentyű elengedésekor - Закрывать меню при отжатии клавиши - Menu interakce (Na držení) - - - Auto Center Cursor - Mauszeiger automatisch zentrieren - Auto-centrar cursor - Automatycznie centruj kursor - Vycentrování kurzoru - Egér auto-centrírozása - Автоцентрирование курсора - - - Equipment >> - Ausrüstung >> - Equipamiento >> - Équipment >> - Ekwipunek >> - Vybavení >> - Felszerelés >> - Снаряжение >> - - - Push - Schieben - Empujar - Pousser - Pchnij - Odstrčit - Tolás - Толкать - - - Interact - Interagiere - Interakce - Взаимодействовать - Interakcja - Interactuar - - - From feb988698ff485c7a08eb47a63aba5e06b8f70fc Mon Sep 17 00:00:00 2001 From: commy2 Date: Wed, 14 Jan 2015 01:24:05 +0100 Subject: [PATCH 46/50] fix auto putting mx sw on back --- addons/ai/CfgWeapons.hpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/addons/ai/CfgWeapons.hpp b/addons/ai/CfgWeapons.hpp index ff25e53c22..55b2ac55ea 100644 --- a/addons/ai/CfgWeapons.hpp +++ b/addons/ai/CfgWeapons.hpp @@ -114,7 +114,7 @@ class CfgWeapons { //class arifle_MX_F: arifle_MX_Base_F {}; //class arifle_MX_GL_F: arifle_MX_Base_F {}; - // MX machine gun + // MX sniper rifle class arifle_MXM_F: arifle_MX_Base_F { class Single: Single { minRange = 120; // 2; @@ -141,11 +141,13 @@ class CfgWeapons { }; }; - // MX sniper rifle + // MX machine gun class arifle_MX_SW_F: arifle_MX_Base_F { aiDispersionCoefY = 24.0; aiDispersionCoefX = 21.0; - modes[] += {"AGM_Burst_far"}; + // Shit is still broken + //modes[] += {"AGM_Burst_far"}; + modes[] = {"Single","manual","close","short","medium","far_optic1","far_optic2","AGM_Burst_far"}; class Single: Mode_SemiAuto { minRange = 120; // 2; From fa4a591fbe8607a243e29c9490bef079a447f79f Mon Sep 17 00:00:00 2001 From: commy2 Date: Wed, 14 Jan 2015 01:40:11 +0100 Subject: [PATCH 47/50] add some missing pboprefix --- addons/aircraft/$PBOPREFIX$ | 1 + extras/blank/$PBOPREFIX$ | 1 + 2 files changed, 2 insertions(+) create mode 100644 addons/aircraft/$PBOPREFIX$ create mode 100644 extras/blank/$PBOPREFIX$ diff --git a/addons/aircraft/$PBOPREFIX$ b/addons/aircraft/$PBOPREFIX$ new file mode 100644 index 0000000000..5a190161aa --- /dev/null +++ b/addons/aircraft/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\aircraft \ No newline at end of file diff --git a/extras/blank/$PBOPREFIX$ b/extras/blank/$PBOPREFIX$ new file mode 100644 index 0000000000..39789fcaba --- /dev/null +++ b/extras/blank/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\blank \ No newline at end of file From db4f88261d76f586e00046103647eeac1fbee730 Mon Sep 17 00:00:00 2001 From: jaynus Date: Tue, 13 Jan 2015 16:47:23 -0800 Subject: [PATCH 48/50] nametags fixed. --- addons/nametags/$PBOPREFIX$ | 1 + addons/nametags/CfgEventHandlers.hpp | 2 +- addons/nametags/XEH_postInit.sqf | 1 - addons/nametags/XEH_preInit.sqf | 1 + addons/nametags/functions/fnc_setText.sqf | 6 ++++-- addons/nametags/script_component.hpp | 8 ++++---- 6 files changed, 11 insertions(+), 8 deletions(-) create mode 100644 addons/nametags/$PBOPREFIX$ diff --git a/addons/nametags/$PBOPREFIX$ b/addons/nametags/$PBOPREFIX$ new file mode 100644 index 0000000000..d0e4754193 --- /dev/null +++ b/addons/nametags/$PBOPREFIX$ @@ -0,0 +1 @@ +z\ace\addons\nametags \ No newline at end of file diff --git a/addons/nametags/CfgEventHandlers.hpp b/addons/nametags/CfgEventHandlers.hpp index 8d2422059a..e75956f440 100644 --- a/addons/nametags/CfgEventHandlers.hpp +++ b/addons/nametags/CfgEventHandlers.hpp @@ -6,6 +6,6 @@ class Extended_PreInit_EventHandlers { class Extended_PostInit_EventHandlers { class ADDON { - postInit = QUOTE(call COMPILE_FILE(XEH_postInit)); + init = QUOTE(call COMPILE_FILE(XEH_postInit)); }; }; diff --git a/addons/nametags/XEH_postInit.sqf b/addons/nametags/XEH_postInit.sqf index b512e8b133..a7c084a73e 100644 --- a/addons/nametags/XEH_postInit.sqf +++ b/addons/nametags/XEH_postInit.sqf @@ -1,7 +1,6 @@ #include "script_component.hpp" // by commy2 and CAA-Picard - if (!hasInterface) exitWith {}; GVAR(ShowNamesTime) = -10; diff --git a/addons/nametags/XEH_preInit.sqf b/addons/nametags/XEH_preInit.sqf index 440aa2231d..940135dd47 100644 --- a/addons/nametags/XEH_preInit.sqf +++ b/addons/nametags/XEH_preInit.sqf @@ -1,5 +1,6 @@ #include "script_component.hpp" + PREP(canShow); PREP(doShow); PREP(drawNameTagIcon); diff --git a/addons/nametags/functions/fnc_setText.sqf b/addons/nametags/functions/fnc_setText.sqf index 1c740f76b0..e7d1b748b1 100644 --- a/addons/nametags/functions/fnc_setText.sqf +++ b/addons/nametags/functions/fnc_setText.sqf @@ -11,13 +11,15 @@ Nothing */ -#define GVAR(TextIDC) 11123 +#include "script_component.hpp" + +#define TextIDC 11123 private["_text", "_ctrl"]; disableSerialization; _text = _this select 0; -_ctrl = (uiNamespace getVariable QGVAR(dialog)) displayCtrl GVAR(TextIDC); +_ctrl = (uiNamespace getVariable QGVAR(dialog)) displayCtrl TextIDC; _ctrl ctrlSetStructuredText parseText _text; _ctrl ctrlCommit 0; diff --git a/addons/nametags/script_component.hpp b/addons/nametags/script_component.hpp index 5def4b85b4..6cffb95618 100644 --- a/addons/nametags/script_component.hpp +++ b/addons/nametags/script_component.hpp @@ -1,12 +1,12 @@ -#define COMPONENT NameTags +#define COMPONENT nametags #include "\z\ace\addons\main\script_mod.hpp" -#ifdef DEBUG_ENABLED_NameTags +#ifdef DEBUG_ENABLED_NAMETAGS #define DEBUG_MODE_FULL #endif -#ifdef DEBUG_SETTINGS_NameTags - #define DEBUG_SETTINGS DEBUG_SETTINGS_NameTags +#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 From 6966700a06f431014966bf1800f5cd5bffe24a7c Mon Sep 17 00:00:00 2001 From: jaynus Date: Tue, 13 Jan 2015 17:21:14 -0800 Subject: [PATCH 49/50] Remove jav debug --- addons/wep_javelin/functions/fnc_fired.sqf | 2 +- addons/wep_javelin/functions/fnc_onGetLockedTarget.sqf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/wep_javelin/functions/fnc_fired.sqf b/addons/wep_javelin/functions/fnc_fired.sqf index d7f85691b2..df4f45e17e 100644 --- a/addons/wep_javelin/functions/fnc_fired.sqf +++ b/addons/wep_javelin/functions/fnc_fired.sqf @@ -1,4 +1,4 @@ -#define DEBUG_MODE_FULL +//#define DEBUG_MODE_FULL #include "script_component.hpp" //_this=[TEST_AI_HELICOPTER,"missiles_DAGR","missiles_DAGR","Far_AI","M_PG_AT","24Rnd_PG_missiles",163988: rocket_01_fly_f.p3d] TRACE_1("enter", _this); diff --git a/addons/wep_javelin/functions/fnc_onGetLockedTarget.sqf b/addons/wep_javelin/functions/fnc_onGetLockedTarget.sqf index cd8609c7c8..3cc5d685c2 100644 --- a/addons/wep_javelin/functions/fnc_onGetLockedTarget.sqf +++ b/addons/wep_javelin/functions/fnc_onGetLockedTarget.sqf @@ -1,4 +1,4 @@ -#define DEBUG_MODE_FULL +//#define DEBUG_MODE_FULL #include "script_component.hpp" // Store the current cursor target for guidance From d0f56f44ab1186232a3aa6f259ce5d044cc0a230 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=A1s=20Badano?= Date: Tue, 13 Jan 2015 22:26:55 -0300 Subject: [PATCH 50/50] overheating: final fixes --- addons/overheating/CfgVehicles.hpp | 2 +- addons/overheating/functions/fnc_swapBarrelCallback.sqf | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/addons/overheating/CfgVehicles.hpp b/addons/overheating/CfgVehicles.hpp index 6ab439f94f..2c96bec24d 100644 --- a/addons/overheating/CfgVehicles.hpp +++ b/addons/overheating/CfgVehicles.hpp @@ -12,7 +12,7 @@ class CfgVehicles { class ACE_SwapBarrel { displayName = "$STR_ACE_Overheating_SwapBarrel"; condition = QUOTE( 'ACE_SpareBarrel' in items _player && {getNumber (configFile >> 'CfgWeapons' >> currentWeapon _player >> 'ACE_Overheating_allowSwapBarrel') == 1} ); - statement = QUOTE( [_player, currentWeapon _player] call FUNC(swapBarrel); ); + statement = QUOTE( [ARR_2(_player, currentWeapon _player)] call FUNC(swapBarrel); ); showDisabled = 0; priority = 3; icon = QUOTE(PATHTOF(UI\spare_barrel_ca.paa)); diff --git a/addons/overheating/functions/fnc_swapBarrelCallback.sqf b/addons/overheating/functions/fnc_swapBarrelCallback.sqf index 62e9a41263..cef11852f5 100644 --- a/addons/overheating/functions/fnc_swapBarrelCallback.sqf +++ b/addons/overheating/functions/fnc_swapBarrelCallback.sqf @@ -7,6 +7,6 @@ _player = _this select 0; _weapon = _this select 1; // don't consume the barrel, but rotate through them. -[localize "STR_ACE_Overheating_SwappedBarrel", QUOTE(PATHOF(UI\spare_barrel_ca.paa))] call EFUNC(common,displayTextPicture); +[localize "STR_ACE_Overheating_SwappedBarrel", QUOTE(PATHTOF(UI\spare_barrel_ca.paa))] call EFUNC(common,displayTextPicture); _player setVariable [format [QGVAR(%1), _weapon], [0, 0], false];