From b7fc172254794a23cba4cb1313c6951f55ed4b2a Mon Sep 17 00:00:00 2001
From: lbsa71
Date: Tue, 8 Jul 2008 14:17:59 +0000
Subject: * Added experimental SendParcelMediaCommand and SendParcelMediaUpdate
 to IClientAPI. These methods have not been tested, but feel free to start
 wiring them to llParcelMediaCommandList.

---
 .../Region/ClientStack/LindenUDP/LLClientView.cs   | 32 ++++++++++++++++++++++
 .../Environment/Modules/World/NPC/NPCAvatar.cs     | 12 +++++++-
 .../Region/Examples/SimpleModule/MyNpcCharacter.cs | 11 ++++++++
 3 files changed, 54 insertions(+), 1 deletion(-)

(limited to 'OpenSim/Region')

diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
index 7f21fc6..afae760 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs
@@ -6594,5 +6594,37 @@ namespace OpenSim.Region.ClientStack.LindenUDP
 
             m_sequence = info.sequence;
         }
+
+        #region Media Parcel Members
+
+        public void SendParcelMediaCommand(ParcelMediaCommandEnum flags, uint command, float time)
+        {
+            ParcelMediaCommandMessagePacket commandMessagePacket = new ParcelMediaCommandMessagePacket();
+            commandMessagePacket.CommandBlock.Flags = (uint) flags;
+            commandMessagePacket.CommandBlock.Command = command;
+            commandMessagePacket.CommandBlock.Time = time;
+
+            OutPacket(commandMessagePacket, ThrottleOutPacketType.Unknown);
+        }
+
+        public void SendParcelMediaUpdate(string mediaUrl, LLUUID mediaTextureID,
+                                   byte autoScale, string mediaType, string mediaDesc, int mediaWidth, int mediaHeight,
+                                   byte mediaLoop)
+        {
+            ParcelMediaUpdatePacket updatePacket = new ParcelMediaUpdatePacket();
+            updatePacket.DataBlock.MediaURL = Helpers.StringToField(mediaUrl);
+            updatePacket.DataBlock.MediaID = mediaTextureID;
+            updatePacket.DataBlock.MediaAutoScale = autoScale;
+
+            updatePacket.DataBlockExtended.MediaType = Helpers.StringToField(mediaType);
+            updatePacket.DataBlockExtended.MediaDesc = Helpers.StringToField(mediaDesc);
+            updatePacket.DataBlockExtended.MediaWidth = mediaWidth;
+            updatePacket.DataBlockExtended.MediaWidth = mediaHeight;
+            updatePacket.DataBlockExtended.MediaLoop = mediaLoop;
+
+            OutPacket(updatePacket, ThrottleOutPacketType.Unknown);
+        }
+
+        #endregion
     }
 }
diff --git a/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs b/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs
index 4fc43d3..e3aa169 100644
--- a/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs
+++ b/OpenSim/Region/Environment/Modules/World/NPC/NPCAvatar.cs
@@ -795,5 +795,15 @@ namespace OpenSim.Region.Environment.Modules.World.NPC
         }
         #endregion
 
-     }
+
+        public void SendParcelMediaCommand(ParcelMediaCommandEnum flags, uint command, float time)
+        {           
+        }
+
+        public void SendParcelMediaUpdate(string mediaUrl, LLUUID mediaTextureID,
+                                   byte autoScale, string mediaType, string mediaDesc, int mediaWidth, int mediaHeight,
+                                   byte mediaLoop)
+        {  
+        }
+    }
 }
diff --git a/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs b/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs
index a626f63..0542c58 100644
--- a/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs
+++ b/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs
@@ -771,6 +771,17 @@ namespace OpenSim.Region.Examples.SimpleModule
         {
         }
 
+        public void SendParcelMediaCommand(ParcelMediaCommandEnum flags, uint command, float time)
+        {
+
+        }
+
+        public void SendParcelMediaUpdate(string mediaUrl, LLUUID mediaTextureID, byte autoScale, string mediaType,
+                                          string mediaDesc, int mediaWidth, int mediaHeight, byte mediaLoop)
+        {
+
+        }
+
         public void SendGroupNameReply(LLUUID groupLLUID, string GroupName)
         {
         }
-- 
cgit v1.1