diff options
author | Melanie Thielker | 2008-11-17 05:57:58 +0000 |
---|---|---|
committer | Melanie Thielker | 2008-11-17 05:57:58 +0000 |
commit | 598316c89051e8e8d6633520da63a7d44fd80bbd (patch) | |
tree | b1607d4a381225788bcc9b997af60e0969657e8a | |
parent | Back out the attachment location patch to debug a crash (diff) | |
download | opensim-SC-598316c89051e8e8d6633520da63a7d44fd80bbd.zip opensim-SC-598316c89051e8e8d6633520da63a7d44fd80bbd.tar.gz opensim-SC-598316c89051e8e8d6633520da63a7d44fd80bbd.tar.bz2 opensim-SC-598316c89051e8e8d6633520da63a7d44fd80bbd.tar.xz |
Make object chat come from the root prim's center, rather than trying to make
it come from a child prim position.
-rw-r--r-- | OpenSim/Region/Environment/Scenes/SceneObjectPart.cs | 15 | ||||
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 6 |
2 files changed, 9 insertions, 12 deletions
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs index 4148f9b..a02840c 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs | |||
@@ -424,17 +424,14 @@ namespace OpenSim.Region.Environment.Scenes | |||
424 | m_groupPosition.Y = PhysActor.Position.Y; | 424 | m_groupPosition.Y = PhysActor.Position.Y; |
425 | m_groupPosition.Z = PhysActor.Position.Z; | 425 | m_groupPosition.Z = PhysActor.Position.Z; |
426 | } | 426 | } |
427 | |||
427 | if (IsAttachment) | 428 | if (IsAttachment) |
428 | { | 429 | { |
429 | // if (m_parentGroup != null && m_parentGroup.RootPart != null) | 430 | ScenePresence sp = m_parentGroup.Scene.GetScenePresence(AttachedAvatar); |
430 | // { | 431 | if (sp != null) |
431 | // ScenePresence sp = m_parentGroup.Scene.GetScenePresence(m_parentGroup.RootPart.AttachedAvatar); | 432 | { |
432 | ScenePresence sp = m_parentGroup.Scene.GetScenePresence(AttachedAvatar); | 433 | return sp.AbsolutePosition; |
433 | if (sp != null) | 434 | } |
434 | { | ||
435 | return sp.AbsolutePosition; | ||
436 | } | ||
437 | // } | ||
438 | } | 435 | } |
439 | 436 | ||
440 | return m_groupPosition; | 437 | return m_groupPosition; |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 2408a5e..b189ffd 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |||
@@ -672,7 +672,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
672 | text = text.Substring(0, 1023); | 672 | text = text.Substring(0, 1023); |
673 | 673 | ||
674 | World.SimChat(Utils.StringToBytes(text), | 674 | World.SimChat(Utils.StringToBytes(text), |
675 | ChatTypeEnum.Whisper, channelID, m_host.AbsolutePosition, m_host.Name, m_host.UUID, false); | 675 | ChatTypeEnum.Whisper, channelID, m_host.ParentGroup.RootPart.AbsolutePosition, m_host.Name, m_host.UUID, false); |
676 | 676 | ||
677 | IWorldComm wComm = m_ScriptEngine.World.RequestModuleInterface<IWorldComm>(); | 677 | IWorldComm wComm = m_ScriptEngine.World.RequestModuleInterface<IWorldComm>(); |
678 | wComm.DeliverMessage(ChatTypeEnum.Whisper, channelID, m_host.Name, m_host.UUID, text); | 678 | wComm.DeliverMessage(ChatTypeEnum.Whisper, channelID, m_host.Name, m_host.UUID, text); |
@@ -686,7 +686,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
686 | text = text.Substring(0, 1023); | 686 | text = text.Substring(0, 1023); |
687 | 687 | ||
688 | World.SimChat(Utils.StringToBytes(text), | 688 | World.SimChat(Utils.StringToBytes(text), |
689 | ChatTypeEnum.Say, channelID, m_host.AbsolutePosition, m_host.Name, m_host.UUID, false); | 689 | ChatTypeEnum.Say, channelID, m_host.ParentGroup.RootPart.AbsolutePosition, m_host.Name, m_host.UUID, false); |
690 | 690 | ||
691 | IWorldComm wComm = m_ScriptEngine.World.RequestModuleInterface<IWorldComm>(); | 691 | IWorldComm wComm = m_ScriptEngine.World.RequestModuleInterface<IWorldComm>(); |
692 | wComm.DeliverMessage(ChatTypeEnum.Say, channelID, m_host.Name, m_host.UUID, text); | 692 | wComm.DeliverMessage(ChatTypeEnum.Say, channelID, m_host.Name, m_host.UUID, text); |
@@ -700,7 +700,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
700 | text = text.Substring(0, 1023); | 700 | text = text.Substring(0, 1023); |
701 | 701 | ||
702 | World.SimChat(Utils.StringToBytes(text), | 702 | World.SimChat(Utils.StringToBytes(text), |
703 | ChatTypeEnum.Shout, channelID, m_host.AbsolutePosition, m_host.Name, m_host.UUID, true); | 703 | ChatTypeEnum.Shout, channelID, m_host.ParentGroup.RootPart.AbsolutePosition, m_host.Name, m_host.UUID, true); |
704 | 704 | ||
705 | IWorldComm wComm = m_ScriptEngine.World.RequestModuleInterface<IWorldComm>(); | 705 | IWorldComm wComm = m_ScriptEngine.World.RequestModuleInterface<IWorldComm>(); |
706 | wComm.DeliverMessage(ChatTypeEnum.Shout, channelID, m_host.Name, m_host.UUID, text); | 706 | wComm.DeliverMessage(ChatTypeEnum.Shout, channelID, m_host.Name, m_host.UUID, text); |