diff options
Diffstat (limited to 'OpenSim/Region/Physics/OdePlugin/ODEPrim.cs')
-rw-r--r-- | OpenSim/Region/Physics/OdePlugin/ODEPrim.cs | 58 |
1 files changed, 32 insertions, 26 deletions
diff --git a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs index 8a8a5fb..3adf773 100644 --- a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs +++ b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs | |||
@@ -696,45 +696,51 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
696 | public void ProcessTaints(float timestep) | 696 | public void ProcessTaints(float timestep) |
697 | { | 697 | { |
698 | 698 | ||
699 | 699 | ||
700 | if (m_taintadd) | 700 | if (m_taintadd) |
701 | { | 701 | { |
702 | changeadd(timestep); | 702 | changeadd(timestep); |
703 | } | 703 | } |
704 | if (prim_geom != (IntPtr)0) | ||
705 | { | ||
706 | if (m_taintposition != _position) | ||
707 | Move(timestep); | ||
704 | 708 | ||
705 | if (m_taintposition != _position) | 709 | if (m_taintrot != _orientation) |
706 | Move(timestep); | 710 | rotate(timestep); |
707 | 711 | // | |
708 | if (m_taintrot != _orientation) | ||
709 | rotate(timestep); | ||
710 | // | ||
711 | 712 | ||
712 | if (m_taintPhysics != m_isphysical) | 713 | if (m_taintPhysics != m_isphysical) |
713 | changePhysicsStatus(timestep); | 714 | changePhysicsStatus(timestep); |
714 | // | 715 | // |
715 | 716 | ||
716 | if (m_taintsize != _size) | 717 | if (m_taintsize != _size) |
717 | changesize(timestep); | 718 | changesize(timestep); |
718 | // | 719 | // |
719 | 720 | ||
720 | if (m_taintshape) | 721 | if (m_taintshape) |
721 | changeshape(timestep); | 722 | changeshape(timestep); |
722 | // | 723 | // |
723 | 724 | ||
724 | if (m_taintforce) | 725 | if (m_taintforce) |
725 | changeAddForce(timestep); | 726 | changeAddForce(timestep); |
726 | 727 | ||
727 | if (m_taintdisable) | 728 | if (m_taintdisable) |
728 | changedisable(timestep); | 729 | changedisable(timestep); |
729 | 730 | ||
730 | if (m_taintselected != m_isSelected) | 731 | if (m_taintselected != m_isSelected) |
731 | changeSelectedStatus(timestep); | 732 | changeSelectedStatus(timestep); |
732 | 733 | ||
733 | if (m_taintVelocity != PhysicsVector.Zero) | 734 | if (m_taintVelocity != PhysicsVector.Zero) |
734 | changevelocity(timestep); | 735 | changevelocity(timestep); |
735 | 736 | ||
736 | if (m_taintparent != _parent) | 737 | if (m_taintparent != _parent) |
737 | changelink(timestep); | 738 | changelink(timestep); |
739 | } | ||
740 | else | ||
741 | { | ||
742 | m_log.Error("[PHYISCS]: The scene reused a disposed PhysActor! *waves finger*, Don't be evil."); | ||
743 | } | ||
738 | } | 744 | } |
739 | 745 | ||
740 | private void changelink(float timestep) | 746 | private void changelink(float timestep) |