manual merge

This commit is contained in:
commy2 2016-02-22 16:24:10 +01:00
commit 9712f9c1a4
408 changed files with 3552 additions and 2041 deletions

View File

@ -1,3 +1,10 @@
class Extended_PreStart_EventHandlers {
class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_preStart));
};
};
class Extended_PreInit_EventHandlers { class Extended_PreInit_EventHandlers {
class ADDON { class ADDON {
init = QUOTE( call COMPILE_FILE(XEH_preInit) ); init = QUOTE( call COMPILE_FILE(XEH_preInit) );

View File

@ -0,0 +1,14 @@
PREP(calculateAmmoTemperatureVelocityShift);
PREP(calculateAtmosphericCorrection);
PREP(calculateBarrelLengthVelocityShift);
PREP(calculateRetardation);
PREP(calculateStabilityFactor);
PREP(diagnoseWeapons);
PREP(displayProtractor);
PREP(handleFired);
PREP(initializeTerrainExtension);
PREP(initModuleSettings);
PREP(readAmmoDataFromConfig);
PREP(readWeaponDataFromConfig);
PREP(handleFirePFH);

View File

@ -33,8 +33,6 @@ if (!hasInterface) exitWith {};
["firedPlayer", DFUNC(handleFired)] call EFUNC(common,addEventHandler); ["firedPlayer", DFUNC(handleFired)] call EFUNC(common,addEventHandler);
["firedPlayerNonLocal", DFUNC(handleFired)] call EFUNC(common,addEventHandler); ["firedPlayerNonLocal", DFUNC(handleFired)] call EFUNC(common,addEventHandler);
[] call FUNC(updateTrajectoryPFH);
}] call EFUNC(common,addEventHandler); }] call EFUNC(common,addEventHandler);
#ifdef DEBUG_MODE_FULL #ifdef DEBUG_MODE_FULL

View File

@ -2,17 +2,6 @@
ADDON = false; ADDON = false;
PREP(calculateAmmoTemperatureVelocityShift); #include "XEH_PREP.hpp"
PREP(calculateAtmosphericCorrection);
PREP(calculateBarrelLengthVelocityShift);
PREP(calculateRetardation);
PREP(calculateStabilityFactor);
PREP(diagnoseWeapons);
PREP(displayProtractor);
PREP(handleFired);
PREP(initializeTerrainExtension);
PREP(initModuleSettings);
PREP(readAmmoDataFromConfig);
PREP(readWeaponDataFromConfig);
PREP(handleFirePFH);
ADDON = true; ADDON = true;

View File

@ -1,5 +1,3 @@
#include "script_component.hpp" #include "script_component.hpp"
ADDON = false; #include "XEH_PREP.hpp"
ADDON = true;

View File

@ -1,7 +0,0 @@
/*
class Extended_PreInit_EventHandlers {
class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_preInit));
};
};
*/

View File

@ -11,5 +11,3 @@ class CfgPatches {
VERSION_CONFIG; VERSION_CONFIG;
}; };
}; };
#include "CfgEventHandlers.hpp"

View File

