Difference between revisions of "DB/WorldMapOverlay"

From wowdev
Jump to: navigation, search
Line 46: Line 46:

Revision as of 00:45, 6 November 2014

Used to display the different zone overlays in blizzard's world map UI. Overlays are positionned in a rectangle whose coordinates are specified here in pixels (relative to the map pixel size). The bounding box uses the same coordinates (though not stored the same way) but is used for mouse-hovering instead of map drawing. The texture for the overlay is split in a varying number of textures. Each texture can not exceed the size of 256x256. Therefore you can deduce the number of textures used with width and height. Textures are found in the zone directory which itself resides in the "Interface\WorldMap" directory. To the base texture name you have to append an 1-based index corresponding to the subtexture you are looking for. (e.g. "Interface\WorldMap\Tirisfal\Monastery1.blp" Here the zone directory is "Tirisfal", the base texture name is "Monastery", with subtexture index of 1) The Zone (World Map Area) where the overlay is used can be found in field 2. The Area corresponding to the overaly is referenced in field 3 (no real idea about 4-5-6 for now), meaning you can find its localized name. -- Sourcepeek.Wiki

Header Info

Record Size................68
String Block Size.......10656


Column 	Field 			Type 		Notes 
1 	ID 			Integer 	Internal overlay id, probably not used anywhere (?) 	
2 	iRefID_mapAreaID 	Integer	
3 	iRefID_areaID		Integer[4] 
7 	mapPointX 		Integer
8 	mapPointY 		Integer 
9 	textureName 		String
10 	textureWidth 		Integer
11 	textureHeight 		Integer
12 	offsetX 		Integer
13 	offsetY 		Integer
14 	hitRectTop 		Integer
15 	hitRectLeft 		Integer
16 	hitRectBottom 		Integer
17 	hitRectRight 		Integer

Retrieved from "http://www.sourcepeek.com/wiki/WorldMapOverlay.dbc"

struct WorldMapOverlayRec {
  uint32_t m_ID;
  uint32_t m_mapAreaID;
  uint32_t m_areaID[4];
  stringref m_textureName;
  uint32_t m_textureWidth;
  uint32_t m_textureHeight;
  uint32_t m_offsetX;
  uint32_t m_offsetY;
  uint32_t m_hitRectTop;
  uint32_t m_hitRectLeft;
  uint32_t m_hitRectBottom;
  uint32_t m_hitRectRight;
  uint32_t m_playerConditionID;