ACE3/addons/markers/functions/fnc_mapDrawEH.sqf
frankplow 6843a221ad
Markers - Add scale slider (#8059)
Co-authored-by: commy2 <commy-2@gmx.de>
Co-authored-by: PabstMirror <pabstmirror@gmail.com>
Co-authored-by: jonpas <jonpas33@gmail.com>
2021-04-21 22:36:08 +02:00

57 lines
1.5 KiB
Plaintext

#include "script_component.hpp"
/*
* Author: PabstMirror
* Draws the current temp marker. Allows rotation and scale.
*
* Arguments:
* 0: TheMap <Control>
*
* Return Value:
* None
*
* Example:
* [theMapControl] call ace_markers_fnc_mapDrawEH;
*
* Public: No
*/
params ["_theMap"];
// TRACE_1("params",_theMap);
//Only show if marker place is open:
if (isNull findDisplay 54) exitWith {};
//Error checking:
if (GVAR(currentMarkerConfigName) == "" || {GVAR(currentMarkerColorConfigName) == ""} || {GVAR(currentMarkerPosition) isEqualTo []}) exitWith {
ERROR("Bad Data");
};
private _sizeX = GVAR(currentMarkerScale);
private _sizeY = GVAR(currentMarkerScale);
private _textureConfig = configFile >> "CfgMarkers" >> GVAR(currentMarkerConfigName);
private _texture = getText (_textureConfig >> "icon");
private _markerSize = getNumber (_textureConfig >> "size");
private _markerShadow = getNumber (_textureConfig >> "shadow");
private _colorConfig = (configFile >> "CfgMarkerColors" >> GVAR(currentMarkerColorConfigName));
private _drawColor = getArray (_colorConfig >> "color");
//Convert possible code into numbers
{
if (_x isEqualType "") then {
_drawColor set [_forEachIndex, call compile _x];
};
} forEach _drawColor;
_drawColor set [3, (_drawColor select 3) * 0.875]; //Arma adds a slight transparency
_theMap drawIcon [
_texture,
_drawColor,
GVAR(currentMarkerPosition),
_sizeX * _markerSize,
_sizeY * _markerSize,
GVAR(currentMarkerAngle),
"",
_markerShadow
];