mirror of
https://github.com/acemod/ACE3.git
synced 2024-08-30 18:23:18 +00:00
Merge pull request #2699 from BaerMitUmlaut/disable-nvgs-in-sight
Disable nvgs in sight
This commit is contained in:
commit
e669f3e2cb
8
addons/nightvision/ACE_Settings.hpp
Normal file
8
addons/nightvision/ACE_Settings.hpp
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
class ACE_Settings {
|
||||||
|
class GVAR(disableNVGsWithSights) {
|
||||||
|
displayName = CSTRING(DisableNVGsWithSights_DisplayName);
|
||||||
|
description = CSTRING(DisableNVGsWithSights_description);
|
||||||
|
typeName = "BOOL";
|
||||||
|
value = 1;
|
||||||
|
};
|
||||||
|
};
|
@ -14,4 +14,28 @@ class CfgVehicles {
|
|||||||
MACRO_ADDITEM(ACE_NVG_Wide,6);
|
MACRO_ADDITEM(ACE_NVG_Wide,6);
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
class ACE_Module;
|
||||||
|
class GVAR(ModuleSettings): ACE_Module {
|
||||||
|
scope = 2;
|
||||||
|
displayName = CSTRING(Module_DisplayName);
|
||||||
|
icon = QUOTE(PATHTOF(UI\Icon_Module_ca.paa));
|
||||||
|
category = "ACE";
|
||||||
|
function = QUOTE(FUNC(initModule));
|
||||||
|
functionPriority = 1;
|
||||||
|
isGlobal = 1;
|
||||||
|
isTriggerActivated = 0;
|
||||||
|
author = "BaerMitUmlaut";
|
||||||
|
class Arguments {
|
||||||
|
class disableNVGsWithSights {
|
||||||
|
displayName = CSTRING(DisableNVGsWithSights_DisplayName);
|
||||||
|
description = CSTRING(DisableNVGsWithSights_Description);
|
||||||
|
typeName = "BOOL";
|
||||||
|
defaultValue = 1;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
class ModuleDescription {
|
||||||
|
description = CSTRING(Module_Description);
|
||||||
|
};
|
||||||
|
};
|
||||||
};
|
};
|
||||||
|
BIN
addons/nightvision/UI/Icon_Module_ca.paa
Normal file
BIN
addons/nightvision/UI/Icon_Module_ca.paa
Normal file
Binary file not shown.
@ -30,9 +30,15 @@ GVAR(ppEffectMuzzleFlash) ppEffectCommit 0;
|
|||||||
|
|
||||||
// Setup the event handlers
|
// Setup the event handlers
|
||||||
["playerInventoryChanged", {_this call FUNC(updatePPEffects)}] call EFUNC(common,addEventHandler);
|
["playerInventoryChanged", {_this call FUNC(updatePPEffects)}] call EFUNC(common,addEventHandler);
|
||||||
["playerVisionModeChanged", {_this call FUNC(updatePPEffects)}] call EFUNC(common,addEventHandler);
|
["playerVisionModeChanged", {
|
||||||
|
_this call FUNC(updatePPEffects);
|
||||||
|
_this call FUNC(onVisionModeChanged);
|
||||||
|
}] call EFUNC(common,addEventHandler);
|
||||||
["zeusDisplayChanged", {_this call FUNC(updatePPEffects)}] call EFUNC(common,addEventHandler);
|
["zeusDisplayChanged", {_this call FUNC(updatePPEffects)}] call EFUNC(common,addEventHandler);
|
||||||
["cameraViewChanged", {_this call FUNC(updatePPEffects)}] call EFUNC(common,addEventHandler);
|
["cameraViewChanged", {
|
||||||
|
_this call FUNC(updatePPEffects);
|
||||||
|
_this call FUNC(onCameraViewChanged);
|
||||||
|
}] call EFUNC(common,addEventHandler);
|
||||||
["playerVehicleChanged", {_this call FUNC(updatePPEffects)}] call EFUNC(common,addEventHandler);
|
["playerVehicleChanged", {_this call FUNC(updatePPEffects)}] call EFUNC(common,addEventHandler);
|
||||||
["playerTurretChanged", {_this call FUNC(updatePPEffects)}] call EFUNC(common,addEventHandler);
|
["playerTurretChanged", {_this call FUNC(updatePPEffects)}] call EFUNC(common,addEventHandler);
|
||||||
|
|
||||||
|
@ -4,6 +4,9 @@ ADDON = false;
|
|||||||
|
|
||||||
PREP(blending);
|
PREP(blending);
|
||||||
PREP(changeNVGBrightness);
|
PREP(changeNVGBrightness);
|
||||||
|
PREP(initModule);
|
||||||
|
PREP(onCameraViewChanged);
|
||||||
|
PREP(onVisionModeChanged);
|
||||||
PREP(updatePPEffects);
|
PREP(updatePPEffects);
|
||||||
|
|
||||||
ADDON = true;
|
ADDON = true;
|
||||||
|
@ -15,3 +15,4 @@ class CfgPatches {
|
|||||||
#include "CfgEventHandlers.hpp"
|
#include "CfgEventHandlers.hpp"
|
||||||
#include "CfgVehicles.hpp"
|
#include "CfgVehicles.hpp"
|
||||||
#include "CfgWeapons.hpp"
|
#include "CfgWeapons.hpp"
|
||||||
|
#include "ACE_Settings.hpp"
|
||||||
|
21
addons/nightvision/functions/fnc_initModule.sqf
Normal file
21
addons/nightvision/functions/fnc_initModule.sqf
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
/*
|
||||||
|
* Author: BaerMitUmlaut
|
||||||
|
* Initializes the settings for the disable NVGs in sight module.
|
||||||
|
*
|
||||||
|
* Arguments:
|
||||||
|
* 0: Module <OBJECT>
|
||||||
|
*
|
||||||
|
* Return Value:
|
||||||
|
* None
|
||||||
|
*
|
||||||
|
* Example:
|
||||||
|
* [_module] call ace_nightvision_fnc_initModule
|
||||||
|
*
|
||||||
|
* Public: No
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "script_component.hpp"
|
||||||
|
|
||||||
|
params ["_module"];
|
||||||
|
|
||||||
|
[_module, QGVAR(disableNVGsWithSights), "disableNVGsWithSights"] call EFUNC(common,readSettingFromModule);
|
38
addons/nightvision/functions/fnc_onCameraViewChanged.sqf
Normal file
38
addons/nightvision/functions/fnc_onCameraViewChanged.sqf
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
/*
|
||||||
|
* Author: BaerMitUmlaut
|
||||||
|
* Disables/re-enables NVGs when the player starts/stops aiming down his sight.
|
||||||
|
*
|
||||||
|
* Arguments:
|
||||||
|
* 0: Unit <OBJECT>
|
||||||
|
* 1: New camera view <STRING>
|
||||||
|
*
|
||||||
|
* Return Value:
|
||||||
|
* None
|
||||||
|
*
|
||||||
|
* Example:
|
||||||
|
* [player, "GUNNER"] call ace_nightvision_fnc_onCameraViewChanged
|
||||||
|
*
|
||||||
|
* Public: No
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "script_component.hpp"
|
||||||
|
|
||||||
|
params ["_unit", "_cameraView"];
|
||||||
|
|
||||||
|
if (GVAR(disableNVGsWithSights) && {(hmd _unit) != ""}) then {
|
||||||
|
if ((vehicle _unit == _unit)
|
||||||
|
|| {isTurnedOut _unit}
|
||||||
|
|| {!([_unit] call EFUNC(common,hasHatch))
|
||||||
|
&& {[_unit] call EFUNC(common,getTurretIndex) in ([vehicle _unit] call EFUNC(common,getTurretsFFV))}
|
||||||
|
}) then {
|
||||||
|
if ((_cameraView == "GUNNER") && {currentVisionMode _unit == 1}) then {
|
||||||
|
_unit action ["NVGogglesOff", _unit];
|
||||||
|
_unit setVariable [QGVAR(reenableNVGs), true];
|
||||||
|
} else {
|
||||||
|
if (_unit getVariable [QGVAR(reenableNVGs), false] && {_cameraView != "GUNNER"}) then {
|
||||||
|
_unit action ["NVGoggles", _unit];
|
||||||
|
_unit setVariable [QGVAR(reenableNVGs), false];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
32
addons/nightvision/functions/fnc_onVisionModeChanged.sqf
Normal file
32
addons/nightvision/functions/fnc_onVisionModeChanged.sqf
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
/*
|
||||||
|
* Author: BaerMitUmlaut
|
||||||
|
* Disables turning on NVGs while the player aims down his sight.
|
||||||
|
*
|
||||||
|
* Arguments:
|
||||||
|
* 0: Unit <OBJECT>
|
||||||
|
* 1: New vision mode <NUMBER>
|
||||||
|
*
|
||||||
|
* Return Value:
|
||||||
|
* None
|
||||||
|
*
|
||||||
|
* Example:
|
||||||
|
* [player, 1] call ace_nightvision_fnc_onVisionModeChanged
|
||||||
|
*
|
||||||
|
* Public: No
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "script_component.hpp"
|
||||||
|
|
||||||
|
params ["_unit", "_visionMode"];
|
||||||
|
|
||||||
|
if (GVAR(disableNVGsWithSights) && {(hmd _unit) != ""}) then {
|
||||||
|
if ((vehicle _unit == _unit)
|
||||||
|
|| {isTurnedOut _unit}
|
||||||
|
|| {!([_unit] call EFUNC(common,hasHatch))
|
||||||
|
&& {[_unit] call EFUNC(common,getTurretIndex) in ([vehicle _unit] call EFUNC(common,getTurretsFFV))}
|
||||||
|
}) then {
|
||||||
|
if ((cameraView == "GUNNER") && {_visionMode > 0}) then {
|
||||||
|
_unit action ["NVGogglesOff", _unit];
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
@ -133,5 +133,21 @@
|
|||||||
<Portuguese>Diminuir Luminosidade do EVN</Portuguese>
|
<Portuguese>Diminuir Luminosidade do EVN</Portuguese>
|
||||||
<Italian>Riduci la luminosità dell'NVG</Italian>
|
<Italian>Riduci la luminosità dell'NVG</Italian>
|
||||||
</Key>
|
</Key>
|
||||||
|
<Key ID="STR_ACE_NightVision_Module_DisplayName">
|
||||||
|
<English>Nightvision</English>
|
||||||
|
<German>Nachtsicht</German>
|
||||||
|
</Key>
|
||||||
|
<Key ID="STR_ACE_NightVision_Module_Description">
|
||||||
|
<English>Settings for night vision.</English>
|
||||||
|
<German>Einstellungen für Nachtsichtgeräte.</German>
|
||||||
|
</Key>
|
||||||
|
<Key ID="STR_ACE_NightVision_DisableNVGsWithSights_DisplayName">
|
||||||
|
<English>Disable NVGs in scope</English>
|
||||||
|
<German>Deakt. NVGs mit Visier</German>
|
||||||
|
</Key>
|
||||||
|
<Key ID="STR_ACE_NightVision_DisableNVGsWithSights_Description">
|
||||||
|
<English>Blocks the usage of night vision goggles whilst aiming down the sight.</English>
|
||||||
|
<German>Blockiert das Benutzen von Nachtsichtbrillen beim Benutzen des Visiers.</German>
|
||||||
|
</Key>
|
||||||
</Package>
|
</Package>
|
||||||
</Project>
|
</Project>
|
Binary file not shown.
After Width: | Height: | Size: 552 B |
Loading…
Reference in New Issue
Block a user