ACE3/addons/vector/functions/fnc_getDirection.sqf

44 lines
933 B
Plaintext
Raw Normal View History

/*
* Author: commy2
*
*
* Arguments:
* None
*
* Return Value:
* Array <ARRAY>
*
* Example:
* call ace_vector_fnc_getDirection
*
* Public: No
*/
// by commy2
2015-01-14 06:24:17 +00:00
#include "script_component.hpp"
2015-01-15 06:18:57 +00:00
/*
2015-01-14 19:38:59 +00:00
private "_dlgVector";
disableSerialization;
2015-01-15 06:18:57 +00:00
_dlgVector = GETUVAR(ACE_dlgVector, displayNull);
[
2015-01-15 06:18:57 +00:00
round parseNumber ctrlText (_dlgVector displayCtrl 156),
round parseNumber ctrlText (_dlgVector displayCtrl 182)
]
2015-01-15 06:18:57 +00:00
*/
2015-01-15 16:24:19 +00:00
#define MAX_ABSINCLINATION 45
private _position = ATLToASL positionCameraToWorld [0,0,0];
private _direction = ATLToASL positionCameraToWorld [0,0,1];
2015-01-15 06:18:57 +00:00
private _azimuth = ((_direction select 0) - (_position select 0)) atan2 ((_direction select 1) - (_position select 1));
private _inclination = asin ((_direction select 2) - (_position select 2));
2015-01-15 06:18:57 +00:00
if (_azimuth < 0) then {_azimuth = _azimuth + 360};
2015-01-15 16:24:19 +00:00
if (abs _inclination > MAX_ABSINCLINATION) then {_inclination = -1000};
2015-01-15 06:18:57 +00:00
[_azimuth, _inclination]