Project SkyFire Core
SkyFire 5.4.8 server core API documentation
Toggle main menu visibility
Loading...
Searching...
No Matches
UpdateData.h
Go to the documentation of this file.
1
/*
2
* This file is part of Project SkyFire https://www.projectskyfire.org.
3
* See LICENSE.md file for Copyright information
4
*/
5
6
#ifndef SF_UPDATEDATA_H
7
#define SF_UPDATEDATA_H
8
9
#include "
ByteBuffer.h
"
10
#include <set>
11
12
class
WorldPacket
;
13
14
enum
OBJECT_UPDATE_TYPE
15
{
16
UPDATETYPE_VALUES
= 0,
17
UPDATETYPE_CREATE_OBJECT
= 1,
18
UPDATETYPE_CREATE_OBJECT2
= 2,
19
UPDATETYPE_OUT_OF_RANGE_OBJECTS
= 3,
20
};
21
22
enum
OBJECT_UPDATE_FLAGS
23
{
24
UPDATEFLAG_NONE
= 0x0000,
25
UPDATEFLAG_SELF
= 0x0001,
26
UPDATEFLAG_TRANSPORT
= 0x0002,
27
UPDATEFLAG_HAS_TARGET
= 0x0004,
28
UPDATEFLAG_UNKNOWN
= 0x0008,
29
UPDATEFLAG_LOWGUID
= 0x0010,
30
UPDATEFLAG_LIVING
= 0x0020,
31
UPDATEFLAG_STATIONARY_POSITION
= 0x0040,
32
UPDATEFLAG_VEHICLE
= 0x0080,
33
UPDATEFLAG_GO_TRANSPORT_POSITION
= 0x0100,
34
UPDATEFLAG_ROTATION
= 0x0200,
35
UPDATEFLAG_UNK3
= 0x0400,
36
UPDATEFLAG_ANIMKITS
= 0x0800,
37
UPDATEFLAG_UNK5
= 0x1000,
38
UPDATEFLAG_UNK6
= 0x2000,
39
};
40
41
class
UpdateData
42
{
43
public
:
44
UpdateData
(
uint16
map);
45
46
void
AddOutOfRangeGUID
(std::set<uint64>& guids);
47
void
AddOutOfRangeGUID
(
uint64
guid);
48
void
AddUpdateBlock
(
const
ByteBuffer
& block);
49
bool
BuildPacket
(
WorldPacket
* packet);
50
bool
HasData
()
const
{
return
m_blockCount
> 0 || !
m_outOfRangeGUIDs
.empty(); }
51
void
Clear
();
52
53
std::set<uint64>
const
&
GetOutOfRangeGUIDs
()
const
{
return
m_outOfRangeGUIDs
; }
54
55
protected
:
56
uint16
m_map
;
57
uint32
m_blockCount
;
58
std::set<uint64>
m_outOfRangeGUIDs
;
59
ByteBuffer
m_data
;
60
};
61
#endif
ByteBuffer.h
uint32
std::uint32_t uint32
Definition
Define.h:77
uint64
std::uint64_t uint64
Definition
Define.h:76
uint16
std::uint16_t uint16
Definition
Define.h:78
OBJECT_UPDATE_TYPE
OBJECT_UPDATE_TYPE
Definition
UpdateData.h:15
UPDATETYPE_VALUES
@ UPDATETYPE_VALUES
Definition
UpdateData.h:16
UPDATETYPE_CREATE_OBJECT
@ UPDATETYPE_CREATE_OBJECT
Definition
UpdateData.h:17
UPDATETYPE_OUT_OF_RANGE_OBJECTS
@ UPDATETYPE_OUT_OF_RANGE_OBJECTS
Definition
UpdateData.h:19
UPDATETYPE_CREATE_OBJECT2
@ UPDATETYPE_CREATE_OBJECT2
Definition
UpdateData.h:18
OBJECT_UPDATE_FLAGS
OBJECT_UPDATE_FLAGS
Definition
UpdateData.h:23
UPDATEFLAG_LIVING
@ UPDATEFLAG_LIVING
Definition
UpdateData.h:30
UPDATEFLAG_ROTATION
@ UPDATEFLAG_ROTATION
Definition
UpdateData.h:34
UPDATEFLAG_UNK5
@ UPDATEFLAG_UNK5
Definition
UpdateData.h:37
UPDATEFLAG_ANIMKITS
@ UPDATEFLAG_ANIMKITS
Definition
UpdateData.h:36
UPDATEFLAG_LOWGUID
@ UPDATEFLAG_LOWGUID
Definition
UpdateData.h:29
UPDATEFLAG_VEHICLE
@ UPDATEFLAG_VEHICLE
Definition
UpdateData.h:32
UPDATEFLAG_TRANSPORT
@ UPDATEFLAG_TRANSPORT
Definition
UpdateData.h:26
UPDATEFLAG_UNKNOWN
@ UPDATEFLAG_UNKNOWN
Definition
UpdateData.h:28
UPDATEFLAG_NONE
@ UPDATEFLAG_NONE
Definition
UpdateData.h:24
UPDATEFLAG_UNK6
@ UPDATEFLAG_UNK6
Definition
UpdateData.h:38
UPDATEFLAG_UNK3
@ UPDATEFLAG_UNK3
Definition
UpdateData.h:35
UPDATEFLAG_SELF
@ UPDATEFLAG_SELF
Definition
UpdateData.h:25
UPDATEFLAG_STATIONARY_POSITION
@ UPDATEFLAG_STATIONARY_POSITION
Definition
UpdateData.h:31
UPDATEFLAG_HAS_TARGET
@ UPDATEFLAG_HAS_TARGET
Definition
UpdateData.h:27
UPDATEFLAG_GO_TRANSPORT_POSITION
@ UPDATEFLAG_GO_TRANSPORT_POSITION
Definition
UpdateData.h:33
ByteBuffer
Definition
ByteBuffer.h:120
UpdateData::HasData
bool HasData() const
Definition
UpdateData.h:50
UpdateData::m_map
uint16 m_map
Definition
UpdateData.h:56
UpdateData::AddUpdateBlock
void AddUpdateBlock(const ByteBuffer &block)
Definition
UpdateData.cpp:27
UpdateData::m_blockCount
uint32 m_blockCount
Definition
UpdateData.h:57
UpdateData::AddOutOfRangeGUID
void AddOutOfRangeGUID(std::set< uint64 > &guids)
Definition
UpdateData.cpp:17
UpdateData::UpdateData
UpdateData(uint16 map)
Definition
UpdateData.cpp:15
UpdateData::BuildPacket
bool BuildPacket(WorldPacket *packet)
Definition
UpdateData.cpp:33
UpdateData::m_data
ByteBuffer m_data
Definition
UpdateData.h:59
UpdateData::m_outOfRangeGUIDs
std::set< uint64 > m_outOfRangeGUIDs
Definition
UpdateData.h:58
UpdateData::Clear
void Clear()
Definition
UpdateData.cpp:54
UpdateData::GetOutOfRangeGUIDs
std::set< uint64 > const & GetOutOfRangeGUIDs() const
Definition
UpdateData.h:53
WorldPacket
Definition
WorldPacket.h:16
src
server
game
Entities
Object
Updates
UpdateData.h
Generated on
for Project SkyFire Core by
1.17.0