Skip to content

Instantly share code, notes, and snippets.

@Tasssadar
Created October 23, 2010 20:57
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Tasssadar/642687 to your computer and use it in GitHub Desktop.
Save Tasssadar/642687 to your computer and use it in GitHub Desktop.
Highguid instance
diff --git a/src/game/ObjectGuid.cpp b/src/game/ObjectGuid.cpp
index eefc901..c297263 100644
--- a/src/game/ObjectGuid.cpp
+++ b/src/game/ObjectGuid.cpp
@@ -37,6 +37,7 @@ char const* ObjectGuid::GetTypeName(HighGuid high)
case HIGHGUID_DYNAMICOBJECT:return "DynObject";
case HIGHGUID_CORPSE: return "Corpse";
case HIGHGUID_MO_TRANSPORT: return "MoTransport";
+ case HIGHGUID_INSTANCE: return "InstanceID";
default:
return "<unknown>";
}
@@ -105,3 +106,4 @@ template uint32 ObjectGuidGenerator<HIGHGUID_PET>::Generate();
template uint32 ObjectGuidGenerator<HIGHGUID_VEHICLE>::Generate();
template uint32 ObjectGuidGenerator<HIGHGUID_DYNAMICOBJECT>::Generate();
template uint32 ObjectGuidGenerator<HIGHGUID_CORPSE>::Generate();
+//template uint32 ObjectGuidGenerator<HIGHGUID_INSTANCE>::Generate(); Currently not used
diff --git a/src/game/ObjectGuid.h b/src/game/ObjectGuid.h
index 4fc9bb0..b86483c 100644
--- a/src/game/ObjectGuid.h
+++ b/src/game/ObjectGuid.h
@@ -72,6 +72,7 @@ enum HighGuid
HIGHGUID_DYNAMICOBJECT = 0xF100, // blizz F100/F500
HIGHGUID_CORPSE = 0xF500, // blizz F100/F500 used second variant to resolve conflict with HIGHGUID_DYNAMICOBJECT
HIGHGUID_MO_TRANSPORT = 0x1FC0, // blizz 1FC0 (for GAMEOBJECT_TYPE_MO_TRANSPORT)
+ HIGHGUID_INSTANCE = 0x1F42, // blizz 1F42
};
//*** Must be replaced by ObjectGuid use ***
@@ -92,6 +93,7 @@ inline bool IsGuidHaveEnPart(uint64 const& guid)
case HIGHGUID_DYNAMICOBJECT:
case HIGHGUID_CORPSE:
case HIGHGUID_MO_TRANSPORT:
+ case HIGHGUID_INSTANCE:
return false;
case HIGHGUID_GAMEOBJECT:
case HIGHGUID_TRANSPORT:
@@ -170,6 +172,7 @@ class MANGOS_DLL_SPEC ObjectGuid
bool IsCorpse() const { return GetHigh() == HIGHGUID_CORPSE; }
bool IsTransport() const { return GetHigh() == HIGHGUID_TRANSPORT; }
bool IsMOTransport() const { return GetHigh() == HIGHGUID_MO_TRANSPORT; }
+ bool IsInstance() const { return GetHigh() == HIGHGUID_INSTANCE; }
static TypeID GetTypeId(HighGuid high)
{
@@ -186,6 +189,7 @@ class MANGOS_DLL_SPEC ObjectGuid
case HIGHGUID_MO_TRANSPORT: return TYPEID_GAMEOBJECT;
case HIGHGUID_VEHICLE: return TYPEID_UNIT;
// unknown
+ case HIGHGUID_INSTANCE:
default: return TYPEID_OBJECT;
}
}
@@ -211,6 +215,7 @@ class MANGOS_DLL_SPEC ObjectGuid
case HIGHGUID_DYNAMICOBJECT:
case HIGHGUID_CORPSE:
case HIGHGUID_MO_TRANSPORT:
+ case HIGHGUID_INSTANCE:
return false;
case HIGHGUID_GAMEOBJECT:
case HIGHGUID_TRANSPORT:
diff --git a/src/game/ObjectMgr.cpp b/src/game/ObjectMgr.cpp
index ccd8382..2dc5efe 100644
--- a/src/game/ObjectMgr.cpp
+++ b/src/game/ObjectMgr.cpp
@@ -6265,6 +6265,8 @@ uint32 ObjectMgr::GenerateLowGuid(HighGuid guidhigh)
return m_GameobjectGuids.Generate();
case HIGHGUID_CORPSE:
return m_CorpseGuids.Generate();
+ //case HIGHGUID_INSTANCE: Currently not used
+ // return m_InstanceGuids.Generate();
default:
MANGOS_ASSERT(0);
}
diff --git a/src/game/ObjectMgr.h b/src/game/ObjectMgr.h
index 19285d9..a52c688 100644
--- a/src/game/ObjectMgr.h
+++ b/src/game/ObjectMgr.h
@@ -1299,6 +1299,7 @@ class ObjectMgr
ObjectGuidGenerator<HIGHGUID_ITEM> m_ItemGuids;
ObjectGuidGenerator<HIGHGUID_GAMEOBJECT> m_GameobjectGuids;
ObjectGuidGenerator<HIGHGUID_CORPSE> m_CorpseGuids;
+ //ObjectGuidGenerator<HIGHGUID_INSTANCE> m_InstanceGuids; Currently not used
QuestMap mQuestTemplates;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment