aboutsummaryrefslogtreecommitdiff
path: root/src/server/game/Garrison
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2017-05-18 23:52:58 +0200
committerShauren <shauren.trinity@gmail.com>2017-05-18 23:53:25 +0200
commitc5d3dd90bea3889ef5fcd33c9ef0d59d7c544f8a (patch)
treeaa7fde6f924fc39da54908bd6eeeb0be422e5fc3 /src/server/game/Garrison
parent74456703146194de72424ec98c4ea76402077be6 (diff)
Core/Game: Include cleanup
* Mostly aimed at removing Log/DatabaseEnv includes from other headers * Fix most packet headers including other packet headers - moved common structures such as ItemInstance to their own files * Moved SAI function definitions to source files (massive or requiring many different dependencies)
Diffstat (limited to 'src/server/game/Garrison')
-rw-r--r--src/server/game/Garrison/Garrison.cpp5
-rw-r--r--src/server/game/Garrison/Garrison.h13
-rw-r--r--src/server/game/Garrison/GarrisonMap.cpp3
-rw-r--r--src/server/game/Garrison/GarrisonMgr.cpp12
-rw-r--r--src/server/game/Garrison/GarrisonMgr.h11
5 files changed, 33 insertions, 11 deletions
diff --git a/src/server/game/Garrison/Garrison.cpp b/src/server/game/Garrison/Garrison.cpp
index f3a43abe3e0..b0fb39d3a94 100644
--- a/src/server/game/Garrison/Garrison.cpp
+++ b/src/server/game/Garrison/Garrison.cpp
@@ -17,10 +17,15 @@
#include "Garrison.h"
#include "Creature.h"
+#include "DatabaseEnv.h"
+#include "DB2Stores.h"
#include "GameObject.h"
#include "GarrisonMgr.h"
+#include "Log.h"
+#include "Map.h"
#include "MapManager.h"
#include "ObjectMgr.h"
+#include "Player.h"
#include "VehicleDefines.h"
Garrison::Garrison(Player* owner) : _owner(owner), _siteLevel(nullptr), _followerActivationsRemainingToday(1)
diff --git a/src/server/game/Garrison/Garrison.h b/src/server/game/Garrison/Garrison.h
index edf23c1ceaf..dca1c5222d3 100644
--- a/src/server/game/Garrison/Garrison.h
+++ b/src/server/game/Garrison/Garrison.h
@@ -18,8 +18,16 @@
#ifndef Garrison_h__
#define Garrison_h__
-#include "Player.h"
+#include "Define.h"
+#include "DatabaseEnvFwd.h"
#include "GarrisonPackets.h"
+#include "Optional.h"
+#include <unordered_map>
+
+class GameObject;
+class Map;
+class Player;
+struct GarrSiteLevelEntry;
enum GarrisonType
{
@@ -166,9 +174,6 @@ enum GarrisonFollowerStatus
FOLLOWER_STATUS_NO_XP_GAIN = 0x10
};
-class GameObject;
-class Map;
-
class TC_GAME_API Garrison
{
public:
diff --git a/src/server/game/Garrison/GarrisonMap.cpp b/src/server/game/Garrison/GarrisonMap.cpp
index 0c93d764ba7..a83cfc6bcba 100644
--- a/src/server/game/Garrison/GarrisonMap.cpp
+++ b/src/server/game/Garrison/GarrisonMap.cpp
@@ -16,11 +16,14 @@
*/
#include "GarrisonMap.h"
+#include "DBCEnums.h"
#include "GameObject.h"
#include "Garrison.h"
#include "Log.h"
#include "ObjectAccessor.h"
#include "ObjectGridLoader.h"
+#include "Player.h"
+#include "World.h"
class GarrisonGridLoader
{
diff --git a/src/server/game/Garrison/GarrisonMgr.cpp b/src/server/game/Garrison/GarrisonMgr.cpp
index 9006dc4bfed..943fdc21858 100644
--- a/src/server/game/Garrison/GarrisonMgr.cpp
+++ b/src/server/game/Garrison/GarrisonMgr.cpp
@@ -18,11 +18,13 @@
#include "GarrisonMgr.h"
#include "Containers.h"
#include "DatabaseEnv.h"
+#include "DB2Stores.h"
#include "Garrison.h"
-#include "ObjectDefines.h"
-#include "World.h"
-#include "GameObject.h"
+#include "Log.h"
#include "ObjectMgr.h"
+#include "Random.h"
+#include "Timer.h"
+#include "World.h"
GarrisonMgr& GarrisonMgr::Instance()
{
@@ -43,7 +45,7 @@ void GarrisonMgr::Initialize()
_garrisonBuildingsByPlot[plotBuilding->GarrPlotID].insert(plotBuilding->GarrBuildingID);
for (GarrBuildingPlotInstEntry const* buildingPlotInst : sGarrBuildingPlotInstStore)
- _garrisonBuildingPlotInstances[MAKE_PAIR64(buildingPlotInst->GarrBuildingID, buildingPlotInst->GarrSiteLevelPlotInstID)] = buildingPlotInst->ID;
+ _garrisonBuildingPlotInstances[std::make_pair(buildingPlotInst->GarrBuildingID, buildingPlotInst->GarrSiteLevelPlotInstID)] = buildingPlotInst->ID;
for (GarrBuildingEntry const* building : sGarrBuildingStore)
_garrisonBuildingsByType[building->Type].push_back(building->ID);
@@ -115,7 +117,7 @@ bool GarrisonMgr::IsPlotMatchingBuilding(uint32 garrPlotId, uint32 garrBuildingI
uint32 GarrisonMgr::GetGarrBuildingPlotInst(uint32 garrBuildingId, uint32 garrSiteLevelPlotInstId) const
{
- auto itr = _garrisonBuildingPlotInstances.find(MAKE_PAIR64(garrBuildingId, garrSiteLevelPlotInstId));
+ auto itr = _garrisonBuildingPlotInstances.find(std::make_pair(garrBuildingId, garrSiteLevelPlotInstId));
if (itr != _garrisonBuildingPlotInstances.end())
return itr->second;
diff --git a/src/server/game/Garrison/GarrisonMgr.h b/src/server/game/Garrison/GarrisonMgr.h
index 29f9d4187be..c7a0ec4af7b 100644
--- a/src/server/game/Garrison/GarrisonMgr.h
+++ b/src/server/game/Garrison/GarrisonMgr.h
@@ -18,7 +18,8 @@
#ifndef GarrisonMgr_h__
#define GarrisonMgr_h__
-#include "DB2Stores.h"
+#include "Define.h"
+#include "Hash.h"
#include "Position.h"
#include <list>
#include <set>
@@ -26,6 +27,12 @@
#include <unordered_set>
#include <vector>
+struct GameObjectsEntry;
+struct GarrAbilityEntry;
+struct GarrFollowerEntry;
+struct GarrSiteLevelEntry;
+struct GarrSiteLevelPlotInstEntry;
+
struct FinalizeGarrisonPlotGOInfo
{
struct
@@ -68,7 +75,7 @@ private:
std::unordered_map<uint32 /*garrSiteId*/, std::vector<GarrSiteLevelPlotInstEntry const*>> _garrisonPlotInstBySiteLevel;
std::unordered_map<uint32 /*mapId*/, std::unordered_map<uint32 /*garrPlotId*/, GameObjectsEntry const*>> _garrisonPlots;
std::unordered_map<uint32 /*garrPlotId*/, std::unordered_set<uint32/*garrBuildingId*/>> _garrisonBuildingsByPlot;
- std::unordered_map<uint64 /*garrBuildingId | garrSiteLevelPlotInstId << 32*/, uint32 /*garrBuildingPlotInstId*/> _garrisonBuildingPlotInstances;
+ std::unordered_map<std::pair<uint32 /*garrBuildingId*/, uint32 /*garrSiteLevelPlotInstId*/>, uint32 /*garrBuildingPlotInstId*/> _garrisonBuildingPlotInstances;
std::unordered_map<uint32 /*buildingType*/, std::vector<uint32>> _garrisonBuildingsByType;
std::unordered_map<uint32 /*garrPlotInstanceId*/, FinalizeGarrisonPlotGOInfo> _finalizePlotGOInfo;
std::unordered_map<uint32 /*garrFollowerId*/, GarrAbilities> _garrisonFollowerAbilities[2];