aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
authorMelanie Thielker2008-11-17 05:57:58 +0000
committerMelanie Thielker2008-11-17 05:57:58 +0000
commit598316c89051e8e8d6633520da63a7d44fd80bbd (patch)
treeb1607d4a381225788bcc9b997af60e0969657e8a /OpenSim/Region
parentBack out the attachment location patch to debug a crash (diff)
downloadopensim-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.
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneObjectPart.cs15
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs6
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);