diff options
Diffstat (limited to 'OpenSim/Region/ClientStack/Linden/UDP')
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | 29 |
1 files changed, 25 insertions, 4 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index 18af623..23beaec 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | |||
@@ -7006,10 +7006,31 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
7006 | // 46,47,48 are special positions within the packet | 7006 | // 46,47,48 are special positions within the packet |
7007 | // This may change so perhaps we need a better way | 7007 | // This may change so perhaps we need a better way |
7008 | // of storing this (OMV.FlagUpdatePacket.UsePhysics,etc?) | 7008 | // of storing this (OMV.FlagUpdatePacket.UsePhysics,etc?) |
7009 | bool UsePhysics = (data[46] != 0) ? true : false; | 7009 | /* |
7010 | bool IsTemporary = (data[47] != 0) ? true : false; | 7010 | bool UsePhysics = (data[46] != 0) ? true : false; |
7011 | bool IsPhantom = (data[48] != 0) ? true : false; | 7011 | bool IsTemporary = (data[47] != 0) ? true : false; |
7012 | handlerUpdatePrimFlags(flags.AgentData.ObjectLocalID, UsePhysics, IsTemporary, IsPhantom, this); | 7012 | bool IsPhantom = (data[48] != 0) ? true : false; |
7013 | handlerUpdatePrimFlags(flags.AgentData.ObjectLocalID, UsePhysics, IsTemporary, IsPhantom, this); | ||
7014 | */ | ||
7015 | bool UsePhysics = flags.AgentData.UsePhysics; | ||
7016 | bool IsPhantom = flags.AgentData.IsPhantom; | ||
7017 | bool IsTemporary = flags.AgentData.IsTemporary; | ||
7018 | ObjectFlagUpdatePacket.ExtraPhysicsBlock[] blocks = flags.ExtraPhysics; | ||
7019 | ExtraPhysicsData physdata = new ExtraPhysicsData(); | ||
7020 | |||
7021 | if (blocks == null || blocks.Length == 0) | ||
7022 | { | ||
7023 | physdata.PhysShapeType = PhysShapeType.invalid; | ||
7024 | } | ||
7025 | else | ||
7026 | { | ||
7027 | ObjectFlagUpdatePacket.ExtraPhysicsBlock phsblock = blocks[0]; | ||
7028 | physdata.PhysShapeType = (PhysShapeType)phsblock.PhysicsShapeType; | ||
7029 | physdata.Bounce = phsblock.Restitution; | ||
7030 | physdata.Density = phsblock.Density; | ||
7031 | physdata.Friction = phsblock.Friction; | ||
7032 | } | ||
7033 | handlerUpdatePrimFlags(flags.AgentData.ObjectLocalID, UsePhysics, IsTemporary, IsPhantom, physdata, this); | ||
7013 | } | 7034 | } |
7014 | return true; | 7035 | return true; |
7015 | } | 7036 | } |