Merge branch 'master' into limping

This commit is contained in:
PabstMirror 2019-05-07 09:10:03 -05:00
commit 641f3f8a70
16 changed files with 103 additions and 49 deletions

View File

@ -9,9 +9,3 @@ class Extended_PreInit_EventHandlers {
init = QUOTE(call COMPILE_FILE(XEH_preInit));
};
};
class Extended_PostInit_EventHandlers {
class ADDON {
clientInit = QUOTE(call COMPILE_FILE(XEH_postInitClient));
};
};

View File

@ -1,29 +0,0 @@
#include "script_component.hpp"
if (!hasInterface) exitWith {};
private _cfgAction = configFile >> "CfgActions" >> "Eject";
GVAR(ejectActionParams) = [
[
"", // will be set with setUserActionText
{
params ["_vehicle", "_unit"];
private _preserveEngineOn = (_unit == driver _vehicle) && {isEngineOn _vehicle};
moveOut _unit;
if (_preserveEngineOn) then {
// vehicle is local to last driver, no need to care
_vehicle engineOn true;
};
},
nil,
getNumber (_cfgAction >> "priority"),
false,
true,
getText (_cfgAction >> "shortcut"),
'[_this, _target] call DFUNC(canShowEject)'
],
getText (_cfgAction >> "text"),
getText (_cfgAction >> "textDefault")
];
["Helicopter", "initPost", LINKFUNC(initEjectAction)] call CBA_fnc_addClassEventHandler;

View File

@ -6,4 +6,41 @@ PREP_RECOMPILE_START;
#include "XEH_PREP.hpp"
PREP_RECOMPILE_END;
if (hasInterface) then {
["CBA_settingsInitialized", {
private _ejectAction = configFile >> "CfgActions" >> "Eject";
private _hideEjectAction = missionNamespace getVariable [QEGVAR(vehicles,hideEjectAction), false];
private _text = getText (_ejectAction >> "text");
if (_hideEjectAction) then {
_text = format ["<t color='#808080'>%1</t>", _text];
};
GVAR(ejectActionParams) = [
[
"", // will be set with setUserActionText
{
params ["_vehicle", "_unit"];
private _preserveEngineOn = (_unit == driver _vehicle) && {isEngineOn _vehicle};
moveOut _unit;
if (_preserveEngineOn) then {
// vehicle is local to last driver, no need to care
_vehicle engineOn true;
};
},
nil,
[getNumber (_ejectAction >> "priority"), -999] select _hideEjectAction,
false,
true,
getText (_ejectAction >> "shortcut"),
'[_this, _target] call DFUNC(canShowEject)'
],
_text,
getText (_ejectAction >> "textDefault")
];
["Helicopter", "InitPost", LINKFUNC(initEjectAction), nil, nil, true] call CBA_fnc_addClassEventHandler;
}] call CBA_fnc_addEventHandler;
};
ADDON = true;

View File

