From e8b38a49c2abb4c8c5beb9d36dad2a2ef2a396b1 Mon Sep 17 00:00:00 2001 From: VladimirMangos Date: Sun, 30 Nov 2008 05:17:34 +0300 Subject: [PATCH] [6861] Add and use function for more fast way to get areflag by area id. --- src/shared/Database/DBCStores.cpp | 13 +++++++++++-- src/shared/Database/DBCStores.h | 1 + src/shared/revision_nr.h | 2 +- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/shared/Database/DBCStores.cpp b/src/shared/Database/DBCStores.cpp index c7c508004..e733551d2 100644 --- a/src/shared/Database/DBCStores.cpp +++ b/src/shared/Database/DBCStores.cpp @@ -495,13 +495,22 @@ uint32 GetTalentSpellCost(uint32 spellId) return 0; } -AreaTableEntry const* GetAreaEntryByAreaID(uint32 area_id) +int32 GetAreaFlagByAreaID(uint32 area_id) { AreaFlagByAreaID::iterator i = sAreaFlagByAreaID.find(area_id); if(i == sAreaFlagByAreaID.end()) + return -1; + + return i->second; +} + +AreaTableEntry const* GetAreaEntryByAreaID(uint32 area_id) +{ + int32 areaflag = GetAreaFlagByAreaID(area_id); + if(areaflag < 0) return NULL; - return sAreaStore.LookupEntry(i->second); + return sAreaStore.LookupEntry(areaflag ); } AreaTableEntry const* GetAreaEntryByAreaFlagAndMap(uint32 area_flag,uint32 map_id) diff --git a/src/shared/Database/DBCStores.h b/src/shared/Database/DBCStores.h index 54850f40a..7811286c0 100644 --- a/src/shared/Database/DBCStores.h +++ b/src/shared/Database/DBCStores.h @@ -33,6 +33,7 @@ char* GetPetName(uint32 petfamily, uint32 dbclang); uint32 GetTalentSpellCost(uint32 spellId); TalentSpellPos const* GetTalentSpellPos(uint32 spellId); +int32 GetAreaFlagByAreaID(uint32 area_id); // -1 if not found AreaTableEntry const* GetAreaEntryByAreaID(uint32 area_id); AreaTableEntry const* GetAreaEntryByAreaFlagAndMap(uint32 area_flag,uint32 map_id); uint32 GetAreaFlagByMapId(uint32 mapid); diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 82bf61c38..e78354a59 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "6860" + #define REVISION_NR "6861" #endif // __REVISION_NR_H__ -- 2.11.4.GIT