diff options
| author | Shauren <shauren.trinity@gmail.com> | 2014-10-27 12:03:35 +0100 |
|---|---|---|
| committer | Shauren <shauren.trinity@gmail.com> | 2014-10-27 12:03:35 +0100 |
| commit | 7afab9f783fff331e9c99d85384f39029b35d2fa (patch) | |
| tree | 1b7683d3773a31639c8e93576557a44e8f592dce /src/server/game/Entities | |
| parent | 8b75b7e638676fea2d7c2c3a43e1ecb0f6a099d9 (diff) | |
Core/Entities: Updated HighGuid values
Diffstat (limited to 'src/server/game/Entities')
| -rw-r--r-- | src/server/game/Entities/AreaTrigger/AreaTrigger.cpp | 2 | ||||
| -rw-r--r-- | src/server/game/Entities/Corpse/Corpse.cpp | 8 | ||||
| -rw-r--r-- | src/server/game/Entities/Creature/Creature.cpp | 8 | ||||
| -rw-r--r-- | src/server/game/Entities/DynamicObject/DynamicObject.cpp | 2 | ||||
| -rw-r--r-- | src/server/game/Entities/GameObject/GameObject.cpp | 6 | ||||
| -rw-r--r-- | src/server/game/Entities/Item/Container/Bag.cpp | 2 | ||||
| -rw-r--r-- | src/server/game/Entities/Item/Item.cpp | 10 | ||||
| -rw-r--r-- | src/server/game/Entities/Object/Object.cpp | 20 | ||||
| -rw-r--r-- | src/server/game/Entities/Object/ObjectGuid.cpp | 47 | ||||
| -rw-r--r-- | src/server/game/Entities/Object/ObjectGuid.h | 151 | ||||
| -rw-r--r-- | src/server/game/Entities/Pet/Pet.cpp | 6 | ||||
| -rw-r--r-- | src/server/game/Entities/Player/Player.cpp | 44 | ||||
| -rw-r--r-- | src/server/game/Entities/Player/SocialMgr.cpp | 2 | ||||
| -rw-r--r-- | src/server/game/Entities/Transport/Transport.cpp | 4 |
14 files changed, 166 insertions, 146 deletions
diff --git a/src/server/game/Entities/AreaTrigger/AreaTrigger.cpp b/src/server/game/Entities/AreaTrigger/AreaTrigger.cpp index c6ef9546b70..d7f7d2ca467 100644 --- a/src/server/game/Entities/AreaTrigger/AreaTrigger.cpp +++ b/src/server/game/Entities/AreaTrigger/AreaTrigger.cpp @@ -66,7 +66,7 @@ bool AreaTrigger::CreateAreaTrigger(ObjectGuid::LowType guidlow, uint32 triggerE return false; } - WorldObject::_Create(guidlow, HIGHGUID_AREATRIGGER, caster->GetPhaseMask()); + WorldObject::_Create(guidlow, HighGuid::AreaTrigger, caster->GetPhaseMask()); SetEntry(triggerEntry); SetDuration(spell->GetDuration()); diff --git a/src/server/game/Entities/Corpse/Corpse.cpp b/src/server/game/Entities/Corpse/Corpse.cpp index 955e608c72c..6ed9429aec5 100644 --- a/src/server/game/Entities/Corpse/Corpse.cpp +++ b/src/server/game/Entities/Corpse/Corpse.cpp @@ -65,7 +65,7 @@ void Corpse::RemoveFromWorld() bool Corpse::Create(ObjectGuid::LowType guidlow, Map* map) { SetMap(map); - Object::_Create(guidlow, 0, HIGHGUID_CORPSE); + Object::_Create(guidlow, 0, HighGuid::Corpse); return true; } @@ -86,7 +86,7 @@ bool Corpse::Create(ObjectGuid::LowType guidlow, Player* owner) //in other way we will get a crash in Corpse::SaveToDB() SetMap(owner->GetMap()); - WorldObject::_Create(guidlow, HIGHGUID_CORPSE, owner->GetPhaseMask()); + WorldObject::_Create(guidlow, HighGuid::Corpse, owner->GetPhaseMask()); SetObjectScale(1); SetGuidValue(CORPSE_FIELD_OWNER, owner->GetGUID()); @@ -169,7 +169,7 @@ bool Corpse::LoadCorpseFromDB(ObjectGuid::LowType guid, Field* fields) float o = fields[3].GetFloat(); uint32 mapId = fields[4].GetUInt16(); - Object::_Create(guid, 0, HIGHGUID_CORPSE); + Object::_Create(guid, 0, HighGuid::Corpse); SetUInt32Value(CORPSE_FIELD_DISPLAY_ID, fields[5].GetUInt32()); _LoadIntoDataField(fields[6].GetCString(), CORPSE_FIELD_ITEM, EQUIPMENT_SLOT_END); @@ -177,7 +177,7 @@ bool Corpse::LoadCorpseFromDB(ObjectGuid::LowType guid, Field* fields) SetUInt32Value(CORPSE_FIELD_BYTES_2, fields[8].GetUInt32()); SetUInt32Value(CORPSE_FIELD_FLAGS, fields[9].GetUInt8()); SetUInt32Value(CORPSE_FIELD_DYNAMIC_FLAGS, fields[10].GetUInt8()); - SetGuidValue(CORPSE_FIELD_OWNER, ObjectGuid(HIGHGUID_PLAYER, fields[16].GetUInt64())); + SetGuidValue(CORPSE_FIELD_OWNER, ObjectGuid(HighGuid::Player, fields[16].GetUInt64())); m_time = time_t(fields[11].GetUInt32()); diff --git a/src/server/game/Entities/Creature/Creature.cpp b/src/server/game/Entities/Creature/Creature.cpp index fce6ac71815..8bf1aaf83a9 100644 --- a/src/server/game/Entities/Creature/Creature.cpp +++ b/src/server/game/Entities/Creature/Creature.cpp @@ -472,7 +472,7 @@ void Creature::Update(uint32 diff) if (!allowed) // Will be rechecked on next Update call break; - ObjectGuid dbtableHighGuid(HIGHGUID_UNIT, GetEntry(), m_DBTableGuid); + ObjectGuid dbtableHighGuid(HighGuid::Creature, GetEntry(), m_DBTableGuid); time_t linkedRespawntime = GetMap()->GetLinkedRespawnTime(dbtableHighGuid); if (!linkedRespawntime) // Can respawn Respawn(); @@ -1194,7 +1194,7 @@ bool Creature::CreateFromProto(ObjectGuid::LowType guidlow, uint32 entry, Creatu SetOriginalEntry(entry); - Object::_Create(guidlow, entry, (vehId || cinfo->VehicleId) ? HIGHGUID_VEHICLE : HIGHGUID_UNIT); + Object::_Create(guidlow, entry, (vehId || cinfo->VehicleId) ? HighGuid::Vehicle : HighGuid::Creature); if (!UpdateEntry(entry, data)) return false; @@ -1229,11 +1229,11 @@ bool Creature::LoadCreatureFromDB(ObjectGuid::LowType guid, Map* map, bool addTo m_DBTableGuid = guid; if (map->GetInstanceId() == 0) { - if (map->GetCreature(ObjectGuid(HIGHGUID_UNIT, data->id, guid))) + if (map->GetCreature(ObjectGuid(HighGuid::Creature, data->id, guid))) return false; } else - guid = sObjectMgr->GetGenerator<HIGHGUID_UNIT>()->Generate(); + guid = sObjectMgr->GetGenerator<HighGuid::Creature>()->Generate(); if (!Create(guid, map, data->phaseMask, data->id, data->posX, data->posY, data->posZ, data->orientation, data)) return false; diff --git a/src/server/game/Entities/DynamicObject/DynamicObject.cpp b/src/server/game/Entities/DynamicObject/DynamicObject.cpp index 893e77631e1..1131cc2c758 100644 --- a/src/server/game/Entities/DynamicObject/DynamicObject.cpp +++ b/src/server/game/Entities/DynamicObject/DynamicObject.cpp @@ -91,7 +91,7 @@ bool DynamicObject::CreateDynamicObject(ObjectGuid::LowType guidlow, Unit* caste return false; } - WorldObject::_Create(guidlow, HIGHGUID_DYNAMICOBJECT, caster->GetPhaseMask()); + WorldObject::_Create(guidlow, HighGuid::DynamicObject, caster->GetPhaseMask()); SetEntry(spell->Id); SetObjectScale(1); diff --git a/src/server/game/Entities/GameObject/GameObject.cpp b/src/server/game/Entities/GameObject/GameObject.cpp index d42a8f60cff..e165f3f5992 100644 --- a/src/server/game/Entities/GameObject/GameObject.cpp +++ b/src/server/game/Entities/GameObject/GameObject.cpp @@ -194,7 +194,7 @@ bool GameObject::Create(ObjectGuid::LowType guidlow, uint32 name_id, Map* map, u if (goinfo->type == GAMEOBJECT_TYPE_TRANSPORT) m_updateFlag |= UPDATEFLAG_TRANSPORT; - Object::_Create(guidlow, goinfo->entry, HIGHGUID_GAMEOBJECT); + Object::_Create(guidlow, goinfo->entry, HighGuid::GameObject); m_goInfo = goinfo; @@ -404,7 +404,7 @@ void GameObject::Update(uint32 diff) time_t now = time(NULL); if (m_respawnTime <= now) // timer expired { - ObjectGuid dbtableHighGuid(HIGHGUID_GAMEOBJECT, GetEntry(), m_DBTableGuid); + ObjectGuid dbtableHighGuid(HighGuid::GameObject, GetEntry(), m_DBTableGuid); time_t linkedRespawntime = GetMap()->GetLinkedRespawnTime(dbtableHighGuid); if (linkedRespawntime) // Can't respawn, the master is dead { @@ -853,7 +853,7 @@ bool GameObject::LoadGameObjectFromDB(ObjectGuid::LowType guid, Map* map, bool a m_DBTableGuid = guid; if (map->GetInstanceId() != 0) - guid = sObjectMgr->GetGenerator<HIGHGUID_GAMEOBJECT>()->Generate(); + guid = sObjectMgr->GetGenerator<HighGuid::GameObject>()->Generate(); if (!Create(guid, entry, map, phaseMask, x, y, z, ang, rotation0, rotation1, rotation2, rotation3, animprogress, go_state, artKit)) return false; diff --git a/src/server/game/Entities/Item/Container/Bag.cpp b/src/server/game/Entities/Item/Container/Bag.cpp index 8a2fbfa76fe..4e33c4fe295 100644 --- a/src/server/game/Entities/Item/Container/Bag.cpp +++ b/src/server/game/Entities/Item/Container/Bag.cpp @@ -77,7 +77,7 @@ bool Bag::Create(ObjectGuid::LowType guidlow, uint32 itemid, Player const* owner if (!itemProto || itemProto->ContainerSlots > MAX_BAG_SIZE) return false; - Object::_Create(guidlow, 0, HIGHGUID_CONTAINER); + Object::_Create(guidlow, 0, HighGuid::Item); SetEntry(itemid); SetObjectScale(1.0f); diff --git a/src/server/game/Entities/Item/Item.cpp b/src/server/game/Entities/Item/Item.cpp index f2b86727af0..0bb6088283d 100644 --- a/src/server/game/Entities/Item/Item.cpp +++ b/src/server/game/Entities/Item/Item.cpp @@ -262,7 +262,7 @@ Item::Item() bool Item::Create(ObjectGuid::LowType guidlow, uint32 itemid, Player const* owner) { - Object::_Create(guidlow, 0, HIGHGUID_ITEM); + Object::_Create(guidlow, 0, HighGuid::Item); SetEntry(itemid); SetObjectScale(1.0f); @@ -409,7 +409,7 @@ bool Item::LoadFromDB(ObjectGuid::LowType guid, ObjectGuid owner_guid, Field* fi // create item before any checks for store correct guid // and allow use "FSetState(ITEM_REMOVED); SaveToDB();" for deleting item from DB - Object::_Create(guid, 0, HIGHGUID_ITEM); + Object::_Create(guid, 0, HighGuid::Item); // Set entry, MUST be before proto check SetEntry(entry); @@ -424,8 +424,8 @@ bool Item::LoadFromDB(ObjectGuid::LowType guid, ObjectGuid owner_guid, Field* fi SetOwnerGUID(owner_guid); bool need_save = false; // need explicit save data at load fixes - SetGuidValue(ITEM_FIELD_CREATOR, ObjectGuid(HIGHGUID_PLAYER, fields[0].GetUInt64())); - SetGuidValue(ITEM_FIELD_GIFTCREATOR, ObjectGuid(HIGHGUID_PLAYER, fields[1].GetUInt64())); + SetGuidValue(ITEM_FIELD_CREATOR, ObjectGuid(HighGuid::Player, fields[0].GetUInt64())); + SetGuidValue(ITEM_FIELD_GIFTCREATOR, ObjectGuid(HighGuid::Player, fields[1].GetUInt64())); SetCount(fields[2].GetUInt32()); uint32 duration = fields[3].GetUInt32(); @@ -1041,7 +1041,7 @@ Item* Item::CreateItem(uint32 itemEntry, uint32 count, Player const* player) ASSERT(count != 0 && "pProto->Stackable == 0 but checked at loading already"); Item* item = NewItemOrBag(proto); - if (item->Create(sObjectMgr->GetGenerator<HIGHGUID_ITEM>()->Generate(), itemEntry, player)) + if (item->Create(sObjectMgr->GetGenerator<HighGuid::Item>()->Generate(), itemEntry, player)) { item->SetCount(count); return item; diff --git a/src/server/game/Entities/Object/Object.cpp b/src/server/game/Entities/Object/Object.cpp index 6b418d10897..c99a5a3cde0 100644 --- a/src/server/game/Entities/Object/Object.cpp +++ b/src/server/game/Entities/Object/Object.cpp @@ -186,15 +186,15 @@ void Object::BuildCreateUpdateBlockForPlayer(UpdateData* data, Player* target) c switch (GetGUID().GetHigh()) { - case HIGHGUID_PLAYER: - case HIGHGUID_PET: - case HIGHGUID_CORPSE: - case HIGHGUID_DYNAMICOBJECT: - case HIGHGUID_AREATRIGGER: + case HighGuid::Player: + case HighGuid::Pet: + case HighGuid::Corpse: + case HighGuid::DynamicObject: + case HighGuid::AreaTrigger: updateType = UPDATETYPE_CREATE_OBJECT2; break; - case HIGHGUID_UNIT: - case HIGHGUID_VEHICLE: + case HighGuid::Creature: + case HighGuid::Vehicle: { if (TempSummon const* summon = ToUnit()->ToTempSummon()) if (summon->GetSummonerGUID().IsPlayer()) @@ -202,7 +202,7 @@ void Object::BuildCreateUpdateBlockForPlayer(UpdateData* data, Player* target) c break; } - case HIGHGUID_GAMEOBJECT: + case HighGuid::GameObject: { if (ToGameObject()->GetOwnerGUID().IsPlayer()) updateType = UPDATETYPE_CREATE_OBJECT2; @@ -2401,7 +2401,7 @@ TempSummon* Map::SummonCreature(uint32 entry, Position const& pos, SummonPropert break; } - if (!summon->Create(sObjectMgr->GetGenerator<HIGHGUID_UNIT>()->Generate(), this, 0, entry, pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ(), pos.GetOrientation(), nullptr, vehId)) + if (!summon->Create(sObjectMgr->GetGenerator<HighGuid::Creature>()->Generate(), this, 0, entry, pos.GetPositionX(), pos.GetPositionY(), pos.GetPositionZ(), pos.GetOrientation(), nullptr, vehId)) { delete summon; return NULL; @@ -2499,7 +2499,7 @@ GameObject* WorldObject::SummonGameObject(uint32 entry, float x, float y, float Map* map = GetMap(); GameObject* go = new GameObject(); - if (!go->Create(sObjectMgr->GetGenerator<HIGHGUID_GAMEOBJECT>()->Generate(), entry, map, GetPhaseMask(), x, y, z, ang, rotation0, rotation1, rotation2, rotation3, 100, GO_STATE_READY)) + if (!go->Create(sObjectMgr->GetGenerator<HighGuid::GameObject>()->Generate(), entry, map, GetPhaseMask(), x, y, z, ang, rotation0, rotation1, rotation2, rotation3, 100, GO_STATE_READY)) { delete go; return NULL; diff --git a/src/server/game/Entities/Object/ObjectGuid.cpp b/src/server/game/Entities/Object/ObjectGuid.cpp index fd134388a2d..41ea166a6d5 100644 --- a/src/server/game/Entities/Object/ObjectGuid.cpp +++ b/src/server/game/Entities/Object/ObjectGuid.cpp @@ -28,21 +28,18 @@ char const* ObjectGuid::GetTypeName(HighGuid high) { switch (high) { - case HIGHGUID_ITEM: return "Item"; - case HIGHGUID_PLAYER: return "Player"; - case HIGHGUID_GAMEOBJECT: return "Gameobject"; - case HIGHGUID_TRANSPORT: return "Transport"; - case HIGHGUID_UNIT: return "Creature"; - case HIGHGUID_PET: return "Pet"; - case HIGHGUID_VEHICLE: return "Vehicle"; - case HIGHGUID_DYNAMICOBJECT: return "DynObject"; - case HIGHGUID_CORPSE: return "Corpse"; - case HIGHGUID_AREATRIGGER: return "AreaTrigger"; - case HIGHGUID_BATTLEGROUND: return "Battleground"; - case HIGHGUID_MO_TRANSPORT: return "MoTransport"; - case HIGHGUID_INSTANCE: return "InstanceID"; - case HIGHGUID_GROUP: return "Group"; - case HIGHGUID_GUILD: return "Guild"; + case HighGuid::Item: return "Item"; + case HighGuid::Player: return "Player"; + case HighGuid::GameObject: return "Gameobject"; + case HighGuid::Creature: return "Creature"; + case HighGuid::Pet: return "Pet"; + case HighGuid::Vehicle: return "Vehicle"; + case HighGuid::DynamicObject: return "DynObject"; + case HighGuid::Corpse: return "Corpse"; + case HighGuid::AreaTrigger: return "AreaTrigger"; + case HighGuid::Transport: return "Transport"; + case HighGuid::Party: return "Party"; + case HighGuid::Guild: return "Guild"; default: return "<unknown>"; } @@ -136,13 +133,13 @@ std::ostream& operator<<(std::ostream& stream, ObjectGuid const& guid) return stream; } -template ObjectGuid::LowType ObjectGuidGenerator<HIGHGUID_PLAYER>::Generate(); -template ObjectGuid::LowType ObjectGuidGenerator<HIGHGUID_UNIT>::Generate(); -template ObjectGuid::LowType ObjectGuidGenerator<HIGHGUID_PET>::Generate(); -template ObjectGuid::LowType ObjectGuidGenerator<HIGHGUID_VEHICLE>::Generate(); -template ObjectGuid::LowType ObjectGuidGenerator<HIGHGUID_ITEM>::Generate(); -template ObjectGuid::LowType ObjectGuidGenerator<HIGHGUID_GAMEOBJECT>::Generate(); -template ObjectGuid::LowType ObjectGuidGenerator<HIGHGUID_DYNAMICOBJECT>::Generate(); -template ObjectGuid::LowType ObjectGuidGenerator<HIGHGUID_CORPSE>::Generate(); -template ObjectGuid::LowType ObjectGuidGenerator<HIGHGUID_AREATRIGGER>::Generate(); -template ObjectGuid::LowType ObjectGuidGenerator<HIGHGUID_MO_TRANSPORT>::Generate(); +template ObjectGuid::LowType ObjectGuidGenerator<HighGuid::Player>::Generate(); +template ObjectGuid::LowType ObjectGuidGenerator<HighGuid::Creature>::Generate(); +template ObjectGuid::LowType ObjectGuidGenerator<HighGuid::Pet>::Generate(); +template ObjectGuid::LowType ObjectGuidGenerator<HighGuid::Vehicle>::Generate(); +template ObjectGuid::LowType ObjectGuidGenerator<HighGuid::Item>::Generate(); +template ObjectGuid::LowType ObjectGuidGenerator<HighGuid::GameObject>::Generate(); +template ObjectGuid::LowType ObjectGuidGenerator<HighGuid::DynamicObject>::Generate(); +template ObjectGuid::LowType ObjectGuidGenerator<HighGuid::Corpse>::Generate(); +template ObjectGuid::LowType ObjectGuidGenerator<HighGuid::AreaTrigger>::Generate(); +template ObjectGuid::LowType ObjectGuidGenerator<HighGuid::Transport>::Generate(); diff --git a/src/server/game/Entities/Object/ObjectGuid.h b/src/server/game/Entities/Object/ObjectGuid.h index d5bfa7ee2f8..7a3c05c3b37 100644 --- a/src/server/game/Entities/Object/ObjectGuid.h +++ b/src/server/game/Entities/Object/ObjectGuid.h @@ -35,10 +35,12 @@ enum TypeID TYPEID_GAMEOBJECT = 5, TYPEID_DYNAMICOBJECT = 6, TYPEID_CORPSE = 7, - TYPEID_AREATRIGGER = 8 + TYPEID_AREATRIGGER = 8, + TYPEID_SCENEOBJECT = 9, + TYPEID_CONVERSATION = 10 }; -#define NUM_CLIENT_OBJECT_TYPES 9 +#define NUM_CLIENT_OBJECT_TYPES 11 enum TypeMask { @@ -54,24 +56,52 @@ enum TypeMask TYPEMASK_SEER = TYPEMASK_PLAYER | TYPEMASK_UNIT | TYPEMASK_DYNAMICOBJECT }; -enum HighGuid +enum class HighGuid { - HIGHGUID_ITEM = 0x400, // blizz 4000 - HIGHGUID_CONTAINER = 0x400, // blizz 4000 - HIGHGUID_PLAYER = 0x000, // blizz 0000 - HIGHGUID_GAMEOBJECT = 0xF11, // blizz F110 - HIGHGUID_TRANSPORT = 0xF12, // blizz F120 (for GAMEOBJECT_TYPE_TRANSPORT) - HIGHGUID_UNIT = 0xF13, // blizz F130 - HIGHGUID_PET = 0xF14, // blizz F140 - HIGHGUID_VEHICLE = 0xF15, // blizz F550 - HIGHGUID_DYNAMICOBJECT = 0xF10, // blizz F100 - HIGHGUID_CORPSE = 0xF101, // blizz F100 - HIGHGUID_AREATRIGGER = 0xF102, - HIGHGUID_BATTLEGROUND = 0x1F1, - HIGHGUID_MO_TRANSPORT = 0x1FC, // blizz 1FC0 (for GAMEOBJECT_TYPE_MAP_OBJ_TRANSPORT) - HIGHGUID_INSTANCE = 0x1F4, // blizz 1F40 - HIGHGUID_GROUP = 0x1F5, - HIGHGUID_GUILD = 0x1FF + Null = 0, + Uniq = 1, + Player = 2, + Item = 3, + StaticDoor = 4, + Transport = 5, + Conversation = 6, + Creature = 7, + Vehicle = 8, + Pet = 9, + GameObject = 10, + DynamicObject = 11, + AreaTrigger = 12, + Corpse = 13, + LootObject = 14, + SceneObject = 15, + Scenario = 16, + AIGroup = 17, + DynamicDoor = 18, + ClientActor = 19, + Vignette = 20, + CallForHelp = 21, + AIResource = 22, + AILock = 23, + AILockTicket = 24, + ChatChannel = 25, + Party = 26, + Guild = 27, + WowAccount = 28, + BNetAccount = 29, + GMTask = 30, + MobileSession = 31, + RaidGroup = 32, + Spell = 33, + Mail = 34, + WebObj = 35, + LFGObject = 36, + LFGList = 37, + UserRouter = 38, + PVPQueueGroup = 39, + UserClient = 40, + PetBattle = 41, + UniqueUserClient = 42, + BattlePet = 43 }; class ObjectGuid; @@ -97,8 +127,8 @@ class ObjectGuid typedef uint64 LowType; ObjectGuid() : _low(0), _high(0) { } - ObjectGuid(HighGuid hi, uint32 entry, LowType counter) : _low(counter ? uint64(counter) | (uint64(entry) << 32) | (uint64(hi) << ((hi == HIGHGUID_CORPSE || hi == HIGHGUID_AREATRIGGER) ? 48 : 52)) : 0), _high(0) { } - ObjectGuid(HighGuid hi, LowType counter) : _low(counter ? uint64(counter) | (uint64(hi) << ((hi == HIGHGUID_CORPSE || hi == HIGHGUID_AREATRIGGER) ? 48 : 52)) : 0), _high(0) { } + ObjectGuid(HighGuid hi, uint32 entry, LowType counter) : _low(counter ? uint64(counter) | (uint64(entry) << 32) | (uint64(hi) << ((hi == HighGuid::Corpse || hi == HighGuid::AreaTrigger) ? 48 : 52)) : 0), _high(0) { } + ObjectGuid(HighGuid hi, LowType counter) : _low(counter ? uint64(counter) | (uint64(hi) << ((hi == HighGuid::Corpse || hi == HighGuid::AreaTrigger) ? 48 : 52)) : 0), _high(0) { } ObjectGuid(ObjectGuid const&) = default; PackedGuidReader ReadAsPacked() { return PackedGuidReader(*this); } @@ -113,7 +143,7 @@ class ObjectGuid HighGuid GetHigh() const { uint32 temp = ((uint64(_low) >> 48) & 0x0000FFFF); - return HighGuid((temp == HIGHGUID_CORPSE || temp == HIGHGUID_AREATRIGGER) ? temp : ((temp >> 4) & 0x00000FFF)); + return HighGuid((temp == uint32(HighGuid::Corpse) || temp == uint32(HighGuid::AreaTrigger)) ? temp : ((temp >> 4) & 0x00000FFF)); } uint32 GetEntry() const { return HasEntry() ? uint32((_low >> 32) & UI64LIT(0x00000000000FFFFF)) : 0; } LowType GetCounter() const @@ -141,47 +171,42 @@ class ObjectGuid } bool IsEmpty() const { return _low == 0 && _high == 0; } - bool IsCreature() const { return GetHigh() == HIGHGUID_UNIT; } - bool IsPet() const { return GetHigh() == HIGHGUID_PET; } - bool IsVehicle() const { return GetHigh() == HIGHGUID_VEHICLE; } + bool IsCreature() const { return GetHigh() == HighGuid::Creature; } + bool IsPet() const { return GetHigh() == HighGuid::Pet; } + bool IsVehicle() const { return GetHigh() == HighGuid::Vehicle; } bool IsCreatureOrPet() const { return IsCreature() || IsPet(); } bool IsCreatureOrVehicle() const { return IsCreature() || IsVehicle(); } bool IsAnyTypeCreature() const { return IsCreature() || IsPet() || IsVehicle(); } - bool IsPlayer() const { return !IsEmpty() && GetHigh() == HIGHGUID_PLAYER; } + bool IsPlayer() const { return !IsEmpty() && GetHigh() == HighGuid::Player; } bool IsUnit() const { return IsAnyTypeCreature() || IsPlayer(); } - bool IsItem() const { return GetHigh() == HIGHGUID_ITEM; } - bool IsGameObject() const { return GetHigh() == HIGHGUID_GAMEOBJECT; } - bool IsDynamicObject() const { return GetHigh() == HIGHGUID_DYNAMICOBJECT; } - bool IsCorpse() const { return GetHigh() == HIGHGUID_CORPSE; } - bool IsAreaTrigger() const { return GetHigh() == HIGHGUID_AREATRIGGER; } - bool IsBattleground() const { return GetHigh() == HIGHGUID_BATTLEGROUND; } - bool IsTransport() const { return GetHigh() == HIGHGUID_TRANSPORT; } - bool IsMOTransport() const { return GetHigh() == HIGHGUID_MO_TRANSPORT; } - bool IsAnyTypeGameObject() const { return IsGameObject() || IsTransport() || IsMOTransport(); } - bool IsInstance() const { return GetHigh() == HIGHGUID_INSTANCE; } - bool IsGroup() const { return GetHigh() == HIGHGUID_GROUP; } - bool IsGuild() const { return GetHigh() == HIGHGUID_GUILD; } + bool IsItem() const { return GetHigh() == HighGuid::Item; } + bool IsGameObject() const { return GetHigh() == HighGuid::GameObject; } + bool IsDynamicObject() const { return GetHigh() == HighGuid::DynamicObject; } + bool IsCorpse() const { return GetHigh() == HighGuid::Corpse; } + bool IsAreaTrigger() const { return GetHigh() == HighGuid::AreaTrigger; } + bool IsMOTransport() const { return GetHigh() == HighGuid::Transport; } + bool IsAnyTypeGameObject() const { return IsGameObject() || IsMOTransport(); } + bool IsParty() const { return GetHigh() == HighGuid::Party; } + bool IsGuild() const { return GetHigh() == HighGuid::Guild; } static TypeID GetTypeId(HighGuid high) { switch (high) { - case HIGHGUID_ITEM: return TYPEID_ITEM; + case HighGuid::Item: return TYPEID_ITEM; //case HIGHGUID_CONTAINER: return TYPEID_CONTAINER; HIGHGUID_CONTAINER==HIGHGUID_ITEM currently - case HIGHGUID_UNIT: return TYPEID_UNIT; - case HIGHGUID_PET: return TYPEID_UNIT; - case HIGHGUID_PLAYER: return TYPEID_PLAYER; - case HIGHGUID_GAMEOBJECT: return TYPEID_GAMEOBJECT; - case HIGHGUID_DYNAMICOBJECT: return TYPEID_DYNAMICOBJECT; - case HIGHGUID_CORPSE: return TYPEID_CORPSE; - case HIGHGUID_AREATRIGGER: return TYPEID_AREATRIGGER; - case HIGHGUID_MO_TRANSPORT: return TYPEID_GAMEOBJECT; - case HIGHGUID_VEHICLE: return TYPEID_UNIT; + case HighGuid::Creature: return TYPEID_UNIT; + case HighGuid::Pet: return TYPEID_UNIT; + case HighGuid::Player: return TYPEID_PLAYER; + case HighGuid::GameObject: return TYPEID_GAMEOBJECT; + case HighGuid::DynamicObject: return TYPEID_DYNAMICOBJECT; + case HighGuid::Corpse: return TYPEID_CORPSE; + case HighGuid::AreaTrigger: return TYPEID_AREATRIGGER; + case HighGuid::Transport: return TYPEID_GAMEOBJECT; + case HighGuid::Vehicle: return TYPEID_UNIT; // unknown - case HIGHGUID_INSTANCE: - case HIGHGUID_BATTLEGROUND: - case HIGHGUID_GROUP: - case HIGHGUID_GUILD: + case HighGuid::Party: + case HighGuid::Guild: default: return TYPEID_OBJECT; } } @@ -210,19 +235,17 @@ class ObjectGuid { switch (high) { - case HIGHGUID_ITEM: - case HIGHGUID_PLAYER: - case HIGHGUID_DYNAMICOBJECT: - case HIGHGUID_CORPSE: - case HIGHGUID_MO_TRANSPORT: - case HIGHGUID_INSTANCE: - case HIGHGUID_GROUP: + case HighGuid::Item: + case HighGuid::Player: + case HighGuid::DynamicObject: + case HighGuid::Corpse: + case HighGuid::Transport: + case HighGuid::Party: return false; - case HIGHGUID_GAMEOBJECT: - case HIGHGUID_TRANSPORT: - case HIGHGUID_UNIT: - case HIGHGUID_PET: - case HIGHGUID_VEHICLE: + case HighGuid::GameObject: + case HighGuid::Creature: + case HighGuid::Pet: + case HighGuid::Vehicle: default: return true; } diff --git a/src/server/game/Entities/Pet/Pet.cpp b/src/server/game/Entities/Pet/Pet.cpp index dbabab3bbe5..1e1ed30cf33 100644 --- a/src/server/game/Entities/Pet/Pet.cpp +++ b/src/server/game/Entities/Pet/Pet.cpp @@ -175,7 +175,7 @@ bool Pet::LoadPetFromDB(Player* owner, uint32 petEntry, uint32 petnumber, bool c } Map* map = owner->GetMap(); - if (!Create(sObjectMgr->GetGenerator<HIGHGUID_PET>()->Generate(), map, owner->GetPhaseMask(), petEntry, petId)) + if (!Create(sObjectMgr->GetGenerator<HighGuid::Pet>()->Generate(), map, owner->GetPhaseMask(), petEntry, petId)) return false; for (auto itr : owner->GetPhases()) @@ -771,7 +771,7 @@ bool Pet::CreateBaseAtTamed(CreatureTemplate const* cinfo, Map* map, uint32 phas { TC_LOG_DEBUG("entities.pet", "Pet::CreateBaseForTamed"); uint32 petId = sObjectMgr->GeneratePetNumber(); - if (!Create(sObjectMgr->GetGenerator<HIGHGUID_PET>()->Generate(), map, phaseMask, cinfo->Entry, petId)) + if (!Create(sObjectMgr->GetGenerator<HighGuid::Pet>()->Generate(), map, phaseMask, cinfo->Entry, petId)) return false; setPowerType(POWER_FOCUS); @@ -1871,7 +1871,7 @@ bool Pet::Create(ObjectGuid::LowType guidlow, Map* map, uint32 phaseMask, uint32 SetMap(map); SetPhaseMask(phaseMask, false); - Object::_Create(guidlow, petId, HIGHGUID_PET); + Object::_Create(guidlow, petId, HighGuid::Pet); m_DBTableGuid = guidlow; m_originalEntry = Entry; diff --git a/src/server/game/Entities/Player/Player.cpp b/src/server/game/Entities/Player/Player.cpp index 32f51d46568..e59c49bae9c 100644 --- a/src/server/game/Entities/Player/Player.cpp +++ b/src/server/game/Entities/Player/Player.cpp @@ -982,7 +982,7 @@ bool Player::Create(ObjectGuid::LowType guidlow, CharacterCreateInfo* createInfo // should check that skin, face, hair* are valid via DBC per race/class // also do it in Player::BuildEnumData, Player::LoadFromDB - Object::_Create(guidlow, 0, HIGHGUID_PLAYER); + Object::_Create(guidlow, 0, HighGuid::Player); m_name = createInfo->Name; @@ -1964,7 +1964,7 @@ bool Player::BuildEnumData(PreparedQueryResult result, ByteBuffer* dataBuffer) Field* fields = result->Fetch(); - ObjectGuid guid(HIGHGUID_PLAYER, fields[0].GetUInt64()); + ObjectGuid guid(HighGuid::Player, fields[0].GetUInt64()); std::string name = fields[1].GetString(); uint8 playerRace = fields[2].GetUInt8(); uint8 playerClass = fields[3].GetUInt8(); @@ -1983,7 +1983,7 @@ bool Player::BuildEnumData(PreparedQueryResult result, ByteBuffer* dataBuffer) uint64 guildId = fields[13].GetUInt64(); ObjectGuid guildGuid; if (guildId) - guildGuid = ObjectGuid(HIGHGUID_GUILD, guildId); + guildGuid = ObjectGuid(HighGuid::Guild, guildId); uint32 playerFlags = fields[14].GetUInt32(); uint32 atLoginFlags = fields[15].GetUInt16(); Tokenizer equipment(fields[19].GetString(), ' '); @@ -4809,7 +4809,7 @@ void Player::DeleteFromDB(ObjectGuid playerguid, uint32 accountId, bool updateRe { do { - if (Player* pFriend = ObjectAccessor::FindPlayer(ObjectGuid(HIGHGUID_PLAYER, (*resultFriends)[0].GetUInt64()))) + if (Player* pFriend = ObjectAccessor::FindPlayer(ObjectGuid(HighGuid::Player, (*resultFriends)[0].GetUInt64()))) { pFriend->GetSocial()->RemoveFromSocialList(playerguid, false); sSocialMgr->SendFriendStatus(pFriend, FRIEND_REMOVED, playerguid, false); @@ -5017,7 +5017,7 @@ void Player::DeleteOldCharacters(uint32 keepDays) do { Field* fields = result->Fetch(); - Player::DeleteFromDB(ObjectGuid(HIGHGUID_PLAYER, fields[0].GetUInt64()), fields[1].GetUInt32(), true, true); + Player::DeleteFromDB(ObjectGuid(HighGuid::Player, fields[0].GetUInt64()), fields[1].GetUInt32(), true, true); } while (result->NextRow()); } @@ -5205,7 +5205,7 @@ void Player::CreateCorpse() Corpse* corpse = new Corpse((m_ExtraFlags & PLAYER_EXTRA_PVP_DEATH) ? CORPSE_RESURRECTABLE_PVP : CORPSE_RESURRECTABLE_PVE); SetPvPDeath(false); - if (!corpse->Create(sObjectMgr->GetGenerator<HIGHGUID_CORPSE>()->Generate(), this)) + if (!corpse->Create(sObjectMgr->GetGenerator<HighGuid::Corpse>()->Generate(), this)) { delete corpse; return; @@ -7592,7 +7592,7 @@ void Player::UpdateConquestCurrencyCap(uint32 currency) void Player::SetInGuild(ObjectGuid::LowType guildId) { if (guildId) - SetGuidValue(OBJECT_FIELD_DATA, ObjectGuid(HIGHGUID_GUILD, guildId)); + SetGuidValue(OBJECT_FIELD_DATA, ObjectGuid(HighGuid::Guild, guildId)); else SetGuidValue(OBJECT_FIELD_DATA, ObjectGuid::Empty); @@ -14868,12 +14868,12 @@ Quest const* Player::GetNextQuest(ObjectGuid guid, Quest const* quest) switch (guid.GetHigh()) { - case HIGHGUID_PLAYER: + case HighGuid::Player: ASSERT(quest->HasFlag(QUEST_FLAGS_AUTOCOMPLETE)); return sObjectMgr->GetQuestTemplate(nextQuestID); - case HIGHGUID_UNIT: - case HIGHGUID_PET: - case HIGHGUID_VEHICLE: + case HighGuid::Creature: + case HighGuid::Pet: + case HighGuid::Vehicle: { if (Creature* creature = ObjectAccessor::GetCreatureOrPetOrVehicle(*this, guid)) objectQR = sObjectMgr->GetCreatureQuestRelationBounds(creature->GetEntry()); @@ -14881,7 +14881,7 @@ Quest const* Player::GetNextQuest(ObjectGuid guid, Quest const* quest) return NULL; break; } - case HIGHGUID_GAMEOBJECT: + case HighGuid::GameObject: { //we should obtain map pointer from GetMap() in 99% of cases. Special case //only for quests which cast teleport spells on player @@ -17229,7 +17229,7 @@ bool Player::LoadFromDB(ObjectGuid guid, SQLQueryHolder *holder) return false; } - Object::_Create(guid.GetCounter(), 0, HIGHGUID_PLAYER); + Object::_Create(guid.GetCounter(), 0, HighGuid::Player); m_name = fields[2].GetString(); @@ -17431,7 +17431,7 @@ bool Player::LoadFromDB(ObjectGuid guid, SQLQueryHolder *holder) // currently we do not support transport in bg else if (transLowGUID) { - ObjectGuid transGUID(HIGHGUID_MO_TRANSPORT, transLowGUID); + ObjectGuid transGUID(HighGuid::Transport, transLowGUID); Transport* transport = NULL; if (GameObject* go = HashMapHolder<GameObject>::Find(transGUID)) @@ -18155,7 +18155,7 @@ void Player::_LoadInventory(PreparedQueryResult result, uint32 timeDiff) Field* fields = result->Fetch(); if (Item* item = _LoadItem(trans, zoneId, timeDiff, fields)) { - ObjectGuid bagGuid(HIGHGUID_ITEM, fields[11].GetUInt64()); + ObjectGuid bagGuid(HighGuid::Item, fields[11].GetUInt64()); uint8 slot = fields[12].GetUInt8(); uint8 err = EQUIP_ERR_OK; @@ -18275,7 +18275,7 @@ void Player::_LoadVoidStorage(PreparedQueryResult result) uint64 itemId = fields[0].GetUInt64(); uint32 itemEntry = fields[1].GetUInt32(); uint8 slot = fields[2].GetUInt8(); - ObjectGuid creatorGuid(HIGHGUID_PLAYER, fields[3].GetUInt64()); + ObjectGuid creatorGuid(HighGuid::Player, fields[3].GetUInt64()); uint32 randomProperty = fields[4].GetUInt32(); uint32 suffixFactor = fields[5].GetUInt32(); @@ -18379,7 +18379,7 @@ Item* Player::_LoadItem(SQLTransaction& trans, uint32 zoneId, uint32 timeDiff, F Tokenizer GUIDlist(strGUID, ' '); GuidSet looters; for (Tokenizer::const_iterator itr = GUIDlist.begin(); itr != GUIDlist.end(); ++itr) - looters.insert(ObjectGuid(HIGHGUID_PLAYER, uint64(strtoull(*itr, nullptr, 10)))); + looters.insert(ObjectGuid(HighGuid::Player, uint64(strtoull(*itr, nullptr, 10)))); if (looters.size() > 1 && item->GetTemplate()->GetMaxStackSize() == 1 && item->IsSoulBound()) { @@ -18473,7 +18473,7 @@ void Player::_LoadMailedItems(Mail* mail) Item* item = NewItemOrBag(proto); - if (!item->LoadFromDB(itemGuid, ObjectGuid(HIGHGUID_PLAYER, fields[13].GetUInt64()), fields, itemTemplate)) + if (!item->LoadFromDB(itemGuid, ObjectGuid(HighGuid::Player, fields[13].GetUInt64()), fields, itemTemplate)) { TC_LOG_ERROR("entities.player", "Player::_LoadMailedItems - Item in mail (" UI64FMTD ") doesn't exist !!!! - item guid: %u, deleted from mail", mail->messageID, itemGuid); @@ -21363,8 +21363,8 @@ void Player::RemovePetitionsAndSigns(ObjectGuid guid, uint32 type) do // this part effectively does nothing, since the deletion / modification only takes place _after_ the PetitionQuery. Though I don't know if the result remains intact if I execute the delete query beforehand. { // and SendPetitionQueryOpcode reads data from the DB Field* fields = result->Fetch(); - ObjectGuid ownerguid = ObjectGuid(HIGHGUID_PLAYER, fields[0].GetUInt64()); - ObjectGuid petitionguid = ObjectGuid(HIGHGUID_ITEM, fields[1].GetUInt64()); + ObjectGuid ownerguid = ObjectGuid(HighGuid::Player, fields[0].GetUInt64()); + ObjectGuid petitionguid = ObjectGuid(HighGuid::Item, fields[1].GetUInt64()); // send update if charter owner in game Player* owner = ObjectAccessor::FindConnectedPlayer(ownerguid); @@ -26393,7 +26393,7 @@ void Player::SendEquipmentSetList() if (itr->second.IgnoreMask & (1 << i)) data << ignoredItemGuid; else - data << ObjectGuid(HIGHGUID_ITEM, itr->second.Items[i]); + data << ObjectGuid(HighGuid::Item, itr->second.Items[i]); } ++count; // client have limit but it checked at loading and set @@ -27543,7 +27543,7 @@ Pet* Player::SummonPet(uint32 entry, float x, float y, float z, float ang, PetTy Map* map = GetMap(); uint32 pet_number = sObjectMgr->GeneratePetNumber(); - if (!pet->Create(sObjectMgr->GetGenerator<HIGHGUID_PET>()->Generate(), map, GetPhaseMask(), entry, pet_number)) + if (!pet->Create(sObjectMgr->GetGenerator<HighGuid::Pet>()->Generate(), map, GetPhaseMask(), entry, pet_number)) { TC_LOG_ERROR("misc", "no such creature entry %u", entry); delete pet; diff --git a/src/server/game/Entities/Player/SocialMgr.cpp b/src/server/game/Entities/Player/SocialMgr.cpp index 7dcbcfe320c..def232fd576 100644 --- a/src/server/game/Entities/Player/SocialMgr.cpp +++ b/src/server/game/Entities/Player/SocialMgr.cpp @@ -324,7 +324,7 @@ PlayerSocial* SocialMgr::LoadFromDB(PreparedQueryResult result, ObjectGuid const { Field* fields = result->Fetch(); - friendGuid = ObjectGuid(HIGHGUID_PLAYER, fields[0].GetUInt64()); + friendGuid = ObjectGuid(HighGuid::Player, fields[0].GetUInt64()); flags = fields[1].GetUInt8(); note = fields[2].GetString(); diff --git a/src/server/game/Entities/Transport/Transport.cpp b/src/server/game/Entities/Transport/Transport.cpp index 9acc84a7da0..42621344e1d 100644 --- a/src/server/game/Entities/Transport/Transport.cpp +++ b/src/server/game/Entities/Transport/Transport.cpp @@ -58,7 +58,7 @@ bool Transport::Create(ObjectGuid::LowType guidlow, uint32 entry, uint32 mapid, return false; } - Object::_Create(guidlow, 0, HIGHGUID_MO_TRANSPORT); + Object::_Create(guidlow, 0, HighGuid::Transport); GameObjectTemplate const* goinfo = sObjectMgr->GetGameObjectTemplate(entry); @@ -453,7 +453,7 @@ TempSummon* Transport::SummonPassenger(uint32 entry, Position const& pos, TempSu pos.GetPosition(x, y, z, o); CalculatePassengerPosition(x, y, z, &o); - if (!summon->Create(sObjectMgr->GetGenerator<HIGHGUID_UNIT>()->Generate(), map, 0, entry, x, y, z, o, nullptr, vehId)) + if (!summon->Create(sObjectMgr->GetGenerator<HighGuid::Creature>()->Generate(), map, 0, entry, x, y, z, o, nullptr, vehId)) { delete summon; return NULL; |
