Merge branch 'master' into agmOverheatingPort

This commit is contained in:
Nicolás Badano 2015-01-13 20:20:56 -03:00
commit 67ca93a5f8
346 changed files with 2616 additions and 2515 deletions

View File

@ -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
};
};
};
};

View File

@ -1,3 +0,0 @@
AGM_FCSEnabled = true;
AGM_FCSTime = -1;
AGM_FCSPosition = [0,0,0];

View File

@ -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 <Optics.hpp>

View File

@ -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"}

View File

@ -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

View File

@ -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;

View File

@ -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) );
};
};

View File

@ -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[] = {};
};
};
};

View File

@ -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
};
};
};

View File

@ -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);

View File

@ -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"

Binary file not shown.

View File

@ -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);

View File

@ -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];
};
};

View File

@ -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;

View File

@ -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];

View File

@ -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];
};

View File

@ -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"

View File

@ -1,43 +0,0 @@
<?xml version="1.0" encoding="utf-8" ?>
<Project name="ACE3">
<Package name="nametags">
<Container ID="Module">
<Key ID="STR_ACE_NameTags_Title">
<Original>Name Tags [ACE]</Original>
</Key>
<Key ID="STR_ACE_NameTags_Arg_enable">
<Original>Enable Name Tags</Original>
</Key>
<Key ID="STR_ACE_NameTags_Arg_enable_Desc">
<Original>Enable the name tags</Original>
</Key>
<Key ID="STR_ACE_NameTags_Arg_indirectDistance">
<Original>Indirect Distance</Original>
</Key>
<Key ID="STR_ACE_NameTags_Arg_indirectDistance_Desc">
<Original>Distance for indirect Tags</Original>
</Key>
<Key ID="STR_ACE_NameTags_Arg_directDistance">
<Original>Target Distance</Original>
</Key>
<Key ID="STR_ACE_NameTags_Arg_directDistance_Desc">
<Original>Distance for the direct Tag (Cursortarget)</Original>
</Key>
<Key ID="STR_ACE_NameTags_Arg_soundWaves">
<Original>Enable Soundwaves</Original>
</Key>
<Key ID="STR_ACE_NameTags_Arg_soundWaves_Desc">
<Original>Enable Soundwaves when a player is speaking</Original>
</Key>
<Key ID="STR_ACE_NameTags_Arg_differentSides">
<Original>Allow Different sides</Original>
</Key>
<Key ID="STR_ACE_NameTags_Arg_differentSides_Desc">
<Original>Allow name tags for all friendly sides, instead of only player side</Original>
</Key>
<Key ID="STR_ACE_NameTags_ModuleDesc">
<Original>Adjust the name tags settings.</Original>
</Key>
</Container>
</Package>
</Project>

View File

@ -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) );
};
};

View File

@ -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;
};
};

View File

@ -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)
};
};
};

View File

@ -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;
};
};
};

View File

@ -1,7 +1,8 @@
#include "script_component.hpp"
PREPF(attach);
PREPF(canAttach);
PREPF(canDetach);
PREPF(detach);
PREPF(openAttachUI);
PREP(attach);
PREP(canAttach);
PREP(canDetach);
PREP(detach);
PREP(detachDelayFix);
PREP(openAttachUI);

View File

