From 4c3be4e91f25d9d89b5adadd1eea3cf0b0d5cfec Mon Sep 17 00:00:00 2001 From: MW Date: Mon, 27 Aug 2007 10:34:28 +0000 Subject: [PATCH] Another small tweak to image sending. Implemented a few ll Functions, llSetObjectName llGetObjectName, llLoadURL (all currently untested). --- OpenSim/Framework/Communications/Cache/AssetCache.cs | 3 ++- OpenSim/Region/Environment/Scenes/Scene.cs | 9 +++++++++ .../Region/Environment/Scenes/Scripting/IScriptHost.cs | 2 +- .../Environment/Scenes/Scripting/NullScriptHost.cs | 1 + .../Compiler/Server_API/LSL_BuiltIn_Commands.cs | 10 +++++++--- 5 files changed, 20 insertions(+), 5 deletions(-) diff --git a/OpenSim/Framework/Communications/Cache/AssetCache.cs b/OpenSim/Framework/Communications/Cache/AssetCache.cs index d06582ed49..322cd6ad28 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] < 1000) + if (TimesTextureSent[sender.request.RequestUser.AgentId][sender.request.ImageInfo.FullID] < 1200) { bool finished = sender.SendTexture(); if (finished) @@ -699,6 +699,7 @@ namespace OpenSim.Framework.Communications.Caches { SendPacket(); counter++; + if ((request.PacketCounter >= request.NumPackets) | counter > 100 | (request.NumPackets == 1)) { return true; diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs index dcc3e16347..49ba655518 100644 --- a/OpenSim/Region/Environment/Scenes/Scene.cs +++ b/OpenSim/Region/Environment/Scenes/Scene.cs @@ -1099,6 +1099,14 @@ namespace OpenSim.Region.Environment.Scenes #endregion + public void SendUrlToUser(LLUUID avatarID, string objectname, LLUUID objectID, LLUUID ownerID, bool groupOwned, string message, string url) + { + if (Avatars.ContainsKey(avatarID)) + { + Avatars[avatarID].ControllingClient.SendLoadURL(objectname, objectID, ownerID, groupOwned, message, url); + } + } + #region Alert Methods void SendPermissionAlert(LLUUID user, string reason) @@ -1106,6 +1114,7 @@ namespace OpenSim.Region.Environment.Scenes SendAlertToUser(user, reason, false); } + public void SendGeneralAlert(string message) { foreach (ScenePresence presence in this.Avatars.Values) diff --git a/OpenSim/Region/Environment/Scenes/Scripting/IScriptHost.cs b/OpenSim/Region/Environment/Scenes/Scripting/IScriptHost.cs index 5d5f6985d0..d2ca529df9 100644 --- a/OpenSim/Region/Environment/Scenes/Scripting/IScriptHost.cs +++ b/OpenSim/Region/Environment/Scenes/Scripting/IScriptHost.cs @@ -7,7 +7,7 @@ namespace OpenSim.Region.Environment.Scenes.Scripting { public interface IScriptHost { - string Name { get; } + string Name { get; set;} LLUUID UUID { 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 62c84a63ab..a9147fb153 100644 --- a/OpenSim/Region/Environment/Scenes/Scripting/NullScriptHost.cs +++ b/OpenSim/Region/Environment/Scenes/Scripting/NullScriptHost.cs @@ -12,6 +12,7 @@ namespace OpenSim.Region.Environment.Scenes.Scripting public string Name { get { return "Object"; } + set { } } public LLUUID UUID 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 0256f29c85..92024b6bd4 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 @@ -458,8 +458,8 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler public List llListInsertList(List dest, List src, int start) { return new List(); } public int llListFindList(List src, List test) { return 0; } - public string llGetObjectName() { return ""; } - public void llSetObjectName(string name) { } + public string llGetObjectName() { return m_host.Name; } + public void llSetObjectName(string name) { m_host.Name = name; } public string llGetDate() { @@ -584,7 +584,11 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine.Compiler public void llForceMouselook(int mouselook) { } public double llGetObjectMass(string id) { return 0; } public void llListReplaceList() { } - public void llLoadURL(string avatar_id, string message, string url) { } + 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); + } public void llParcelMediaCommandList(List commandList) { } public void llParcelMediaQuery() { }