2023-09-12 18:58:10 +00:00
|
|
|
#include "..\script_component.hpp"
|
2022-05-05 16:07:54 +00:00
|
|
|
/*
|
|
|
|
* Author: PabstMirror
|
|
|
|
* Add laser drawing to map
|
|
|
|
*
|
|
|
|
* Arguments:
|
|
|
|
* None
|
|
|
|
*
|
|
|
|
* Return Value:
|
|
|
|
* None
|
|
|
|
*
|
|
|
|
* Example:
|
|
|
|
* [] call ace_laser_fnc_addMapHandler
|
|
|
|
*
|
|
|
|
* Public: No
|
|
|
|
*/
|
|
|
|
TRACE_3("addMapHandler",ace_player,typeOf vehicle ace_player,ACE_controlledUAV);
|
|
|
|
|
|
|
|
GVAR(mapLaserSource) = call {
|
|
|
|
if (GVAR(showLaserOnMap) == 0) exitWith {
|
|
|
|
TRACE_1("setting - disabled",GVAR(showLaserOnMap));
|
|
|
|
objNull
|
|
|
|
};
|
|
|
|
if (alive (ACE_controlledUAV # 0)) exitWith {
|
|
|
|
TRACE_1("using UAV",objNull);
|
|
|
|
ACE_controlledUAV # 0;
|
|
|
|
};
|
|
|
|
if (GVAR(showLaserOnMap) == 1) exitWith {
|
|
|
|
TRACE_1("setting - no UAV",GVAR(showLaserOnMap));
|
|
|
|
objNull
|
|
|
|
};
|
|
|
|
private _player = ace_player;
|
|
|
|
private _vehicle = vehicle _player;
|
|
|
|
if ((_player != _vehicle) && {_player in [gunner _vehicle, commander _vehicle]}) exitWith {
|
|
|
|
TRACE_1("using player's vehicle",_vehicle);
|
|
|
|
_vehicle
|
|
|
|
};
|
|
|
|
if (GVAR(showLaserOnMap) == 2) exitWith {
|
|
|
|
TRACE_1("setting - no UAV or vehicle",GVAR(showLaserOnMap));
|
|
|
|
objNull
|
|
|
|
};
|
|
|
|
TRACE_1("using player",_player);
|
|
|
|
_player
|
|
|
|
};
|
|
|
|
|
|
|
|
if (!alive GVAR(mapLaserSource)) exitWith {};
|
|
|
|
|
|
|
|
[{!isNull findDisplay 12}, // for some reason the display is null for the frame when starting to control drone
|
|
|
|
{
|
|
|
|
private _map = ((findDisplay 12) displayCtrl 51);
|
|
|
|
private _ehID = _map getVariable [QGVAR(ehID), -1];
|
|
|
|
if (_ehID > -1) exitWith {};
|
|
|
|
_ehID = _map ctrlAddEventHandler ["Draw", {
|
|
|
|
if (!alive GVAR(mapLaserSource)) exitWith {};
|
|
|
|
private _laserTarget = laserTarget GVAR(mapLaserSource);
|
|
|
|
if (!alive _laserTarget) exitWith {};
|
|
|
|
|
|
|
|
params ["_map"];
|
|
|
|
_map drawLine [getPos _laserTarget, getPos GVAR(mapLaserSource), [1,0,0,0.333]];
|
|
|
|
_map drawIcon [
|
|
|
|
"\A3\ui_f\data\igui\rscingameui\rscoptics\laser_designator_iconLaserOn.paa",
|
|
|
|
[1,0,1,1],
|
|
|
|
(getPos _laserTarget),
|
|
|
|
16, 16,
|
|
|
|
((getDir _laserTarget) + 90)
|
|
|
|
];
|
|
|
|
}];
|
|
|
|
TRACE_2("added map drawEH",_map,_ehID);
|
|
|
|
_map setVariable [QGVAR(ehID), _ehID];
|
|
|
|
}, []] call CBA_fnc_waitUntilAndExecute;
|