Configuring 2D Map – DayZ

From Bohemia Interactive Community
Jump to navigation Jump to search

Overview

DayZ supports generating a 2D map from the terrain data, which means this map is always up-to-date and does not require any other maintenance. It supports any terrain (including community made) with the limitation of showing only the map of currently loaded terrain (world).

Base configuration

By default, the GUI map layout with MapWidgetClass is displayed after executing an action on the map item (ActionUnfoldMap) and the configuration is included on the map item (located at DZ\gear\navigation\config.cpp). Since update 1.06, map item has been made world independent with an ability to customise its visual look (as an item in 3D world) based on the currently loaded terrain. To configure this map item for your terrain, provide these paremeters in your world config:

class CfgWorlds
{
	class CAWorld;
	class YourTerrain: CAWorld
	{
		// map item name (default value is #STR_CfgVehicles_ChernarusMap0)
		mapDisplayNameKey = "";
		// map item description (default value is #STR_CfgVehicles_ChernarusMap1)
		mapDescriptionKey = "";
		// closed map item texture (default value is dz\gear\navigation\data\map_chernarus_co.paa)
		mapTextureClosed = "";
		// opened map item texture (check dz\structures\signs\tourist\data\karta_co.paa to see how it should look like)
		mapTextureOpened = "";
		// opened map item legend part (check dz\structures\signs\tourist\data\karta_side_co.paa to see how it should look like)
		mapTextureLegend = "";
		// 2D map overlay map for this world (see dz\gear\navigation\data\usermap for an example - it is basically same like proper satellite texture for the terrain just with different sort of info)
		userMapPath = "";
	};
};

After configuring this, you can freely use item called ChernarusMap (do not be confused by its name) on your terrain while using custom textures and text that fits your terrain.

The map UI can be also created independently of the map item, but then you will need to override in your mod a RscMapControl class (located in bin\config.cpp - it is recommended to base off the values that are at DZ\gear\navigation\config.cpp).


Location labels

Location labels is a feature of a 2D map, which is not tied to any specific map object and is defined within a CfgWorlds entry of a terrain (class Names). Following game config example shows how one can be configured:

class CfgWorlds
{
	class CAWorld;
	class YourTerrain: CAWorld
	{
		/* .. */
		/* locations definition */
		class Names
		{
			class location_name
			{
				name="LocationName";
				position[]={11339.77,14391.05};
				type="locationtype";
			};
		};
		/* end of locations definition */
		/* .. */
	};
};

name parameter can be also a string from the stringtable database (can be localized). position is a 2D position, specified in meters. Please keep in mind that positioning multiple labels close to each other can lead in some not being visible at all. Available values for the type parameter are in the following table:

Name Icon Notes
Capital none Used for biggest settlements.
City none Used for mid-sized settlements.
Village none Used for small settlements.
Local none Used for miscellaneous locations.
Marine none Used for coastal locations (bays) or in-land water bodies.
Ruin DZ\gear\navigation\data\map_ruin_ca Used for castles.
Camp DZ\gear\navigation\data\map_camp_ca Used for summer camps.
Hill DZ\gear\navigation\data\map_hill_ca Used for mountains.
ViewPoint DZ\gear\navigation\data\map_viewpoint_ca Used for places with nice views (without text usually).
RockArea DZ\gear\navigation\data\map_rock_ca Used for larger parts with lot of rocks around.
RailroadStation DZ\gear\navigation\data\map_station_ca Used for rail stations.
IndustrialSite DZ\gear\navigation\data\map_factory_ca Used for large industrial areas.
LocalOffice DZ\gear\navigation\data\map_govoffice_ca Used for local offices (with Public Address System panels).
BorderCrossing DZ\gear\navigation\data\map_border_cross_ca Used for border crossings.
VegetationBroadleaf DZ\gear\navigation\data\map_broadleaf_ca Used for larger forest areas.
VegetationFir DZ\gear\navigation\data\map_fir_ca Used for larger forest areas.
VegetationPalm DZ\gear\navigation\data\map_palm_ca Used for larger forest areas.
VegetationVineyard DZ\gear\navigation\data\map_vineyard_ca Used for vineyards.

Changes in this config do not require map to be re-binarized.

Values for map property

Each map object (p3d) can contain a named property called map in geometry LOD. This defines how such object should look like on the 2D map. There can be 4 cases basically:

  • hidden from the map
  • icon only
  • icon and bounding box
  • special case (roads, railway)

If you do not specify this property, it is automatically assumed that object will not be visible = default value for this property is map=hide.

Name Icon Hides BBox Notes
track none no Width of the road included, color defined by the game config (class MapDefaults).
road none no Width of the road included, color defined by the game config (class MapDefaults).
main road none no Width of the road included, color defined by the game config (class MapDefaults).
power lines none yes Color defined by the game config (class MapDefaults).
railway none yes Color defined by the game config (class MapDefaults).
house none no Color derived from the geometry LOD.
fence none no Color derived from the geometry LOD.
wall none no Color derived from the geometry LOD.
hide none yes Use to hide object (default value).
bush dz\gear\navigation\data\map_bush_ca yes
small tree dz\gear\navigation\data\map_smalltree_ca yes Used for small trees (orchards). They do not form forests triangles.
tree dz\gear\navigation\data\map_tree_ca yes Used for solitary trees. Forest triangles are created (based on CfgWorlds parameter minTreesInForestSquare).
rock dz\gear\navigation\data\map_rock_ca yes Used on large rock cliffs. Rock triangles are created (based on CfgWorlds parameter minRocksInRockSquare).
fuelstation dz\gear\navigation\data\map_fuelstation_ca yes
lighthouse dz\gear\navigation\data\map_lighthouse_ca yes
stack dz\gear\navigation\data\map_stack_ca yes
transmitter dz\gear\navigation\data\map_transmitter_ca yes
watertower dz\gear\navigation\data\map_watertower_ca yes
shipwreck dz\gear\navigation\data\map_shipwreck_ca yes
monument dz\gear\navigation\data\map_monument_ca yes
busstop dz\gear\navigation\data\map_busstop_ca yes
fountain dz\gear\navigation\data\map_fountain_ca yes
waterpump dz\gear\navigation\data\map_waterpump_ca yes
hospital dz\gear\navigation\data\map_hospital_ca no
store dz\gear\navigation\data\map_store_ca no
police dz\gear\navigation\data\map_police_ca no Police department.
firedep dz\gear\navigation\data\map_firedep_ca no Fire department.
tsign dz\gear\navigation\data\map_tsign_ca yes Tourist directional sign.
tshelter dz\gear\navigation\data\map_tshelter_ca yes Tourist shelter.
tourism dz\gear\navigation\data\map_tourism_ca yes Usually used on pub-like objects.
cross dz\gear\navigation\data\map_cross_ca yes Solitary crosses.
chapel dz\gear\navigation\data\map_chapel_ca no Small churches - chapels.
church dz\gear\navigation\data\map_church_ca no Big churches.
view-tower dz\gear\navigation\data\map_viewtower_ca yes Used on small view-towers.
quay dz\gear\navigation\data\map_quay_ca yes Not used at the moment. Can be used for selected pier objects.
bunker dz\gear\navigation\data\map_bunker_ca yes Not used at the moment.
fortress dz\gear\navigation\data\map_fortress_ca yes Not used at the moment.
rocks dz\gear\navigation\data\map_rock_ca yes Not used at the moment.
ruin dz\gear\navigation\data\map_ruin_ca no Not used at the moment, it is recommended to use location type Ruin instead.

Changes of the map property in the models require map to be re-binarized.