Update ObjectGuid to cata, remove ref in ByteBuffer::WriteGuid*

Signed-off-by: Yaki Khadafi <elsoldollo@gmail.com>

Signed-off-by: Salja <salja2012@hotmail.de>
This commit is contained in:
Yaki Khadafi 2012-08-06 11:11:07 +03:00 committed by Antz
parent 2cc326182a
commit 936404c101
3 changed files with 27 additions and 30 deletions

View file

@ -92,7 +92,7 @@ class MANGOS_DLL_SPEC ObjectGuid
public: // constructors public: // constructors
ObjectGuid() : m_guid(0) {} ObjectGuid() : m_guid(0) {}
explicit ObjectGuid(uint64 guid) : m_guid(guid) {} explicit ObjectGuid(uint64 guid) : m_guid(guid) {}
ObjectGuid(HighGuid hi, uint32 entry, uint32 counter) : m_guid(counter ? uint64(counter) | (uint64(entry) << 24) | (uint64(hi) << 52) : 0) {} ObjectGuid(HighGuid hi, uint32 entry, uint32 counter) : m_guid(counter ? uint64(counter) | (uint64(entry) << 32) | (uint64(hi) << 52) : 0) {}
ObjectGuid(HighGuid hi, uint32 counter) : m_guid(counter ? uint64(counter) | (uint64(hi) << 52) : 0) {} ObjectGuid(HighGuid hi, uint32 counter) : m_guid(counter ? uint64(counter) | (uint64(hi) << 52) : 0) {}
operator uint64() const { return m_guid; } operator uint64() const { return m_guid; }
@ -111,19 +111,19 @@ class MANGOS_DLL_SPEC ObjectGuid
public: // accessors public: // accessors
uint64 GetRawValue() const { return m_guid; } uint64 GetRawValue() const { return m_guid; }
HighGuid GetHigh() const { return HighGuid((m_guid >> 52) & 0x00000FFF); } HighGuid GetHigh() const { return HighGuid((m_guid >> 52) & 0x00000FFF); }
uint32 GetEntry() const { return HasEntry() ? uint32((m_guid >> 24) & UI64LIT(0x0000000000FFFFFF)) : 0; } uint32 GetEntry() const { return HasEntry() ? uint32((m_guid >> 32) & UI64LIT(0x0000000000FFFFFF)) : 0; }
uint32 GetCounter() const uint32 GetCounter() const
{ {
return HasEntry() return HasEntry()
? uint32(m_guid & UI64LIT(0x0000000000FFFFFF)) ? uint32(m_guid & UI64LIT(0x00000000FFFFFFFF))
: uint32(m_guid & UI64LIT(0x00000000FFFFFFFF)); : uint32(m_guid & UI64LIT(0x000000FFFFFFFFFF));
} }
static uint32 GetMaxCounter(HighGuid high) static uint32 GetMaxCounter(HighGuid high)
{ {
return HasEntry(high) return HasEntry(high)
? uint32(0x00FFFFFF) ? uint32(0x00FFFFFFFF)
: uint32(0xFFFFFFFF); : uint32(0xFFFFFFFFFF);
} }
uint32 GetMaxCounter() const { return GetMaxCounter(GetHigh()); } uint32 GetMaxCounter() const { return GetMaxCounter(GetHigh()); }
@ -311,7 +311,7 @@ HASH_NAMESPACE_END
} }
#define DEFINE_WRITEGUIDMASK(T1, T2) template <T1> \ #define DEFINE_WRITEGUIDMASK(T1, T2) template <T1> \
void ByteBuffer::WriteGuidMask(ObjectGuid& guid) \ void ByteBuffer::WriteGuidMask(ObjectGuid guid) \
{ \ { \
uint8 maskArr[] = { T2 }; \ uint8 maskArr[] = { T2 }; \
for (uint8 i = 0; i < countof(maskArr); ++i) \ for (uint8 i = 0; i < countof(maskArr); ++i) \
@ -328,7 +328,7 @@ HASH_NAMESPACE_END
} }
#define DEFINE_WRITEGUIDBYTES(T1, T2) template <T1> \ #define DEFINE_WRITEGUIDBYTES(T1, T2) template <T1> \
void ByteBuffer::WriteGuidBytes(ObjectGuid& guid) \ void ByteBuffer::WriteGuidBytes(ObjectGuid guid) \
{ \ { \
uint8 maskArr[] = { T2 }; \ uint8 maskArr[] = { T2 }; \
for (uint8 i = 0; i < countof(maskArr); ++i) \ for (uint8 i = 0; i < countof(maskArr); ++i) \

View file

@ -164,8 +164,8 @@ namespace Movement
case MoveSplineFlag::Final_Target: case MoveSplineFlag::Final_Target:
{ {
data.WriteBits(2, 2); data.WriteBits(2, 2);
ObjectGuid guid = ObjectGuid(move_spline.facing.target);
data.WriteGuidMask<4, 3, 7, 2, 6, 1, 0, 5>(guid); data.WriteGuidMask<4, 3, 7, 2, 6, 1, 0, 5>(ObjectGuid(move_spline.facing.target));
break; break;
} }
case MoveSplineFlag::Final_Angle: case MoveSplineFlag::Final_Angle:
@ -198,10 +198,7 @@ namespace Movement
if (move_spline.splineflags & MoveSplineFlag::Final_Angle) if (move_spline.splineflags & MoveSplineFlag::Final_Angle)
data << move_spline.facing.angle; data << move_spline.facing.angle;
else if (move_spline.splineflags & MoveSplineFlag::Final_Target) else if (move_spline.splineflags & MoveSplineFlag::Final_Target)
{ data.WriteGuidBytes<5, 3, 7, 1, 6, 4, 2, 0>(ObjectGuid(move_spline.facing.target));
ObjectGuid guid = ObjectGuid(move_spline.facing.target);
data.WriteGuidMask<5, 3, 7, 1, 6, 4, 2, 0>(guid);
}
for (uint32 i = 0; i < nodes; ++i) for (uint32 i = 0; i < nodes; ++i)
{ {

View file

@ -253,21 +253,21 @@ class ByteBuffer
void ReadGuidMask(ObjectGuid& guid); void ReadGuidMask(ObjectGuid& guid);
template<BITS_1> template<BITS_1>
void WriteGuidMask(ObjectGuid& guid); void WriteGuidMask(ObjectGuid guid);
template<BITS_2> template<BITS_2>
void WriteGuidMask(ObjectGuid& guid); void WriteGuidMask(ObjectGuid guid);
template<BITS_3> template<BITS_3>
void WriteGuidMask(ObjectGuid& guid); void WriteGuidMask(ObjectGuid guid);
template<BITS_4> template<BITS_4>
void WriteGuidMask(ObjectGuid& guid); void WriteGuidMask(ObjectGuid guid);
template<BITS_5> template<BITS_5>
void WriteGuidMask(ObjectGuid& guid); void WriteGuidMask(ObjectGuid guid);
template<BITS_6> template<BITS_6>
void WriteGuidMask(ObjectGuid& guid); void WriteGuidMask(ObjectGuid guid);
template<BITS_7> template<BITS_7>
void WriteGuidMask(ObjectGuid& guid); void WriteGuidMask(ObjectGuid guid);
template<BITS_8> template<BITS_8>
void WriteGuidMask(ObjectGuid& guid); void WriteGuidMask(ObjectGuid guid);
template<BITS_1> template<BITS_1>
void ReadGuidBytes(ObjectGuid& guid); void ReadGuidBytes(ObjectGuid& guid);
@ -287,21 +287,21 @@ class ByteBuffer
void ReadGuidBytes(ObjectGuid& guid); void ReadGuidBytes(ObjectGuid& guid);
template<BITS_1> template<BITS_1>
void WriteGuidBytes(ObjectGuid& guid); void WriteGuidBytes(ObjectGuid guid);
template<BITS_2> template<BITS_2>
void WriteGuidBytes(ObjectGuid& guid); void WriteGuidBytes(ObjectGuid guid);
template<BITS_3> template<BITS_3>
void WriteGuidBytes(ObjectGuid& guid); void WriteGuidBytes(ObjectGuid guid);
template<BITS_4> template<BITS_4>
void WriteGuidBytes(ObjectGuid& guid); void WriteGuidBytes(ObjectGuid guid);
template<BITS_5> template<BITS_5>
void WriteGuidBytes(ObjectGuid& guid); void WriteGuidBytes(ObjectGuid guid);
template<BITS_6> template<BITS_6>
void WriteGuidBytes(ObjectGuid& guid); void WriteGuidBytes(ObjectGuid guid);
template<BITS_7> template<BITS_7>
void WriteGuidBytes(ObjectGuid& guid); void WriteGuidBytes(ObjectGuid guid);
template<BITS_8> template<BITS_8>
void WriteGuidBytes(ObjectGuid& guid); void WriteGuidBytes(ObjectGuid guid);
template <typename T> void put(size_t pos, T value) template <typename T> void put(size_t pos, T value)
{ {