diff options
Diffstat (limited to 'OpenSim/Framework')
-rw-r--r-- | OpenSim/Framework/IClientAPI.cs | 27 |
1 files changed, 7 insertions, 20 deletions
diff --git a/OpenSim/Framework/IClientAPI.cs b/OpenSim/Framework/IClientAPI.cs index 252ee3e..307dbf3 100644 --- a/OpenSim/Framework/IClientAPI.cs +++ b/OpenSim/Framework/IClientAPI.cs | |||
@@ -587,7 +587,6 @@ namespace OpenSim.Framework | |||
587 | { | 587 | { |
588 | private ISceneEntity m_entity; | 588 | private ISceneEntity m_entity; |
589 | private PrimUpdateFlags m_flags; | 589 | private PrimUpdateFlags m_flags; |
590 | private int m_updateTime; | ||
591 | 590 | ||
592 | public ISceneEntity Entity | 591 | public ISceneEntity Entity |
593 | { | 592 | { |
@@ -599,41 +598,29 @@ namespace OpenSim.Framework | |||
599 | get { return m_flags; } | 598 | get { return m_flags; } |
600 | } | 599 | } |
601 | 600 | ||
602 | public int UpdateTime | 601 | public virtual void Update() |
603 | { | 602 | { |
604 | get { return m_updateTime; } | 603 | // we are on the new one |
604 | if (m_flags.HasFlag(PrimUpdateFlags.CancelKill)) | ||
605 | m_flags = PrimUpdateFlags.FullUpdatewithAnim; | ||
605 | } | 606 | } |
606 | 607 | ||
607 | public virtual void Update(EntityUpdate oldupdate) | 608 | public virtual void Update(EntityUpdate oldupdate) |
608 | { | 609 | { |
609 | // we are on the new one | 610 | // we are on the new one |
610 | PrimUpdateFlags updateFlags = oldupdate.Flags; | 611 | PrimUpdateFlags updateFlags = oldupdate.Flags; |
611 | if(m_flags.HasFlag(PrimUpdateFlags.CancelKill)) | 612 | if (m_flags.HasFlag(PrimUpdateFlags.CancelKill)) |
612 | { | 613 | { |
613 | m_flags = PrimUpdateFlags.FullUpdatewithAnim; | 614 | m_flags = PrimUpdateFlags.FullUpdatewithAnim; |
614 | } | 615 | } |
615 | else if(updateFlags.HasFlag(PrimUpdateFlags.Kill)) | 616 | else |
616 | return; | ||
617 | else // kill case will just merge in | ||
618 | m_flags |= updateFlags; | 617 | m_flags |= updateFlags; |
619 | |||
620 | // Use the older of the updates as the updateTime | ||
621 | if (Util.EnvironmentTickCountCompare(UpdateTime, oldupdate.UpdateTime) > 0) | ||
622 | m_updateTime = oldupdate.UpdateTime; | ||
623 | } | 618 | } |
624 | 619 | ||
625 | public EntityUpdate(ISceneEntity entity, PrimUpdateFlags flags) | 620 | public EntityUpdate(ISceneEntity entity, PrimUpdateFlags flags) |
626 | { | 621 | { |
627 | m_entity = entity; | 622 | m_entity = entity; |
628 | m_flags = flags; | 623 | m_flags = flags; |
629 | m_updateTime = Util.EnvironmentTickCount(); | ||
630 | } | ||
631 | |||
632 | public EntityUpdate(ISceneEntity entity, PrimUpdateFlags flags, Int32 updateTime) | ||
633 | { | ||
634 | m_entity = entity; | ||
635 | m_flags = flags; | ||
636 | m_updateTime = updateTime; | ||
637 | } | 624 | } |
638 | } | 625 | } |
639 | 626 | ||
@@ -694,7 +681,7 @@ namespace OpenSim.Framework | |||
694 | FullUpdatewithAnim = FullUpdate | Animations, | 681 | FullUpdatewithAnim = FullUpdate | Animations, |
695 | 682 | ||
696 | SendInTransit = 0x20000000, // 1 << 29 | 683 | SendInTransit = 0x20000000, // 1 << 29 |
697 | CancelKill = 0x41ffffff, // 1 << 30 | 684 | CancelKill = 0x40000000, // 1 << 30 |
698 | Kill = 0x80000000 // 1 << 31 | 685 | Kill = 0x80000000 // 1 << 31 |
699 | } | 686 | } |
700 | 687 | ||