DB/Map: Difference between revisions
Jump to navigation
Jump to search
Смердокрыл (talk | contribs) (BfA structure) |
Barncastle (talk | contribs) m (→6.0.1.18179) |
||
Line 138: | Line 138: | ||
{{Template:Type|stringref}} m_Directory; | {{Template:Type|stringref}} m_Directory; | ||
uint32_t m_InstanceType; | uint32_t m_InstanceType; | ||
uint32_t m_Flags; | uint32_t m_Flags; | ||
uint32_t m_MapType; | uint32_t m_MapType; | ||
{{Template:Type|langstringref}} m_MapName_lang; | {{Template:Type|langstringref}} m_MapName_lang; | ||
Line 156: | Line 156: | ||
uint32_t m_timeOffset; | uint32_t m_timeOffset; | ||
}; | }; | ||
===Flags=== | |||
{| style="background:#FCFCFC; color:black" | |||
|- | |||
! width="80" | Value | |||
! width="600" | Description | |||
|- | |||
| 0x00000000100 || can toggle difficulty <code>MapRec::CanToggleDifficulty</code> | |||
|- | |||
| 0x00000008000 || flex locking (All difficulties share completed encounters lock, not bound to a single instance id heroic difficulty flag overrides it and uses instance id bind; trinitycore) <code>MapRec::IsFlexLocking</code> | |||
|- | |||
| 0x00000020000 || sets 0x20 on <code>CMap::Load</code> | |||
|- | |||
| 0x00000040000 || prevent paid race change <code>Script_GetCharacterInfo</code> | |||
|- | |||
| 0x00000010000 || limit farclip to 727.0 <code>World::LoadMap, World::SetFarClip</code> | |||
|- | |||
| 0x00000200000 || sets 0x40 on <code>CMap::Load</code> | |||
|- | |||
| 0x00002000000 || {{Unverified|proving grounds, affects spells that can be/are used?}} <code>Spell_C_IsUsableAction, CGUnit_C::CheckAndReportSpellInhibitFlags</code> | |||
|- | |||
| 0x00004000000 || garrison <code>GarrisonInfo::InitInfo</code> | |||
|- | |||
| 0x20000000000 || limit LightMode to 0 or 1 (Legion+ actually in m_Flags[1]!) | |||
|} | |||
==7.0.3.22201== | ==7.0.3.22201== |
Revision as of 13:00, 3 May 2019
Note that some emulators have issues with IDs above 999 due to their extractors (vmaps).
0.5.3.3368
struct MapRec { uint32_t m_ID; stringrefⁱ m_Directory; uint32_t m_PVP; uint32_t m_IsInMap; langstringrefⁱ m_MapName_lang; };
1.12.1.5875
struct MapRec { uint32_t m_ID; stringrefⁱ m_Directory; uint32_t m_InstanceType; uint32_t m_MapType; langstringrefⁱ m_MapName_lang; uint32_t min_level; uint32_t max_level; uint32_t max_players; uint32_t ?; uint32_t ?; uint32_t ?; foreign_keyⁱ<uint32_t, &MapRec::m_ID> m_parentMapID; langstringrefⁱ m_MapDescription0_lang; langstringrefⁱ m_MapDescription1_lang; foreign_keyⁱ<int32_t, &LoadingScreensRec::m_ID> m_LoadingScreenID; uint32_t m_raidOffset; uint32_t continentname?; uint32_t ?; };
3.0.9.9551
Column | Field | Type | Notes |
---|---|---|---|
1 | ID | Integer | |
2 | InternalName | String | reference to World\Map\ [...] \ |
3 | AreaType | Integer | 0: none, 1: party, 2: raid, 3: pvp, 4: arena, >=5: none (official from "IsInInstance()") |
4 | IsBattleground | Boolean | Simple flag for battleground maps |
5 | Name | Loc | Name (displayed on World Map for example) |
6 | AreaTable | iRefID | iRefID to AreaTable.dbc |
7 | Description | Loc | Alliance |
8 | Description | Loc | Horde |
9 | LoadingScreen | iRefID | The LoadingScreen to Display |
10 | BattlefieldMapIconScale | Float | |
11 | Requirement | Loc | Requirement to enter |
12 | Heroic | Loc | Heroic-Requirement to enter |
13 | Unknown | Loc | Some other requirement to enter. |
14 | ParentArea | iRefID | Points to column 1, -1 if none |
15 | X-Coord | Float | The X-Coord of the instance entrance |
16 | Y-Coord | Float | The Y-Coord of the instance entrance |
17 | ResetTimeRaid | Integer | Raid. |
18 | ResetTimeRaid | Integer | Heroic raid or instance? |
19 | Unknown | Integer | All the time 0. |
20 | TimeOfDayOverride | Integer | Set to -1 for everything but Orgrimmar and Dalaran arena. For those, the time of day will change to this. |
21 | ExpansionID | Integer | Vanilla: 0, BC: 1, WotLK: 2 |
22 | Unknown | Integer | Another resettime? Is the same as the heroic one for some entries. |
3.2?
Column | Field | Type | Notes |
---|---|---|---|
1 | ID | Integer | |
2 | Directory | String | reference to World\Map\ [...] \ |
3 | InstanceType | Integer | 0: none, 1: party, 2: raid, 3: pvp, 4: arena, >=5: none (official from "IsInInstance()") |
4 | Flags | Boolean | Simple flag for battleground maps |
cata | PVP | Boolean | Simple flag for battleground maps |
5-21 | MapName | Loc | Name (displayed on World Map for example) |
22 | areaTableID | iRefID | iRefID to AreaTable.dbc |
23-39 | MapDescription0 | Loc | Alliance |
40-56 | MapDescription1 | Loc | Horde |
57 | LoadingScreen | iRefID | The LoadingScreen to Display |
58 | minimapIconScale | Float | |
59 | corpseMapID | iRefID | Points to column 1, -1 if none |
60 | corpseX | Float | The X-Coord of the instance entrance |
61 | corpseY | Float | The Y-Coord of the instance entrance |
62 | TimeOfDayOverride | Integer | Set to -1 for everything but Orgrimmar and Dalaran arena. For those, the time of day will change to this. |
63 | ExpansionID | Integer | Vanilla: 0, BC: 1, WotLK: 2 |
64 | maxPlayers | Integer | |
65 | NumberOfPlayers | Integer | Used for reset time, I guess. |
cata | parentMapID | Integer |
Some columns are moved to MapDifficulty.dbc in 3.2.
6.0.1.18179
struct MapRec { uint32_t m_ID; stringrefⁱ m_Directory; uint32_t m_InstanceType; uint32_t m_Flags; uint32_t m_MapType; langstringrefⁱ m_MapName_lang; uint32_t m_areaTableID; langstringrefⁱ m_MapDescription0_lang; langstringrefⁱ m_MapDescription1_lang; uint32_t m_LoadingScreenID; float m_minimapIconScale; uint32_t m_corpseMapID; float m_corpse[2]; uint32_t m_timeOfDayOverride; uint32_t m_expansionID; uint32_t m_raidOffset; uint32_t m_maxPlayers; uint32_t m_parentMapID; uint32_t m_cosmeticParentMapID; uint32_t m_timeOffset; };
Flags
Value | Description |
---|---|
0x00000000100 | can toggle difficulty MapRec::CanToggleDifficulty
|
0x00000008000 | flex locking (All difficulties share completed encounters lock, not bound to a single instance id heroic difficulty flag overrides it and uses instance id bind; trinitycore) MapRec::IsFlexLocking
|
0x00000020000 | sets 0x20 on CMap::Load
|
0x00000040000 | prevent paid race change Script_GetCharacterInfo
|
0x00000010000 | limit farclip to 727.0 World::LoadMap, World::SetFarClip
|
0x00000200000 | sets 0x40 on CMap::Load
|
0x00002000000 | proving grounds, affects spells that can be/are used?ᵘ Spell_C_IsUsableAction, CGUnit_C::CheckAndReportSpellInhibitFlags
|
0x00004000000 | garrison GarrisonInfo::InitInfo
|
0x20000000000 | limit LightMode to 0 or 1 (Legion+ actually in m_Flags[1]!) |
7.0.3.22201
struct MapRec { string Directory; uint32_t[2] Flags; float MinimapIconScale; float[2] CorpseCoordinates; string ZoneName; string HordeDescription; string AllianceDescription; foreign_keyⁱ<uint16_t, &AreaTableRec::m_ID> AreaTableID; foreign_keyⁱ<int16_t, &LoadingScreensRec::m_ID> LoadingScreenID; foreign_keyⁱ<int16_t, &MapRec::m_ID> CorpseMapID; int16_t TimeOfDayOverride; foreign_keyⁱ<int16_t, &MapRec::m_ID> ParentMapID; foreign_keyⁱ<int16_t, &MapRec::m_ID> CosmeticParentMapID; foreign_keyⁱ<int16_t, &WindSettingsRec::m_ID> WindSettingsID; uint8_t InstanceType; uint8_t MapType; uint8_t ExpansionID; uint8_t MaxPlayers; uint8_t TimeOffset; };
7.2.0
struct MapRec { string Directory; uint32_t[2] Flags; float MinimapIconScale; float[2] CorpseCoordinates; string ZoneName; string HordeDescription; string AllianceDescription; string PvpObjective; string PvpDescription; foreign_keyⁱ<uint16_t, &AreaTableRec::m_ID> AreaTableID; foreign_keyⁱ<int16_t, &LoadingScreensRec::m_ID> LoadingScreenID; foreign_keyⁱ<int16_t, &MapRec::m_ID> CorpseMapID; int16_t TimeOfDayOverride; foreign_keyⁱ<int16_t, &MapRec::m_ID> ParentMapID; foreign_keyⁱ<int16_t, &MapRec::m_ID> CosmeticParentMapID; foreign_keyⁱ<int16_t, &WindSettingsRec::m_ID> WindSettingsID; uint8_t InstanceType; uint8_t MapType; uint8_t ExpansionID; uint8_t MaxPlayers; uint8_t TimeOffset; };
struct MapEntry { uint32 ID; char const* Directory; LocalizedString* MapName; LocalizedString* MapDescription0; // Horde LocalizedString* MapDescription1; // Alliance LocalizedString* PvpShortDescription; LocalizedString* PvpLongDescription; DBCPosition2D Corpse; // entrance coordinates in ghost mode (in most cases = normal entrance) uint8 MapType; int8 InstanceType; uint8 ExpansionID; uint16 AreaTableID; int16 LoadingScreenID; int16 TimeOfDayOverride; int16 ParentMapID; int16 CosmeticParentMapID; uint8 TimeOffset; float MinimapIconScale; int16 CorpseMapID; // map_id of entrance map in ghost mode (continent always and in most cases = normal entrance) uint8 MaxPlayers; int16 WindSettingsID; int32 ZmpFileDataID; int32 Flags[2]; };
Смердокрыл 27th November 2018