Remove expedition includes from client header

Make quest compass a vec3 to remove include dependency

Quest compass location doesn't require a zone id since it can only be
set in the zone that it's drawn in. Drop the DynamicZoneLocation member
and forward declare to remove the dependency on header.

Move ExpeditionInvite struct to zone common header

Including expedition.h in client.h just to use the ExpeditionInvite struct
is an unnecessary header dependency that increases incremental build time.
This allows expedition classes to be forward declared in client header.
This commit is contained in:
hg
2020-05-30 20:33:51 -04:00
parent 9b82cf57e4
commit 4284624096
8 changed files with 25 additions and 16 deletions
+7 -3
View File
@@ -21,12 +21,17 @@
class Client;
class EQApplicationPacket;
class EQStream;
class DynamicZone;
class Expedition;
class ExpeditionLockoutTimer;
class ExpeditionRequest;
class Group;
class NPC;
class Object;
class Raid;
class Seperator;
class ServerPacket;
struct DynamicZoneLocation;
enum WaterRegionType : int;
namespace EQ
@@ -52,8 +57,6 @@ namespace EQ
#include "aggromanager.h"
#include "common.h"
#include "expedition.h"
#include "dynamiczone.h"
#include "merc.h"
#include "mob.h"
#include "qglobals.h"
@@ -1702,7 +1705,8 @@ private:
uint32 m_expedition_id = 0;
ExpeditionInvite m_pending_expedition_invite { 0 };
std::vector<ExpeditionLockoutTimer> m_expedition_lockouts;
DynamicZoneLocation m_quest_compass;
glm::vec3 m_quest_compass;
bool m_has_quest_compass = false;
#ifdef BOTS