aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2015-01-14 18:49:45 +0100
committerShauren <shauren.trinity@gmail.com>2015-01-14 18:49:45 +0100
commit062efd94ddb5cec2369904c011376976f89a865d (patch)
tree7cf6bc8a8f50e1ae03ec29cefad0d09de95b9fb4 /src
parente23d95c4c6dfd3cbeadc807bc402b543b7b7b6a4 (diff)
Build/GCC: Compile fix (works with PCH, NOPCH not tested)
Diffstat (limited to 'src')
-rw-r--r--src/server/game/Entities/Player/Player.cpp40
-rw-r--r--src/server/game/Entities/Player/Player.h4
2 files changed, 33 insertions, 11 deletions
diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp
index 5ec0a7c1dbe..efc5143bbfd 100644
--- a/src/server/game/Entities/Player/Player.cpp
+++ b/src/server/game/Entities/Player/Player.cpp
@@ -91,6 +91,7 @@
#include "MovementPackets.h"
#include "ItemPackets.h"
#include "QuestPackets.h"
+#include <boost/dynamic_bitset.hpp>
#define ZONE_UPDATE_INTERVAL (1*IN_MILLISECONDS)
@@ -867,7 +868,7 @@ Player::Player(WorldSession* session): Unit(true)
isDebugAreaTriggers = false;
- _completedQuestBits.resize(QUESTS_COMPLETED_BITS_SIZE * 8);
+ _completedQuestBits = new boost::dynamic_bitset<uint8>(QUESTS_COMPLETED_BITS_SIZE * 8);
m_WeeklyQuestChanged = false;
m_MonthlyQuestChanged = false;
m_SeasonalQuestChanged = false;
@@ -912,6 +913,7 @@ Player::~Player()
delete m_declinedname;
delete m_runes;
+ delete _completedQuestBits;
delete m_achievementMgr;
delete m_reputationMgr;
@@ -14888,7 +14890,7 @@ void Player::RewardQuest(Quest const* quest, uint32 reward, Object* questGiver,
if (uint32 questBit = GetQuestUniqueBitFlag(quest_id))
{
- _completedQuestBits.set(questBit - 1);
+ _completedQuestBits->set(questBit - 1);
WorldPackets::Quest::SetQuestCompletedBit setCompletedBit;
setCompletedBit.QuestID = quest_id;
@@ -15527,7 +15529,7 @@ void Player::RemoveRewardedQuest(uint32 questId, bool update /*= true*/)
if (uint32 questBit = GetQuestUniqueBitFlag(questId))
{
- _completedQuestBits.reset(questBit - 1);
+ _completedQuestBits->reset(questBit - 1);
WorldPackets::Quest::ClearQuestCompletedBit clearCompletedBit;
clearCompletedBit.QuestID = questId;
@@ -18165,7 +18167,7 @@ void Player::_LoadQuestStatusRewarded(PreparedQueryResult result)
// instead add them separately from load daily/weekly/monthly/seasonal
if (!quest->IsDailyOrWeekly() && !quest->IsMonthly() && !quest->IsSeasonal())
if (uint32 questBit = GetQuestUniqueBitFlag(quest_id))
- _completedQuestBits.set(questBit - 1);
+ _completedQuestBits->set(questBit - 1);
}
m_RewardedQuests.insert(quest_id);
@@ -18205,7 +18207,7 @@ void Player::_LoadDailyQuestStatus(PreparedQueryResult result)
AddDynamicValue(PLAYER_DYNAMIC_FIELD_DAILY_QUESTS, quest_id);
if (uint32 questBit = GetQuestUniqueBitFlag(quest_id))
- _completedQuestBits.set(questBit - 1);
+ _completedQuestBits->set(questBit - 1);
TC_LOG_DEBUG("entities.player.loading", "Daily quest (%u) cooldown for player (%s)", quest_id, GetGUID().ToString().c_str());
}
@@ -18231,7 +18233,7 @@ void Player::_LoadWeeklyQuestStatus(PreparedQueryResult result)
m_weeklyquests.insert(quest_id);
if (uint32 questBit = GetQuestUniqueBitFlag(quest_id))
- _completedQuestBits.set(questBit - 1);
+ _completedQuestBits->set(questBit - 1);
TC_LOG_DEBUG("entities.player.loading", "Weekly quest {%u} cooldown for player (%s)", quest_id, GetGUID().ToString().c_str());
}
@@ -18258,7 +18260,7 @@ void Player::_LoadSeasonalQuestStatus(PreparedQueryResult result)
m_seasonalquests[event_id].insert(quest_id);
if (uint32 questBit = GetQuestUniqueBitFlag(quest_id))
- _completedQuestBits.set(questBit - 1);
+ _completedQuestBits->set(questBit - 1);
TC_LOG_DEBUG("entities.player.loading", "Seasonal quest {%u} cooldown for player (%s)", quest_id, GetGUID().ToString().c_str());
}
@@ -18284,7 +18286,7 @@ void Player::_LoadMonthlyQuestStatus(PreparedQueryResult result)
m_monthlyquests.insert(quest_id);
if (uint32 questBit = GetQuestUniqueBitFlag(quest_id))
- _completedQuestBits.set(questBit - 1);
+ _completedQuestBits->set(questBit - 1);
TC_LOG_DEBUG("entities.player.loading", "Monthly quest {%u} cooldown for player (%s)", quest_id, GetGUID().ToString().c_str());
}
@@ -22917,7 +22919,7 @@ void Player::SendInitialPacketsBeforeAddToMap()
WorldPackets::Character::InitialSetup initialSetup;
initialSetup.ServerExpansionLevel = sWorld->getIntConfig(CONFIG_EXPANSION);
- boost::to_block_range(_completedQuestBits, std::back_inserter(initialSetup.QuestsCompleted));
+ boost::to_block_range(*_completedQuestBits, std::back_inserter(initialSetup.QuestsCompleted));
SendDirectMessage(initialSetup.Write());
SetMover(this);
@@ -23422,8 +23424,13 @@ void Player::ResetDailyQuestStatus()
{
WorldPackets::Quest::ClearQuestCompletedBits clearCompletedBits;
for (uint32 questId : dailies)
+ {
if (uint32 questBit = GetQuestUniqueBitFlag(questId))
+ {
clearCompletedBits.Qbits.push_back(questBit);
+ _completedQuestBits->reset(questBit - 1);
+ }
+ }
if (!clearCompletedBits.Qbits.empty())
SendDirectMessage(clearCompletedBits.Write());
@@ -23445,8 +23452,13 @@ void Player::ResetWeeklyQuestStatus()
WorldPackets::Quest::ClearQuestCompletedBits clearCompletedBits;
for (uint32 questId : m_weeklyquests)
+ {
if (uint32 questBit = GetQuestUniqueBitFlag(questId))
+ {
clearCompletedBits.Qbits.push_back(questBit);
+ _completedQuestBits->reset(questBit - 1);
+ }
+ }
if (!clearCompletedBits.Qbits.empty())
SendDirectMessage(clearCompletedBits.Write());
@@ -23467,8 +23479,13 @@ void Player::ResetSeasonalQuestStatus(uint16 event_id)
WorldPackets::Quest::ClearQuestCompletedBits clearCompletedBits;
for (uint32 questId : eventItr->second)
+ {
if (uint32 questBit = GetQuestUniqueBitFlag(questId))
+ {
clearCompletedBits.Qbits.push_back(questBit);
+ _completedQuestBits->reset(questBit - 1);
+ }
+ }
if (!clearCompletedBits.Qbits.empty())
SendDirectMessage(clearCompletedBits.Write());
@@ -23485,8 +23502,13 @@ void Player::ResetMonthlyQuestStatus()
WorldPackets::Quest::ClearQuestCompletedBits clearCompletedBits;
for (uint32 questId : m_monthlyquests)
+ {
if (uint32 questBit = GetQuestUniqueBitFlag(questId))
+ {
clearCompletedBits.Qbits.push_back(questBit);
+ _completedQuestBits->reset(questBit - 1);
+ }
+ }
if (!clearCompletedBits.Qbits.empty())
SendDirectMessage(clearCompletedBits.Write());
diff --git a/src/server/game/Entities/Player/Player.h b/src/server/game/Entities/Player/Player.h
index e7e6de95746..e939c3cba2c 100644
--- a/src/server/game/Entities/Player/Player.h
+++ b/src/server/game/Entities/Player/Player.h
@@ -35,7 +35,7 @@
#include <limits>
#include <string>
#include <vector>
-#include <boost/dynamic_bitset.hpp>
+#include <boost/dynamic_bitset_fwd.hpp>
struct CreatureTemplate;
struct Mail;
@@ -2783,7 +2783,7 @@ class Player : public Unit, public GridObject<Player>
RewardedQuestSet m_RewardedQuests;
QuestStatusSaveMap m_RewardedQuestsSave;
- boost::dynamic_bitset<uint8> _completedQuestBits;
+ boost::dynamic_bitset<uint8>* _completedQuestBits;
SkillStatusMap mSkillStatus;