@ -1,3 +1,10 @@
class Extended_PreStart_EventHandlers {
class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_preStart));
};
};
class Extended_PreInit_EventHandlers { class Extended_PreInit_EventHandlers {
class ADDON { class ADDON {
init = QUOTE( call COMPILE_FILE(XEH_preInit) ); init = QUOTE( call COMPILE_FILE(XEH_preInit) );

View File

@ -0,0 +1,67 @@
PREP(add_new_gun);
PREP(calculate_range_card);
PREP(calculate_solution);
PREP(calculate_target_range_assist);
PREP(calculate_target_solution);
PREP(calculate_target_speed_assist);
PREP(can_show);
PREP(change_gun);
PREP(change_target_slot);
PREP(clear_user_data);
PREP(create_dialog);
PREP(cycle_gun_list);
PREP(cycle_image_size_units);
PREP(cycle_num_ticks_units);
PREP(cycle_range_card_columns);
PREP(cycle_scope_unit);
PREP(cycle_target_size_units);
PREP(cycle_target_speed_direction);
PREP(delete_gun);
PREP(init);
PREP(parse_input);
PREP(reset_relative_click_memory);
PREP(restore_atmo_default);
PREP(restore_user_data);
PREP(save_gun);
PREP(show_add_new_gun);
PREP(show_atmo_env_data);
PREP(show_gun_ammo_data);
PREP(show_gun_list);
PREP(show_main_page);
PREP(show_range_card);
PREP(show_range_card_setup);
PREP(show_solution_setup);
PREP(show_target_data);
PREP(show_target_range_assist);
PREP(show_target_speed_assist);
PREP(show_target_speed_assist_timer);
PREP(sord);
PREP(store_user_data);
PREP(target_speed_assist_timer);
PREP(toggle_atmo_env_data);
PREP(toggle_gun_ammo_data);
PREP(toggle_gun_list);
PREP(toggle_range_card);
PREP(toggle_range_card_setup);
PREP(toggle_solution_setup);
PREP(toggle_target_data);
PREP(toggle_target_range_assist);
PREP(toggle_target_speed_assist);
PREP(update_atmosphere);
PREP(update_atmo_env_data);
PREP(update_atmo_selection);
PREP(update_gun);
PREP(update_gun_ammo_data);
PREP(update_inclination_angle);
PREP(update_range_card);
PREP(update_relative_click_memory);
PREP(update_result);
PREP(update_scope_unit);
PREP(update_solution_setup);
PREP(update_target);
PREP(update_target_data);
PREP(update_target_selection);
PREP(update_unit_selection);
PREP(update_zero_range);
PREP(on_close_dialog);

View File

@ -2,71 +2,6 @@
ADDON = false; ADDON = false;
PREP(add_new_gun); #include "XEH_PREP.hpp"
PREP(calculate_range_card);
PREP(calculate_solution);
PREP(calculate_target_range_assist);
PREP(calculate_target_solution);
PREP(calculate_target_speed_assist);
PREP(can_show);
PREP(change_gun);
PREP(change_target_slot);
PREP(clear_user_data);
PREP(create_dialog);
PREP(cycle_gun_list);
PREP(cycle_image_size_units);
PREP(cycle_num_ticks_units);
PREP(cycle_range_card_columns);
PREP(cycle_scope_unit);
PREP(cycle_target_size_units);
PREP(cycle_target_speed_direction);
PREP(delete_gun);
PREP(init);
PREP(parse_input);
PREP(reset_relative_click_memory);
PREP(restore_atmo_default);
PREP(restore_user_data);
PREP(save_gun);
PREP(show_add_new_gun);
PREP(show_atmo_env_data);
PREP(show_gun_ammo_data);
PREP(show_gun_list);
PREP(show_main_page);
PREP(show_range_card);
PREP(show_range_card_setup);
PREP(show_solution_setup);
PREP(show_target_data);
PREP(show_target_range_assist);
PREP(show_target_speed_assist);
PREP(show_target_speed_assist_timer);
PREP(sord);
PREP(store_user_data);
PREP(target_speed_assist_timer);
PREP(toggle_atmo_env_data);
PREP(toggle_gun_ammo_data);
PREP(toggle_gun_list);
PREP(toggle_range_card);
PREP(toggle_range_card_setup);
PREP(toggle_solution_setup);
PREP(toggle_target_data);
PREP(toggle_target_range_assist);
PREP(toggle_target_speed_assist);
PREP(update_atmosphere);
PREP(update_atmo_env_data);
PREP(update_atmo_selection);
PREP(update_gun);
PREP(update_gun_ammo_data);
PREP(update_inclination_angle);
PREP(update_range_card);
PREP(update_relative_click_memory);
PREP(update_result);
PREP(update_scope_unit);
PREP(update_solution_setup);
PREP(update_target);
PREP(update_target_data);
PREP(update_target_selection);
PREP(update_unit_selection);
PREP(update_zero_range);
PREP(on_close_dialog);
ADDON = true; ADDON = true;

View File

@ -0,0 +1,3 @@
#include "script_component.hpp"
#include "XEH_PREP.hpp"

View File

@ -1,3 +1,10 @@
class Extended_PreStart_EventHandlers {
class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_preStart));
};
};
class Extended_PreInit_EventHandlers { class Extended_PreInit_EventHandlers {
class ADDON { class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_preInit)); init = QUOTE(call COMPILE_FILE(XEH_preInit));

View File

@ -0,0 +1,10 @@
PREP(attach);
PREP(canAttach);
PREP(canDetach);
PREP(detach);
PREP(getChildrenAttachActions);
PREP(handleGetIn);
PREP(handleGetOut);
PREP(handleKilled);
PREP(placeApprove);

View File

@ -2,14 +2,6 @@
ADDON = false; ADDON = false;
PREP(attach); #include "XEH_PREP.hpp"
PREP(canAttach);
PREP(canDetach);
PREP(detach);
PREP(getChildrenAttachActions);
PREP(handleGetIn);
PREP(handleGetOut);
PREP(handleKilled);
PREP(placeApprove);
ADDON = true; ADDON = true;

View File

@ -0,0 +1,3 @@
#include "script_component.hpp"
#include "XEH_PREP.hpp"

View File

@ -1,4 +1,10 @@
class Extended_PreStart_EventHandlers {
class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_preStart));
};
};
class Extended_PreInit_EventHandlers { class Extended_PreInit_EventHandlers {
class ADDON { class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_preInit)); init = QUOTE(call COMPILE_FILE(XEH_preInit));

View File

@ -0,0 +1,4 @@
PREP(backpackOpened);
PREP(isBackpack);
PREP(onOpenInventory);

View File

@ -2,8 +2,6 @@
ADDON = false; ADDON = false;
PREP(backpackOpened); #include "XEH_PREP.hpp"
PREP(isBackpack);
PREP(onOpenInventory);
ADDON = true; ADDON = true;

View File

@ -0,0 +1,3 @@
#include "script_component.hpp"
#include "XEH_PREP.hpp"

View File

@ -14,7 +14,6 @@ class CfgWeapons {
class MMG_02_base_F; class MMG_02_base_F;
class Rifle_Base_F; class Rifle_Base_F;
class Rifle_Long_Base_F; class Rifle_Long_Base_F;
class WeaponSlotsInfo;
class MuzzleSlot; class MuzzleSlot;
/* Long Rifles */ /* Long Rifles */
@ -74,22 +73,12 @@ class CfgWeapons {
}; };
class DMR_01_base_F: Rifle_Long_Base_F { class DMR_01_base_F: Rifle_Long_Base_F {
class WeaponSlotsInfo: WeaponSlotsInfo {
class MuzzleSlot: MuzzleSlot {
compatibleItems[] += {"ACE_muzzle_mzls_B"};
};
};
class Single: Mode_SemiAuto { class Single: Mode_SemiAuto {
dispersion = 0.0004; // radians. Equal to 1.375 MOA. dispersion = 0.0004; // radians. Equal to 1.375 MOA.
}; };
}; };
class EBR_base_F: Rifle_Long_Base_F { class EBR_base_F: Rifle_Long_Base_F {
class WeaponSlotsInfo: WeaponSlotsInfo {
class MuzzleSlot: MuzzleSlot {
compatibleItems[] += {"ACE_muzzle_mzls_B"};
};
};
class Single: Mode_SemiAuto { class Single: Mode_SemiAuto {
dispersion = 0.00029; // radians. Equal to 1.00 MOA. dispersion = 0.00029; // radians. Equal to 1.00 MOA.
}; };
@ -101,13 +90,7 @@ class CfgWeapons {
/* MX */ /* MX */
class arifle_MX_Base_F: Rifle_Base_F { class arifle_MX_Base_F: Rifle_Base_F {};
class WeaponSlotsInfo: WeaponSlotsInfo {
class MuzzleSlot: MuzzleSlot {
compatibleItems[] += {"ACE_muzzle_mzls_H"};
};
};
};
class arifle_MX_SW_F: arifle_MX_Base_F { class arifle_MX_SW_F: arifle_MX_Base_F {
magazines[] = { magazines[] = {
"100Rnd_65x39_caseless_mag_Tracer", "100Rnd_65x39_caseless_mag_Tracer",
@ -120,13 +103,6 @@ class CfgWeapons {
initSpeed = -1.0; initSpeed = -1.0;
ACE_barrelTwist=228.6; ACE_barrelTwist=228.6;
ACE_barrelLength=406.4; ACE_barrelLength=406.4;
class WeaponSlotsInfo: WeaponSlotsInfo {
class MuzzleSlot: MuzzleSlot {
// Shit is broken again
//compatibleItems[] += {"ACE_muzzle_mzls_H"};
compatibleItems[] = {"muzzle_snds_H","muzzle_snds_H_SW","ACE_muzzle_mzls_H"};
};
};
}; };
class arifle_MXM_F: arifle_MX_Base_F { class arifle_MXM_F: arifle_MX_Base_F {
magazines[] = { magazines[] = {
@ -150,13 +126,7 @@ class CfgWeapons {
/* Katiba */ /* Katiba */
class arifle_katiba_Base_F: Rifle_Base_F { class arifle_katiba_Base_F: Rifle_Base_F {};
class WeaponSlotsInfo: WeaponSlotsInfo {
class MuzzleSlot: MuzzleSlot {
compatibleItems[] += {"ACE_muzzle_mzls_H"};
};
};
};
/* Other */ /* Other */
@ -167,42 +137,16 @@ class CfgWeapons {
"ACE_200Rnd_65x39_cased_Box_Tracer_Dim" "ACE_200Rnd_65x39_cased_Box_Tracer_Dim"
}; };
initSpeed = -0.9763; initSpeed = -0.9763;
class WeaponSlotsInfo: WeaponSlotsInfo {
class MuzzleSlot: MuzzleSlot {
compatibleItems[] += {"ACE_muzzle_mzls_H"};
};
};
ACE_barrelTwist=177.8; ACE_barrelTwist=177.8;
ACE_barrelLength=317.5; ACE_barrelLength=317.5;
}; };
class LMG_Zafir_F: Rifle_Long_Base_F { class LMG_Zafir_F: Rifle_Long_Base_F {
initSpeed = -1.0; initSpeed = -1.0;
class WeaponSlotsInfo: WeaponSlotsInfo {
class MuzzleSlot: MuzzleSlot {
compatibleItems[] += {"ACE_muzzle_mzls_B"};
};
};
ACE_barrelTwist=304.8; ACE_barrelTwist=304.8;
ACE_barrelLength=459.74; ACE_barrelLength=459.74;
}; };
class Tavor_base_F: Rifle_Base_F {};
class mk20_base_F: Rifle_Base_F {};
/* Assault Rifles */
class Tavor_base_F: Rifle_Base_F {
class WeaponSlotsInfo: WeaponSlotsInfo {
class MuzzleSlot: MuzzleSlot {
compatibleItems[] += {"ACE_muzzle_mzls_L"};
};
};
};
class mk20_base_F: Rifle_Base_F {
class WeaponSlotsInfo: WeaponSlotsInfo {
class MuzzleSlot: MuzzleSlot {
compatibleItems[] += {"ACE_muzzle_mzls_L"};
};
};
};
/* SMGs */ /* SMGs */
class SDAR_base_F: Rifle_Base_F { class SDAR_base_F: Rifle_Base_F {
@ -219,93 +163,43 @@ class CfgWeapons {
dispersion = 0.0008727; // radians. Equal to 3 MOA. dispersion = 0.0008727; // radians. Equal to 3 MOA.
}; };
}; };
class pdw2000_base_F: Rifle_Base_F { class pdw2000_base_F: Rifle_Base_F {};
class WeaponSlotsInfo: WeaponSlotsInfo { class SMG_01_Base: Rifle_Base_F {};
class MuzzleSlot: MuzzleSlot { class SMG_02_base_F: Rifle_Base_F {};
compatibleItems[] += {"ACE_muzzle_mzls_smg_02"};
};
};
};
class SMG_01_Base: Rifle_Base_F {
class WeaponSlotsInfo: WeaponSlotsInfo {
class MuzzleSlot: MuzzleSlot {
compatibleItems[] += {"ACE_muzzle_mzls_smg_01"};
};
};
};
class SMG_02_base_F: Rifle_Base_F {
class WeaponSlotsInfo: WeaponSlotsInfo {
class MuzzleSlot: MuzzleSlot {
compatibleItems[] += {"ACE_muzzle_mzls_smg_02"};
};
};
};
/* Pistols */ /* Pistols */
class Pistol; class Pistol;
class Pistol_Base_F: Pistol { class Pistol_Base_F: Pistol {};
class WeaponSlotsInfo;
};
class hgun_P07_F: Pistol_Base_F { class hgun_P07_F: Pistol_Base_F {
initSpeed = -0.9778; initSpeed = -0.9778;
ACE_barrelTwist=254.0; ACE_barrelTwist=254.0;
ACE_barrelLength=101.6; ACE_barrelLength=101.6;
class WeaponSlotsInfo: WeaponSlotsInfo {
class MuzzleSlot: MuzzleSlot {
linkProxy = "\A3\data_f\proxies\weapon_slots\MUZZLE";
compatibleItems[] += {"ACE_muzzle_mzls_smg_02"};
};
};
}; };
class hgun_Rook40_F: Pistol_Base_F { class hgun_Rook40_F: Pistol_Base_F {
initSpeed = -1.0; initSpeed = -1.0;
ACE_barrelTwist=254.0; ACE_barrelTwist=254.0;
ACE_barrelLength=111.76; ACE_barrelLength=111.76;
class WeaponSlotsInfo: WeaponSlotsInfo {
class MuzzleSlot: MuzzleSlot {
linkProxy = "\A3\data_f\proxies\weapon_slots\MUZZLE";
compatibleItems[] += {"ACE_muzzle_mzls_smg_02"};
};
};
}; };
class hgun_ACPC2_F: Pistol_Base_F { class hgun_ACPC2_F: Pistol_Base_F {
initSpeed = -1.0; initSpeed = -1.0;
ACE_barrelTwist=406.4; ACE_barrelTwist=406.4;
ACE_barrelLength=127.0; ACE_barrelLength=127.0;
class WeaponSlotsInfo: WeaponSlotsInfo {
class MuzzleSlot: MuzzleSlot {
compatibleItems[] += {"ACE_muzzle_mzls_smg_01"};
};
};
}; };
class hgun_Pistol_heavy_01_F: Pistol_Base_F { class hgun_Pistol_heavy_01_F: Pistol_Base_F {
initSpeed = -0.96; initSpeed = -0.96;
ACE_barrelTwist=406.4; ACE_barrelTwist=406.4;
ACE_barrelLength=114.3; ACE_barrelLength=114.3;
class WeaponSlotsInfo: WeaponSlotsInfo {
class MuzzleSlot: MuzzleSlot {
compatibleItems[] += {"ACE_muzzle_mzls_smg_01"};
};
};
}; };
class hgun_Pistol_heavy_02_F: Pistol_Base_F { class hgun_Pistol_heavy_02_F: Pistol_Base_F {
initSpeed = -0.92; initSpeed = -0.92;
ACE_barrelTwist=406.4; ACE_barrelTwist=406.4;
ACE_barrelLength=76.2; ACE_barrelLength=76.2;
/*
class WeaponSlotsInfo: WeaponSlotsInfo {
class MuzzleSlot {
linkProxy = "\A3\data_f\proxies\weapon_slots\MUZZLE";
compatibleItems[] += {"ACE_muzzle_mzls_smg_01"};
};
};
*/
}; };
class hgun_PDW2000_F: pdw2000_base_F { class hgun_PDW2000_F: pdw2000_base_F {
initSpeed = -1.157; initSpeed = -1.157;

View File

@ -0,0 +1,30 @@
class Cfg3DEN {
class Object {
class AttributeCategories {
class ace_attributes {
class Attributes {
class ace_isHandcuffed {
property = QUOTE(ace_isHandcuffed);
control = "Checkbox";
displayName = CSTRING(ModuleHandcuffed_DisplayName);
tooltip = CSTRING(ModuleHandcuffed_Description);
expression = QUOTE([ARR_2(_this,_value)]call FUNC(setHandcuffed));
typeName = "BOOL";
condition = "objectBrain";
defaultValue = false;
};
class ace_isSurrendered {
property = QUOTE(ace_isSurrendered);
control = "Checkbox";
displayName = CSTRING(ModuleSurrender_DisplayName);
tooltip = CSTRING(ModuleSurrender_Description);
expression = QUOTE([ARR_2(_this,_value)]call FUNC(setSurrendered));
typeName = "BOOL";
condition = "objectBrain";
defaultValue = false;
};
};
};
};
};
};

View File

@ -1,3 +1,10 @@
class Extended_PreStart_EventHandlers {
class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_preStart));
};
};
class Extended_PreInit_EventHandlers { class Extended_PreInit_EventHandlers {
class ADDON { class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_preInit)); init = QUOTE(call COMPILE_FILE(XEH_preInit));
@ -9,6 +16,13 @@ class Extended_PostInit_EventHandlers {
init = QUOTE(call COMPILE_FILE(XEH_postInit)); init = QUOTE(call COMPILE_FILE(XEH_postInit));
}; };
}; };
class Extended_DisplayUnload_EventHandlers {
class RscDisplayCurator {
ADDON = QUOTE(call FUNC(handleZeusDisplayChanged));
};
};
//release escorted captive when entering a vehicle //release escorted captive when entering a vehicle
class Extended_GetIn_EventHandlers { class Extended_GetIn_EventHandlers {
class All { class All {

View File

@ -0,0 +1,30 @@
PREP(canApplyHandcuffs);
PREP(canEscortCaptive);
PREP(canFriskPerson);
PREP(canLoadCaptive);
PREP(canRemoveHandcuffs);
PREP(canStopEscorting);
PREP(canSurrender);
PREP(canUnloadCaptive);
PREP(doApplyHandcuffs);
PREP(doEscortCaptive);
PREP(doFriskPerson);
PREP(doLoadCaptive);
PREP(doRemoveHandcuffs);
PREP(doUnloadCaptive);
PREP(findEmptyNonFFVCargoSeat);
PREP(handleGetIn);
PREP(handleGetOut);
PREP(handleOnUnconscious);
PREP(handlePlayerChanged);
PREP(handleRespawn);
PREP(handleUnitInitPost);
PREP(handleZeusDisplayChanged);
PREP(moduleHandcuffed);
PREP(moduleSettings);
PREP(moduleSurrender);
PREP(setHandcuffed);
PREP(setSurrendered);
PREP(vehicleCaptiveMoveIn);
PREP(vehicleCaptiveMoveOut);

View File

@ -18,7 +18,6 @@ if (isServer) then {
}]; }];
}; };
["zeusDisplayChanged", {_this call FUNC(handleZeusDisplayChanged)}] call EFUNC(common,addEventHandler);
["playerChanged", {_this call FUNC(handlePlayerChanged)}] call EFUNC(common,addEventhandler); ["playerChanged", {_this call FUNC(handlePlayerChanged)}] call EFUNC(common,addEventhandler);
["MoveInCaptive", {_this call FUNC(vehicleCaptiveMoveIn)}] call EFUNC(common,addEventHandler); ["MoveInCaptive", {_this call FUNC(vehicleCaptiveMoveIn)}] call EFUNC(common,addEventHandler);
["MoveOutCaptive", {_this call FUNC(vehicleCaptiveMoveOut)}] call EFUNC(common,addEventHandler); ["MoveOutCaptive", {_this call FUNC(vehicleCaptiveMoveOut)}] call EFUNC(common,addEventHandler);

View File

@ -2,35 +2,7 @@
ADDON = false; ADDON = false;
PREP(canApplyHandcuffs); #include "XEH_PREP.hpp"
PREP(canEscortCaptive);
PREP(canFriskPerson);
PREP(canLoadCaptive);
PREP(canRemoveHandcuffs);
PREP(canStopEscorting);
PREP(canSurrender);
PREP(canUnloadCaptive);
PREP(doApplyHandcuffs);
PREP(doEscortCaptive);
PREP(doFriskPerson);
PREP(doLoadCaptive);
PREP(doRemoveHandcuffs);
PREP(doUnloadCaptive);
PREP(findEmptyNonFFVCargoSeat);
PREP(handleGetIn);
PREP(handleGetOut);
PREP(handleOnUnconscious);
PREP(handlePlayerChanged);
PREP(handleRespawn);
PREP(handleUnitInitPost);
PREP(handleZeusDisplayChanged);
PREP(moduleHandcuffed);
PREP(moduleSettings);
PREP(moduleSurrender);
PREP(setHandcuffed);
PREP(setSurrendered);
PREP(vehicleCaptiveMoveIn);
PREP(vehicleCaptiveMoveOut);
GVAR(captivityEnabled) = false; GVAR(captivityEnabled) = false;

View File

@ -0,0 +1,3 @@
#include "script_component.hpp"
#include "XEH_PREP.hpp"

View File

@ -17,3 +17,4 @@ class CfgPatches {
#include "CfgMoves.hpp" #include "CfgMoves.hpp"
#include "CfgVehicles.hpp" #include "CfgVehicles.hpp"
#include "CfgWeapons.hpp" #include "CfgWeapons.hpp"
#include "CfgEden.hpp"

View File

@ -17,15 +17,10 @@
*/ */
#include "script_component.hpp" #include "script_component.hpp"
params ["_unit","_zeusIsOpen"]; if ((ACE_player getVariable [QGVAR(isHandcuffed), false]) || {ACE_player getVariable [QGVAR(isSurrendering), false]}) then {
TRACE_1("Player Change (showHUD false)",ACE_player);
//set showHUD based on unit status: ["captive", [false, false, false, false, false, false, false, false]] call EFUNC(common,showHud);
if (!_zeusIsOpen) then { } else {
if ((_unit getVariable [QGVAR(isHandcuffed), false]) || {_unit getVariable [QGVAR(isSurrendering), false]}) then { TRACE_1("Player Change (showHUD true)",ACE_player);
TRACE_1("Player Change (showHUD false)",_unit); ["captive", []] call EFUNC(common,showHud); //same as showHud true;
["captive", [false, false, false, false, false, false, false, false]] call EFUNC(common,showHud);
} else {
TRACE_1("Player Change (showHUD true)",_unit);
["captive", []] call EFUNC(common,showHud); //same as showHud true;
};
}; };

View File

@ -1,3 +1,10 @@
class Extended_PreStart_EventHandlers {
class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_preStart));
};
};
class Extended_PreInit_EventHandlers { class Extended_PreInit_EventHandlers {
class ADDON { class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_preInit)); init = QUOTE(call COMPILE_FILE(XEH_preInit));

View File

@ -53,7 +53,7 @@ class CfgVehicles {
}; };
}; };
class ModuleDescription: ModuleDescription { class ModuleDescription: ModuleDescription {
description = CSTRING(module_MakeLoadable_description); description = CSTRING(makeLoadable_description);
sync[] = {"AnyStaticObject"}; sync[] = {"AnyStaticObject"};
}; };
}; };

