aboutsummaryrefslogtreecommitdiff
path: root/src/game/DBCStores.cpp
diff options
context:
space:
mode:
authormegamage <none@none>2009-03-28 17:50:36 -0600
committermegamage <none@none>2009-03-28 17:50:36 -0600
commitb1c5d4c59352d6030e0869775f2b439d58cd436d (patch)
tree2755214e8137d09f3bb770aa962b325eb8432ceb /src/game/DBCStores.cpp
parentf69c48202febf28b1a7dddf147d0e1ad0a3e6052 (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.cpp11
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;
}
}