aboutsummaryrefslogtreecommitdiff
path: root/src/game/DBCStores.cpp
diff options
context:
space:
mode:
authorn0n4m3 <none@none>2009-12-17 10:27:53 +0100
committern0n4m3 <none@none>2009-12-17 10:27:53 +0100
commit1aaa872dd0c94dbf2faf0f8be5da774a75984787 (patch)
tree056e33ce9039c606efd70f72f6dff73b8fce0bfb /src/game/DBCStores.cpp
parent9f672dbffe7da861b4c772f812e279a04c7683a5 (diff)
Update DBC Structure for 322a
--HG-- branch : trunk
Diffstat (limited to 'src/game/DBCStores.cpp')
-rw-r--r--src/game/DBCStores.cpp45
1 files changed, 31 insertions, 14 deletions
diff --git a/src/game/DBCStores.cpp b/src/game/DBCStores.cpp
index ba89cb69215..c9832a830eb 100644
--- a/src/game/DBCStores.cpp
+++ b/src/game/DBCStores.cpp
@@ -100,6 +100,11 @@ DBCStorage <LockEntry> sLockStore(LockEntryfmt);
DBCStorage <MailTemplateEntry> sMailTemplateStore(MailTemplateEntryfmt);
DBCStorage <MapEntry> sMapStore(MapEntryfmt);
+
+// DBC used only for initialization sMapDifficultyMap at startup.
+DBCStorage <MapDifficultyEntry> sMapDifficultyStore(MapDifficultyEntryfmt); // only for loading
+MapDifficultyMap sMapDifficultyMap;
+
DBCStorage <MovieEntry> sMovieStore(MovieEntryfmt);
DBCStorage <QuestSortEntry> sQuestSortStore(QuestSortEntryfmt);
@@ -133,7 +138,7 @@ TalentSpellPosMap sTalentSpellPosMap;
DBCStorage <TalentTabEntry> sTalentTabStore(TalentTabEntryfmt);
// store absolute bit position for first rank for talent inspect
-static uint32 sTalentTabPages[12/*MAX_CLASSES*/][3];
+static uint32 sTalentTabPages[MAX_CLASSES][3];
DBCStorage <TaxiNodesEntry> sTaxiNodesStore(TaxiNodesEntryfmt);
TaxiMask sTaxiNodesMask;
@@ -143,10 +148,10 @@ TaxiMask sOldContinentsNodesMask;
TaxiPathSetBySource sTaxiPathSetBySource;
DBCStorage <TaxiPathEntry> sTaxiPathStore(TaxiPathEntryfmt);
-// DBC used only for initialization sTaxiPathSetBySource at startup.
+// DBC used only for initialization sTaxiPathNodeStore at startup.
TaxiPathNodesByPath sTaxiPathNodesByPath;
-
static DBCStorage <TaxiPathNodeEntry> sTaxiPathNodeStore(TaxiPathNodeEntryfmt);
+
DBCStorage <TotemCategoryEntry> sTotemCategoryStore(TotemCategoryEntryfmt);
DBCStorage <VehicleEntry> sVehicleStore(VehicleEntryfmt);
DBCStorage <VehicleSeatEntry> sVehicleSeatStore(VehicleSeatEntryfmt);
@@ -210,7 +215,7 @@ void LoadDBCStores(const std::string& dataPath)
{
std::string dbcPath = dataPath+"dbc/";
- const uint32 DBCFilesCount = 79;
+ const uint32 DBCFilesCount = 80;
barGoLink bar( DBCFilesCount );
@@ -243,7 +248,6 @@ void LoadDBCStores(const std::string& dataPath)
LoadDBC(availableDbcLocales,bar,bad_dbc_files,sBattlemasterListStore, dbcPath,"BattlemasterList.dbc");
LoadDBC(availableDbcLocales,bar,bad_dbc_files,sBarberShopStyleStore, dbcPath,"BarberShopStyle.dbc");
LoadDBC(availableDbcLocales,bar,bad_dbc_files,sCharStartOutfitStore, dbcPath,"CharStartOutfit.dbc");
-
LoadDBC(availableDbcLocales,bar,bad_dbc_files,sCharTitlesStore, dbcPath,"CharTitles.dbc");
LoadDBC(availableDbcLocales,bar,bad_dbc_files,sChatChannelsStore, dbcPath,"ChatChannels.dbc");
LoadDBC(availableDbcLocales,bar,bad_dbc_files,sChrClassesStore, dbcPath,"ChrClasses.dbc");
@@ -314,6 +318,14 @@ void LoadDBCStores(const std::string& dataPath)
LoadDBC(availableDbcLocales,bar,bad_dbc_files,sLockStore, dbcPath,"Lock.dbc");
LoadDBC(availableDbcLocales,bar,bad_dbc_files,sMailTemplateStore, dbcPath,"MailTemplate.dbc");
LoadDBC(availableDbcLocales,bar,bad_dbc_files,sMapStore, dbcPath,"Map.dbc");
+
+ LoadDBC(availableDbcLocales,bar,bad_dbc_files,sMapDifficultyStore, dbcPath,"MapDifficulty.dbc");
+ // fill data
+ for(uint32 i = 1; i < sMapDifficultyStore.GetNumRows(); ++i)
+ if(MapDifficultyEntry const* entry = sMapDifficultyStore.LookupEntry(i))
+ sMapDifficultyMap[MAKE_PAIR32(entry->MapId,entry->Difficulty)] = MapDifficulty(entry->resetTime,entry->maxPlayers);
+ sMapDifficultyStore.Clear();
+
LoadDBC(availableDbcLocales,bar,bad_dbc_files,sMovieStore, dbcPath,"Movie.dbc");
LoadDBC(availableDbcLocales,bar,bad_dbc_files,sQuestSortStore, dbcPath,"QuestSort.dbc");
LoadDBC(availableDbcLocales,bar,bad_dbc_files,sRandomPropertiesPointsStore, dbcPath,"RandPropPoints.dbc");
@@ -322,7 +334,7 @@ void LoadDBCStores(const std::string& dataPath)
LoadDBC(availableDbcLocales,bar,bad_dbc_files,sSkillLineStore, dbcPath,"SkillLine.dbc");
LoadDBC(availableDbcLocales,bar,bad_dbc_files,sSkillLineAbilityStore, dbcPath,"SkillLineAbility.dbc");
LoadDBC(availableDbcLocales,bar,bad_dbc_files,sSoundEntriesStore, dbcPath,"SoundEntries.dbc");
- LoadDBC(availableDbcLocales,bar,bad_dbc_files,sSpellStore, dbcPath,"Spell.dbc", &CustomSpellEntryfmt, &CustomSpellEntryIndex);
+ LoadDBC(availableDbcLocales,bar,bad_dbc_files,sSpellStore, dbcPath,"Spell.dbc", &CustomSpellEntryfmt, &CustomSpellEntryIndex);
for (uint32 i = 1; i < sSpellStore.GetNumRows(); ++i)
{
SpellEntry const * spell = sSpellStore.LookupEntry(i);
@@ -506,18 +518,17 @@ void LoadDBCStores(const std::string& dataPath)
}
// Check loaded DBC files proper version
- if( !sSpellStore.LookupEntry(66530) || // last added spell in 3.1.3
- !sMapStore.LookupEntry(624) || // last map added in 3.1.3
- !sGemPropertiesStore.LookupEntry(1609) || // last gem property added in 3.1.3
- !sItemExtendedCostStore.LookupEntry(2671) || // last item extended cost added in 3.1.3
- !sCharTitlesStore.LookupEntry(166) || // last char title added in 3.1.3
- !sAreaStore.LookupEntry(2905) || // last area (areaflag) added in 3.1.3
- !sItemStore.LookupEntry(46894) ) // last client known item added in 3.1.3
+ if( !sSpellStore.LookupEntry(69599) || // last added spell in 3.2.2
+ !sMapStore.LookupEntry(650) || // last map added in 3.2.2
+ !sGemPropertiesStore.LookupEntry(1629) || // last gem property added in 3.2.2
+ !sItemExtendedCostStore.LookupEntry(2723) || // last item extended cost added in 3.2.2
+ !sCharTitlesStore.LookupEntry(171) || // last char title added in 3.2.2
+ !sAreaStore.LookupEntry(3091) || // last area (areaflag) added in 3.2.2
+ !sItemStore.LookupEntry(49667) ) // last client known item added in 3.2.2
{
sLog.outError("\nYou have _outdated_ DBC files. Please extract correct versions from current using client.");
exit(1);
}
-
sLog.outString();
sLog.outString( ">> Initialized %d data stores", DBCFilesCount );
}
@@ -695,6 +706,12 @@ void Map2ZoneCoordinates(float& x,float& y,uint32 zone)
std::swap(x,y); // client have map coords swapped
}
+MapDifficulty const* GetMapDifficultyData(uint32 mapId, Difficulty difficulty)
+{
+ MapDifficultyMap::const_iterator itr = sMapDifficultyMap.find(MAKE_PAIR32(mapId,difficulty));
+ return itr != sMapDifficultyMap.end() ? &itr->second : NULL;
+}
+
uint32 const* GetTalentTabPages(uint8 cls)
{
return sTalentTabPages[cls];