2018-09-17 19:19:29 +00:00
|
|
|
#include "script_component.hpp"
|
2017-12-06 19:15:33 +00:00
|
|
|
/*
|
|
|
|
* Author: Dslyecxi, PabstMirror
|
|
|
|
* Handles setting up the effects: fog, ppEffects and the RscTittle.
|
|
|
|
*
|
|
|
|
* Arguments:
|
|
|
|
* 0: Activated <BOOL>
|
|
|
|
*
|
|
|
|
* Return Value:
|
|
|
|
* None
|
|
|
|
*
|
|
|
|
* Example:
|
|
|
|
* [true] call ace_nightvision_fnc_setupDisplayEffects
|
|
|
|
*
|
|
|
|
* Public: No
|
|
|
|
*/
|
|
|
|
|
|
|
|
params ["_activated"];
|
|
|
|
TRACE_1("setupDisplayEffects",_activated);
|
|
|
|
|
|
|
|
// Backup and restore changes to fog:
|
|
|
|
if (GVAR(fogScaling) > 0) then {
|
|
|
|
if (_activated) then {
|
|
|
|
if (isNil QGVAR(priorFog)) then {
|
|
|
|
TRACE_1("Backing up fog",fogParams);
|
|
|
|
GVAR(priorFog) = fogParams;
|
|
|
|
} else {
|
|
|
|
ERROR("fog already backed up");
|
|
|
|
};
|
|
|
|
|
|
|
|
// Handle non-dedicated:
|
|
|
|
if (isServer && hasInterface) then {
|
|
|
|
missionNamespace setVariable [QGVAR(serverPriorFog), fogParams, true];
|
|
|
|
[QGVAR(nonDedicatedFix), []] call CBA_fnc_remoteEvent;
|
|
|
|
};
|
|
|
|
} else {
|
|
|
|
if (!isNil QGVAR(priorFog)) then {
|
|
|
|
0 setFog GVAR(priorFog);
|
|
|
|
GVAR(priorFog) = nil;
|
|
|
|
} else {
|
|
|
|
ERROR("no fog backed up");
|
|
|
|
};
|
|
|
|
|
|
|
|
// Handle non-dedicated:
|
|
|
|
if (isServer && hasInterface) then {
|
|
|
|
missionNamespace setVariable [QGVAR(serverPriorFog), nil, true];
|
|
|
|
};
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
// Note: Using BIS_fnc_rscLayer because of bug with string syntax - https://feedback.bistudio.com/T120768
|
|
|
|
(QGVAR(display) call BIS_fnc_rscLayer) cutText ["", "PLAIN"]; // Cleanup Old Display
|
|
|
|
if (_activated) then { // Create New Display
|
|
|
|
(QGVAR(display) call BIS_fnc_rscLayer) cutRsc [QGVAR(title), "PLAIN", 0, false];
|
|
|
|
};
|
|
|
|
|
|
|
|
// Cleanup Old PP Effects
|
|
|
|
if (GVAR(ppeffectGrain) != -1) then {
|
|
|
|
ppEffectDestroy GVAR(ppeffectGrain);
|
|
|
|
GVAR(ppeffectGrain) = -1;
|
|
|
|
};
|
|
|
|
if (GVAR(ppeffectBlur) != -1) then {
|
|
|
|
ppEffectDestroy GVAR(ppeffectBlur);
|
|
|
|
GVAR(ppeffectBlur) = -1;
|
|
|
|
};
|
|
|
|
if (GVAR(ppeffectRadialBlur) != -1) then {
|
|
|
|
ppEffectDestroy GVAR(ppeffectRadialBlur);
|
|
|
|
GVAR(ppeffectRadialBlur) = -1;
|
|
|
|
};
|
|
|
|
if (GVAR(ppeffectColorCorrect) != -1) then {
|
|
|
|
ppEffectDestroy GVAR(ppeffectColorCorrect);
|
|
|
|
GVAR(ppeffectColorCorrect) = -1;
|
|
|
|
};
|