diff options
author | UbitUmarov | 2017-04-01 17:49:17 +0100 |
---|---|---|
committer | UbitUmarov | 2017-04-01 17:49:17 +0100 |
commit | 443fc60cdf399a49832e787ca58c2644bef7e457 (patch) | |
tree | 103b547e95ced12fbc22109b82ac692f92068002 /OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | |
parent | add missing file. Changes of inertia data of objects running does not (diff) | |
download | opensim-SC-443fc60cdf399a49832e787ca58c2644bef7e457.zip opensim-SC-443fc60cdf399a49832e787ca58c2644bef7e457.tar.gz opensim-SC-443fc60cdf399a49832e787ca58c2644bef7e457.tar.bz2 opensim-SC-443fc60cdf399a49832e787ca58c2644bef7e457.tar.xz |
store the physics inertia override in Mysql and add it to serializer. run prebuild is required
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs index bf0e31b..46b7b86 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectPart.cs | |||
@@ -406,6 +406,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
406 | 406 | ||
407 | private SOPVehicle m_vehicleParams = null; | 407 | private SOPVehicle m_vehicleParams = null; |
408 | 408 | ||
409 | private PhysicsInertiaData m_physicsInertia; | ||
410 | |||
409 | public KeyframeMotion KeyframeMotion | 411 | public KeyframeMotion KeyframeMotion |
410 | { | 412 | { |
411 | get; set; | 413 | get; set; |
@@ -3548,6 +3550,18 @@ SendFullUpdateToClient(remoteClient, Position) ignores position parameter | |||
3548 | Force = force; | 3550 | Force = force; |
3549 | } | 3551 | } |
3550 | 3552 | ||
3553 | public PhysicsInertiaData PhysicsInertia | ||
3554 | { | ||
3555 | get | ||
3556 | { | ||
3557 | return m_physicsInertia; | ||
3558 | } | ||
3559 | set | ||
3560 | { | ||
3561 | m_physicsInertia = value; | ||
3562 | } | ||
3563 | } | ||
3564 | |||
3551 | public SOPVehicle VehicleParams | 3565 | public SOPVehicle VehicleParams |
3552 | { | 3566 | { |
3553 | get | 3567 | get |
@@ -4748,8 +4762,13 @@ SendFullUpdateToClient(remoteClient, Position) ignores position parameter | |||
4748 | 4762 | ||
4749 | if (VolumeDetectActive) // change if not the default only | 4763 | if (VolumeDetectActive) // change if not the default only |
4750 | pa.SetVolumeDetect(1); | 4764 | pa.SetVolumeDetect(1); |
4765 | |||
4766 | bool isroot = (m_localId == ParentGroup.RootPart.LocalId); | ||
4767 | |||
4768 | if(isroot && m_physicsInertia != null) | ||
4769 | pa.SetInertiaData(m_physicsInertia); | ||
4751 | 4770 | ||
4752 | if (m_vehicleParams != null && m_localId == ParentGroup.RootPart.LocalId) | 4771 | if (isroot && m_vehicleParams != null ) |
4753 | { | 4772 | { |
4754 | m_vehicleParams.SetVehicle(pa); | 4773 | m_vehicleParams.SetVehicle(pa); |
4755 | if(isPhysical && !isPhantom && m_vehicleParams.CameraDecoupled) | 4774 | if(isPhysical && !isPhantom && m_vehicleParams.CameraDecoupled) |