@ -42,6 +42,7 @@ private _fnc_selectItem = {
case 19: {
if (_item == "") then {
if (cba_disposable_replaceDisposableLauncher && !isNil {cba_disposable_LoadedLaunchers getVariable secondaryWeapon GVAR(center)}) exitWith { TRACE_1("ignoring unload of disposable",secondaryWeapon GVAR(center)); };
GVAR(center) removeSecondaryWeaponItem ((GVAR(currentItems) select 19) select _itemIndex);
private _secondaryMags = secondaryWeaponMagazine GVAR(center);
GVAR(currentItems) set [19, (secondaryWeaponItems GVAR(center)) + ([_secondaryMags + [""], _secondaryMags] select (count _secondaryMags > 1))];
@ -70,7 +71,7 @@ private _fnc_selectItem = {
[
_item,
18 + ([IDC_buttonPrimaryWeapon, IDC_buttonSecondaryWeapon, IDC_buttonHandgun] find GVAR(currentLeftPanel)),
18 + ([IDC_buttonPrimaryWeapon, IDC_buttonSecondaryWeapon, IDC_buttonHandgun] find GVAR(currentLeftPanel)),
[IDC_buttonMuzzle, IDC_buttonItemAcc, IDC_buttonOptic, IDC_buttonBipod, IDC_buttonCurrentMag, IDC_buttonCurrentMag2] find GVAR(currentRightPanel)
] call _fnc_selectItem;

View File

@ -28,8 +28,6 @@ class CfgWeapons {
// MX
class arifle_MX_Base_F: Rifle_Base_F {
magazineWell[] = {"CBA_65x39_MX", "CBA_65x39_MX_XL"};
class Single: Mode_SemiAuto {
dispersion = MOA_TO_RAD(0.90);
};

View File

@ -87,7 +87,7 @@ if (_amountOfMagazines > 0) exitWith {
playSound3D [_sound, objNull, false, (getPosASL _vehicle), 2, 1, 1300];
if (random 1 < 0.15) then {
[_vehicle, _ammo, _speed, random 1 < 0.15] call _spawnProjectile;
[_vehicle, _ammo, _speed, true] call _spawnProjectile;
};
};
if (toLower _simType == "shotgrenade") then {

View File

@ -1,3 +1,14 @@
#include "script_component.hpp"
#include "XEH_PREP.hpp"
// Show warning for launchers still using disposables
{
private _nonInheritedCfg = configProperties [_x, "configName _x == 'ACE_UsedTube'", false];
if ((count _nonInheritedCfg) == 1) then {
private _weapon = configName _x;
if (_weapon != "launch_NLAW_F") then { // ignore the one we modifiy ourselves
WARNING_1("[%1] ACE_disposables functionality will be removed in a future version - switch to CBA Disposables",_weapon);
};
};
} forEach ("isText (_x >> 'ACE_UsedTube')" configClasses (configFile >> "CfgWeapons"));

View File

@ -6,7 +6,7 @@ class CfgWeapons {
EGVAR(laser,canSelect) = 1; // can ace_laser lock (allows switching laser code)
EGVAR(laser,showHud) = 1; // show attack profile / lock on hud
magazines[] = {"6Rnd_ACE_Hellfire_AGM114K", "PylonMissile_1Rnd_ACE_Hellfire_AGM114K", "PylonRack_1Rnd_ACE_Hellfire_AGM114K", "PylonRack_3Rnd_ACE_Hellfire_AGM114K", "PylonRack_4Rnd_ACE_Hellfire_AGM114K"};
magazineWell[] = {QGVAR(K)};
magazineWell[] += {QGVAR(K)};
autoFire = 0;
canLock = 0;
weaponLockSystem = 0;
@ -27,6 +27,6 @@ class CfgWeapons {
class GVAR(launcher_N): GVAR(launcher) {
displayName = "AGM-114N Hellfire II";
magazines[] = {"6Rnd_ACE_Hellfire_AGM114N", "PylonMissile_1Rnd_ACE_Hellfire_AGM114N", "PylonRack_1Rnd_ACE_Hellfire_AGM114N", "PylonRack_3Rnd_ACE_Hellfire_AGM114N", "PylonRack_4Rnd_ACE_Hellfire_AGM114N"};
magazineWell[] = {QGVAR(N)};
magazineWell[] += {QGVAR(N)};
};
};

View File

@ -56,7 +56,19 @@
"dd_pletivo.p3d",\
"plot_green_draty.p3d",\
"plot_rust_draty.p3d",\
"wall_fen1_5_2.p3d"\
"wall_fen1_5_2.p3d",\
"gm_fence_border_gssz_70_600.p3d",\
"gm_fence_border_gssz_70_gate_350_r.p3d",\
"gm_fence_border_gssz_70_gate_350_w.p3d",\
"gm_fence_border_gz1_600.p3d",\
"gm_fence_border_gz1_gate_350_r.p3d",\
"gm_fence_border_gz1_gate_350_w.p3d",\
"gm_fence_wirefence_01_01.p3d",\
"gm_fence_wirefence_01_02.p3d",\
"gm_fence_wirefence_01_03.p3d",\
"gm_gc_g501_sm70_01.p3d",\
"gm_gc_g501_sm70_02.p3d",\
"gm_gc_g501_sm70_03.p3d"\
]
#define SOUND_CLIP_TIME_SPACING 1.5

View File

@ -10,7 +10,7 @@
// MINIMAL required version for the Mod. Components can specify others..
#define REQUIRED_VERSION 1.88
#define REQUIRED_CBA_VERSION {3,9,0}
#define REQUIRED_CBA_VERSION {3,11,1}
#ifdef COMPONENT_BEAUTIFIED
#define COMPONENT_NAME QUOTE(ACE3 - COMPONENT_BEAUTIFIED)

View File

@ -0,0 +1,7 @@
class CfgActions {
class None;
class Eject: None {
show = QUOTE(call compile getText (configFile >> 'CfgActions' >> 'Eject' >> 'GVAR(setting)'));
GVAR(setting) = QUOTE(profileNamespace getVariable [ARR_2('GVAR(showEjectAction)',0)]);
};
};

View File

@ -21,3 +21,4 @@ class CfgPatches {
#include "CfgAmmo.hpp"
#include "CfgVehicles.hpp"
#include "CfgWeapons.hpp"
#include "CfgActions.hpp"

View File

@ -1,9 +1,21 @@
[
QGVAR(keepEngineRunning),
"CHECKBOX",
[LSTRING(SettingKeepEngineRunningName), LSTRING(SettingKeepEngineRunningDesc)],
localize ELSTRING(common,ACEKeybindCategoryVehicles),
ELSTRING(common,ACEKeybindCategoryVehicles),
false, // default value
true // isGlobal
] call CBA_settings_fnc_init;
] call CBA_fnc_addSetting;
[
QGVAR(hideEjectAction),
"CHECKBOX",
[LSTRING(HideEjectAction), LSTRING(HideEjectActionTooltip)],
ELSTRING(common,ACEKeybindCategoryVehicles),
true,
2, {
profileNamespace setVariable [QGVAR(showEjectAction), parseNumber !_this];
saveProfileNamespace;
},
true // needs restart
] call CBA_fnc_addSetting;

View File

@ -75,5 +75,15 @@
<English>Prevent the automatic shut-off of the engine when exiting vehicles.</English>
<German>Verhindere das automatische Abschalten des Motors beim Verlassen des Fahrzeugs.</German>
</Key>
<Key ID="STR_ACE_Vehicles_HideEjectAction">
<English>Hide Eject Action</English>
<German>Abspringen-Aktion verstecken</German>
<Polish>Ukryj akcję Wyskocz</Polish>
</Key>
<Key ID="STR_ACE_Vehicles_HideEjectActionTooltip">
<English>Hides the Eject entry from the action menu. Requires a game restart.</English>
<German>Versteckt den Abspringen-Eintrag aus dem Aktionsmenü. Benötigt Neustart des Spiels.</German>
<Polish>Usuwa akcję Wyskocz z menu akcji. Wymaga restartu gry.</Polish>
</Key>
</Package>
</Project>

View File

@ -6,7 +6,7 @@ class CfgPatches {
units[] = {};
weapons[] = {};
requiredVersion = REQUIRED_VERSION;
requiredAddons[] = {"ace_weather"};
requiredAddons[] = {"ace_common"};
author = ECSTRING(common,ACETeam);
authors[] = {ECSTRING(common,ACETeam), "Glowbal", "Ruthberg"};
url = ECSTRING(main,URL);

View File

@ -219,7 +219,7 @@
{% endif %}
{% if include.component == "medical" %}
`ace_common`
`ace_medical_engine`
{% endif %}
{% if include.component == "medical_ai" %}
@ -467,7 +467,7 @@
{% endif %}
{% if include.component == "winddeflection" %}
`ace_weather`
`ace_common`
{% endif %}
{% if include.component == "yardage450" %}