diff options
author | maximius <none@none> | 2009-10-17 15:51:44 -0700 |
---|---|---|
committer | maximius <none@none> | 2009-10-17 15:51:44 -0700 |
commit | e585187b248f48b3c6e9247b49fa07c6565d65e5 (patch) | |
tree | 637c5b7ddacf41040bef4ea4f75a97da64c6a9bc /src/game/UpdateData.h | |
parent | 26b5e033ffde3d161382fc9addbfa99738379641 (diff) |
*Backed out changeset 3be01fb200a5
--HG--
branch : trunk
Diffstat (limited to 'src/game/UpdateData.h')
-rw-r--r-- | src/game/UpdateData.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/src/game/UpdateData.h b/src/game/UpdateData.h index d5052d50315..282ea566c7a 100644 --- a/src/game/UpdateData.h +++ b/src/game/UpdateData.h @@ -17,10 +17,13 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ + #ifndef __UPDATEDATA_H #define __UPDATEDATA_H + #include "ByteBuffer.h" class WorldPacket; + enum OBJECT_UPDATE_TYPE { UPDATETYPE_VALUES = 0, @@ -30,6 +33,7 @@ enum OBJECT_UPDATE_TYPE UPDATETYPE_OUT_OF_RANGE_OBJECTS = 4, UPDATETYPE_NEAR_OBJECTS = 5 }; + enum OBJECT_UPDATE_FLAGS { UPDATEFLAG_NONE = 0x0000, @@ -44,21 +48,26 @@ enum OBJECT_UPDATE_FLAGS UPDATEFLAG_POSITION = 0x0100, UPDATEFLAG_ROTATION = 0x0200 }; + class UpdateData { public: UpdateData(); + void AddOutOfRangeGUID(std::set<uint64>& guids); void AddOutOfRangeGUID(const uint64 &guid); void AddUpdateBlock(const ByteBuffer &block); bool BuildPacket(WorldPacket *packet); bool HasData() { return m_blockCount > 0 || !m_outOfRangeGUIDs.empty(); } void Clear(); + std::set<uint64> const& GetOutOfRangeGUIDs() const { return m_outOfRangeGUIDs; } + protected: uint32 m_blockCount; std::set<uint64> m_outOfRangeGUIDs; ByteBuffer m_data; + void Compress(void* dst, uint32 *dst_size, void* src, int src_size); }; #endif |