DB/WorldMapArea

From wowdev
Revision as of 06:03, 16 March 2022 by T1ti (talk | contribs) (add flags definitions)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Used to create the zones on the overhead world map. If your mouse falls inside one of the defined boxes... you're looking at that zone. Assumed to be layered based upon ID (ie If Mulgore overlaps Durotar, Mulgore has a higher ID, so Mulgore will come up instead of Durotar).

The Virtual Map ID (see below) is used for zones such as Exodar or Silvermoon, which resides in a map and are virtually shown in another. You see Exodar in map 1 (Kalimdor) in-game, while it is really in map 530 (Outland). Virtual map id is -1 when the Map ID is always correct.

To get correct textureX & textureY values for UpdateMapHighlight, textureX is always 1, textureY is height / width (if height > width, textureY must be divided by 2)

0.5.3.3368

struct WorldMapAreaRec {
  uint32_t m_ID;
  uint32_t m_mapID;
  uint32_t m_areaID;
  uint32_t m_leftBoundary;
  uint32_t m_rightBoundary;
  uint32_t m_topBoundary;
  uint32_t m_bottomBoundary;
  stringref m_areaName;
};

1.12.1.5875

struct WorldMapAreaRec {
  uint32_t m_ID;
  uint32_t m_mapID;
  uint32_t m_areaID;
  stringref m_areaName;
  float m_locLeft;
  float m_locRight;
  float m_locTop;
  float m_locBottom;
};

2.4.3.8606

struct WorldMapAreaRec {
  uint32_t m_ID;
  uint32_t m_mapID;
  uint32_t m_areaID;
  stringref m_areaName;
  float m_locLeft;
  float m_locRight;
  float m_locTop;
  float m_locBottom;
  uint32_t m_displayMapID;
};

Structure

Column 	Field 			Type 		Notes 
1 	ID 			Integer 	
2 	iRefID_Map 		Integer 	Possible reference to WorldMapContinent.dbc column 2. 
3 	iRefID_AreaTable 	Integer 	
4 	areaName 		String 		Name of the Worldmap-Files (Interface\WorldMap\ ... \ ...x.blp [1 <= x <= 12 {4*3}]
5 	locLeft 		Float 		Map border coords: Left Y
6 	locRight 		Float 		Map border coords: Right Y
7 	locTop 			Float 		Map border coords: Top X
8 	locBottom 		Float 		Map border coords: Bottom X
9 	iRefID_displayMapID 	Integer 	Virtual Map ID
10 	iRefID_defaultDungeonFloor Integer 	Dungeon Map ID (override x1,x2,y1,y2 coordinates)
cata	parentWorldMapID	Integer

--Amaroth (talk) 19:55, 26 January 2016 (UTC)

6.0.1.18179

struct WorldMapAreaRec {
  uint32_t m_ID;
  uint32_t m_mapID;
  uint32_t m_areaID;
  stringref m_areaName;
  float m_locLeft;
  float m_locRight;
  float m_locTop;
  float m_locBottom;
  uint32_t m_displayMapID;
  uint32_t m_defaultDungeonFloor;
  uint32_t m_parentWorldMapID;
  uint32_t m_flags;                     // & 8: skip .zmp file: assume all zero.
  uint32_t m_levelRangeMin;
  uint32_t m_levelRangeMax;
};

flags

Flag id Value
0 Is Placeholder
1 Is a Phased World Map
2 Default Dungeon Floor is Terrain
3 Virtual Continent Map
4 Child of a Virtual Continent Map
5 Don't Display ANY Highlight
6 Force Map Overlays to be used
7 Don't Display Taxi Nodes
8 Don't Use Default Dungeon Floor (typically Floor 1)
9 Default Dungeon Floor is Micro Dungeon
10 Orphan Map
11 Show Garrison Buildings
12 Fallback to Parent Map (e.g. if we don't want a map for this terrain phase)
13 Don't Display Highlight Texture
14 Show Task Objective POIs on Map
15 HACK: micro dungeon map use parent WorldMapArea for filepath
16 No World Positions