20
addons/cargo/XEH_PREP.hpp Normal file
View File

@ -0,0 +1,20 @@
PREP(addCargoItem);
PREP(canLoad);
PREP(canLoadItemIn);
PREP(canUnloadItem);
PREP(findNearestVehicle);
PREP(getCargoSpaceLeft);
PREP(getSizeItem);
PREP(handleDestroyed);
PREP(initObject);
PREP(initVehicle);
PREP(loadItem);
PREP(makeLoadable);
PREP(moduleMakeLoadable);
PREP(moduleSettings);
PREP(onMenuOpen);
PREP(startLoadIn);
PREP(startUnload);
PREP(unloadItem);
PREP(validateCargoSpace);

View File

@ -2,25 +2,7 @@
ADDON = false; ADDON = false;
PREP(addCargoItem); #include "XEH_PREP.hpp"
PREP(canLoad);
PREP(canLoadItemIn);
PREP(canUnloadItem);
PREP(findNearestVehicle);
PREP(getCargoSpaceLeft);
PREP(getSizeItem);
PREP(handleDestroyed);
PREP(initObject);
PREP(initVehicle);
PREP(loadItem);
PREP(makeLoadable);
PREP(moduleMakeLoadable);
PREP(moduleSettings);
PREP(onMenuOpen);
PREP(startLoadIn);
PREP(startUnload);
PREP(unloadItem);
PREP(validateCargoSpace);
GVAR(initializedItemClasses) = []; GVAR(initializedItemClasses) = [];
GVAR(initializedVehicleClasses) = []; GVAR(initializedVehicleClasses) = [];

View File

@ -0,0 +1,3 @@
#include "script_component.hpp"
#include "XEH_PREP.hpp"

View File

@ -165,6 +165,7 @@
</Key> </Key>
<Key ID="STR_ACE_Cargo_makeLoadable_setSize_displayName"> <Key ID="STR_ACE_Cargo_makeLoadable_setSize_displayName">
<English>Object's Size</English> <English>Object's Size</English>
<German>Objektgröße</German>
<Polish>Rozmiar obiektu</Polish> <Polish>Rozmiar obiektu</Polish>
<Italian>Dimensioni dell'oggetto</Italian> <Italian>Dimensioni dell'oggetto</Italian>
</Key> </Key>

View File