@ -3,9 +3,9 @@
class CfgPatches {
class ADDON {
units[] = {};
weapons[] = {"AGM_IR_Strobe_Item"};
weapons[] = {"ACE_IR_Strobe_Item"};
requiredVersion = 0.60;
requiredAddons[] = {AGM_Core, AGM_Interaction};
requiredAddons[] = {"ace_common", "ace_interaction"};
version = "0.95";
versionStr = "0.95";
versionAr[] = {0,95,0};
@ -16,150 +16,8 @@ class CfgPatches {
#include "CfgEventHandlers.hpp"
/*
class CfgFunctions {
class ADDON {
class ADDON {
file = PATHTOF(functions);
class attach;
class canAttach;
class canDetach;
class detach;
class openAttachUI;
};
};
};
*/
#include "CfgVehicles.hpp"
#define MACRO_ADDITEM(ITEM,COUNT) class _xx_##ITEM { \
name = #ITEM; \
count = COUNT; \
};
#include "CfgWeapons.hpp"
class CfgVehicles {
class Man;
class CAManBase: Man {
class AGM_SelfActions {
class AGM_Equipment {
class GVAR(Attach) {
displayName = "$STR_AGM_Attach_AttachDetach";
condition = QUOTE( [_player, ''] call FUNC(canAttach) );
statement = QUOTE( [_player] call FUNC(openAttachUI); );
exceptions[] = {"AGM_Drag_isNotDragging"};
showDisabled = 0;
priority = 5;
icon = PATHTOF(UI\attach_ca.paa);
hotkey = "T";
};
class GVAR(Detach) {
displayName = "$STR_AGM_Attach_Detach";
condition = QUOTE( [_player] call FUNC(canDetach) );
statement = QUOTE( [_player] call FUNC(detach) );
exceptions[] = {"AGM_Drag_isNotDragging"};
showDisabled = 0;
priority = 5;
icon = PATHTOF(UI\detach_ca.paa);
hotkey = "T";
};
};
};
};
class All;
class AGM_IR_Strobe_Effect: All {
scope = 1;
displayName = "IR Strobe";
model = "\A3\Weapons_F\empty.p3d";
simulation = "nvmarker";
class NVGMarker {
diffuse[] = {0,0,0};
ambient[] = {0,0,0};
brightness = 0.004;
name = "pozicni blik";
drawLight = 1;
drawLightSize = 0.005;
drawLightCenterSize = 0.003;
activeLight = 0;
blinking=1;
dayLight = 0;
onlyInNvg = 1;
useFlare = 0;
};
side = 7;//-1=NO_SIDE yellow box,3=CIV grey box,4=NEUTRAL yellow box,6=FRIENDLY green box,7=LOGIC no radar signature
accuracy = 1000;
cost = 0;
armor = 500;
threat[] = {0,0,0};
nameSound = "";
type = 0;
weapons[] = {};
magazines[] = {};
nvTarget = 1;
destrType = "DestructNo";
brightness = 20;
};
class NATO_Box_Base;
class EAST_Box_Base;
class IND_Box_Base;
class FIA_Box_Base_F;
class Box_NATO_Support_F: NATO_Box_Base {
class TransportItems {
MACRO_ADDITEM(AGM_IR_Strobe_Item,12)
};
};
class Box_East_Support_F: EAST_Box_Base {
class TransportItems {
MACRO_ADDITEM(AGM_IR_Strobe_Item,12)
};
};
class Box_IND_Support_F: IND_Box_Base {
class TransportItems {
MACRO_ADDITEM(AGM_IR_Strobe_Item,12)
};
};
class Box_FIA_Support_F: FIA_Box_Base_F {
class TransportItems {
MACRO_ADDITEM(AGM_IR_Strobe_Item,12)
};
};
class AGM_Box_Misc: Box_NATO_Support_F {
class TransportItems {
MACRO_ADDITEM(AGM_IR_Strobe_Item,12)
};
};
};
class CfgWeapons {
class AGM_ItemCore;
class InventoryItem_Base_F;
class AGM_IR_Strobe_Item: AGM_ItemCore {
displayName = "$STR_AGM_IrStrobe_Name";
descriptionShort = "$STR_AGM_IrStrobe_Description";
model = "\A3\weapons_F\ammo\mag_univ.p3d";
picture = PATHTOF(UI\irstrobe_item.paa);
scope = 2;
AGM_attachable = 1;
class ItemInfo: InventoryItem_Base_F {
mass = 1;
};
};
};
class CfgMagazines {
class CA_Magazine;
class B_IR_Grenade: CA_Magazine {
AGM_Attachable = 1;
};
class SmokeShell;
class Chemlight_green: SmokeShell {
AGM_Attachable = 1;
};
};
#include "CfgMagazines.hpp"

View File

@ -26,30 +26,30 @@ if !((_itemName in items _unit) or (_itemName in magazines _unit)) exitWith {};
// Attach item
switch true do {
case (_itemName == "AGM_IR_Strobe_Item") : {
_attachedItem = "AGM_IR_Strobe_Effect" createVehicle [0,0,0];
case (_itemName == "ACE_IR_Strobe_Item") : {
_attachedItem = "ACE_IR_Strobe_Effect" createVehicle [0,0,0];
_attachedItem attachTo [_unit,[0,-0.11,0.16],"pilot"];//makes it attach to the head a bit better, shoulder is not good for visibility - eRazeri
[localize "STR_AGM_Attach_IrStrobe_Attached"] call EFUNC(core,displayTextStructured);
[localize "STR_ACE_Attach_IrStrobe_Attached"] call EFUNC(common,displayTextStructured);
};
case (_itemName == "B_IR_Grenade") : {
_attachedItem = "B_IRStrobe" createVehicle [0,0,0];
_attachedItem attachTo [_unit,[-0.05,0,0.12],"rightshoulder"];
[localize "STR_AGM_Attach_IrGrenade_Attached"] call EFUNC(core,displayTextStructured);
[localize "STR_ACE_Attach_IrGrenade_Attached"] call EFUNC(common,displayTextStructured);
};
case (_itemName == "O_IR_Grenade") : {
_attachedItem = "O_IRStrobe" createVehicle [0,0,0];
_attachedItem attachTo [_unit,[-0.05,0,0.12],"rightshoulder"];
[localize "STR_AGM_Attach_IrGrenade_Attached"] call EFUNC(core,displayTextStructured);
[localize "STR_ACE_Attach_IrGrenade_Attached"] call EFUNC(common,displayTextStructured);
};
case (_itemName == "I_IR_Grenade") : {
_attachedItem = "I_IRStrobe" createVehicle [0,0,0];
_attachedItem attachTo [_unit,[-0.05,0,0.12],"rightshoulder"];
[localize "STR_AGM_Attach_IrGrenade_Attached"] call EFUNC(core,displayTextStructured);
[localize "STR_ACE_Attach_IrGrenade_Attached"] call EFUNC(common,displayTextStructured);
};
case (_itemName == "Chemlight_blue" or {_itemName == "Chemlight_green"} or {_itemName == "Chemlight_red"} or {_itemName == "Chemlight_yellow"}) : {
_attachedItem = _itemName createVehicle [0,0,0];
_attachedItem attachTo [_unit,[-0.05,0,0.12],"rightshoulder"];
[localize "STR_AGM_Attach_Chemlight_Attached"] call EFUNC(core,displayTextStructured);;
[localize "STR_ACE_Attach_Chemlight_Attached"] call EFUNC(common,displayTextStructured);;
};
default {
if (true) exitWith {};

View File

@ -16,6 +16,7 @@ private ["_unit", "_itemName", "_count", "_attachedItem"];
_unit = _this select 0;
_itemName = _unit getVariable [QGVAR(ItemName), ""];
_attachedItem = _unit getVariable [QGVAR(Item), objNull];
// Check if unit has an attached item
if (_itemName == "") exitWith {};
@ -24,24 +25,18 @@ if (_itemName == "") exitWith {};
_count = (count items _unit) + (count magazines _unit);
_unit addItem _itemName;
if ((count items _unit) + (count magazines _unit) <= _count) exitWith {
[localize "STR_AGM_Attach_Inventory_Full"] call EFUNC(core,displayTextStructured);
[localize "STR_ACE_Attach_Inventory_Full"] call EFUNC(common,displayTextStructured);
};
if (_itemName == "B_IR_Grenade" or _itemName == "O_IR_Grenade" or _itemName == "I_IR_Grenade") then {
// Hack for dealing with X_IR_Grenade effect not dissapearing on deleteVehicle
[_unit getVariable QGVAR(Item), _unit] spawn {
_attachedItem = _this select 0;
_unit = _this select 1;
detach _attachedItem;
_attachedItem setPos [getPos _unit select 0, getPos _unit select 1, (getPos _unit select 2) -1000];
sleep 0.5;
deleteVehicle _attachedItem;
};
}
else
{
detach _attachedItem;
_attachedItem setPos [getPos _unit select 0, getPos _unit select 1, ((getPos _unit select 2) - 1000)];
// Delete attached item after 0.5 seconds
[FUNC(detachFix), 0.5, [_attachedItem, (time + 0.5)]] call CBA_fnc_addPerFrameHandler;
} else {
// Delete attached item
deleteVehicle (_unit getVariable QGVAR(Item));
deleteVehicle _attachedItem;
};
// Reset unit variables
@ -50,14 +45,14 @@ _unit setVariable [QGVAR(Item),nil, true];
// Display message
switch true do {
case (_itemName == "AGM_IR_Strobe_Item") : {
[localize "STR_AGM_Attach_IrStrobe_Detached"] call EFUNC(core,displayTextStructured);
case (_itemName == "ACE_IR_Strobe_Item") : {
[localize "STR_ACE_Attach_IrStrobe_Detached"] call EFUNC(common,displayTextStructured);
};
case (_itemName == "B_IR_Grenade" or _itemName == "O_IR_Grenade" or _itemName == "I_IR_Grenade") : {
[localize "STR_AGM_Attach_IrGrenade_Detached"] call EFUNC(core,displayTextStructured);
[localize "STR_ACE_Attach_IrGrenade_Detached"] call EFUNC(common,displayTextStructured);
};
case (_itemName == "Chemlight_blue" or {_itemName == "Chemlight_green"} or {_itemName == "Chemlight_red"} or {_itemName == "Chemlight_yellow"}) : {
[localize "STR_AGM_Attach_Chemlight_Detached"] call EFUNC(core,displayTextStructured);
[localize "STR_ACE_Attach_Chemlight_Detached"] call EFUNC(common,displayTextStructured);
};
default {
if (true) exitWith {};

View File

@ -0,0 +1,20 @@
/*
Author: Pabst Mirror
Description:
Waits then deletes the object. Fixes IR_Grenade's effect not disapearing.
Parameters:
0: ARRAY - [OBJECT - item, NUMBER - time to wait until]
1: NUMBER - CBA's PerFrameHandler ID
*/
_attachedItem = (_this select 0) select 0;
_waitUntilTime = (_this select 0) select 1;
if (time < _waitUntilTime) exitWith {};
deleteVehicle _attachedItem;
//Remove the frame handler
[(_this select 1)] call cba_fnc_removePerFrameHandler;

View File

@ -1,8 +1,6 @@
#include "script_component.hpp"
/*
Name: AGM_Attach_fnc_openAttachUI
Author: Garth de Wet (LH)
Description:
@ -15,17 +13,17 @@
Nothing
Example:
[player] call AGM_Attach_fnc_openAttachUI;
[player] call ACE_Attach_fnc_openAttachUI;
*/
private ["_unit", "_actions", "_attachables", "_item"];
_unit = _this select 0;
_listed = [];
_attachables = magazines _unit;
_actions = [localize "STR_AGM_Attach_AttachDetach", localize "STR_AGM_Attach_Attach"] call EFUNC(interaction,prepareSelectMenu);
_actions = [localize "STR_ACE_Attach_AttachDetach", localize "STR_ACE_Attach_Attach"] call EFUNC(interaction,prepareSelectMenu);
{
if !(_x in _listed) then {
_item = ConfigFile >> "CfgMagazines" >> _x;
if (getNumber (_item >> "AGM_Attachable") == 1) then {
if (getNumber (_item >> "ACE_Attachable") == 1) then {
_actions = [
_actions,
getText(_item >> "displayName"),
@ -40,7 +38,7 @@ _attachables = items _unit;
{
if !(_x in _listed) then {
_item = ConfigFile >> "CfgWeapons" >> _x;
if (getNumber (_item >> "AGM_Attachable") == 1) then {
if (getNumber (_item >> "ACE_Attachable") == 1) then {
_actions = [
_actions,
getText(_item >> "displayName"),
@ -55,11 +53,11 @@ _attachables = items _unit;
[
_actions,
{
[AGM_player, _this] call FUNC(attach);
[ACE_player, _this] call FUNC(attach);
call EFUNC(interaction,hideMenu);
},
{
call EFUNC(interaction,hideMenu);
if !(profileNamespace getVariable [EQGVAR(interaction,AutoCloseMenu), false]) then {"Default" call EFUNC(interaction,openMenuSelf)};
if !(profileNamespace getVariable [QEGVAR(interaction,AutoCloseMenu), false]) then {"Default" call EFUNC(interaction,openMenuSelf)};
}
] call EFUNC(interaction,openSelectMenu);

View File

@ -0,0 +1 @@
#include "\z\ace\addons\attach\script_component.hpp"

View File

@ -1,8 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Edited with tabler - 2014-12-12 -->
<Project name="AGM">
<Project name="ACE">
<Package name="Attach">
<Key ID="STR_AGM_Attach_AttachDetach">
<Key ID="STR_ACE_Attach_AttachDetach">
<English>Attach item &gt;&gt;</English>
<German>Gegenstand befestigen &gt;&gt;</German>
<Spanish>Acoplar objeto &gt;&gt;</Spanish>
@ -14,7 +14,7 @@
<Hungarian>Tárgy hozzácsatolása &gt;&gt;</Hungarian>
<Russian>Добавить приспособления</Russian>
</Key>
<Key ID="STR_AGM_Attach_Attach">
<Key ID="STR_ACE_Attach_Attach">
<English>Attach</English>
<German>Befestigen</German>
<Spanish>Acoplar</Spanish>
@ -26,7 +26,7 @@
<Hungarian>Hozzácsatolás</Hungarian>
<Russian>Присоединить</Russian>
</Key>
<Key ID="STR_AGM_Attach_Detach">
<Key ID="STR_ACE_Attach_Detach">
<English>Detach item</English>
<German>Gegenstand entfernen</German>
<Spanish>Quitar objeto</Spanish>
@ -38,7 +38,7 @@
<Hungarian>Tárgy lecsatolása</Hungarian>
<Russian>Отсоединить</Russian>
</Key>
<Key ID="STR_AGM_Attach_IrStrobe_Attached">
<Key ID="STR_ACE_Attach_IrStrobe_Attached">
<English>IR Strobe Attached</English>
<German>IR-Stroboskop befestigt</German>
<Spanish>Marcador IR acoplado</Spanish>
@ -50,7 +50,7 @@
<Hungarian>Infravörös jeladó hozzácsatolva</Hungarian>
<Russian>ИК строб присоединён</Russian>
</Key>
<Key ID="STR_AGM_Attach_IrStrobe_Detached">
<Key ID="STR_ACE_Attach_IrStrobe_Detached">
<English>IR Strobe Detached</English>
<German>IR-Stroboskop entfernt</German>
<Spanish>Marcador IR quitado</Spanish>
@ -62,7 +62,7 @@
<Hungarian>Infravörös jeladó lecsatolva</Hungarian>
<Russian>ИК строб отсоединён</Russian>
</Key>
<Key ID="STR_AGM_Attach_IrGrenade_Attached">
<Key ID="STR_ACE_Attach_IrGrenade_Attached">
<English>IR Grenade Attached</English>
<German>IR-Granate befestigt</German>
<Spanish>Granada IR acoplada</Spanish>
@ -74,7 +74,7 @@
<Hungarian>Infravörös gránát hozzácsatolva</Hungarian>
<Russian>ИК граната присоединена</Russian>
</Key>
<Key ID="STR_AGM_Attach_IrGrenade_Detached">
<Key ID="STR_ACE_Attach_IrGrenade_Detached">
<English>IR Grenade Detached</English>
<German>IR-Granate entfernt</German>
<Spanish>Granada IR quitada</Spanish>
@ -86,7 +86,7 @@
<Hungarian>Infravörös gránát lecsatolva</Hungarian>
<Russian>ИК граната отсоединена</Russian>
</Key>
<Key ID="STR_AGM_Attach_Chemlight_Attached">
<Key ID="STR_ACE_Attach_Chemlight_Attached">
<English>Chemlight Attached</English>
<German>Leuchtstab befestigt</German>
<Spanish>Barra de luz acoplada</Spanish>
@ -98,7 +98,7 @@
<Hungarian>Chemlight hozzácsatolva</Hungarian>
<Russian>Химсвет присоединён</Russian>
</Key>
<Key ID="STR_AGM_Attach_Chemlight_Detached">
<Key ID="STR_ACE_Attach_Chemlight_Detached">
<English>Chemlight Detached</English>
<German>Leuchtstab entfernt</German>
<Spanish>Barra de luz quitada</Spanish>
@ -110,7 +110,7 @@
<Hungarian>Chemlight hozzácsatolva</Hungarian>
<Russian>Химсвет отсоединён</Russian>
</Key>
<Key ID="STR_AGM_Attach_Inventory_Full">
<Key ID="STR_ACE_Attach_Inventory_Full">
<English>No inventory space</English>
<German>Kein Platz im Inventar</German>
<Spanish>Sin espacio en inventario</Spanish>
@ -122,7 +122,7 @@
<Hungarian>Nincs több hely</Hungarian>
<Russian>В инвентаре нет места</Russian>
</Key>
<Key ID="STR_AGM_IrStrobe_Name">
<Key ID="STR_ACE_IrStrobe_Name">
<English>IR Strobe</English>
<German>IR-Stroboskop</German>
<Spanish>Marcador IR</Spanish>
@ -134,7 +134,7 @@
<Hungarian>Infravörös jeladó</Hungarian>
<Russian>ИК строб</Russian>
</Key>
<Key ID="STR_AGM_IrStrobe_Description">
<Key ID="STR_ACE_IrStrobe_Description">
<English>IR Strobe allows you to signal your position through a pulsating beacon only visible with NVGs.</English>
<German>Das IR-Stroboskop erlaubt es dir deine Position mit einem blinkenden Leuchtfeuer zu signalisieren, welches nur mit Nachtsichtgerät zu erkennen ist.</German>
<Polish>Stroboskop światła podczerwieni umożliwia oznaczenie swojej pozycji pulsacyjnym światłem widocznym tylko przez optykę noktowizyjną i gogle noktowizyjne.</Polish>

View File

@ -15,8 +15,8 @@ class CfgVehicles {
showIn3D = 0;
onlyForPlayer = 1;
shortcut = "DefaultAction";
condition = "call ACE_Common_UserActionFireCondition";
statement = "call ACE_Common_UserActionFire";
condition = QUOTE(call GVAR(UserActionFireCondition));
statement = QUOTE(call GVAR(UserActionFire));
userActionID = 100;
};
};
@ -30,10 +30,10 @@ class CfgVehicles {
author = "$STR_ACE_Common_ACETeam";
category = "ACE";
displayName = "Check PBOs";
function = "ACE_Common_fnc_moduleCheckPBOs";
function = QFUNC(moduleCheckPBOs);
scope = 2;
isGlobal = 1;
icon = PATHTOF(UI\IconCheckPBO_ca.paa);
icon = QUOTE(PATHTOF(UI\IconCheckPBO_ca.paa));
class Arguments {
class Action {
displayName = "Action";

View File

@ -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)";

View File

@ -3,7 +3,7 @@
#define VSPACE 0.3
#define BORDER 0.1
class ACE_Common_Interactive_Button_Base {
class GVAR(Interactive_Button_Base) {
tooltip = "";
action = "";
@ -46,7 +46,7 @@ class ACE_Common_Interactive_Button_Base {
#define VSPACE2 0.05
#define BORDER 0.1
class ACE_Common_Text_Button_Base {
class GVAR(Text_Button_Base) {
idc = 2;
moving = 0;
text = "";
@ -65,10 +65,10 @@ class ACE_Common_Text_Button_Base {
h = 0;
};
class ACE_Common_OptionsMenu_Dialog {
class GVAR(OptionsMenu_Dialog) {
idd = -1;
movingEnable = true;
onLoad = "_dlgMenuDialog = _this select 0; for '_a' from 20 to 32 do {(_dlgMenuDialog displayCtrl _a) ctrlShow false}; for '_a' from 100 to 119 do {(_dlgMenuDialog displayCtrl _a) ctrlShow false}; for '_a' from 200 to 219 do {(_dlgMenuDialog displayCtrl _a) ctrlShow false}; for '_a' from 300 to 319 do {(_dlgMenuDialog displayCtrl _a) ctrlShow false}; for '_a' from 400 to 419 do {(_dlgMenuDialog displayCtrl _a) ctrlShow false}; for '_a' from 500 to 519 do {(_dlgMenuDialog displayCtrl _a) ctrlShow false}; uiNamespace setVariable ['ACE_Common_MenuDialog', _dlgMenuDialog];";
onLoad = QUOTE(_dlgMenuDialog = _this select 0; for '_a' from 20 to 32 do {(_dlgMenuDialog displayCtrl _a) ctrlShow false}; for '_a' from 100 to 119 do {(_dlgMenuDialog displayCtrl _a) ctrlShow false}; for '_a' from 200 to 219 do {(_dlgMenuDialog displayCtrl _a) ctrlShow false}; for '_a' from 300 to 319 do {(_dlgMenuDialog displayCtrl _a) ctrlShow false}; for '_a' from 400 to 419 do {(_dlgMenuDialog displayCtrl _a) ctrlShow false}; for '_a' from 500 to 519 do {(_dlgMenuDialog displayCtrl _a) ctrlShow false}; uiNamespace setVariable [ARR_2(QUOTE(QGVAR(MenuDialog)),_dlgMenuDialog)];);
objects[] = {};
class controlsBackground {
@ -112,7 +112,7 @@ class ACE_Common_OptionsMenu_Dialog {
h = 0.3 / 9 * safezoneH;
};
class ACE_Logo : ACE_Common_Interactive_Button_Base {
class ACE_Logo: GVAR(Interactive_Button_Base) {
action = "closeDialog 0;";
type = 0;
style = 48;
@ -128,7 +128,7 @@ class ACE_Common_OptionsMenu_Dialog {
};
class controls {
class Text_Button0 : ACE_Common_Text_Button_Base {
class Text_Button0: GVAR(Text_Button_Base) {
idc = 100;
style = 0 + 0x800;
x = (HSPACE2 + 0 * 0.1) * safezoneW + safezoneX;
@ -137,105 +137,105 @@ class ACE_Common_OptionsMenu_Dialog {
h = 0.3 / 9 * safezoneH;
};
class Text_Button1 : Text_Button0 {
class Text_Button1: Text_Button0 {
idc = 101;
y = (VSPACE2 + 3 * 0.04) * safezoneH + safezoneY;
};
class Text_Button2 : Text_Button0 {
class Text_Button2: Text_Button0 {
idc = 102;
y = (VSPACE2 + 4 * 0.04) * safezoneH + safezoneY;
};
class Text_Button3 : Text_Button0 {
class Text_Button3: Text_Button0 {
idc = 103;
y = (VSPACE2 + 5 * 0.04) * safezoneH + safezoneY;
};
class Text_Button4 : Text_Button0 {
class Text_Button4: Text_Button0 {
idc = 104;
y = (VSPACE2 + 6 * 0.04) * safezoneH + safezoneY;
};
class Text_Button5 : Text_Button0 {
class Text_Button5: Text_Button0 {
idc = 105;
y = (VSPACE2 + 7 * 0.04) * safezoneH + safezoneY;
};
class Text_Button6 : Text_Button0 {
class Text_Button6: Text_Button0 {
idc = 106;
y = (VSPACE2 + 8 * 0.04) * safezoneH + safezoneY;
};
class Text_Button7 : Text_Button0 {
class Text_Button7: Text_Button0 {
idc = 107;
y = (VSPACE2 + 9 * 0.04) * safezoneH + safezoneY;
};
class Text_Button8 : Text_Button0 {
class Text_Button8: Text_Button0 {
idc = 108;
y = (VSPACE2 + 10 * 0.04) * safezoneH + safezoneY;
};
class Text_Button9 : Text_Button0 {
class Text_Button9: Text_Button0 {
idc = 109;
y = (VSPACE2 + 11 * 0.04) * safezoneH + safezoneY;
};
class Text_Button10 : Text_Button0 {
class Text_Button10: Text_Button0 {
idc = 110;
y = (VSPACE2 + 12 * 0.04) * safezoneH + safezoneY;
};
class Text_Button11 : Text_Button0 {
class Text_Button11: Text_Button0 {
idc = 111;
y = (VSPACE2 + 13 * 0.04) * safezoneH + safezoneY;
};
class Text_Button12 : Text_Button0 {
class Text_Button12: Text_Button0 {
idc = 112;
y = (VSPACE2 + 14 * 0.04) * safezoneH + safezoneY;
};
class Text_Button13 : Text_Button0 {
class Text_Button13: Text_Button0 {
idc = 113;
y = (VSPACE2 + 15 * 0.04) * safezoneH + safezoneY;
};
class Text_Button14 : Text_Button0 {
class Text_Button14: Text_Button0 {
idc = 114;
y = (VSPACE2 + 16 * 0.04) * safezoneH + safezoneY;
};
class Text_Button15 : Text_Button0 {
class Text_Button15: Text_Button0 {
idc = 115;
y = (VSPACE2 + 17 * 0.04) * safezoneH + safezoneY;
};
class Text_Button16 : Text_Button0 {
class Text_Button16: Text_Button0 {
idc = 116;
y = (VSPACE2 + 18 * 0.04) * safezoneH + safezoneY;
};
class Text_Button17 : Text_Button0 {
class Text_Button17: Text_Button0 {
idc = 117;
y = (VSPACE2 + 19 * 0.04) * safezoneH + safezoneY;
};
class Text_Button18 : Text_Button0 {
class Text_Button18: Text_Button0 {
idc = 118;
y = (VSPACE2 + 20 * 0.04) * safezoneH + safezoneY;
};
class Text_Button19 : Text_Button0 {
class Text_Button19: Text_Button0 {
idc = 119;
y = (VSPACE2 + 21 * 0.04) * safezoneH + safezoneY;
};
//////////////////////////////////////////////////
class Interactive_Button0 : ACE_Common_Interactive_Button_Base {
action = "ACE_Common_keySet = -1; [0] spawn ACE_Common_editKey";
class Interactive_Button0: GVAR(Interactive_Button_Base) {
action = QUOTE(GVAR(keySet) = -1; [0] spawn GVAR(editKey));
sizeEx = "0.8 / 40 / (getResolution select 5)";// * safezoneX / safezoneXAbs";
idc = 200;
style = 2 + 0x800;
@ -245,128 +245,128 @@ class ACE_Common_OptionsMenu_Dialog {
h = 0.3 / 9 * safezoneH;
};
class Interactive_Button1 : Interactive_Button0 {
action = "ACE_Common_keySet = -1; [1] spawn ACE_Common_editKey";
class Interactive_Button1: Interactive_Button0 {
action = QUOTE(GVAR(keySet) = -1; [1] spawn GVAR(editKey));
idc = 201;
y = (VSPACE2 + 3 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Button2 : Interactive_Button0 {
action = "ACE_Common_keySet = -1; [2] spawn ACE_Common_editKey";
class Interactive_Button2: Interactive_Button0 {
action = QUOTE(GVAR(keySet) = -1; [2] spawn GVAR(editKey));
idc = 202;
y = (VSPACE2 + 4 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Button3 : Interactive_Button0 {
action = "ACE_Common_keySet = -1; [3] spawn ACE_Common_editKey";
class Interactive_Button3: Interactive_Button0 {
action = QUOTE(GVAR(keySet) = -1; [3] spawn GVAR(editKey));
idc = 203;
y = (VSPACE2 + 5 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Button4 : Interactive_Button0 {
action = "ACE_Common_keySet = -1; [4] spawn ACE_Common_editKey";
class Interactive_Button4: Interactive_Button0 {
action = QUOTE(GVAR(keySet) = -1; [4] spawn GVAR(editKey));
idc = 204;
y = (VSPACE2 + 6 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Button5 : Interactive_Button0 {
action = "ACE_Common_keySet = -1; [5] spawn ACE_Common_editKey";
class Interactive_Button5: Interactive_Button0 {
action = QUOTE(GVAR(keySet) = -1; [5] spawn GVAR(editKey));
idc = 205;
y = (VSPACE2 + 7 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Button6 : Interactive_Button0 {
action = "ACE_Common_keySet = -1; [6] spawn ACE_Common_editKey";
class Interactive_Button6: Interactive_Button0 {
action = QUOTE(GVAR(keySet) = -1; [6] spawn GVAR(editKey));
idc = 206;
y = (VSPACE2 + 8 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Button7 : Interactive_Button0 {
action = "ACE_Common_keySet = -1; [7] spawn ACE_Common_editKey";
class Interactive_Button7: Interactive_Button0 {
action = QUOTE(GVAR(keySet) = -1; [7] spawn GVAR(editKey));
idc = 207;
y = (VSPACE2 + 9 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Button8 : Interactive_Button0 {
action = "ACE_Common_keySet = -1; [8] spawn ACE_Common_editKey";
class Interactive_Button8: Interactive_Button0 {
action = QUOTE(GVAR(keySet) = -1; [8] spawn GVAR(editKey));
idc = 208;
y = (VSPACE2 + 10 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Button9 : Interactive_Button0 {
action = "ACE_Common_keySet = -1; [9] spawn ACE_Common_editKey";
class Interactive_Button9: Interactive_Button0 {
action = QUOTE(GVAR(keySet) = -1; [9] spawn GVAR(editKey));
idc = 209;
y = (VSPACE2 + 11 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Button10 : Interactive_Button0 {
action = "ACE_Common_keySet = -1; [10] spawn ACE_Common_editKey";
class Interactive_Button10: Interactive_Button0 {
action = QUOTE(GVAR(keySet) = -1; [10] spawn GVAR(editKey));
idc = 210;
y = (VSPACE2 + 12 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Button11 : Interactive_Button0 {
action = "ACE_Common_keySet = -1; [11] spawn ACE_Common_editKey";
class Interactive_Button11: Interactive_Button0 {
action = QUOTE(GVAR(keySet) = -1; [11] spawn GVAR(editKey));
idc = 211;
y = (VSPACE2 + 13 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Button12 : Interactive_Button0 {
action = "ACE_Common_keySet = -1; [12] spawn ACE_Common_editKey";
class Interactive_Button12: Interactive_Button0 {
action = QUOTE(GVAR(keySet) = -1; [12] spawn GVAR(editKey));
idc = 212;
y = (VSPACE2 + 14 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Button13 : Interactive_Button0 {
action = "ACE_Common_keySet = -1; [13] spawn ACE_Common_editKey";
class Interactive_Button13: Interactive_Button0 {
action = QUOTE(GVAR(keySet) = -1; [13] spawn GVAR(editKey));
idc = 213;
y = (VSPACE2 + 15 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Button14 : Interactive_Button0 {
action = "ACE_Common_keySet = -1; [14] spawn ACE_Common_editKey";
class Interactive_Button14: Interactive_Button0 {
action = QUOTE(GVAR(keySet) = -1; [14] spawn GVAR(editKey));
idc = 214;
y = (VSPACE2 + 16 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Button15 : Interactive_Button0 {
action = "ACE_Common_keySet = -1; [15] spawn ACE_Common_editKey";
class Interactive_Button15: Interactive_Button0 {
action = QUOTE(GVAR(keySet) = -1; [15] spawn GVAR(editKey));
idc = 215;
y = (VSPACE2 + 17 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Button16 : Interactive_Button0 {
action = "ACE_Common_keySet = -1; [16] spawn ACE_Common_editKey";
class Interactive_Button16: Interactive_Button0 {
action = QUOTE(GVAR(keySet) = -1; [16] spawn GVAR(editKey));
idc = 216;
y = (VSPACE2 + 18 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Button17 : Interactive_Button0 {
action = "ACE_Common_keySet = -1; [17] spawn ACE_Common_editKey";
class Interactive_Button17: Interactive_Button0 {
action = QUOTE(GVAR(keySet) = -1; [17] spawn GVAR(editKey));
idc = 217;
y = (VSPACE2 + 19 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Button18 : Interactive_Button0 {
action = "ACE_Common_keySet = -1; [18] spawn ACE_Common_editKey";
class Interactive_Button18: Interactive_Button0 {
action = QUOTE(GVAR(keySet) = -1; [18] spawn GVAR(editKey));
idc = 218;
y = (VSPACE2 + 20 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Button19 : Interactive_Button0 {
action = "ACE_Common_keySet = -1; [19] spawn ACE_Common_editKey";
class Interactive_Button19: Interactive_Button0 {
action = QUOTE(GVAR(keySet) = -1; [19] spawn GVAR(editKey));
idc = 219;
y = (VSPACE2 + 21 * 0.04) * safezoneH + safezoneY;
};
//////////////////////////////////////////////////
class Interactive_Checkbox0 : Text_Button0 {
class Interactive_Checkbox0: Text_Button0 {
action = "hint '0'";
idc = 300;
//type = 0;
style = 48;
text = PATHTOF(UI\box_unchecked_ca.paa);
text = QUOTE(PATHTOF(UI\box_unchecked_ca.paa));
colorBackground[] = {0, 0, 0, 0};
colorText[] = {1, 1, 1, 1};
x = (HSPACE2 + 3 * 0.1) * safezoneW + safezoneX;
@ -375,115 +375,115 @@ class ACE_Common_OptionsMenu_Dialog {
h = 0.3 / 9 * safezoneH;
};
class Interactive_Checkbox1 : Interactive_Checkbox0 {
class Interactive_Checkbox1: Interactive_Checkbox0 {
action = "";
idc = 301;
y = (VSPACE2 + 3 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Checkbox2 : Interactive_Checkbox0 {
class Interactive_Checkbox2: Interactive_Checkbox0 {
action = "";
idc = 302;
y = (VSPACE2 + 4 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Checkbox3 : Interactive_Checkbox0 {
class Interactive_Checkbox3: Interactive_Checkbox0 {
action = "";
idc = 303;
y = (VSPACE2 + 5 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Checkbox4 : Interactive_Checkbox0 {
class Interactive_Checkbox4: Interactive_Checkbox0 {
action = "";
idc = 304;
y = (VSPACE2 + 6 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Checkbox5 : Interactive_Checkbox0 {
class Interactive_Checkbox5: Interactive_Checkbox0 {
action = "";
idc = 305;
y = (VSPACE2 + 7 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Checkbox6 : Interactive_Checkbox0 {
class Interactive_Checkbox6: Interactive_Checkbox0 {
action = "";
idc = 306;
y = (VSPACE2 + 8 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Checkbox7 : Interactive_Checkbox0 {
class Interactive_Checkbox7: Interactive_Checkbox0 {
action = "";
idc = 307;
y = (VSPACE2 + 9 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Checkbox8 : Interactive_Checkbox0 {
class Interactive_Checkbox8: Interactive_Checkbox0 {
action = "";
idc = 308;
y = (VSPACE2 + 10 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Checkbox9 : Interactive_Checkbox0 {
class Interactive_Checkbox9: Interactive_Checkbox0 {
action = "";
idc = 309;
y = (VSPACE2 + 11 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Checkbox10 : Interactive_Checkbox0 {
class Interactive_Checkbox10: Interactive_Checkbox0 {
action = "";
idc = 310;
y = (VSPACE2 + 12 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Checkbox11 : Interactive_Checkbox0 {
class Interactive_Checkbox11: Interactive_Checkbox0 {
action = "";
idc = 311;
y = (VSPACE2 + 13 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Checkbox12 : Interactive_Checkbox0 {
class Interactive_Checkbox12: Interactive_Checkbox0 {
action = "";
idc = 312;
y = (VSPACE2 + 14 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Checkbox13 : Interactive_Checkbox0 {
class Interactive_Checkbox13: Interactive_Checkbox0 {
action = "";
idc = 313;
y = (VSPACE2 + 15 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Checkbox14 : Interactive_Checkbox0 {
class Interactive_Checkbox14: Interactive_Checkbox0 {
action = "";
idc = 314;
y = (VSPACE2 + 16 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Checkbox15 : Interactive_Checkbox0 {
class Interactive_Checkbox15: Interactive_Checkbox0 {
action = "";
idc = 315;
y = (VSPACE2 + 17 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Checkbox16 : Interactive_Checkbox0 {
class Interactive_Checkbox16: Interactive_Checkbox0 {
action = "";
idc = 316;
y = (VSPACE2 + 18 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Checkbox17 : Interactive_Checkbox0 {
class Interactive_Checkbox17: Interactive_Checkbox0 {
action = "";
idc = 317;
y = (VSPACE2 + 19 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Checkbox18 : Interactive_Checkbox0 {
class Interactive_Checkbox18: Interactive_Checkbox0 {
action = "";
idc = 318;
y = (VSPACE2 + 20 * 0.04) * safezoneH + safezoneY;
};
class Interactive_Checkbox19 : Interactive_Checkbox0 {
class Interactive_Checkbox19: Interactive_Checkbox0 {
action = "";
idc = 319;
y = (VSPACE2 + 21 * 0.04) * safezoneH + safezoneY;
@ -491,7 +491,7 @@ class ACE_Common_OptionsMenu_Dialog {
//////////////////////////////////////////////////
class Text_Checkbox0 : Text_Button0 {
class Text_Checkbox0: Text_Button0 {
idc = 400;
x = (HSPACE2 + 0 * 0.1) * safezoneW + safezoneX;
y = (VSPACE2 + 2 * 0.04) * safezoneH + safezoneY;
@ -499,105 +499,105 @@ class ACE_Common_OptionsMenu_Dialog {
h = 0.3 / 9 * safezoneH;
};
class Text_Checkbox1 : Text_Checkbox0 {
class Text_Checkbox1: Text_Checkbox0 {
idc = 401;
y = (VSPACE2 + 3 * 0.04) * safezoneH + safezoneY;
};
class Text_Checkbox2 : Text_Checkbox0 {
class Text_Checkbox2: Text_Checkbox0 {
idc = 402;
y = (VSPACE2 + 4 * 0.04) * safezoneH + safezoneY;
};
class Text_Checkbox3 : Text_Checkbox0 {
class Text_Checkbox3: Text_Checkbox0 {
idc = 403;
y = (VSPACE2 + 5 * 0.04) * safezoneH + safezoneY;
};
class Text_Checkbox4 : Text_Checkbox0 {
class Text_Checkbox4: Text_Checkbox0 {
idc = 404;
y = (VSPACE2 + 6 * 0.04) * safezoneH + safezoneY;
};
class Text_Checkbox5 : Text_Checkbox0 {
class Text_Checkbox5: Text_Checkbox0 {
idc = 405;
y = (VSPACE2 + 7 * 0.04) * safezoneH + safezoneY;
};
class Text_Checkbox6 : Text_Checkbox0 {
class Text_Checkbox6: Text_Checkbox0 {
idc = 406;
y = (VSPACE2 + 8 * 0.04) * safezoneH + safezoneY;
};
class Text_Checkbox7 : Text_Checkbox0 {
class Text_Checkbox7: Text_Checkbox0 {
idc = 407;
y = (VSPACE2 + 9 * 0.04) * safezoneH + safezoneY;
};
class Text_Checkbox8 : Text_Checkbox0 {
class Text_Checkbox8: Text_Checkbox0 {
idc = 408;
y = (VSPACE2 + 10 * 0.04) * safezoneH + safezoneY;
};
class Text_Checkbox9 : Text_Checkbox0 {
class Text_Checkbox9: Text_Checkbox0 {
idc = 409;
y = (VSPACE2 + 11 * 0.04) * safezoneH + safezoneY;
};
class Text_Checkbox10 : Text_Checkbox0 {
class Text_Checkbox10: Text_Checkbox0 {
idc = 410;
y = (VSPACE2 + 12 * 0.04) * safezoneH + safezoneY;
};
class Text_Checkbox11 : Text_Checkbox0 {
class Text_Checkbox11: Text_Checkbox0 {
idc = 411;
y = (VSPACE2 + 13 * 0.04) * safezoneH + safezoneY;
};
class Text_Checkbox12 : Text_Checkbox0 {
class Text_Checkbox12: Text_Checkbox0 {
idc = 412;
y = (VSPACE2 + 14 * 0.04) * safezoneH + safezoneY;
};
class Text_Checkbox13 : Text_Checkbox0 {
class Text_Checkbox13: Text_Checkbox0 {
idc = 413;
y = (VSPACE2 + 15 * 0.04) * safezoneH + safezoneY;
};
class Text_Checkbox14 : Text_Checkbox0 {
class Text_Checkbox14: Text_Checkbox0 {
idc = 414;
y = (VSPACE2 + 16 * 0.04) * safezoneH + safezoneY;
};
class Text_Checkbox15 : Text_Checkbox0 {
class Text_Checkbox15: Text_Checkbox0 {
idc = 415;
y = (VSPACE2 + 17 * 0.04) * safezoneH + safezoneY;
};
class Text_Checkbox16 : Text_Checkbox0 {
class Text_Checkbox16: Text_Checkbox0 {
idc = 416;
y = (VSPACE2 + 18 * 0.04) * safezoneH + safezoneY;
};
class Text_Checkbox17 : Text_Checkbox0 {
class Text_Checkbox17: Text_Checkbox0 {
idc = 417;
y = (VSPACE2 + 19 * 0.04) * safezoneH + safezoneY;
};
class Text_Checkbox18 : Text_Checkbox0 {
class Text_Checkbox18: Text_Checkbox0 {
idc = 418;
y = (VSPACE2 + 20 * 0.04) * safezoneH + safezoneY;
};
class Text_Checkbox19 : Text_Checkbox0 {
class Text_Checkbox19: Text_Checkbox0 {
idc = 419;
y = (VSPACE2 + 21 * 0.04) * safezoneH + safezoneY;
};
//////////////////////////////////////////////////
class Interactive_CheckboxButton0 : ACE_Common_Interactive_Button_Base {
action = "[0] call ACE_Common_toggleState";
class Interactive_CheckboxButton0: GVAR(Interactive_Button_Base) {
action = QUOTE([0] call GVAR(toggleState));
idc = 500;
colorBackground[] = {0, 0, 0, 0};
colorBackgroundActive[] = {0, 0, 0, 0};
@ -608,123 +608,123 @@ class ACE_Common_OptionsMenu_Dialog {
h = 0.3 / 9 * safezoneH;
};
class Interactive_CheckboxButton1 : Interactive_CheckboxButton0 {
action = "[1] call ACE_Common_toggleState";
class Interactive_CheckboxButton1: Interactive_CheckboxButton0 {
action = QUOTE([1] call GVAR(toggleState));
idc = 501;
y = (VSPACE2 + 3 * 0.04) * safezoneH + safezoneY;
};
class Interactive_CheckboxButton2 : Interactive_CheckboxButton0 {
action = "[2] call ACE_Common_toggleState";
class Interactive_CheckboxButton2: Interactive_CheckboxButton0 {
action = QUOTE([2] call GVAR(toggleState));
idc = 502;
y = (VSPACE2 + 4 * 0.04) * safezoneH + safezoneY;
};
class Interactive_CheckboxButton3 : Interactive_CheckboxButton0 {
action = "[3] call ACE_Common_toggleState";
class Interactive_CheckboxButton3: Interactive_CheckboxButton0 {
action = QUOTE([3] call GVAR(toggleState));
idc = 503;
y = (VSPACE2 + 5 * 0.04) * safezoneH + safezoneY;
};
class Interactive_CheckboxButton4 : Interactive_CheckboxButton0 {
action = "[4] call ACE_Common_toggleState";
class Interactive_CheckboxButton4: Interactive_CheckboxButton0 {
action = QUOTE([4] call GVAR(toggleState));
idc = 504;
y = (VSPACE2 + 6 * 0.04) * safezoneH + safezoneY;
};
class Interactive_CheckboxButton5 : Interactive_CheckboxButton0 {
action = "[5] call ACE_Common_toggleState";
class Interactive_CheckboxButton5: Interactive_CheckboxButton0 {
action = QUOTE([5] call GVAR(toggleState));
idc = 505;
y = (VSPACE2 + 7 * 0.04) * safezoneH + safezoneY;
};
class Interactive_CheckboxButton6 : Interactive_CheckboxButton0 {
action = "[6] call ACE_Common_toggleState";
class Interactive_CheckboxButton6: Interactive_CheckboxButton0 {
action = QUOTE([6] call GVAR(toggleState));
idc = 506;
y = (VSPACE2 + 8 * 0.04) * safezoneH + safezoneY;
};
class Interactive_CheckboxButton7 : Interactive_CheckboxButton0 {
action = "[7] call ACE_Common_toggleState";
class Interactive_CheckboxButton7: Interactive_CheckboxButton0 {
action = QUOTE([7] call GVAR(toggleState));
idc = 507;
y = (VSPACE2 + 9 * 0.04) * safezoneH + safezoneY;
};
class Interactive_CheckboxButton8 : Interactive_CheckboxButton0 {
action = "[8] call ACE_Common_toggleState";
class Interactive_CheckboxButton8: Interactive_CheckboxButton0 {
action = QUOTE([8] call GVAR(toggleState));
idc = 508;
y = (VSPACE2 + 10 * 0.04) * safezoneH + safezoneY;
};
class Interactive_CheckboxButton9 : Interactive_CheckboxButton0 {
action = "[9] call ACE_Common_toggleState";
class Interactive_CheckboxButton9: Interactive_CheckboxButton0 {
action = QUOTE([9] call GVAR(toggleState));
idc = 509;
y = (VSPACE2 + 11 * 0.04) * safezoneH + safezoneY;
};
class Interactive_CheckboxButton10 : Interactive_CheckboxButton0 {
action = "[10] call ACE_Common_toggleState";
class Interactive_CheckboxButton10: Interactive_CheckboxButton0 {
action = QUOTE([10] call GVAR(toggleState));
idc = 510;
y = (VSPACE2 + 12 * 0.04) * safezoneH + safezoneY;
};
class Interactive_CheckboxButton11 : Interactive_CheckboxButton0 {
action = "[11] call ACE_Common_toggleState";
class Interactive_CheckboxButton11: Interactive_CheckboxButton0 {
action = QUOTE([11] call GVAR(toggleState));
idc = 511;
y = (VSPACE2 + 13 * 0.04) * safezoneH + safezoneY;
};
class Interactive_CheckboxButton12 : Interactive_CheckboxButton0 {
action = "[12] call ACE_Common_toggleState";
class Interactive_CheckboxButton12: Interactive_CheckboxButton0 {
action = QUOTE([12] call GVAR(toggleState));
idc = 512;
y = (VSPACE2 + 14 * 0.04) * safezoneH + safezoneY;
};
class Interactive_CheckboxButton13 : Interactive_CheckboxButton0 {
action = "[13] call ACE_Common_toggleState";
class Interactive_CheckboxButton13: Interactive_CheckboxButton0 {
action = QUOTE([13] call GVAR(toggleState));
idc = 513;
y = (VSPACE2 + 15 * 0.04) * safezoneH + safezoneY;
};
class Interactive_CheckboxButton14 : Interactive_CheckboxButton0 {
action = "[14] call ACE_Common_toggleState";
class Interactive_CheckboxButton14: Interactive_CheckboxButton0 {
action = QUOTE([14] call GVAR(toggleState));
idc = 514;
y = (VSPACE2 + 16 * 0.04) * safezoneH + safezoneY;
};
class Interactive_CheckboxButton15 : Interactive_CheckboxButton0 {
action = "[15] call ACE_Common_toggleState";
class Interactive_CheckboxButton15: Interactive_CheckboxButton0 {
action = QUOTE([15] call GVAR(toggleState));
idc = 515;
y = (VSPACE2 + 17 * 0.04) * safezoneH + safezoneY;
};
class Interactive_CheckboxButton16 : Interactive_CheckboxButton0 {
action = "[16] call ACE_Common_toggleState";
class Interactive_CheckboxButton16: Interactive_CheckboxButton0 {
action = QUOTE([16] call GVAR(toggleState));
idc = 516;
y = (VSPACE2 + 18 * 0.04) * safezoneH + safezoneY;
};
class Interactive_CheckboxButton17 : Interactive_CheckboxButton0 {
action = "[17] call ACE_Common_toggleState";
class Interactive_CheckboxButton17: Interactive_CheckboxButton0 {
action = QUOTE([17] call GVAR(toggleState));
idc = 517;
y = (VSPACE2 + 19 * 0.04) * safezoneH + safezoneY;
};
class Interactive_CheckboxButton18 : Interactive_CheckboxButton0 {
action = "[18] call ACE_Common_toggleState";
class Interactive_CheckboxButton18: Interactive_CheckboxButton0 {
action = QUOTE([18] call GVAR(toggleState));
idc = 518;
y = (VSPACE2 + 20 * 0.04) * safezoneH + safezoneY;
};
class Interactive_CheckboxButton19 : Interactive_CheckboxButton0 {
action = "[19] call ACE_Common_toggleState";
class Interactive_CheckboxButton19: Interactive_CheckboxButton0 {
action = QUOTE([19] call GVAR(toggleState));
idc = 519;
y = (VSPACE2 + 21 * 0.04) * safezoneH + safezoneY;
};
//////////////////////////////////////////////////
class TextBox_KeyChange : Text_Button0 {
class TextBox_KeyChange: Text_Button0 {
text = "";
idc = 20;
style = 2 + 0x800;
@ -734,7 +734,7 @@ class ACE_Common_OptionsMenu_Dialog {
h = (3.0 / 9 - VSPACE2 / 2) * safezoneH;
};
/*class TextBox_Key_Shift : TextBox_KeyChange {
/*class TextBox_Key_Shift: TextBox_KeyChange {
text = "$STR_ACE_Common_Shift";
idc = 21;
colorText[] = {0.25,0.25,0.25,1};
@ -745,22 +745,22 @@ class ACE_Common_OptionsMenu_Dialog {
h = 0.3 / 9 * safezoneH;
};
class TextBox_Key_Control : TextBox_Key_Shift {
class TextBox_Key_Control: TextBox_Key_Shift {
text = "$STR_ACE_Common_Ctrl";
idc = 22;
x = (3 / 4 * HSPACE2 + 6.75 * 0.1) * safezoneW + safezoneX;
y = (VSPACE2 + 10 * 0.04) * safezoneH + safezoneY;
};
class TextBox_Key_Alt : TextBox_Key_Shift {
class TextBox_Key_Alt: TextBox_Key_Shift {
text = "$STR_ACE_Common_Alt";
idc = 23;
x = (3 / 4 * HSPACE2 + 7.75 * 0.1) * safezoneW + safezoneX;
y = (VSPACE2 + 10 * 0.04) * safezoneH + safezoneY;
};*/
class TextBox_Key_Shift : Interactive_Button0 {
action = "ACE_Common_keyNewTemp = [42, [false, false, false], 42];";
class TextBox_Key_Shift: Interactive_Button0 {
action = QUOTE(GVAR(keyNewTemp) = [ARR_3(42,[ARR_3(false,false,false)],42)];);
text = "$STR_ACE_Common_Shift";
sizeEx = "0.7 / 40 / (getResolution select 5)";// * safezoneX / safezoneXAbs";
idc = 21;
@ -772,47 +772,47 @@ class ACE_Common_OptionsMenu_Dialog {
h = 0.3 / 9 * safezoneH;
};
class TextBox_Key_Control : TextBox_Key_Shift {
action = "ACE_Common_keyNewTemp = [29, [false, false, false], 29];";
class TextBox_Key_Control: TextBox_Key_Shift {
action = QUOTE(GVAR(keyNewTemp) = [ARR_3(29,[ARR_3(false,false,false)],29)];);
text = "$STR_ACE_Common_Ctrl";
idc = 22;
x = (3 / 4 * HSPACE2 + 6.75 * 0.1) * safezoneW + safezoneX;
y = (VSPACE2 + 10 * 0.04) * safezoneH + safezoneY;
};
class TextBox_Key_Alt : TextBox_Key_Shift {
action = "ACE_Common_keyNewTemp = [56, [false, false, false], 56];";
class TextBox_Key_Alt: TextBox_Key_Shift {
action = QUOTE(GVAR(keyNewTemp) = [ARR_3(56,[ARR_3(false,false,false)],56)];);
text = "$STR_ACE_Common_Alt";
idc = 23;
x = (3 / 4 * HSPACE2 + 7.5 * 0.1) * safezoneW + safezoneX;
y = (VSPACE2 + 10 * 0.04) * safezoneH + safezoneY;
};
class TextBox_Key_Shift_Right : TextBox_Key_Shift {
action = "ACE_Common_keyNewTemp = [54, [false, false, false], 54];";
class TextBox_Key_Shift_Right: TextBox_Key_Shift {
action = QUOTE(GVAR(keyNewTemp) = [ARR_3(54,[ARR_3(false,false,false)],54)];);
text = "$STR_ACE_Common_Shift_Right";
idc = 27;
x = (3 / 4 * HSPACE2 + 6 * 0.1) * safezoneW + safezoneX;
y = (VSPACE2 + 11 * 0.04) * safezoneH + safezoneY;
};
class TextBox_Key_Control_Right : TextBox_Key_Shift {
action = "ACE_Common_keyNewTemp = [157, [false, false, false], 157];";
class TextBox_Key_Control_Right: TextBox_Key_Shift {
action = QUOTE(GVAR(keyNewTemp) = [ARR_3(157,[ARR_3(false,false,false)],157)];);
text = "$STR_ACE_Common_Ctrl_Right";
idc = 28;
x = (3 / 4 * HSPACE2 + 6.75 * 0.1) * safezoneW + safezoneX;
y = (VSPACE2 + 11 * 0.04) * safezoneH + safezoneY;
};
class TextBox_Key_Alt_Right : TextBox_Key_Shift {
action = "ACE_Common_keyNewTemp = [184, [false, false, false], 184];";
class TextBox_Key_Alt_Right: TextBox_Key_Shift {
action = QUOTE(GVAR(keyNewTemp) = [ARR_3(184,[ARR_3(false,false,false)],184)];);
text = "$STR_ACE_Common_Alt_Right";
idc = 29;
x = (3 / 4 * HSPACE2 + 7.5 * 0.1) * safezoneW + safezoneX;
y = (VSPACE2 + 11 * 0.04) * safezoneH + safezoneY;
};
class TextBox_Action : TextBox_KeyChange {
class TextBox_Action: TextBox_KeyChange {
text = "";
idc = 30;
colorText[] = {1,1,1,1};
@ -824,23 +824,23 @@ class ACE_Common_OptionsMenu_Dialog {
h = 0.3 / 9 * safezoneH;
};
class TextBox_Key_Default : TextBox_Key_Shift {
action = "call ACE_Common_keysetDefault";
class TextBox_Key_Default: TextBox_Key_Shift {
action = QUOTE(call GVAR(keysetDefault));
text = "$STR_ACE_Common_KeyDefault";
idc = 31;
x = (3 / 4 * HSPACE2 + 8.25 * 0.1) * safezoneW + safezoneX;
y = (VSPACE2 + 10 * 0.04) * safezoneH + safezoneY;
};
class TextBox_Key_None : TextBox_Key_Shift {
action = "ACE_Common_keyNewTemp = [0, [false, false, false], 0];";
class TextBox_Key_None: TextBox_Key_Shift {
action = QUOTE(GVAR(keyNewTemp) = [ARR_3(0,[ARR_3(false,false,false)],0)];);
text = "$STR_ACE_Common_KeyNone";
idc = 32;
x = (3 / 4 * HSPACE2 + 8.25 * 0.1) * safezoneW + safezoneX;
y = (VSPACE2 + 11 * 0.04) * safezoneH + safezoneY;
};
class TextBox_Key : TextBox_KeyChange {
class TextBox_Key: TextBox_KeyChange {
text = "";
idc = 24;
colorText[] = {1,1,1,1};
@ -852,8 +852,8 @@ class ACE_Common_OptionsMenu_Dialog {
h = 0.3 / 9 * safezoneH;
};
class Interactive_ButtonV : Interactive_Button0 {
action = "ACE_Common_keySet = 1";
class Interactive_ButtonV: Interactive_Button0 {
action = QUOTE(ACE_Common_keySet = 1);
text = "$STR_ACE_Common_Save";
sizeEx = "1 / 40 / (getResolution select 5)";// * safezoneX / safezoneXAbs";
idc = 25;
@ -864,8 +864,8 @@ class ACE_Common_OptionsMenu_Dialog {
h = 0.3 / 9 * safezoneH;
};
class Interactive_ButtonW : Interactive_ButtonV {
action = "ACE_Common_keySet = -1";
class Interactive_ButtonW: Interactive_ButtonV {
action = QUOTE(GVAR(keySet) = -1);
text = "$STR_ACE_Common_Cancel";
idc = 26;
x = (HSPACE2 + 7.5 * 0.1) * safezoneW + safezoneX;
@ -874,8 +874,8 @@ class ACE_Common_OptionsMenu_Dialog {
h = 0.3 / 9 * safezoneH;
};
class Interactive_ButtonX : Interactive_Button0 {
action = "ACE_Common_keySave = 1; closeDialog 0";
class Interactive_ButtonX: Interactive_Button0 {
action = QUOTE(GVAR(keySave) = 1; closeDialog 0);
text = "$STR_ACE_Common_Save";
sizeEx = "1 / 40 / (getResolution select 5)";// * safezoneX / safezoneXAbs";
idc = 10;
@ -885,8 +885,8 @@ class ACE_Common_OptionsMenu_Dialog {
h = 0.3 / 9 * safezoneH;
};
class Interactive_ButtonY : Interactive_Button0 {
action = "ACE_Common_keySave = -1; closeDialog 0";
class Interactive_ButtonY: Interactive_Button0 {
action = QUOTE(GVAR(keySave) = -1; closeDialog 0);
text = "$STR_ACE_Common_Cancel";
sizeEx = "1 / 40 / (getResolution select 5)";// * safezoneX / safezoneXAbs";
idc = 11;
@ -896,8 +896,8 @@ class ACE_Common_OptionsMenu_Dialog {
h = 0.3 / 9 * safezoneH;
};
class Interactive_ButtonA : ACE_Common_Interactive_Button_Base {
action = "false call ACE_Common_nextKeys";
class Interactive_ButtonA: GVAR(Interactive_Button_Base) {
action = QUOTE(false call GVAR(nextKeys));
text = "$STR_ACE_Common_Prev";
idc = 12;
style = 2 + 0x800;
@ -907,14 +907,14 @@ class ACE_Common_OptionsMenu_Dialog {
h = 0.3 / 9 * safezoneH;
};
class Interactive_ButtonB : Interactive_ButtonA {
action = "true call ACE_Common_nextKeys";
class Interactive_ButtonB: Interactive_ButtonA {
action = QUOTE(true call GVAR(nextKeys));
text = "$STR_ACE_Common_Next";
idc = 13;
x = (HSPACE2 + 3 * 0.1 + 2.0 / 16) * safezoneW + safezoneX;
};
class Interactive_ButtonC : ACE_Common_Text_Button_Base {
class Interactive_ButtonC: GVAR(Text_Button_Base) {
text = "";
idc = 14;
style = 2 + 0x800;

View File

@ -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 {

View File

@ -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 {

View File

@ -134,7 +134,7 @@ PREP(monitor);
PREP(showUser);
// ACE_CuratorFix
PREP(addUnloadEventhandler);
PREP(addCuratorUnloadEventhandler);
PREP(fixCrateContent);
// Loop to update the ACE_player variable

View File

@ -51,13 +51,13 @@ class ACE_Rsc_Control_Base {
h = 0;
};
class GVAR(canInteractConditions) {
class ACE_canInteractConditions {
class GVAR(notOnMap) {
condition = "!visibleMap";
};
};
class GVAR(Options) {
class ACE_Options {
class enableNumberHotkeys {
displayName = "$STR_ACE_Common_EnableNumberHotkeys";
default = 1;
@ -72,7 +72,7 @@ class GVAR(Options) {
/*
class RscControlsGroupNoScrollbars;
class RscAttributeInventory: RscControlsGroupNoScrollbars {
onSetFocus = "[_this,""RscAttributeInventory"",'CuratorCommon'] call (uinamespace getvariable ""BIS_fnc_initCuratorAttribute""); _this select 0 call ACE_CuratorFix_fnc_addUnloadEventhandler;";
onSetFocus = QUOTE([ARR_3(_this,""RscAttributeInventory"",'CuratorCommon')] call (uinamespace getvariable ""BIS_fnc_initCuratorAttribute""); _this select 0 call DFUNC(addCuratorUnloadEventhandler););
};
*/

View File

@ -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"];

View File

@ -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"];

View File

@ -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"];

View File

@ -1,5 +1,5 @@
// by commy2
#include "\z\ace\addons\common\script_component.hpp"
#include "script_component.hpp"
private "_dlg";

View File

@ -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"];

View File

@ -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"];

View File

@ -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"];

View File

@ -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"];

View File

@ -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"];

View File

@ -1,5 +1,5 @@
// by commy2
#include "\z\ace\addons\common\script_component.hpp"
#include "script_component.hpp"
private "_name";

View File

@ -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

View File

@ -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"];

View File

@ -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"];

View File

@ -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"];

View File

@ -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);

View File

@ -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}

View File

@ -1,5 +1,5 @@
// by commy2
#include "\z\ace\addons\common\script_component.hpp"
#include "script_component.hpp"
private ["_unit", "_target", "_owner"];

View File

@ -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

View File

@ -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"];

View File

@ -14,7 +14,7 @@
* Return value:
* None.
*/
#include "\z\ace\addons\common\script_component.hpp"
#include "script_component.hpp"
private ["_mode", "_checkAll", "_whitelist", "_logic"];

View File

@ -1,5 +1,5 @@
// by commy2
#include "\z\ace\addons\common\script_component.hpp"
#include "script_component.hpp"
private ["_unit", "_target", "_lockTarget", "_owner"];

View File

@ -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;

View File

@ -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

View File

@ -9,7 +9,7 @@
* Return value:
* Code (String)
*/
#include "\z\ace\addons\common\script_component.hpp"
#include "script_component.hpp"
private "_function";

View File

@ -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]

View File

@ -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"]

View File

@ -9,7 +9,7 @@
* Return value:
* Nothing
*/
#include "\z\ace\addons\common\script_component.hpp"
#include "script_component.hpp"
private ["_state", "_dlg"];

View File

@ -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

View File

@ -10,7 +10,7 @@
* Return value:
* Nothing
*/
#include "\z\ace\addons\common\script_component.hpp"
#include "script_component.hpp"
private ["_text", "_image"];

View File

@ -10,7 +10,7 @@
* Return value:
* Nothing
*/
#include "\z\ace\addons\common\script_component.hpp"
#include "script_component.hpp"
private ["_text", "_size", "_isShown", "_ctrlHint"];

View File

@ -14,7 +14,7 @@
* Return value:
* Nothing
*/
#include "\z\ace\addons\common\script_component.hpp"
#include "script_component.hpp"
private ["_unit", "_animation", "_priority", "_force"];

View File

@ -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 {

View File

@ -12,7 +12,7 @@
* Return value:
* Nothing.
*/
#include "\z\ace\addons\common\script_component.hpp"
#include "script_component.hpp"
private ["_arguments", "_function", "_unit", "_name"];

View File

@ -15,7 +15,7 @@
* Return value:
* Nothing
*/
#include "\z\ace\addons\common\script_component.hpp"
#include "script_component.hpp"
private ["_arguments", "_function", "_unit", "_id"];

View File

@ -1,5 +1,5 @@
// by commy2
#include "\z\ace\addons\common\script_component.hpp"
#include "script_component.hpp"
private "_target";

View File

@ -4,7 +4,7 @@
(configFile >> "CfgAmmo") call FUNC(exportConfig);
*/
#include "\z\ace\addons\common\script_component.hpp"
#include "script_component.hpp"
private "_fnc_logEntries";

View File

@ -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"];

View File

@ -1,5 +1,5 @@
// by commy2
#include "\z\ace\addons\common\script_component.hpp"
#include "script_component.hpp"
private ["_crate", "_weapons", "_items"];

View File

@ -1,5 +1,5 @@
// by commy2
#include "\z\ace\addons\common\script_component.hpp"
#include "script_component.hpp"
private "_unit";

View File

@ -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"];

View File

@ -1,5 +1,5 @@
// by commy2
#include "\z\ace\addons\common\script_component.hpp"
#include "script_component.hpp"
private ["_name", "_cfgClass", "_classes"];

View File

@ -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"];

View File

@ -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"];

View File

@ -1,5 +1,5 @@
// by commy2
#include "\z\ace\addons\common\script_component.hpp"
#include "script_component.hpp"
private ["_unit", "_anim", "_stance"];

View File

@ -1,5 +1,5 @@
// by commy2
#include "\z\ace\addons\common\script_component.hpp"
#include "script_component.hpp"
private ["_configName", "_index"];

View File

@ -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"];

View File

@ -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"];

View File

@ -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"];

View File

@ -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"];

View File

@ -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}

View File

@ -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;

Some files were not shown because too many files have changed in this diff Show More