ACE3/addons/nightvision/functions/fnc_changeNVGBrightness.sqf
Will/KJW 90d855c2c5
Nightvision - Improve NVG Brightness adjustment limits (#10136)
* Update fnc_changeNVGBrightness.sqf

* Update XEH_postInit.sqf

* Update addons/nightvision/XEH_postInit.sqf

Co-authored-by: PabstMirror <pabstmirror@gmail.com>

* Update XEH_postInit.sqf

* Update fnc_changeNVGBrightness.sqf

* Update nightvision-framework.md

* load order independence

Co-authored-by: PabstMirror <pabstmirror@gmail.com>

---------

Co-authored-by: PabstMirror <pabstmirror@gmail.com>
Co-authored-by: Grim <69561145+LinkIsGrim@users.noreply.github.com>
2024-08-02 09:52:44 -03:00

42 lines
1.3 KiB
Plaintext

#include "..\script_component.hpp"
/*
* Author: commy2
* Change the brightness of the unit's NVG.
*
* Arguments:
* 0: The Unit <OBJECT>
* 1: Change in brightness (1 or -1) <NUMBER>
*
* Return Value:
* None
*
* Example:
* [player, 1] call ace_nightvision_fnc_changeNVGBrightness
*
* Public: No
*/
params ["_player", "_changeInBrightness"];
TRACE_2("changeNVGBrightness",_player,_changeInBrightness);
private _effectsEnabled = GVAR(effectScaling) != 0;
private _defaultBrightness = [-3, 0] select _effectsEnabled;
private _brightness = _player getVariable [QGVAR(NVGBrightness), _defaultBrightness];
_brightness = ((_brightness + _changeInBrightness) min GVAR(const_MaxBrightness)) max GVAR(const_MinBrightness);
_player setVariable [QGVAR(NVGBrightness), _brightness, false];
// Display default setting as 0
[format [LLSTRING(NVGBrightness), _brightness - _defaultBrightness]] call EFUNC(common,displayTextStructured);
playSound "ACE_Sound_Click";
// Handle brightness only if effects are disabled
if (!_effectsEnabled) exitWith {
_brightness = linearConversion [-6, 0, _brightness, 0.4, 1.6, true];
GVAR(ppEffectNVGBrightness) ppEffectAdjust [1, _brightness, 0, [0, 0, 0, 0], [0, 0, 0, 1], [0, 0, 0, 1]];
GVAR(ppEffectNVGBrightness) ppEffectCommit 0;
};
// Trigger full ppEffects update next time run in the PFEH
GVAR(nextEffectsUpdate) = -1;