@ -1,4 +1,10 @@
class Extended_PreStart_EventHandlers {
class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_preStart));
};
};
class Extended_PreInit_EventHandlers { class Extended_PreInit_EventHandlers {
class ADDON { class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_preInit)); init = QUOTE(call COMPILE_FILE(XEH_preInit));
@ -13,6 +19,12 @@ class Extended_PostInit_EventHandlers {
}; };
}; };
class Extended_DisplayLoad_EventHandlers {
class RscDisplayMission {
ADDON = QUOTE(_this call COMPILE_FILE(XEH_mainDislayLoad));
};
};
class Extended_InitPost_EventHandlers { class Extended_InitPost_EventHandlers {
class All { class All {
class GVAR(executePersistent) { class GVAR(executePersistent) {

View File

@ -1,7 +1,7 @@
class RscInGameUI { class RscInGameUI {
class RscUnitInfo { class RscUnitInfo {
onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf""; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call FUNC(localEvent);); onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Any')])] call FUNC(localEvent););
}; };
class RscUnitInfoNoHUD { class RscUnitInfoNoHUD {
@ -9,19 +9,19 @@ class RscInGameUI {
}; };
class RscUnitInfoSoldier: RscUnitInfo { class RscUnitInfoSoldier: RscUnitInfo {
onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf""; uiNamespace setVariable [ARR_2('ACE_dlgSoldier', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Soldier')])] call FUNC(localEvent);); onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgSoldier', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Soldier')])] call FUNC(localEvent););
}; };
class RscUnitInfoTank: RscUnitInfo { class RscUnitInfoTank: RscUnitInfo {
onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf""; uiNamespace setVariable [ARR_2('ACE_dlgVehicle', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Vehicle')])] call FUNC(localEvent);); onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgVehicle', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Vehicle')])] call FUNC(localEvent););
}; };
class RscUnitInfoAirNoWeapon: RscUnitInfo { class RscUnitInfoAirNoWeapon: RscUnitInfo {
onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf""; uiNamespace setVariable [ARR_2('ACE_dlgAircraft', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Aircraft')])] call FUNC(localEvent);); onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgAircraft', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Aircraft')])] call FUNC(localEvent););
}; };
class RscUnitInfoAir: RscUnitInfoAirNoWeapon { class RscUnitInfoAir: RscUnitInfoAirNoWeapon {
onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf""; uiNamespace setVariable [ARR_2('ACE_dlgAircraft', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Aircraft')])] call FUNC(localEvent);); onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgAircraft', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Aircraft')])] call FUNC(localEvent););
}; };
class RscUnitInfo_AH64D_gunner { class RscUnitInfo_AH64D_gunner {
@ -33,11 +33,11 @@ class RscInGameUI {
}; };
class RscUnitInfoSubmarine: RscUnitInfo { class RscUnitInfoSubmarine: RscUnitInfo {
onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf""; uiNamespace setVariable [ARR_2('ACE_dlgSubmarine', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Submarine')])] call FUNC(localEvent);); onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgSubmarine', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Submarine')])] call FUNC(localEvent););
}; };
class RscUnitInfoShip: RscUnitInfo { class RscUnitInfoShip: RscUnitInfo {
onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf""; uiNamespace setVariable [ARR_2('ACE_dlgShip', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Ship')])] call FUNC(localEvent);); onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgShip', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Ship')])] call FUNC(localEvent););
}; };
class RscWeaponEmpty { class RscWeaponEmpty {
@ -97,7 +97,7 @@ class RscInGameUI {
}; };
class RscUnitInfoParachute: RscUnitInfo { class RscUnitInfoParachute: RscUnitInfo {
onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf""; uiNamespace setVariable [ARR_2('ACE_dlgParachute', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Parachute')])] call FUNC(localEvent);); onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscUnitInfo"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgParachute', _this select 0)]; [ARR_2('infoDisplayChanged', [ARR_2(_this select 0, 'Parachute')])] call FUNC(localEvent););
}; };
class RscUnitVehicle { class RscUnitVehicle {
@ -112,25 +112,3 @@ class RscInGameUI {
onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscStaminaBar"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2(QUOTE(QGVAR(dlgStaminaBar)),_this select 0)]); onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscStaminaBar"",'IGUI')] call (uinamespace getvariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2(QUOTE(QGVAR(dlgStaminaBar)),_this select 0)]);
}; };
}; };
class RscDisplayInventory {
onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscDisplayInventory"",'IGUI')] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf""; [ARR_2('inventoryDisplayLoaded', _this)] call FUNC(localEvent););
};
// map
class RscDisplayMainMap {
onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscDiary"",'GUI')] call (uinamespace getVariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgMap', _this select 0)]; [ARR_2('mapDisplayLoaded', [ARR_2(_this select 0, 'Ingame')])] call FUNC(localEvent););
};
class RscDisplayGetReady: RscDisplayMainMap {
onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscDiary"",'GUI')] call (uinamespace getVariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgMap', _this select 0)]; [ARR_2('mapDisplayLoaded', [ARR_2(_this select 0, 'Briefing')])] call FUNC(localEvent););
};
class RscDisplayServerGetReady: RscDisplayGetReady {
onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscDiary"",'GUI')] call (uinamespace getVariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgMap', _this select 0)]; [ARR_2('mapDisplayLoaded', [ARR_2(_this select 0, 'ServerBriefing')])] call FUNC(localEvent););
};
class RscDisplayClientGetReady: RscDisplayGetReady {
onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscDiary"",'GUI')] call (uinamespace getVariable 'BIS_fnc_initDisplay'); uiNamespace setVariable [ARR_2('ACE_dlgMap', _this select 0)]; [ARR_2('mapDisplayLoaded', [ARR_2(_this select 0, 'ClientBriefing')])] call FUNC(localEvent););
};

284
addons/common/XEH_PREP.hpp Normal file
View File

@ -0,0 +1,284 @@
PREP(addCanInteractWithCondition);
PREP(addLineToDebugDraw);
PREP(addSetting);
PREP(addToInventory);
PREP(assignedItemFix);
PREP(assignObjectsInList);
PREP(ambientBrightness);
PREP(ASLToPosition);
PREP(binarizeNumber);
PREP(blurScreen);
PREP(cachedCall);
PREP(canGetInPosition);
PREP(canInteractWith);
PREP(changeProjectileDirection);
PREP(checkFiles);
PREP(checkPBOs);
PREP(claim);
PREP(codeToString);
PREP(createOrthonormalReference);
PREP(currentChannel);
PREP(debug);
PREP(debugModule);
PREP(defineVariable);
PREP(deviceKeyFindValidIndex);
PREP(deviceKeyRegisterNew);
PREP(disableAI);
PREP(disableUserInput);
PREP(displayIcon);
PREP(displayText);
PREP(displayTextPicture);
PREP(displayTextStructured);
PREP(doAnimation);
PREP(dropBackpack);
PREP(endRadioTransmission);
PREP(eraseCache);
PREP(errorMessage);
PREP(execNextFrame);
PREP(execPersistentFnc);
PREP(execRemoteFnc);
PREP(executePersistent);
PREP(filter);
PREP(findUnloadPosition);
PREP(firedEH);
PREP(fixCollision);
PREP(fixFloating);
PREP(fixLoweredRifleAnimation);
PREP(fixPosition);
PREP(getAllDefinedSetVariables);
PREP(getAllGear);
PREP(getDeathAnim);
PREP(getCaptivityStatus);
PREP(getDefaultAnim);
PREP(getDefinedVariable);
PREP(getDefinedVariableDefault);
PREP(getDefinedVariableInfo);
PREP(getFirstObjectIntersection);
PREP(getFirstTerrainIntersection);
PREP(getForceWalkStatus);
PREP(getGunner);
PREP(getInPosition);
PREP(getMapGridData);
PREP(getMapGridFromPos);
PREP(getMapPosFromGrid);
PREP(getMarkerType);
PREP(getMGRSdata);
PREP(getName);
PREP(getNumberFromMissionSQM);
PREP(getNumberMagazinesIn);
PREP(getPitchBankYaw);
PREP(getSettingData);
PREP(getStaminaBarControl);
PREP(getStringFromMissionSQM);
PREP(getTargetAzimuthAndInclination);
PREP(getTargetDistance);
PREP(getTargetObject);
PREP(getTurnedOnLights);
PREP(getTurretDirection);
PREP(getUavControlPosition);
PREP(getVehicleCargo);
PREP(getVehicleCodriver);
PREP(getVersion);
PREP(getWeaponAzimuthAndInclination);
PREP(getWeaponIndex);
PREP(getWeaponState);
PREP(getWindDirection);
PREP(getZoom);
PREP(goKneeling);
PREP(hadamardProduct);
PREP(handleModifierKey);
PREP(handleModifierKeyUp);
PREP(handleScrollWheel);
PREP(hasItem);
PREP(hasMagazine);
PREP(headBugFix);
PREP(hideUnit);
PREP(insertionSort);
PREP(interpolateFromArray);
PREP(inTransitionAnim);
PREP(isAutoWind);
PREP(isAwake);
PREP(isEngineer);
PREP(isEOD);
PREP(isFeatureCameraActive);
PREP(isInBuilding);
PREP(isModLoaded);
PREP(isPlayer);
PREP(isUnderwater);
PREP(lightIntensityFromObject);
PREP(loadPerson);
PREP(loadPersonLocal);
PREP(loadSettingsFromProfile);
PREP(loadSettingsOnServer);
PREP(loadSettingsLocalizedText);
PREP(map);
PREP(moduleCheckPBOs);
PREP(moduleLSDVehicles);
PREP(muteUnit);
PREP(muteUnitHandleInitPost);
PREP(muteUnitHandleRespawn);
PREP(numberToDigits);
PREP(numberToDigitsString);
PREP(numberToString);
PREP(onAnswerRequest);
PREP(owned);
PREP(parseList);
PREP(player);
PREP(playerSide);
PREP(positionToASL);
PREP(progressBar);
PREP(readSettingFromModule);
PREP(readSettingsFromParamsArray);
PREP(receiveRequest);
PREP(removeCanInteractWithCondition);
PREP(removeSpecificMagazine);
PREP(requestCallback);
PREP(resetAllDefaults);
PREP(restoreVariablesJIP);
PREP(runAfterSettingsInit);
PREP(sanitizeString);
PREP(sendRequest);
PREP(serverLog);
PREP(setAllGear);
PREP(setApproximateVariablePublic);
PREP(setCaptivityStatus);
PREP(setDefinedVariable);
PREP(setDisableUserInputStatus);
PREP(setForceWalkStatus);
PREP(setHearingCapability);
PREP(setName);
PREP(setParameter);
PREP(setPitchBankYaw);
PREP(setProne);
PREP(setSetting);
PREP(setSettingFromConfig);
PREP(setVariableJIP);
PREP(setVariablePublic);
PREP(setVolume);
PREP(showHud);
PREP(statusEffect_addType);
PREP(statusEffect_get);
PREP(statusEffect_localEH);
PREP(statusEffect_resetVariables);
PREP(statusEffect_respawnEH);
PREP(statusEffect_sendEffects);
PREP(statusEffect_set);
PREP(stringCompare);
PREP(stringToColoredText);
PREP(stringRemoveWhiteSpace);
PREP(switchToGroupSide);
PREP(throttledPublicVariable);
PREP(toBin);
PREP(toBitmask);
PREP(toHex);
PREP(toNumber);
PREP(unhideUnit);
PREP(uniqueElements);
PREP(unloadPerson);
PREP(unloadPersonLocal);
PREP(unmuteUnit);
PREP(useItem);
PREP(useMagazine);
PREP(waitAndExecute);
PREP(waitUntilAndExecute);
PREP(waveHeightAt);
PREP(translateToWeaponSpace);
PREP(translateToModelSpace);
// Model and drawing helpers
PREP(worldToScreenBounds);
// config items
PREP(getConfigType);
PREP(getItemType);
PREP(getWeaponType);
PREP(getWeaponModes);
PREP(getWeaponMuzzles);
// config objects
PREP(getConfigTypeObject);
PREP(getConfigGunner);
PREP(getConfigCommander);
PREP(getSelectionsWithoutHitPoints);
PREP(getReflectorsWithSelections);
PREP(getLightProperties);
PREP(getLightPropertiesWeapon);
PREP(getVehicleCrew);
PREP(getVehicleUAVCrew);
// turrets
PREP(getTurrets);
PREP(getTurretIndex);
PREP(getTurretConfigPath);
PREP(getTurretGunner);
PREP(getTurretCommander);
PREP(getTurretCopilot);
PREP(getDoorTurrets);
PREP(getTurretsFFV);
PREP(getTurretsOther);
PREP(hasHatch);
// missing inventory commands
PREP(binocularMagazine);
PREP(removeBinocularMagazine);
// ACE_Debug
PREP(exportConfig);
PREP(getChildren);
PREP(getDisplayConfigName);
PREP(monitor);
PREP(showUser);
PREP(dumpPerformanceCounters);
PREP(dumpArray);
// ACE_CuratorFix
PREP(addCuratorUnloadEventhandler);
PREP(fixCrateContent);
PREP(globalEvent);
PREP(_handleNetEvent);
PREP(addEventHandler);
PREP(targetEvent);
PREP(serverEvent);
PREP(localEvent);
PREP(removeEventHandler);
PREP(removeAlLEventHandlers);
// Synchronized Events
PREP(syncedEventPFH);
PREP(addSyncedEventHandler);
PREP(removeSyncedEventHandler);
PREP(requestSyncedEvent);
PREP(syncedEvent);
PREP(_handleSyncedEvent);
PREP(_handleRequestSyncedEvent);
PREP(_handleRequestAllSyncedEvents);
// other eventhandlers
PREP(addActionEventHandler);
PREP(addActionMenuEventHandler);
PREP(addScrollWheelEventHandler);
PREP(addMapMarkerCreatedEventHandler);
PREP(removeActionEventHandler);
PREP(removeActionMenuEventHandler);
PREP(removeScrollWheelEventHandler);
PREP(removeMapMarkerCreatedEventHandler);
// hashes
PREP(hashCreate);
PREP(hashSet);
PREP(hashGet);
PREP(hashHasKey);
PREP(hashRem);
PREP(hashListCreateList);
PREP(hashListCreateHash);
PREP(hashListSelect);
PREP(hashListSet);
PREP(hashListPush);
PREP(timePFH);

View File

@ -0,0 +1,6 @@
#include "script_component.hpp"
GVAR(ScrollWheelFrame) = diag_frameno;
call COMPILE_FILE(init_handleScrollWheel);
call COMPILE_FILE(init_handleModifierKey);

View File

@ -290,31 +290,6 @@ if (!hasInterface) exitWith {};
call FUNC(assignedItemFix); call FUNC(assignedItemFix);
GVAR(ScrollWheelFrame) = diag_frameno;
["mainDisplayLoaded", {
[{
call FUNC(handleScrollWheelInit);
call FUNC(handleModifierKeyInit);
}, [], 0.1] call FUNC(waitAndExecute); // needs delay, otherwise doesn't work without pressing "RESTART" in editor once. Tested in 1.52RC
}] call FUNC(addEventHandler);
// add PFH to execute event that fires when the main display (46) is created
private _fnc_initMainDisplayCheck = {
[{
if !(isNull findDisplay 46) then {
// Raise ACE event locally
["mainDisplayLoaded", [findDisplay 46]] call FUNC(localEvent);
[_this select 1] call CBA_fnc_removePerFrameHandler;
};
}, 0, []] call CBA_fnc_addPerFrameHandler;
};
call _fnc_initMainDisplayCheck;
// repeat this every time a savegame is loaded
addMissionEventHandler ["Loaded", _fnc_initMainDisplayCheck];
// @todo remove? // @todo remove?
enableCamShake true; enableCamShake true;
@ -341,17 +316,6 @@ enableCamShake true;
// Set up numerous eventhanders for player controlled units // Set up numerous eventhanders for player controlled units
////////////////////////////////////////////////// //////////////////////////////////////////////////
//CBA has events for zeus's display onLoad and onUnload (Need to delay a frame for display to be ready)
private _zeusDisplayChangedFNC = {
[{
private _data = !(isNull findDisplay 312);
["zeusDisplayChanged", [ACE_player, _data]] call FUNC(localEvent);
}, []] call FUNC(execNextFrame);
};
["CBA_curatorOpened", _zeusDisplayChangedFNC] call CBA_fnc_addEventHandler;
["CBA_curatorClosed", _zeusDisplayChangedFNC] call CBA_fnc_addEventHandler;
// default variables // default variables
GVAR(OldPlayerVehicle) = vehicle objNull; GVAR(OldPlayerVehicle) = vehicle objNull;
GVAR(OldPlayerTurret) = [objNull] call FUNC(getTurretIndex); GVAR(OldPlayerTurret) = [objNull] call FUNC(getTurretIndex);
@ -441,14 +405,6 @@ if (!isNil QGVAR(PreInit_playerChanged_PFHID)) then {
["visibleMapChanged", [ACE_player, _data]] call FUNC(localEvent); ["visibleMapChanged", [ACE_player, _data]] call FUNC(localEvent);
}; };
// "inventoryDisplayChanged" event
_data = !(isNull findDisplay 602);
if !(_data isEqualTo GVAR(OldInventoryDisplayIsOpen)) then {
// Raise ACE event locally
GVAR(OldInventoryDisplayIsOpen) = _data;
["inventoryDisplayChanged", [ACE_player, _data]] call FUNC(localEvent);
};
// "activeCameraChanged" event // "activeCameraChanged" event
_data = call FUNC(isfeatureCameraActive); _data = call FUNC(isfeatureCameraActive);
if !(_data isEqualTo GVAR(OldIsCamera)) then { if !(_data isEqualTo GVAR(OldIsCamera)) then {

View File

@ -3,294 +3,12 @@
ADDON = false; ADDON = false;
PREP(addCanInteractWithCondition); #include "XEH_PREP.hpp"
PREP(addLineToDebugDraw);
PREP(addSetting);
PREP(addToInventory);
PREP(assignedItemFix);
PREP(assignObjectsInList);
PREP(ambientBrightness);
PREP(ASLToPosition);
PREP(binarizeNumber);
PREP(blurScreen);
PREP(cachedCall);
PREP(canGetInPosition);
PREP(canInteractWith);
PREP(changeProjectileDirection);
PREP(checkFiles);
PREP(checkPBOs);
PREP(claim);
PREP(codeToString);
PREP(createOrthonormalReference);
PREP(currentChannel);
PREP(debug);
PREP(debugModule);
PREP(defineVariable);
PREP(deviceKeyFindValidIndex);
PREP(deviceKeyRegisterNew);
PREP(disableAI);
PREP(disableUserInput);
PREP(displayIcon);
PREP(displayText);
PREP(displayTextPicture);
PREP(displayTextStructured);
PREP(doAnimation);
PREP(dropBackpack);
PREP(endRadioTransmission);
PREP(eraseCache);
PREP(errorMessage);
PREP(execNextFrame);
PREP(execPersistentFnc);
PREP(execRemoteFnc);
PREP(executePersistent);
PREP(filter);
PREP(findUnloadPosition);
PREP(firedEH);
PREP(fixCollision);
PREP(fixFloating);
PREP(fixLoweredRifleAnimation);
PREP(fixPosition);
PREP(getAllDefinedSetVariables);
PREP(getAllGear);
PREP(getDeathAnim);
PREP(getCaptivityStatus);
PREP(getDefaultAnim);
PREP(getDefinedVariable);
PREP(getDefinedVariableDefault);
PREP(getDefinedVariableInfo);
PREP(getFirstObjectIntersection);
PREP(getFirstTerrainIntersection);
PREP(getForceWalkStatus);
PREP(getGunner);
PREP(getInPosition);
PREP(getMapGridData);
PREP(getMapGridFromPos);
PREP(getMapPosFromGrid);
PREP(getMarkerType);
PREP(getMGRSdata);
PREP(getName);
PREP(getNumberFromMissionSQM);
PREP(getNumberMagazinesIn);
PREP(getPitchBankYaw);
PREP(getSettingData);
PREP(getStaminaBarControl);
PREP(getStringFromMissionSQM);
PREP(getTargetAzimuthAndInclination);
PREP(getTargetDistance);
PREP(getTargetObject);
PREP(getTurnedOnLights);
PREP(getTurretDirection);
PREP(getUavControlPosition);
PREP(getVehicleCargo);
PREP(getVehicleCodriver);
PREP(getVersion);
PREP(getWeaponAzimuthAndInclination);
PREP(getWeaponIndex);
PREP(getWeaponState);
PREP(getWindDirection);
PREP(getZoom);
PREP(goKneeling);
PREP(hadamardProduct);
PREP(handleModifierKey);
PREP(handleModifierKeyUp);
PREP(handleModifierKeyInit);
PREP(handleScrollWheel);
PREP(handleScrollWheelInit);
PREP(hasItem);
PREP(hasMagazine);
PREP(headBugFix);
PREP(hideUnit);
PREP(insertionSort);
PREP(interpolateFromArray);
PREP(inTransitionAnim);
PREP(isAutoWind);
PREP(isAwake);
PREP(isEngineer);
PREP(isEOD);
PREP(isFeatureCameraActive);
PREP(isInBuilding);
PREP(isModLoaded);
PREP(isPlayer);
PREP(isUnderwater);
PREP(lightIntensityFromObject);
PREP(loadPerson);
PREP(loadPersonLocal);
PREP(loadSettingsFromProfile);
PREP(loadSettingsOnServer);
PREP(loadSettingsLocalizedText);
PREP(map);
PREP(moduleCheckPBOs);
PREP(moduleLSDVehicles);
PREP(muteUnit);
PREP(muteUnitHandleInitPost);
PREP(muteUnitHandleRespawn);
PREP(numberToDigits);
PREP(numberToDigitsString);
PREP(numberToString);
PREP(onAnswerRequest);
PREP(owned);
PREP(parseList);
PREP(player);
PREP(playerSide);
PREP(positionToASL);
PREP(progressBar);
PREP(readSettingFromModule);
PREP(readSettingsFromParamsArray);
PREP(receiveRequest);
PREP(removeCanInteractWithCondition);
PREP(removeSpecificMagazine);
PREP(requestCallback);
PREP(resetAllDefaults);
PREP(restoreVariablesJIP);
PREP(runAfterSettingsInit);
PREP(sanitizeString);
PREP(sendRequest);
PREP(serverLog);
PREP(setAllGear);
PREP(setApproximateVariablePublic);
PREP(setCaptivityStatus);
PREP(setDefinedVariable);
PREP(setDisableUserInputStatus);
PREP(setForceWalkStatus);
PREP(setHearingCapability);
PREP(setName);
PREP(setParameter);
PREP(setPitchBankYaw);
PREP(setProne);
PREP(setSetting);
PREP(setSettingFromConfig);
PREP(setVariableJIP);
PREP(setVariablePublic);
PREP(setVolume);
PREP(showHud);
PREP(statusEffect_addType);
PREP(statusEffect_get);
PREP(statusEffect_localEH);
PREP(statusEffect_resetVariables);
PREP(statusEffect_respawnEH);
PREP(statusEffect_sendEffects);
PREP(statusEffect_set);
PREP(stringCompare);
PREP(stringToColoredText);
PREP(stringRemoveWhiteSpace);
PREP(switchToGroupSide);
PREP(throttledPublicVariable);
PREP(toBin);
PREP(toBitmask);
PREP(toHex);
PREP(toNumber);
PREP(unhideUnit);
PREP(uniqueElements);
PREP(unloadPerson);
PREP(unloadPersonLocal);
PREP(unmuteUnit);
PREP(useItem);
PREP(useMagazine);
PREP(waitAndExecute);
PREP(waitUntilAndExecute);
PREP(waveHeightAt);
PREP(translateToWeaponSpace);
PREP(translateToModelSpace);
// Model and drawing helpers
PREP(worldToScreenBounds);
// config items
PREP(getConfigType);
PREP(getItemType);
PREP(getWeaponType);
PREP(getWeaponModes);
PREP(getWeaponMuzzles);
// config objects
PREP(getConfigTypeObject);
PREP(getConfigGunner);
PREP(getConfigCommander);
PREP(getSelectionsWithoutHitPoints);
PREP(getReflectorsWithSelections);
PREP(getLightProperties);
PREP(getLightPropertiesWeapon);
PREP(getVehicleCrew);
PREP(getVehicleUAVCrew);
// turrets
PREP(getTurrets);
PREP(getTurretIndex);
PREP(getTurretConfigPath);
PREP(getTurretGunner);
PREP(getTurretCommander);
PREP(getTurretCopilot);
PREP(getDoorTurrets);
PREP(getTurretsFFV);
PREP(getTurretsOther);
PREP(hasHatch);
// missing inventory commands
PREP(binocularMagazine);
PREP(removeBinocularMagazine);
// ACE_Debug
PREP(exportConfig);
PREP(getChildren);
PREP(getDisplayConfigName);
PREP(monitor);
PREP(showUser);
PREP(dumpPerformanceCounters);
PREP(dumpArray);
// ACE_CuratorFix
PREP(addCuratorUnloadEventhandler);
PREP(fixCrateContent);
//ACE events global variables //ACE events global variables
GVAR(eventsLocation) = createLocation ["ACE_HashLocation", [-10000,-10000,-10000], 0, 0]; GVAR(eventsLocation) = createLocation ["ACE_HashLocation", [-10000,-10000,-10000], 0, 0];
GVAR(eventsLocation) setText QGVAR(eventsLocation); GVAR(eventsLocation) setText QGVAR(eventsLocation);
PREP(globalEvent);
PREP(_handleNetEvent);
PREP(addEventHandler);
PREP(targetEvent);
PREP(serverEvent);
PREP(localEvent);
PREP(removeEventHandler);
PREP(removeAlLEventHandlers);
// Synchronized Events
PREP(syncedEventPFH);
PREP(addSyncedEventHandler);
PREP(removeSyncedEventHandler);
PREP(requestSyncedEvent);
PREP(syncedEvent);
PREP(_handleSyncedEvent);
PREP(_handleRequestSyncedEvent);
PREP(_handleRequestAllSyncedEvents);
// other eventhandlers
PREP(addActionEventHandler);
PREP(addActionMenuEventHandler);
PREP(addScrollWheelEventHandler);
PREP(addMapMarkerCreatedEventHandler);
PREP(removeActionEventHandler);
PREP(removeActionMenuEventHandler);
PREP(removeScrollWheelEventHandler);
PREP(removeMapMarkerCreatedEventHandler);
// hashes
PREP(hashCreate);
PREP(hashSet);
PREP(hashGet);
PREP(hashHasKey);
PREP(hashRem);
PREP(hashListCreateList);
PREP(hashListCreateHash);
PREP(hashListSelect);
PREP(hashListSet);
PREP(hashListPush);
// backwards comp // backwards comp
DFUNC(canUseWeapon) = { DFUNC(canUseWeapon) = {
ACE_DEPRECATED("ace_common_fnc_canUseWeapon","3.7.0","CBA_fnc_canUseWeapon"); ACE_DEPRECATED("ace_common_fnc_canUseWeapon","3.7.0","CBA_fnc_canUseWeapon");
@ -364,7 +82,6 @@ ACE_gameTime = time;
ACE_pausedTime = 0; ACE_pausedTime = 0;
ACE_virtualPausedTime = 0; ACE_virtualPausedTime = 0;
PREP(timePFH);
[FUNC(timePFH), 0, []] call CBA_fnc_addPerFrameHandler; [FUNC(timePFH), 0, []] call CBA_fnc_addPerFrameHandler;
// Init toHex // Init toHex

View File

@ -0,0 +1,3 @@
#include "script_component.hpp"
#include "XEH_PREP.hpp"

View File

@ -8,7 +8,7 @@ class CfgPatches {
requiredAddons[] = {"ace_main","ace_modules"}; requiredAddons[] = {"ace_main","ace_modules"};
author[] = {"KoffeinFlummi"}; author[] = {"KoffeinFlummi"};
authorUrl = "https://github.com/KoffeinFlummi/"; authorUrl = "https://github.com/KoffeinFlummi/";
VERSION_CONFIG; VERSION_CONFIG_COMMON;
}; };
}; };
@ -86,14 +86,6 @@ class CfgUIGrids {
}; };
}; };
/*
// check dll
class RscStandardDisplay;
class RscDisplayMain: RscStandardDisplay {
onLoad = QUOTE([ARR_4(""onLoad"",_this,""RscDisplayMain"",'GUI')] call (uinamespace getVariable 'BIS_fnc_initDisplay'); [ARR_5('header','tail',{0},{},_this select 0)] call COMPILE_FILE(functions\fnc_errorMessage));
};
*/
class ACE_Extensions { class ACE_Extensions {
extensions[] = {}; extensions[] = {};
}; };

View File

@ -1,16 +0,0 @@
/*
* Author: commy2
* Initializes the modifier key handler.
*
* Arguments:
* None
*
* Return Value:
* None
*
* Public : No
*/
#include "script_component.hpp"
(findDisplay 46) displayAddEventHandler ["KeyDown", FUNC(handleModifierKey)];
(findDisplay 46) displayAddEventHandler ["KeyUp", FUNC(handleModifierKeyUp)];

View File

@ -0,0 +1,20 @@
/*
* Author: commy2
* Initializes the modifier key handler.
*
* Arguments:
* None
*
* Return Value:
* None
*
* Public : No
*/
#include "script_component.hpp"
disableSerialization;
params ["_display"];
_display displayAddEventHandler ["KeyDown", FUNC(handleModifierKey)];
_display displayAddEventHandler ["KeyUp", FUNC(handleModifierKeyUp)];

View File

@ -12,4 +12,8 @@
*/ */
#include "script_component.hpp" #include "script_component.hpp"
(findDisplay 46) displayAddEventHandler ["MouseZChanged", QUOTE(_this call FUNC(handleScrollWheel))]; disableSerialization;
params ["_display"];
_display displayAddEventHandler ["MouseZChanged", QUOTE(_this call FUNC(handleScrollWheel))];

View File

@ -0,0 +1,59 @@
#include "script_component.hpp"
#define MAX_COUNT 30
#define ANIM_TIME 10
private _display = findDisplay 0;
if (!scriptDone (_display getVariable [QGVAR(versionTooltip), scriptNull])) exitWith {};
_display setVariable [QGVAR(versionTooltip), [_display] spawn {
disableSerialization;
params ["_display"];
private _allControls = [];
private _fnc_create = {
private _ctrl = _display ctrlCreate ["RscPicture", -1];
// randomize size
private _size = selectRandom [safezoneW / 30, safezoneW / 20, safezoneW / 15];
private _position = [
random safezoneW + safezoneX - _size / 2,
- random (safezoneH / 5) + safezoneY - _size,
_size,
_size
];
_ctrl ctrlSetPosition _position;
_ctrl ctrlCommit 0;
// pls ignore
_ctrl ctrlSetText QUOTE(PATHTOF(data\icon_banana_ca.paa));
// animate with random speed
_position set [1, 1 - safezoneY];
_ctrl ctrlSetPosition _position;
_ctrl ctrlCommit (ANIM_TIME * random [0.5, 1, 1.5]);
_allControls pushBack _ctrl;
};
while {!isNull _display} do {
_allControls = _allControls select {
if (ctrlCommitted _x) then {
ctrlDelete _x;
false
} else {
true
};
};
while {count _allControls < MAX_COUNT} do {
call _fnc_create;
};
uiSleep 3;
};
}];

View File

@ -14,4 +14,8 @@
#define DEBUG_SETTINGS DEBUG_SETTINGS_COMMON #define DEBUG_SETTINGS DEBUG_SETTINGS_COMMON
#endif #endif
#include "\z\ace\addons\main\script_macros.hpp" #include "\z\ace\addons\main\script_macros.hpp"
#define VERSION_CONFIG_COMMON VERSION_CONFIG;\
versionDesc = "ACE 3";\
versionAct = QUOTE(call COMPILE_FILE(init_versionTooltip))

View File

@ -729,6 +729,7 @@
</Key> </Key>
<Key ID="STR_ACE_Common_ACEKeybindCategoryEquipment"> <Key ID="STR_ACE_Common_ACEKeybindCategoryEquipment">
<English>ACE3 Equipment</English> <English>ACE3 Equipment</English>
<German>ACE-Ausrüstung</German>
<Polish>ACE3 Wyposażenie</Polish> <Polish>ACE3 Wyposażenie</Polish>
<Portuguese>Equipamentos ACE3</Portuguese> <Portuguese>Equipamentos ACE3</Portuguese>
<Russian>ACE3 Снаряжение</Russian> <Russian>ACE3 Снаряжение</Russian>

View File

@ -1,3 +1,10 @@
class Extended_PreStart_EventHandlers {
class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_preStart));
};
};
class Extended_PreInit_EventHandlers { class Extended_PreInit_EventHandlers {
class ADDON { class ADDON {
init = QUOTE( call COMPILE_FILE(XEH_preInit) ); init = QUOTE( call COMPILE_FILE(XEH_preInit) );

View File

@ -0,0 +1,7 @@
PREP(deploy);
PREP(dismount);
PREP(dismountSuccess);
PREP(handleDamage);
PREP(handleKilled);
PREP(vehicleDamage);

View File

@ -2,11 +2,6 @@
ADDON = false; ADDON = false;
PREP(deploy); #include "XEH_PREP.hpp"
PREP(dismount);
PREP(dismountSuccess);
PREP(handleDamage);
PREP(handleKilled);
PREP(vehicleDamage);
ADDON = true; ADDON = true;

View File

@ -0,0 +1,3 @@
#include "script_component.hpp"
#include "XEH_PREP.hpp"

View File

@ -1,3 +1,10 @@
class Extended_PreStart_EventHandlers {
class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_preStart));
};
};
class Extended_PreInit_EventHandlers { class Extended_PreInit_EventHandlers {
class ADDON { class ADDON {
init = QUOTE( call COMPILE_FILE(XEH_preInit) ); init = QUOTE( call COMPILE_FILE(XEH_preInit) );

7
addons/dagr/XEH_PREP.hpp Normal file
View File

@ -0,0 +1,7 @@
PREP(handleRangeFinderData);
PREP(menuInit);
PREP(outputData);
PREP(outputVector);
PREP(outputWP);
PREP(toggleOverlay);

View File

@ -2,11 +2,6 @@
ADDON = false; ADDON = false;
PREP(handleRangeFinderData); #include "XEH_PREP.hpp"
PREP(menuInit);
PREP(outputData);
PREP(outputVector);
PREP(outputWP);
PREP(toggleOverlay);
ADDON = true; ADDON = true;

View File

@ -0,0 +1,3 @@
#include "script_component.hpp"
#include "XEH_PREP.hpp"

View File

@ -1,3 +1,10 @@
class Extended_PreStart_EventHandlers {
class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_preStart));
};
};
class Extended_PreInit_EventHandlers { class Extended_PreInit_EventHandlers {
class ADDON { class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_preInit)); init = QUOTE(call COMPILE_FILE(XEH_preInit));

View File

@ -0,0 +1,12 @@
PREP(canBeDisarmed);
PREP(canPlayerDisarmUnit);
PREP(disarmDropItems);
PREP(eventCallerFinish);
PREP(eventTargetFinish);
PREP(eventTargetStart);
PREP(getAllGearContainer);
PREP(getAllGearUnit);
PREP(openDisarmDialog);
PREP(showItemsInListbox);
PREP(verifyMagazinesMoved);

View File

@ -2,16 +2,6 @@
ADDON = false; ADDON = false;
PREP(canBeDisarmed); #include "XEH_PREP.hpp"
PREP(canPlayerDisarmUnit);
PREP(disarmDropItems);
PREP(eventCallerFinish);
PREP(eventTargetFinish);
PREP(eventTargetStart);
PREP(getAllGearContainer);
PREP(getAllGearUnit);
PREP(openDisarmDialog);
PREP(showItemsInListbox);
PREP(verifyMagazinesMoved);
ADDON = true; ADDON = true;

View File

@ -0,0 +1,3 @@
#include "script_component.hpp"
#include "XEH_PREP.hpp"

View File

@ -1,3 +1,10 @@
class Extended_PreStart_EventHandlers {
class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_preStart));
};
};
class Extended_PreInit_EventHandlers { class Extended_PreInit_EventHandlers {
class ADDON { class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_preInit)); init = QUOTE(call COMPILE_FILE(XEH_preInit));
@ -10,6 +17,12 @@ class Extended_PostInit_EventHandlers {
}; };
}; };
class Extended_DisplayLoad_EventHandlers {
class RscDisplayInventory {
ADDON = QUOTE([ARR_2(ACE_player, _this select 0)] call FUNC(updateInventoryDisplay));
};
};
// handle preloaded missile // handle preloaded missile
class Extended_InitPost_EventHandlers { class Extended_InitPost_EventHandlers {
class CAManBase { class CAManBase {

View File

@ -0,0 +1,4 @@
PREP(replaceATWeapon);
PREP(takeLoadedATWeapon);
PREP(updateInventoryDisplay);

View File

@ -3,10 +3,6 @@
if (!hasInterface) exitWith {}; if (!hasInterface) exitWith {};
["inventoryDisplayLoaded", {
[ACE_player, _this select 0] call FUNC(updateInventoryDisplay)
}] call EFUNC(common,addEventHandler);
["playerInventoryChanged", { ["playerInventoryChanged", {
params ["_unit"]; params ["_unit"];
[_unit] call FUNC(takeLoadedATWeapon); [_unit] call FUNC(takeLoadedATWeapon);

View File

@ -2,8 +2,6 @@
ADDON = false; ADDON = false;
PREP(replaceATWeapon); #include "XEH_PREP.hpp"
PREP(takeLoadedATWeapon);
PREP(updateInventoryDisplay);
ADDON = true; ADDON = true;

View File

@ -0,0 +1,3 @@
#include "script_component.hpp"
#include "XEH_PREP.hpp"

View File

@ -1,4 +1,10 @@
class Extended_PreStart_EventHandlers {
class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_preStart));
};
};
class Extended_PreInit_EventHandlers { class Extended_PreInit_EventHandlers {
class ADDON { class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_preInit)); init = QUOTE(call COMPILE_FILE(XEH_preInit));

View File

@ -0,0 +1,27 @@
PREP(canCarry);
PREP(canDrag);
PREP(canDrop);
PREP(canDrop_carry);
PREP(carryObject);
PREP(carryObjectPFH);
PREP(dragObject);
PREP(dragObjectPFH);
PREP(dropObject);
PREP(dropObject_carry);
PREP(getWeight);
PREP(handleAnimChanged);
PREP(handleKilled);
PREP(handlePlayerChanged);
PREP(handlePlayerWeaponChanged);
PREP(handleScrollWheel);
PREP(handleUnconscious);
PREP(initObject);
PREP(initPerson);
PREP(isObjectOnObject);
PREP(setCarryable);
PREP(setDraggable);
PREP(startCarry);
PREP(startCarryPFH);
PREP(startDrag);
PREP(startDragPFH);

View File

@ -2,31 +2,6 @@
ADDON = false; ADDON = false;
PREP(canCarry); #include "XEH_PREP.hpp"
PREP(canDrag);
PREP(canDrop);
PREP(canDrop_carry);
PREP(carryObject);
PREP(carryObjectPFH);
PREP(dragObject);
PREP(dragObjectPFH);
PREP(dropObject);
PREP(dropObject_carry);
PREP(getWeight);
PREP(handleAnimChanged);
PREP(handleKilled);
PREP(handlePlayerChanged);
PREP(handlePlayerWeaponChanged);
PREP(handleScrollWheel);
PREP(handleUnconscious);
PREP(initObject);
PREP(initPerson);
PREP(isObjectOnObject);
PREP(setCarryable);
PREP(setDraggable);
PREP(startCarry);
PREP(startCarryPFH);
PREP(startDrag);
PREP(startDragPFH);
ADDON = true; ADDON = true;

View File

@ -0,0 +1,3 @@
#include "script_component.hpp"
#include "XEH_PREP.hpp"

View File

@ -1,3 +1,10 @@
class Extended_PreStart_EventHandlers {
class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_preStart));
};
};
class Extended_PreInit_EventHandlers { class Extended_PreInit_EventHandlers {
class ADDON { class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_preInit)); init = QUOTE(call COMPILE_FILE(XEH_preInit));

View File

@ -0,0 +1,46 @@
PREP(addCellphoneIED);
PREP(addClacker);
PREP(addDetonateActions);
PREP(addExplosiveActions);
PREP(addToSpeedDial);
PREP(addTransmitterActions);
PREP(addTriggerActions);
PREP(canDefuse);
PREP(canDetonate);
PREP(connectExplosive);
PREP(defuseExplosive);
PREP(detonateExplosive);
PREP(detonateExplosiveAll);
PREP(dialPhone);
PREP(dialingPhone);
PREP(handleScrollWheel);
PREP(hasExplosives);
PREP(hasPlacedExplosives);
PREP(interactEH);
PREP(getDetonators);
PREP(getPlacedExplosives);
PREP(getSpeedDialExplosive);
PREP(module);
PREP(onIncapacitated);
PREP(onInventoryChanged);
PREP(openTimerSetUI);
PREP(placeExplosive);
PREP(removeFromSpeedDial);
PREP(scriptedExplosive);
PREP(selectTrigger);
PREP(setupExplosive);
PREP(setPosition);
PREP(setSpeedDial);
PREP(startDefuse);
PREP(startTimer);
PREP(triggerType);

View File

@ -17,50 +17,6 @@
ADDON = false; ADDON = false;
PREP(addCellphoneIED); #include "XEH_PREP.hpp"
PREP(addClacker);
PREP(addDetonateActions);
PREP(addExplosiveActions);
PREP(addToSpeedDial);
PREP(addTransmitterActions);
PREP(addTriggerActions);
PREP(canDefuse);
PREP(canDetonate);
PREP(connectExplosive);
PREP(defuseExplosive);
PREP(detonateExplosive);
PREP(detonateExplosiveAll);
PREP(dialPhone);
PREP(dialingPhone);
PREP(handleScrollWheel);
PREP(hasExplosives);
PREP(hasPlacedExplosives);
PREP(interactEH);
PREP(getDetonators);
PREP(getPlacedExplosives);
PREP(getSpeedDialExplosive);
PREP(module);
PREP(onIncapacitated);
PREP(onInventoryChanged);
PREP(openTimerSetUI);
PREP(placeExplosive);
PREP(removeFromSpeedDial);
PREP(scriptedExplosive);
PREP(selectTrigger);
PREP(setupExplosive);
PREP(setPosition);
PREP(setSpeedDial);
PREP(startDefuse);
PREP(startTimer);
PREP(triggerType);
ADDON = true; ADDON = true;

View File

@ -0,0 +1,3 @@
#include "script_component.hpp"
#include "XEH_PREP.hpp"

View File

@ -39,7 +39,7 @@
</Key> </Key>
<Key ID="STR_ACE_Explosives_DetonateAll"> <Key ID="STR_ACE_Explosives_DetonateAll">
<English>Detonate All</English> <English>Detonate All</English>
<German>Zünden Alles</German> <German>Alle Zünden</German>
<Spanish>Detonar Todo</Spanish> <Spanish>Detonar Todo</Spanish>
<Russian>Подрыв всех</Russian> <Russian>Подрыв всех</Russian>
<Czech>Odpálit VŠE</Czech> <Czech>Odpálit VŠE</Czech>
@ -455,7 +455,7 @@
<English>No triggers available for %1</English> <English>No triggers available for %1</English>
<Polish>Brak dostępnych zapalników dla %1</Polish> <Polish>Brak dostępnych zapalników dla %1</Polish>
<Spanish>No hay detonadores disponibles para %1</Spanish> <Spanish>No hay detonadores disponibles para %1</Spanish>
<German>Keine Auslöser vorhanden für %1</German> <German>Keine Auslöser für %1 vorhanden</German>
<French>Pas de mise à feu disponible pour %1</French> <French>Pas de mise à feu disponible pour %1</French>
<Czech>Žádný detonátor k dispozici pro %1</Czech> <Czech>Žádný detonátor k dispozici pro %1</Czech>
<Italian>Nessun attivatore disponibile per %1</Italian> <Italian>Nessun attivatore disponibile per %1</Italian>
@ -635,7 +635,7 @@
<English>M6 SLAM Mine (Bottom Attack)</English> <English>M6 SLAM Mine (Bottom Attack)</English>
<!-- <Czech>Mina M6 SLAM</Czech> --> <!-- <Czech>Mina M6 SLAM</Czech> -->
<!-- <French>Mine M6 SLAM</French> --> <!-- <French>Mine M6 SLAM</French> -->
<!-- <German>M6-SLAM-Mine</German> --> <German>M6-SLAM-Mine (Bodenangriff)</German>
<!-- <Italian>Mina M6 SLAM</Italian> --> <!-- <Italian>Mina M6 SLAM</Italian> -->
<!-- <Polish>Mina M6 SLAM</Polish> --> <!-- <Polish>Mina M6 SLAM</Polish> -->
<!-- <Portuguese>Mina SLAM M6</Portuguese> --> <!-- <Portuguese>Mina SLAM M6</Portuguese> -->
@ -647,7 +647,7 @@
<English>M6 SLAM Mine (Side Attack)</English> <English>M6 SLAM Mine (Side Attack)</English>
<!-- <Czech>Mina M6 SLAM</Czech> --> <!-- <Czech>Mina M6 SLAM</Czech> -->
<!-- <French>Mine M6 SLAM</French> --> <!-- <French>Mine M6 SLAM</French> -->
<!-- <German>M6-SLAM-Mine</German> --> <German>M6-SLAM-Mine (Seitenangriff)</German>
<!-- <Italian>Mina M6 SLAM</Italian> --> <!-- <Italian>Mina M6 SLAM</Italian> -->
<!-- <Polish>Mina M6 SLAM</Polish> --> <!-- <Polish>Mina M6 SLAM</Polish> -->
<!-- <Portuguese>Mina SLAM M6</Portuguese> --> <!-- <Portuguese>Mina SLAM M6</Portuguese> -->
@ -659,7 +659,7 @@
<English>Large IED (Urban, Pressure Plate)</English> <English>Large IED (Urban, Pressure Plate)</English>
<!-- <Czech>Velká nálož (městská)</Czech> --> <!-- <Czech>Velká nálož (městská)</Czech> -->
<!-- <French>Grand engin explosif improvisé (urbain)</French> --> <!-- <French>Grand engin explosif improvisé (urbain)</French> -->
<!-- <German>Große USBV (Stadt)</German> --> <German>Große USBV (Stadt, Druckplatte)</German>
<!-- <Italian>IED grande (urbano)</Italian> --> <!-- <Italian>IED grande (urbano)</Italian> -->
<!-- <Polish>Duży IED (miasto)</Polish> --> <!-- <Polish>Duży IED (miasto)</Polish> -->
<!-- <Portuguese>AEI grande (urbano)</Portuguese> --> <!-- <Portuguese>AEI grande (urbano)</Portuguese> -->
@ -671,7 +671,7 @@
<English>Large IED (Dug-in, Pressure Plate)</English> <English>Large IED (Dug-in, Pressure Plate)</English>
<!-- <Czech>Velká nálož (zakopaná)</Czech> --> <!-- <Czech>Velká nálož (zakopaná)</Czech> -->
<!-- <French>Grand engin explosif improvisé (enterré)</French> --> <!-- <French>Grand engin explosif improvisé (enterré)</French> -->
<!-- <German>Große USBV (Eingegraben)</German> --> <German>Große USBV (Eingegraben, Druckplatte)</German>
<!-- <Italian>IED grande (interrato)</Italian> --> <!-- <Italian>IED grande (interrato)</Italian> -->
<!-- <Polish>Duży IED (zakopany)</Polish> --> <!-- <Polish>Duży IED (zakopany)</Polish> -->
<!-- <Portuguese>AEI grande (entrincheirado)</Portuguese> --> <!-- <Portuguese>AEI grande (entrincheirado)</Portuguese> -->
@ -683,7 +683,7 @@
<English>Small IED (Urban, Pressure Plate)</English> <English>Small IED (Urban, Pressure Plate)</English>
<!-- <Czech>Malá nálož (městská)</Czech> --> <!-- <Czech>Malá nálož (městská)</Czech> -->
<!-- <French>Petit engin explosif improvisé (urbain)</French> --> <!-- <French>Petit engin explosif improvisé (urbain)</French> -->
<!-- <German>Kleine USBV (Stadt)</German> --> <German>Kleine USBV (Stadt, Druckplatte)</German>
<!-- <Italian>IED piccolo (urbano)</Italian> --> <!-- <Italian>IED piccolo (urbano)</Italian> -->
<!-- <Polish>Mały IED (miasto)</Polish> --> <!-- <Polish>Mały IED (miasto)</Polish> -->
<!-- <Portuguese>AEI pequeno (urbano)</Portuguese> --> <!-- <Portuguese>AEI pequeno (urbano)</Portuguese> -->
@ -695,7 +695,7 @@
<English>Small IED (Dug-in, Pressure Plate)</English> <English>Small IED (Dug-in, Pressure Plate)</English>
<!-- <Czech>Malá nálož (zakopaná)</Czech> --> <!-- <Czech>Malá nálož (zakopaná)</Czech> -->
<!-- <French>Petit engin explosif improvisé (enterré)</French> --> <!-- <French>Petit engin explosif improvisé (enterré)</French> -->
<!-- <German>Kleine USBV (Eingegraben)</German> --> <German>Kleine USBV (Eingegraben, Druckplatte)</German>
<!-- <Italian>IED piccolo (interrato)</Italian> --> <!-- <Italian>IED piccolo (interrato)</Italian> -->
<!-- <Polish>Mały IED (zakopany)</Polish> --> <!-- <Polish>Mały IED (zakopany)</Polish> -->
<!-- <Portuguese>AEI pequeno (entrincheirado)</Portuguese> --> <!-- <Portuguese>AEI pequeno (entrincheirado)</Portuguese> -->

View File

@ -1,4 +1,10 @@
class Extended_PreStart_EventHandlers {
class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_preStart));
};
};
class Extended_PreInit_EventHandlers { class Extended_PreInit_EventHandlers {
class ADDON { class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_preInit)); init = QUOTE(call COMPILE_FILE(XEH_preInit));

View File

@ -123,7 +123,7 @@ class RscInGameUI {
}; };
}; };
class Rsc_ACE_Helo_UI_Turret: RscUnitInfo { class Rsc_ACE_Helo_UI_Turret: RscUnitInfo {
onLoad = "uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0]; [""onLoad"",_this,""RscUnitInfo"",'IGUI'] call compile preprocessfilelinenumbers ""A3\ui_f\scripts\initDisplay.sqf"""; onLoad = "[""onLoad"",_this,""RscUnitInfo"",'IGUI'] call (uinamespace getvariable 'BIS_fnc_initDisplay'); uiNamespace setVariable ['ACE_dlgRangefinder', _this select 0]; ((_this select 0) displayCtrl 151) ctrlSetTextColor [0, 0, 0, 0];";
class CA_IGUI_elements_group: RscControlsGroup { class CA_IGUI_elements_group: RscControlsGroup {
class controls { class controls {
MACRO_RANGEFINDER MACRO_RANGEFINDER

16
addons/fcs/XEH_PREP.hpp Normal file
View File

@ -0,0 +1,16 @@
PREP(adjustRange);
PREP(calculateSolution);
PREP(canResetFCS);
PREP(canUseFCS);
PREP(canUseRangefinder);
PREP(firedEH);
PREP(getAngle);
PREP(getRange);
PREP(handleAirBurstAmmunitionPFH);
PREP(onForceUpdate);
PREP(keyDown);
PREP(keyUp);
PREP(reset);
PREP(updateRangeHUD);
PREP(vehicleInit);

View File

@ -2,20 +2,6 @@
ADDON = false; ADDON = false;
PREP(adjustRange); #include "XEH_PREP.hpp"
PREP(calculateSolution);
PREP(canResetFCS);
PREP(canUseFCS);
PREP(canUseRangefinder);
PREP(firedEH);
PREP(getAngle);
PREP(getRange);
PREP(handleAirBurstAmmunitionPFH);
PREP(onForceUpdate);
PREP(keyDown);
PREP(keyUp);
PREP(reset);
PREP(updateRangeHUD);
PREP(vehicleInit);
ADDON = true; ADDON = true;

View File

@ -0,0 +1,3 @@
#include "script_component.hpp"
#include "XEH_PREP.hpp"

View File

@ -1,8 +1,16 @@
class Extended_PreStart_EventHandlers {
class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_preStart));
};
};
class Extended_PreInit_EventHandlers { class Extended_PreInit_EventHandlers {
class ADDON { class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_preInit)); init = QUOTE(call COMPILE_FILE(XEH_preInit));
}; };
}; };
class Extended_PostInit_EventHandlers { class Extended_PostInit_EventHandlers {
class ADDON { class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_postInit)); init = QUOTE(call COMPILE_FILE(XEH_postInit));

View File

@ -0,0 +1,5 @@
PREP(incomingFinger);
PREP(keyPress);
PREP(moduleSettings);
PREP(perFrameEH);

View File

@ -2,9 +2,6 @@
ADDON = false; ADDON = false;
PREP(incomingFinger); #include "XEH_PREP.hpp"
PREP(keyPress);
PREP(moduleSettings);
PREP(perFrameEH);
ADDON = true; ADDON = true;

View File

@ -0,0 +1,3 @@
#include "script_component.hpp"
#include "XEH_PREP.hpp"

View File

@ -3,6 +3,7 @@
<Package name="finger"> <Package name="finger">
<Key ID="STR_ACE_finger_indicatorForSelf_name"> <Key ID="STR_ACE_finger_indicatorForSelf_name">
<English>Show pointing indicator to self</English> <English>Show pointing indicator to self</English>
<German>Zeigersymbol einem selbst anzeigen</German>
<Russian>Индикатор пальца для показывающего</Russian> <Russian>Индикатор пальца для показывающего</Russian>
<French>Afficher un indicateur de pointage pour soit même</French> <French>Afficher un indicateur de pointage pour soit même</French>
<Polish>Pokaż indykator wskazywania palcem dla siebie</Polish> <Polish>Pokaż indykator wskazywania palcem dla siebie</Polish>
@ -14,6 +15,7 @@
</Key> </Key>
<Key ID="STR_ACE_finger_indicatorForSelf_description"> <Key ID="STR_ACE_finger_indicatorForSelf_description">
<English>Render the indicator for the pointing player. This option doesn't affect whether the other players would see the indicator</English> <English>Render the indicator for the pointing player. This option doesn't affect whether the other players would see the indicator</English>
<German>Zeigt das eigene Zeigersymbol an. Diese Einstellung beeinflusst jedoch nicht andere Spieler, welche das Zeigersymbol sehen können.</German>
<Russian>Отображать индикатор указания пальцем для показывающего игрока. Эта настройка не влияет на то, будут ли другие игроки видеть индикатор</Russian> <Russian>Отображать индикатор указания пальцем для показывающего игрока. Эта настройка не влияет на то, будут ли другие игроки видеть индикатор</Russian>
<French>Affiche l'indicateur pour le joueur qui pointe. Cette option n'affecte pas les autres joueurs</French> <French>Affiche l'indicateur pour le joueur qui pointe. Cette option n'affecte pas les autres joueurs</French>
<Polish> Wyświetl indykator kiedy wskazujesz coś palcem. Ta opcja nie wpływa na to, czy inni gracze zobaczą ten indykator czy też nie.</Polish> <Polish> Wyświetl indykator kiedy wskazujesz coś palcem. Ta opcja nie wpływa na to, czy inni gracze zobaczą ten indykator czy też nie.</Polish>
@ -25,6 +27,7 @@
</Key> </Key>
<Key ID="STR_ACE_finger_indicatorColor_name"> <Key ID="STR_ACE_finger_indicatorColor_name">
<English>Pointing indicator</English> <English>Pointing indicator</English>
<German>Zeigersymbol</German>
<Russian>Индикатор указания пальцем</Russian> <Russian>Индикатор указания пальцем</Russian>
<French>Indicateur de pointage</French> <French>Indicateur de pointage</French>
<Polish>Indykator palca</Polish> <Polish>Indykator palca</Polish>
@ -36,6 +39,8 @@
</Key> </Key>
<Key ID="STR_ACE_finger_indicatorColor_description"> <Key ID="STR_ACE_finger_indicatorColor_description">
<English>Color of the pointing indicator circle</English> <English>Color of the pointing indicator circle</English>
<German>Farbe des Zeigersymbols (Kreis)</German>
<German>Farbe des Zeigersymbols</German>
<Russian>Цвет индикатора указания пальцем</Russian> <Russian>Цвет индикатора указания пальцем</Russian>
<French>Couleur de l'indicateur</French> <French>Couleur de l'indicateur</French>
<Polish>Kolor okręgu wyświetlanego przy wskazywaniu palcem</Polish> <Polish>Kolor okręgu wyświetlanego przy wskazywaniu palcem</Polish>
@ -47,6 +52,7 @@
</Key> </Key>
<Key ID="STR_ACE_finger_keyComb"> <Key ID="STR_ACE_finger_keyComb">
<English>Action "point a finger at"</English> <English>Action "point a finger at"</English>
<German>Aktion: "Zeige Finger auf"</German>
<Russian>Действие "показать пальцем на"</Russian> <Russian>Действие "показать пальцем на"</Russian>
<French>Action 'Pointer le doigt à"</French> <French>Action 'Pointer le doigt à"</French>
<Polish>Akcja "wskaż palcem"</Polish> <Polish>Akcja "wskaż palcem"</Polish>
@ -58,6 +64,7 @@
</Key> </Key>
<Key ID="STR_ACE_finger_keyComb_description"> <Key ID="STR_ACE_finger_keyComb_description">
<English>Points, and shows a virtual marker of where you are looking to nearby units. Can be held down.</English> <English>Points, and shows a virtual marker of where you are looking to nearby units. Can be held down.</English>
<German>Zeigt in der Nähe befindlichen Spielern die eigene Blickrichtung mit Hilfe eines Kreissymbols an.</German>
<French>Montre du doigt et affiche un marqueur virtuel de la direction pointée aux uinités proches. Peut être maintenu</French> <French>Montre du doigt et affiche un marqueur virtuel de la direction pointée aux uinités proches. Peut être maintenu</French>
<Polish>Wskazuje a także wyświetla wirtualny marker-okrąg w miejscu, w które patrzysz, dla wszystkich pobliskich jednostek. Może być przytrzymywany.</Polish> <Polish>Wskazuje a także wyświetla wirtualny marker-okrąg w miejscu, w które patrzysz, dla wszystkich pobliskich jednostek. Może być przytrzymywany.</Polish>
<Hungarian>Mutat, és elhelyez egy virtuális jelölőt a nézett területhez közeli egységekhez. Lenyomva tartható.</Hungarian> <Hungarian>Mutat, és elhelyez egy virtuális jelölőt a nézett területhez közeli egységekhez. Lenyomva tartható.</Hungarian>
@ -69,6 +76,7 @@
</Key> </Key>
<Key ID="STR_ACE_finger_moduleSettings_displayName"> <Key ID="STR_ACE_finger_moduleSettings_displayName">
<English>Pointing Settings</English> <English>Pointing Settings</English>
<German>Zeigen Einstellungen</German>
<French>Option "Montrer du doigt"</French> <French>Option "Montrer du doigt"</French>
<Polish>Ustawienia wskazywania palcem</Polish> <Polish>Ustawienia wskazywania palcem</Polish>
<Hungarian>Ujj beállításai</Hungarian> <Hungarian>Ujj beállításai</Hungarian>
@ -80,6 +88,7 @@
</Key> </Key>
<Key ID="STR_ACE_finger_enabled_displayName"> <Key ID="STR_ACE_finger_enabled_displayName">
<English>Pointing Enabled</English> <English>Pointing Enabled</English>
<German>Zeigen aktiviert</German>
<French>Activer "Montrer du doigt"</French> <French>Activer "Montrer du doigt"</French>
<Polish>Aktywuj wskazywanie</Polish> <Polish>Aktywuj wskazywanie</Polish>
<Hungarian>Mutatás engedélyezése</Hungarian> <Hungarian>Mutatás engedélyezése</Hungarian>
@ -91,6 +100,7 @@
</Key> </Key>
<Key ID="STR_ACE_finger_maxRange_displayName"> <Key ID="STR_ACE_finger_maxRange_displayName">
<English>Pointing Max Range</English> <English>Pointing Max Range</English>
<German>Maximale Zeigerreichweite</German>
<French>Distance maximale du pointage</French> <French>Distance maximale du pointage</French>
<Polish>Maks. zasięg wskazywania</Polish> <Polish>Maks. zasięg wskazywania</Polish>
<Hungarian>Ujj maximum hatótávja</Hungarian> <Hungarian>Ujj maximum hatótávja</Hungarian>
@ -102,6 +112,7 @@
</Key> </Key>
<Key ID="STR_ACE_finger_maxRange_description"> <Key ID="STR_ACE_finger_maxRange_description">
<English>Max range between players to show the pointing indicator [default: 4 meters]</English> <English>Max range between players to show the pointing indicator [default: 4 meters]</English>
<German>Maximale Reichweite zwischen Spielern, welche das Zeigesymbol des jeweils anderen sehen können. (Standart: 4 Meter)</German>
<French>Distance maximale entre joueurs pour afficher l'indicateur (défaut: 4 mètres)</French> <French>Distance maximale entre joueurs pour afficher l'indicateur (défaut: 4 mètres)</French>
<Polish>Określ dystans na jakim można wskazywać coś palcem innym graczom. [domyślnie: 4m] </Polish> <Polish>Określ dystans na jakim można wskazywać coś palcem innym graczom. [domyślnie: 4m] </Polish>
<Hungarian>A maximális távolság, amelyben a közeli játékosoknak megjelenik az indikátor. [alapértelmezett: 4 méter]</Hungarian> <Hungarian>A maximális távolság, amelyben a közeli játékosoknak megjelenik az indikátor. [alapértelmezett: 4 méter]</Hungarian>

View File

@ -1,3 +1,4 @@
class Extended_PostInit_EventHandlers { class Extended_PostInit_EventHandlers {
class ADDON { class ADDON {
clientInit = QUOTE(call COMPILE_FILE(XEH_postInitClient) ); clientInit = QUOTE(call COMPILE_FILE(XEH_postInitClient) );

View File

@ -1,3 +1,34 @@
class asdg_MuzzleSlot;
class asdg_MuzzleSlot_338: asdg_MuzzleSlot { // for .338 universal mount suppressors
class compatibleItems {
ACE_muzzle_mzls_338 = 1;
};
};
class asdg_MuzzleSlot_762: asdg_MuzzleSlot { // for 7.62x51 universal mount suppressors
class compatibleItems {
ACE_muzzle_mzls_B = 1;
};
};
class asdg_MuzzleSlot_93x64: asdg_MuzzleSlot { // for 9.3x64 universal mount suppressors
class compatibleItems {
ACE_muzzle_mzls_93mmg = 1;
};
};
class asdg_MuzzleSlot_9MM_SMG: asdg_MuzzleSlot { // for 9x19mm universal mount SMG suppressors
class compatibleItems {
ACE_muzzle_mzls_smg_02 = 1;
};
};
class asdg_MuzzleSlot_556: asdg_MuzzleSlot { // for 5.56x45 universal mount suppressors
class compatibleItems {
ACE_muzzle_mzls_L = 1;
};
};
class asdg_MuzzleSlot_45ACP_SMG: asdg_MuzzleSlot { // for .45ACP universal mount SMG suppressors
class compatibleItems {
ACE_muzzle_mzls_smg_01 = 1;
};
};
class MuzzleSlot; class MuzzleSlot;
@ -46,14 +77,6 @@ class CfgWeapons {
class WeaponSlotsInfo; class WeaponSlotsInfo;
}; };
class EBR_base_F: Rifle_Long_Base_F {
class WeaponSlotsInfo: WeaponSlotsInfo {
class MuzzleSlot: MuzzleSlot {
compatibleItems[] += {"ACE_muzzle_mzls_B"};
};
};
};
class DMR_01_base_F: Rifle_Long_Base_F { class DMR_01_base_F: Rifle_Long_Base_F {
class WeaponSlotsInfo: WeaponSlotsInfo { class WeaponSlotsInfo: WeaponSlotsInfo {
class MuzzleSlot: MuzzleSlot { class MuzzleSlot: MuzzleSlot {
@ -62,54 +85,6 @@ class CfgWeapons {
}; };
}; };
class DMR_02_base_F: Rifle_Long_Base_F {
class WeaponSlotsInfo: WeaponSlotsInfo {
class MuzzleSlot: MuzzleSlot {
compatibleItems[] += {"ACE_muzzle_mzls_338"};
};
};
};
class DMR_03_base_F: Rifle_Long_Base_F {
class WeaponSlotsInfo: WeaponSlotsInfo {
class MuzzleSlot: MuzzleSlot {
compatibleItems[] += {"ACE_muzzle_mzls_B"};
};
};
};
class DMR_05_base_F: Rifle_Long_Base_F {
class WeaponSlotsInfo: WeaponSlotsInfo {
class MuzzleSlot: MuzzleSlot {
compatibleItems[] += {"ACE_muzzle_mzls_93mmg"};
};
};
};
class DMR_06_base_F: Rifle_Long_Base_F {
class WeaponSlotsInfo: WeaponSlotsInfo {
class MuzzleSlot: MuzzleSlot {
compatibleItems[] += {"ACE_muzzle_mzls_B"};
};
};
};
class MMG_01_base_F: Rifle_Long_Base_F {
class WeaponSlotsInfo: WeaponSlotsInfo {
class MuzzleSlot: MuzzleSlot {
compatibleItems[] += {"ACE_muzzle_mzls_93mmg"};
};
};
};
class MMG_02_base_F: Rifle_Long_Base_F {
class WeaponSlotsInfo: WeaponSlotsInfo {
class MuzzleSlot: MuzzleSlot {
compatibleItems[] += {"ACE_muzzle_mzls_338"};
};
};
};
class LMG_Mk200_F: Rifle_Long_Base_F { class LMG_Mk200_F: Rifle_Long_Base_F {
class WeaponSlotsInfo: WeaponSlotsInfo { class WeaponSlotsInfo: WeaponSlotsInfo {
class MuzzleSlot: MuzzleSlot { class MuzzleSlot: MuzzleSlot {
@ -126,53 +101,6 @@ class CfgWeapons {
}; };
}; };
/* Assault Rifles */
class Tavor_base_F: Rifle_Base_F {
class WeaponSlotsInfo: WeaponSlotsInfo {
class MuzzleSlot: MuzzleSlot {
compatibleItems[] += {"ACE_muzzle_mzls_L"};
};
};
};
class mk20_base_F: Rifle_Base_F {
class WeaponSlotsInfo: WeaponSlotsInfo {
class MuzzleSlot: MuzzleSlot {
compatibleItems[] += {"ACE_muzzle_mzls_L"};
};
};
};
/* SMGs */
class pdw2000_base_F: Rifle_Base_F {
class WeaponSlotsInfo: WeaponSlotsInfo {
class MuzzleSlot: MuzzleSlot {
compatibleItems[] += {"ACE_muzzle_mzls_smg_02"};
};
};
};
class SMG_01_Base: Rifle_Base_F {
class WeaponSlotsInfo: WeaponSlotsInfo {
class MuzzleSlot: MuzzleSlot {
compatibleItems[] += {"ACE_muzzle_mzls_smg_01"};
};
};
};
class SMG_02_base_F: Rifle_Base_F {
class WeaponSlotsInfo: WeaponSlotsInfo {
class MuzzleSlot: MuzzleSlot {
compatibleItems[] += {"ACE_muzzle_mzls_smg_02"};
};
};
};
/* Pistols */ /* Pistols */
class Pistol; class Pistol;

View File

@ -1,3 +1,10 @@
class Extended_PreStart_EventHandlers {
class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_preStart));
};
};
class Extended_PreInit_EventHandlers { class Extended_PreInit_EventHandlers {
class ADDON { class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_preInit)); init = QUOTE(call COMPILE_FILE(XEH_preInit));

27
addons/frag/XEH_PREP.hpp Normal file
View File

@ -0,0 +1,27 @@
PREP(doSpall);
PREP(fired);
PREP(frago);
PREP(spallTrack);
// * Other */
PREP(addBlackList);
PREP(addTrack);
PREP(drawTraces);
PREP(removeTrack);
PREP(spallHP);
PREP(startTracing);
PREP(stopTracing);
PREP(trackTrace);
// New tracking mechanisms
PREP(masterPFH);
PREP(pfhRound);
PREP(addPfhRound);
PREP(removePfhRound); // THIS SHOULD ABE USED SPARINGLY
// Explosive Reflection
GVAR(replacedBisArtyWrapper) = true;
PREP(findReflections);
PREP(doExplosions);
PREP(doReflections);

View File

@ -2,10 +2,7 @@
ADDON = false; ADDON = false;
PREP(doSpall); #include "XEH_PREP.hpp"
PREP(fired);
PREP(frago);
PREP(spallTrack);
GVAR(blackList) = []; GVAR(blackList) = [];
GVAR(traceFrags) = false; GVAR(traceFrags) = false;
@ -20,29 +17,6 @@ GVAR(traceID) = -1;
GVAR(traces) = []; GVAR(traces) = [];
GVAR(tracesStarted) = false; GVAR(tracesStarted) = false;
// * Other Shit */
PREP(addBlackList);
PREP(addTrack);
PREP(drawTraces);
PREP(removeTrack);
PREP(spallHP);
PREP(startTracing);
PREP(stopTracing);
PREP(trackTrace);
// New tracking mechanisms
PREP(masterPFH);
PREP(pfhRound);
PREP(addPfhRound);
PREP(removePfhRound); // THIS SHOULD ABE USED SPARINGLY
// Explosive Reflection
GVAR(replacedBisArtyWrapper) = true;
PREP(findReflections);
PREP(doExplosions);
PREP(doReflections);
GVAR(lastIterationIndex) = 0; GVAR(lastIterationIndex) = 0;
GVAR(objects) = []; GVAR(objects) = [];
GVAR(objectTypes) = []; GVAR(objectTypes) = [];

View File

@ -0,0 +1,3 @@
#include "script_component.hpp"
#include "XEH_PREP.hpp"

View File

@ -1,6 +1,13 @@
class Extended_PreStart_EventHandlers {
class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_preStart));
};
};
class Extended_PreInit_EventHandlers { class Extended_PreInit_EventHandlers {
class ADDON { class ADDON {
init = QUOTE( call COMPILE_FILE(XEH_preInit) ); init = QUOTE(call COMPILE_FILE(XEH_preInit));
}; };
}; };
@ -9,3 +16,9 @@ class Extended_PostInit_EventHandlers {
init = QUOTE(call COMPILE_FILE(XEH_postInit)); init = QUOTE(call COMPILE_FILE(XEH_postInit));
}; };
}; };
class Extended_DisplayLoad_EventHandlers {
class RscDisplayMission {
ADDON = QUOTE(_this call COMPILE_FILE(XEH_mainDislayLoad));
};
};

View File

@ -127,7 +127,7 @@ class CfgVehicles {
}; };
class class GVAR(Hi) { class class GVAR(Hi) {
displayName = CSTRING(Gestures_Hi); displayName = CSTRING(Hi);
condition = QUOTE(canStand _target); condition = QUOTE(canStand _target);
statement = QUOTE(_target playActionNow ([ARR_3('gestureHi','gestureHiB','gestureHiC')] select floor random 3);); statement = QUOTE(_target playActionNow ([ARR_3('gestureHi','gestureHiB','gestureHiC')] select floor random 3););
showDisabled = 1; showDisabled = 1;

View File

@ -0,0 +1,2 @@
PREP(playSignal);

View File

@ -0,0 +1,35 @@
#include "script_component.hpp"
disableSerialization;
params ["_display"];
// reload mutex, you can't play signal while reloading
GVAR(ReloadMutex) = true;
_display displayAddEventHandler ["KeyDown", {
if ((_this select 1) in actionKeys "ReloadMagazine") then {
if (isNull ACE_player || {!alive ACE_player}) exitWith {false};
private _weapon = currentWeapon ACE_player;
if (_weapon != "") then {
GVAR(ReloadMutex) = false;
private _gesture = getText (configfile >> "CfgWeapons" >> _weapon >> "reloadAction");
private _isLauncher = _weapon isKindOf ["Launcher", configFile >> "CfgWeapons"];
private _config = ["CfgGesturesMale", "CfgMovesMaleSdr"] select _isLauncher;
private _duration = getNumber (configfile >> _config >> "States" >> _gesture >> "speed");
if (_duration != 0) then {
_duration = if (_duration < 0) then { abs _duration } else { 1 / _duration };
} else {
_duration = 3;
};
TRACE_2("Reloading, blocking gestures",_weapon,_duration);
[{GVAR(ReloadMutex) = true;}, [], _duration] call EFUNC(common,waitAndExecute);
};
};
false
}];

View File

@ -3,36 +3,3 @@
if (!hasInterface) exitWith {}; if (!hasInterface) exitWith {};
#include "key.sqf" #include "key.sqf"
// reload mutex, you can't play signal while reloading
GVAR(ReloadMutex) = true;
// Event for main display to be loaded:
["mainDisplayLoaded", {
// handle reloading
(findDisplay 46) displayAddEventHandler ["KeyDown", {
if ((_this select 1) in actionKeys "ReloadMagazine") then {
if ((isNull ACE_player) || {!alive ACE_player}) exitWith {false};
private _weapon = currentWeapon ACE_player;
if (_weapon != "") then {
GVAR(ReloadMutex) = false;
private _gesture = getText (configfile >> "CfgWeapons" >> _weapon >> "reloadAction");
private _isLauncher = _weapon isKindOf ["Launcher", (configFile >> "CfgWeapons")];
private _config = ["CfgGesturesMale", "CfgMovesMaleSdr"] select _isLauncher;
private _duration = getNumber (configfile >> _config >> "States" >> _gesture >> "speed");
if (_duration != 0) then {
_duration = if (_duration < 0) then { abs _duration } else { 1 / _duration };
} else {
_duration = 3;
};
TRACE_2("Reloading, blocking gestures",_weapon,_duration);
[{GVAR(ReloadMutex) = true;}, [], _duration] call EFUNC(common,waitAndExecute);
};
};
false
}];
}] call EFUNC(common,addEventHandler);

View File

@ -2,6 +2,6 @@
ADDON = false; ADDON = false;
PREP(playSignal); #include "XEH_PREP.hpp"
ADDON = true; ADDON = true;

View File

@ -0,0 +1,3 @@
#include "script_component.hpp"
#include "XEH_PREP.hpp"

View File

@ -1,12 +1,18 @@
class Extended_PreStart_EventHandlers {
class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_preStart));
};
};
class Extended_PreInit_EventHandlers { class Extended_PreInit_EventHandlers {
class ADDON { class ADDON {
init = QUOTE(call COMPILE_FILE(XEH_preInit) ); init = QUOTE(call COMPILE_FILE(XEH_preInit));
}; };
}; };
class Extended_PostInit_EventHandlers { class Extended_PostInit_EventHandlers {
class ADDON { class ADDON {
clientInit = QUOTE( call COMPILE_FILE(XEH_postInit) ); clientInit = QUOTE(call COMPILE_FILE(XEH_postInit));
}; };
}; };

View File

@ -0,0 +1,2 @@
PREP(pfhUpdateGForces);

View File

@ -2,7 +2,7 @@
ADDON = false; ADDON = false;
PREP(pfhUpdateGForces); #include "XEH_PREP.hpp"
GVAR(GForces) = []; GVAR(GForces) = [];
GVAR(GForces_Index) = 0; GVAR(GForces_Index) = 0;

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