Code:
struct MapRec // sizeof(0x4С)
{
DWORD m_ID; // +0x0, size 0x4, type 0
char* m_Directory; // +0x4, size 0x4, type 2
DWORD m_InstanceType; // +0x8, size 0x4, type 0
DWORD m_Flags; // +0xC, size 0x4, type 0
DWORD m_Unk4; // +0x10, size 0x4, type 0
char* m_MapName_lang; // +0x14, size 0x4, type 2
DWORD m_areaTableID; // +0x18, size 0x4, type 0
char* m_MapDescription0_lang; // +0x1С, size 0x4, type 2
char* m_MapDescription1_lang; // +0x20, size 0x4, type 2
DWORD m_LoadingScreenID; // +0x24, size 0x4, type 0
float m_minimapIconScale; // +0x28, size 0x4, type 3
DWORD m_corpseMapID; // +0x2С, size 0x4, type 0
float m_corpseX; // +0x30, size 0x4, type 3
float m_corpseY; // +0x34, size 0x4, type 3
DWORD m_timeOfDayOverride; // +0x38, size 0x4, type 0
DWORD m_expansionID; // +0x3С, size 0x4, type 0
DWORD m_raidOffset; // +0x40, size 0x4, type 0
DWORD m_maxPlayers; // +0x44, size 0x4, type 0
DWORD m_parentMapID; // +0x48, size 0x4, type 0
};
enum InstanceType
{
None = 0, // none
Dungeon = 1, // party
Raid = 2, // raid
Battleground = 3, // pvp
Arena = 4, // arena
Scenario = 5 // scenario
}
enum MapFlags
{
DevMap = 0x2,
CanToggleDifficulty = 0x100,
// 0x4000 this is only used for Throne of The Tides map atm
IsFlexLocking = 0x8000,
PhaseMap = 0x20000, // some phased maps have this
PaidRaceChangeDisabled = 0x40000, // used for goblin, worgen and panda starting areas
// 0x80000 used for map "Ancient Zul'Gurub" only
// 0x200000 Firelands/Molten Front
// 0x400000 The Ring of Valor arena
// 0x800000 mostly pandaria maps flagged with this
// 0x1000000 continents (except Pandaria)
}