aboutsummaryrefslogtreecommitdiff
path: root/src/game/Object.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/Object.cpp')
-rw-r--r--src/game/Object.cpp22
1 files changed, 21 insertions, 1 deletions
diff --git a/src/game/Object.cpp b/src/game/Object.cpp
index 8727ab1d31f..3b976eb1d22 100644
--- a/src/game/Object.cpp
+++ b/src/game/Object.cpp
@@ -232,7 +232,13 @@ void Object::BuildCreateUpdateBlockForPlayer(UpdateData *data, Player *target) c
data->AddUpdateBlock(buf);
}
-void Object::SendCreateUpdateToPlayer(Player* player)
+void Object::BuildUpdate(UpdateDataMapType &update_players)
+{
+ ObjectAccessor::_buildUpdateObject(this,update_players);
+ ClearUpdateMask(true);
+}
+
+void Object::SendUpdateToPlayer(Player* player)
{
// send create update to player
UpdateData upd;
@@ -714,6 +720,20 @@ void Object::ClearUpdateMask(bool remove)
}
}
+// Send current value fields changes to all viewers
+void Object::SendUpdateObjectToAllExcept(Player* exceptPlayer)
+{
+ // changes will be send in create packet
+ if(!IsInWorld())
+ return;
+
+ // nothing do
+ if(!m_objectUpdated)
+ return;
+
+ ObjectAccessor::UpdateObject(this,exceptPlayer);
+}
+
bool Object::LoadValues(const char* data)
{
if(!m_uint32Values) _InitValues();