Added separate handling for Air vehicles (longer view distances), Fixed normal zoom level to actual A3 value

This commit is contained in:
jonpas 2015-08-17 18:46:14 +02:00
parent 3147cb038b
commit f14830624b

View File

@ -13,8 +13,13 @@
*
* Public: No
*/
#define DEBUG_MODE_FULL
#include "script_component.hpp"
#define VD_NORMAL_ZOOM 1.00041
#define VD_ZOOM_DIVISION 35
#define VD_ZOOM_DIVISION_AIR 10
params ["", "_idPFH"];
// Remove PFH and set Object View Distance back to what it was before
@ -26,11 +31,22 @@ if (GVAR(objectViewDistanceCoeff) < 6) exitWith {
private ["_zoom"];
_zoom = (call CBA_fnc_getFov) select 1;
if (_zoom > 0.94) then {
// Air
if ((vehicle ACE_player) isKindOf "Air") exitWith {
if (_zoom > VD_NORMAL_ZOOM) then {
// Dynamically set Object View Distance based on player's Zoom Level and View Distance
setObjectViewDistance ((_zoom / VD_ZOOM_DIVISION_AIR * (viewDistance - GVAR(fovBasedPFHminimalViewDistance))) + GVAR(fovBasedPFHminimalViewDistance));
} else {
setObjectViewDistance (GVAR(fovBasedPFHminimalViewDistance) + viewDistance / 10);
};
TRACE_2("FoV Based",getObjectViewDistance select 0,_zoom);
};
// Land
if (_zoom > VD_NORMAL_ZOOM) then {
// Dynamically set Object View Distance based on player's Zoom Level and View Distance
setObjectViewDistance ((_zoom/34.98 * (viewDistance - GVAR(fovBasedPFHminimalViewDistance))) + GVAR(fovBasedPFHminimalViewDistance));
setObjectViewDistance ((_zoom / VD_ZOOM_DIVISION * (viewDistance - GVAR(fovBasedPFHminimalViewDistance))) + GVAR(fovBasedPFHminimalViewDistance));
} else {
setObjectViewDistance GVAR(fovBasedPFHminimalViewDistance);
};
TRACE_2("FoV Based",getObjectViewDistance select 0,_zoom);