From a7b55fb26fad9c66df091e0787afe89e021229f1 Mon Sep 17 00:00:00 2001
From: MW
Date: Tue, 12 Jun 2007 14:50:08 +0000
Subject: Some rearranging of folders in OpenSim.Region
---
.../World/Entities/Avatar/Avatar.Update.cs | 148 ++++++++++++++
.../OpenSim.Region/World/Entities/Avatar/Avatar.cs | 225 +++++++++++++++++++++
.../World/Entities/Avatar/AvatarAnimations.cs | 73 +++++++
3 files changed, 446 insertions(+)
create mode 100644 OpenSim/OpenSim.Region/World/Entities/Avatar/Avatar.Update.cs
create mode 100644 OpenSim/OpenSim.Region/World/Entities/Avatar/Avatar.cs
create mode 100644 OpenSim/OpenSim.Region/World/Entities/Avatar/AvatarAnimations.cs
(limited to 'OpenSim/OpenSim.Region/World/Entities/Avatar')
diff --git a/OpenSim/OpenSim.Region/World/Entities/Avatar/Avatar.Update.cs b/OpenSim/OpenSim.Region/World/Entities/Avatar/Avatar.Update.cs
new file mode 100644
index 0000000..d373fdb
--- /dev/null
+++ b/OpenSim/OpenSim.Region/World/Entities/Avatar/Avatar.Update.cs
@@ -0,0 +1,148 @@
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+using System;
+using System.Collections.Generic;
+using System.Text;
+using libsecondlife;
+using libsecondlife.Packets;
+using OpenSim.Physics.Manager;
+using OpenSim.Framework.Interfaces;
+
+namespace OpenSim.Region
+{
+ partial class Avatar
+ {
+ ///
+ ///
+ ///
+ public override void update()
+ {
+
+
+ }
+
+ ///
+ ///
+ ///
+ ///
+ public void SendUpdateToOtherClient(Avatar remoteAvatar)
+ {
+
+ }
+
+ ///
+ ///
+ ///
+ ///
+ public ObjectUpdatePacket CreateUpdatePacket()
+ {
+ return null;
+ }
+
+ ///
+ ///
+ ///
+ public void SendInitialPosition()
+ {
+ this.ControllingClient.SendAvatarData(m_regionInfo, this.firstname, this.lastname, this.uuid, this.localid, new LLVector3(128, 128, 60));
+ }
+
+ ///
+ ///
+ ///
+ public void SendOurAppearance()
+ {
+
+ }
+
+ ///
+ ///
+ ///
+ ///
+ public void SendOurAppearance(IClientAPI OurClient)
+ {
+ this.ControllingClient.SendWearables(this.Wearables);
+ }
+
+ ///
+ ///
+ ///
+ ///
+ public void SendAppearanceToOtherAgent(Avatar avatarInfo)
+ {
+
+ }
+
+ ///
+ ///
+ ///
+ ///
+ ///
+ public void SetAppearance(byte[] texture, AgentSetAppearancePacket.VisualParamBlock[] visualParam)
+ {
+
+ }
+
+ ///
+ ///
+ ///
+ public void StopMovement()
+ {
+
+ }
+
+ ///
+ /// Very likely to be deleted soon!
+ ///
+ ///
+ public ImprovedTerseObjectUpdatePacket.ObjectDataBlock CreateTerseBlock()
+ {
+ return null;
+ }
+
+ ///
+ ///
+ ///
+ ///
+ ///
+ public void SendAnimPack(LLUUID animID, int seq)
+ {
+
+
+ }
+
+ ///
+ ///
+ ///
+ public void SendAnimPack()
+ {
+
+ }
+
+ }
+}
diff --git a/OpenSim/OpenSim.Region/World/Entities/Avatar/Avatar.cs b/OpenSim/OpenSim.Region/World/Entities/Avatar/Avatar.cs
new file mode 100644
index 0000000..c88e0cc
--- /dev/null
+++ b/OpenSim/OpenSim.Region/World/Entities/Avatar/Avatar.cs
@@ -0,0 +1,225 @@
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Text;
+using libsecondlife;
+using libsecondlife.Packets;
+using OpenSim.Physics.Manager;
+using OpenSim.Framework.Inventory;
+using OpenSim.Framework.Interfaces;
+using OpenSim.Framework.Types;
+using Axiom.MathLib;
+
+namespace OpenSim.Region
+{
+ public partial class Avatar : Entity
+ {
+ public static bool PhysicsEngineFlying = false;
+ public static AvatarAnimations Animations;
+ public string firstname;
+ public string lastname;
+ public IClientAPI ControllingClient;
+ public LLUUID current_anim;
+ public int anim_seq;
+ private static libsecondlife.Packets.ObjectUpdatePacket.ObjectDataBlock AvatarTemplate;
+ private bool updateflag = false;
+ private byte movementflag = 0;
+ private List forcesList = new List();
+ private short _updateCount = 0;
+ private Axiom.MathLib.Quaternion bodyRot;
+ private LLObject.TextureEntry avatarAppearanceTexture = null;
+ private byte[] visualParams;
+ private AvatarWearable[] Wearables;
+ private LLVector3 positionLastFrame = new LLVector3(0, 0, 0);
+ private ulong m_regionHandle;
+ private Dictionary m_clientThreads;
+ private bool childAvatar = false;
+
+ protected RegionInfo m_regionInfo;
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public Avatar(IClientAPI theClient, World world, Dictionary clientThreads, RegionInfo reginfo)
+ {
+
+ m_world = world;
+ m_clientThreads = clientThreads;
+ this.uuid = theClient.AgentId;
+
+ m_regionInfo = reginfo;
+ OpenSim.Framework.Console.MainConsole.Instance.WriteLine(OpenSim.Framework.Console.LogPriority.LOW, "Avatar.cs - Loading details from grid (DUMMY)");
+ ControllingClient = theClient;
+ this.firstname = ControllingClient.FirstName;
+ this.lastname = ControllingClient.LastName;
+ localid = this.m_world.NextLocalId;
+ Pos = ControllingClient.StartPos;
+ visualParams = new byte[218];
+ for (int i = 0; i < 218; i++)
+ {
+ visualParams[i] = 100;
+ }
+
+ Wearables = AvatarWearable.DefaultWearables;
+
+ this.avatarAppearanceTexture = new LLObject.TextureEntry(new LLUUID("00000000-0000-0000-5005-000000000005"));
+
+ //register for events
+ ControllingClient.OnRequestWearables += new GenericCall(this.SendOurAppearance);
+ //ControllingClient.OnSetAppearance += new SetAppearance(this.SetAppearance);
+ ControllingClient.OnCompleteMovementToRegion += new GenericCall2(this.CompleteMovement);
+ ControllingClient.OnCompleteMovementToRegion += new GenericCall2(this.SendInitialPosition);
+ /* ControllingClient.OnAgentUpdate += new GenericCall3(this.HandleAgentUpdate);
+ ControllingClient.OnStartAnim += new StartAnim(this.SendAnimPack);
+ ControllingClient.OnChildAgentStatus += new StatusChange(this.ChildStatusChange);
+ ControllingClient.OnStopMovement += new GenericCall2(this.StopMovement);
+ */
+ }
+
+ ///
+ ///
+ ///
+ public PhysicsActor PhysActor
+ {
+ set
+ {
+ this._physActor = value;
+ }
+ get
+ {
+ return _physActor;
+ }
+ }
+
+ ///
+ ///
+ ///
+ ///
+ public void ChildStatusChange(bool status)
+ {
+
+ }
+
+ ///
+ ///
+ ///
+ public override void addForces()
+ {
+
+ }
+
+ ///
+ /// likely to removed very soon
+ ///
+ ///
+ public static void SetupTemplate(string name)
+ {
+
+ }
+
+ ///
+ /// likely to removed very soon
+ ///
+ ///
+ protected static void SetDefaultPacketValues(ObjectUpdatePacket.ObjectDataBlock objdata)
+ {
+
+
+
+ }
+
+ ///
+ ///
+ ///
+ public void CompleteMovement()
+ {
+ this.ControllingClient.MoveAgentIntoRegion(m_regionInfo);
+ }
+
+ ///
+ ///
+ ///
+ ///
+ public void HandleAgentUpdate(Packet pack)
+ {
+ this.HandleUpdate((AgentUpdatePacket)pack);
+ }
+
+ ///
+ ///
+ ///
+ ///
+ public void HandleUpdate(AgentUpdatePacket pack)
+ {
+
+ }
+
+ ///
+ ///
+ ///
+ public void SendRegionHandshake()
+ {
+
+ }
+
+ ///
+ ///
+ ///
+ public static void LoadAnims()
+ {
+
+ }
+
+ ///
+ ///
+ ///
+ public override void LandRenegerated()
+ {
+
+ }
+
+
+ public class NewForce
+ {
+ public float X;
+ public float Y;
+ public float Z;
+
+ public NewForce()
+ {
+
+ }
+ }
+ }
+
+}
diff --git a/OpenSim/OpenSim.Region/World/Entities/Avatar/AvatarAnimations.cs b/OpenSim/OpenSim.Region/World/Entities/Avatar/AvatarAnimations.cs
new file mode 100644
index 0000000..585cf3c
--- /dev/null
+++ b/OpenSim/OpenSim.Region/World/Entities/Avatar/AvatarAnimations.cs
@@ -0,0 +1,73 @@
+/*
+* Copyright (c) Contributors, http://www.openmetaverse.org/
+* See CONTRIBUTORS.TXT for a full list of copyright holders.
+*
+* Redistribution and use in source and binary forms, with or without
+* modification, are permitted provided that the following conditions are met:
+* * Redistributions of source code must retain the above copyright
+* notice, this list of conditions and the following disclaimer.
+* * Redistributions in binary form must reproduce the above copyright
+* notice, this list of conditions and the following disclaimer in the
+* documentation and/or other materials provided with the distribution.
+* * Neither the name of the OpenSim Project nor the
+* names of its contributors may be used to endorse or promote products
+* derived from this software without specific prior written permission.
+*
+* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS AND ANY
+* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
+* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+*
+*/
+using System;
+using System.Collections.Generic;
+using System.Text;
+using libsecondlife;
+using System.Xml;
+
+namespace OpenSim.Region
+{
+ public class AvatarAnimations
+ {
+
+ public Dictionary AnimsLLUUID = new Dictionary();
+ public Dictionary AnimsNames = new Dictionary();
+
+ public AvatarAnimations()
+ {
+ }
+
+ public void LoadAnims()
+ {
+ //OpenSim.Framework.Console.MainConsole.Instance.Verbose("Avatar.cs:LoadAnims() - Loading avatar animations");
+ XmlTextReader reader = new XmlTextReader("data/avataranimations.xml");
+
+ XmlDocument doc = new XmlDocument();
+ doc.Load(reader);
+ foreach (XmlNode nod in doc.DocumentElement.ChildNodes)
+ {
+
+ if ( nod.Attributes["name"] != null)
+ {
+ AnimsLLUUID.Add(nod.Attributes["name"].Value, nod.InnerText);
+ }
+
+ }
+
+ reader.Close();
+
+ // OpenSim.Framework.Console.MainConsole.Instance.Verbose("Loaded " + AnimsLLUUID.Count.ToString() + " animation(s)");
+
+ foreach (KeyValuePair kp in OpenSim.Region.Avatar.Animations.AnimsLLUUID)
+ {
+ AnimsNames.Add(kp.Value, kp.Key);
+ }
+ }
+ }
+}
--
cgit v1.1