Jump to content
Sign in to follow this  
gundy

Hide GPS crosshair from RscMapControl

Recommended Posts

Hi all,

When entering a helicopter (and probably other vehicles) you seem to be temporarily given a GPS, resulting in a GPS crosshair being drawn on RscMapControls. Is there any way to hide that crosshair from my RscMapControl? I don't mind so much that the player has access to a GPS or that the position is revealed on the main map (when you press 'm'), but I do not want to have that crosshair show up on the RscMapControl I am trying to set up.

Thanks & Best Regards,

Gundy

Share this post


Link to post
Share on other sites

Still haven't found a solution. Is it possible to dynamically set enableGPS on a vehicle, for example to "disable" when loading an SQF script? How would I do that, assuming that I have the target vehicle already as an object?

Share this post


Link to post
Share on other sites

Sorry to bump this again, but I am still looking for a solution. The map resource that gets drawn for the GPS (when hitting CTRL+M) does not show the vertical and horizontal lines through your own position, so this should be possible.

Share this post


Link to post
Share on other sites

A picture says more than a thousand words.

These lines need to go

HCg8yURl.jpg

Share this post


Link to post
Share on other sites

Right, I found a way, though its not very comfortable. For the the map control's type use use CT_MAP (100) instead of CT_MAP_MAIN (101). No more GPS position lines! Unfortunately this also gets rid of all map markers, so if you want them to show up, you have to write code that gets called in the OnDraw entry to draw these.

Share this post


Link to post
Share on other sites

I tried to create a function that draws the markers on a CT_MAP map control, but its incomplete. Only icons, rectangles and ellipses are drawn, and the both ellipses and rectangles are not drawing "solid" and "solidBorder" grid types correctly yet. Arrows and lines are missing altogether.

I also seem to be unable to get the map to draw "satellite" style, even though the maxSatelliteAlpha, alphaFadeStartScale and alphaFadeEndScale properties are set accordingly and do work fine on a CT_MAP_MAIN map control.

Here is the code I have so far:

draw_markers = {
_cntrlScreen = _this select 0;
{
	private ["_marker","_pos","_type","_size","_icon","_colorType","_color","_brush","_brushType","_shape","_alpha","_dir","_text"];
	_marker = _x;

	_pos = getMarkerPos _marker;
	_type = getMarkerType _marker;
	_size = getMarkerSize _marker;
	_icon = getText(configFile/"CfgMarkers"/_type/"Icon");
	_colorType = getMarkerColor _marker;  
	if (_icon != "" && {_colorType == "Default"}) then {
		_color = getArray(configFile/"CfgMarkers"/_type/"color");
	} else {
		_color = getArray(configFile/"CfgMarkerColors"/_colorType/"color");
	};
	if (typeName (_color select 0) == "STRING") then {
		_color = [
			call compile (_color select 0),
			call compile (_color select 1),
			call compile (_color select 2),
			call compile (_color select 3)
		];
	};
	_brushType = markerBrush _marker;
	_brush = getText(configFile/"CfgMarkerBrushes"/_brushType/"texture");
	_shape = markerShape _marker;
	_alpha = markerAlpha _marker;
	_dir = markerDir _marker;
	_text = markerText _marker;

	switch (_shape) do {
	    case "ICON": {
	    	_cntrlScreen drawIcon [_icon,_color,_pos,(_size select 0) * 20,(_size select 1) * 20,_dir,_text,0,0.035,"TahomaB"];
	    };
	    case "RECTANGLE": {
	    	_cntrlScreen drawRectangle [_pos,_size select 0,_size select 1,_dir,_color,_brush];
		};
		case "ELLIPSE": {
	    	_cntrlScreen drawEllipse [_pos,_size select 0,_size select 1,_dir,_color,_brush];
		};
	};
} forEach allMapMarkers;
};

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×