From 6181191a037fd8481cff640405685d9a46ba89a3 Mon Sep 17 00:00:00 2001 From: MW Date: Mon, 27 Aug 2007 11:18:50 +0000 Subject: [PATCH] Stopped EntityBase from implementing IScriptHost, as don't think it should, multiple objects are based on entitybase and they all don't want the baggage from IScriptHost. SceneObjectPart already implements it anyway. Added llGetOwner function, and tested the ll functions that I added in last commit. --- OpenSim/Framework/Communications/Cache/AssetCache.cs | 2 +- OpenSim/Region/Environment/Scenes/EntityBase.cs | 2 +- OpenSim/Region/Environment/Scenes/SceneObjectPart.cs | 5 +++++ OpenSim/Region/Environment/Scenes/Scripting/IScriptHost.cs | 1 + .../Region/Environment/Scenes/Scripting/NullScriptHost.cs | 3 +++ .../DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands.cs | 4 ++-- 6 files changed, 13 insertions(+), 4 deletions(-) diff --git a/OpenSim/Framework/Communications/Cache/AssetCache.cs b/OpenSim/Framework/Communications/Cache/AssetCache.cs index 322cd6ad28..1b3bb1835f 100644 --- a/OpenSim/Framework/Communications/Cache/AssetCache.cs +++ b/OpenSim/Framework/Communications/Cache/AssetCache.cs @@ -230,7 +230,7 @@ namespace OpenSim.Framework.Communications.Caches UsersSent.Add(sender.request.ImageInfo.FullID, 1); } - if (TimesTextureSent[sender.request.RequestUser.AgentId][sender.request.ImageInfo.FullID] < 1200) + if (TimesTextureSent[sender.request.RequestUser.AgentId][sender.request.ImageInfo.FullID] < 1000) { bool finished = sender.SendTexture(); if (finished) diff --git a/OpenSim/Region/Environment/Scenes/EntityBase.cs b/OpenSim/Region/Environment/Scenes/EntityBase.cs index 6d933e60a1..a7b9d75dd1 100644 --- a/OpenSim/Region/Environment/Scenes/EntityBase.cs +++ b/OpenSim/Region/Environment/Scenes/EntityBase.cs @@ -5,7 +5,7 @@ using OpenSim.Region.Environment.Scenes.Scripting; namespace OpenSim.Region.Environment.Scenes { - public abstract class EntityBase : IScriptHost + public abstract class EntityBase { protected List m_children; diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs index b77da3a6b6..a621632611 100644 --- a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs +++ b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs @@ -201,6 +201,11 @@ namespace OpenSim.Region.Environment.Scenes } #endregion + public LLUUID ObjectOwner + { + get { return OwnerID; } + } + #region Constructors /// /// diff --git a/OpenSim/Region/Environment/Scenes/Scripting/IScriptHost.cs b/OpenSim/Region/Environment/Scenes/Scripting/IScriptHost.cs index d2ca529df9..e7d057018f 100644 --- a/OpenSim/Region/Environment/Scenes/Scripting/IScriptHost.cs +++ b/OpenSim/Region/Environment/Scenes/Scripting/IScriptHost.cs @@ -9,6 +9,7 @@ namespace OpenSim.Region.Environment.Scenes.Scripting { string Name { get; set;} LLUUID UUID { get; } + LLUUID ObjectOwner { get;} LLVector3 AbsolutePosition { get; } void SetText(string text, Axiom.Math.Vector3 color, double alpha); } diff --git a/OpenSim/Region/Environment/Scenes/Scripting/NullScriptHost.cs b/OpenSim/Region/Environment/Scenes/Scripting/NullScriptHost.cs index a9147fb153..a50b1426d7 100644 --- a/OpenSim/Region/Environment/Scenes/Scripting/NullScriptHost.cs +++ b/OpenSim/Region/Environment/Scenes/Scripting/NullScriptHost.cs @@ -20,6 +20,9 @@ namespace OpenSim.Region.Environment.Scenes.Scripting get { return LLUUID.Zero; } } + public LLUUID ObjectOwner + { get { return LLUUID.Zero; } } + public LLVector3 AbsolutePosition { get { return m_pos; } diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands.cs index 92024b6bd4..493a063410 100644 --- a/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands.cs +++ b/OpenSim/Region/ScriptEngine/DotNetEngine/Compiler/Server_API/LSL_BuiltIn_Commands.cs @@ -293,7 +293,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler public void llDetachFromAvatar() { } public void llTakeCamera() { } public void llReleaseCamera() { } - public string llGetOwner() { return ""; } + public string llGetOwner() { return m_host.ObjectOwner.ToStringHyphenated(); } public void llInstantMessage(string user, string message) { } public void llEmail(string address, string subject, string message) { } public void llGetNextEmail(string address, string subject) { } @@ -587,7 +587,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler public void llLoadURL(string avatar_id, string message, string url) { LLUUID avatarId = new LLUUID(avatar_id); - m_ScriptEngine.World.SendUrlToUser(avatarId, m_host.Name, m_host.UUID, LLUUID.Zero, false, message, url); + m_ScriptEngine.World.SendUrlToUser(avatarId, m_host.Name, m_host.UUID, m_host.ObjectOwner, false, message, url); } public void llParcelMediaCommandList(List commandList) { } public void llParcelMediaQuery() { }