diff options
| author | megamage <none@none> | 2009-03-28 17:50:36 -0600 |
|---|---|---|
| committer | megamage <none@none> | 2009-03-28 17:50:36 -0600 |
| commit | b1c5d4c59352d6030e0869775f2b439d58cd436d (patch) | |
| tree | 2755214e8137d09f3bb770aa962b325eb8432ceb /src/game/DBCStores.cpp | |
| parent | f69c48202febf28b1a7dddf147d0e1ad0a3e6052 (diff) | |
Implement initial known taxi nodes for DK. Author: Lightguard, VladimirMangos
--HG--
branch : trunk
Diffstat (limited to 'src/game/DBCStores.cpp')
| -rw-r--r-- | src/game/DBCStores.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/game/DBCStores.cpp b/src/game/DBCStores.cpp index 018b361616f..eed2e2c8a50 100644 --- a/src/game/DBCStores.cpp +++ b/src/game/DBCStores.cpp @@ -131,6 +131,7 @@ static uint32 sTalentTabPages[12/*MAX_CLASSES*/][3]; DBCStorage <TaxiNodesEntry> sTaxiNodesStore(TaxiNodesEntryfmt); TaxiMask sTaxiNodesMask; +TaxiMask sOldContinentsNodesMask; // DBC used only for initialization sTaxiPathSetBySource at startup. TaxiPathSetBySource sTaxiPathSetBySource; @@ -456,9 +457,11 @@ void LoadDBCStores(const std::string& dataPath) spellPaths.insert(sInfo->EffectMiscValue[j]); memset(sTaxiNodesMask,0,sizeof(sTaxiNodesMask)); + memset(sOldContinentsNodesMask,0,sizeof(sTaxiNodesMask)); for(uint32 i = 1; i < sTaxiNodesStore.GetNumRows(); ++i) { - if(!sTaxiNodesStore.LookupEntry(i)) + TaxiNodesEntry const* node = sTaxiNodesStore.LookupEntry(i); + if(!node) continue; TaxiPathSetBySource::const_iterator src_i = sTaxiPathSetBySource.find(i); @@ -479,10 +482,14 @@ void LoadDBCStores(const std::string& dataPath) continue; } - // valid taxi netowrk node + // valid taxi network node uint8 field = (uint8)((i - 1) / 32); uint32 submask = 1<<((i-1)%32); sTaxiNodesMask[field] |= submask; + + // old continent node (+ nodes virtually at old continents, check explicitly to avoid loading map files for zone info) + if (node->map_id < 2 || i == 82 || i == 83 || i == 93 || i == 94) + sOldContinentsNodesMask[field] |= submask; } } |
