From 94c39c793aba7d0ef1159c91a3ee598b18514240 Mon Sep 17 00:00:00 2001
From: Jeff Ames
Date: Fri, 14 Mar 2008 00:41:09 +0000
Subject: Update svn properties.

---
 .../Region/Examples/SimpleModule/ComplexObject.cs  |  272 ++---
 .../Examples/SimpleModule/CpuCounterObject.cs      |  136 +--
 .../Examples/SimpleModule/FileSystemObject.cs      |  104 +-
 .../Region/Examples/SimpleModule/MyNpcCharacter.cs | 1108 ++++++++++----------
 .../SimpleModule/Properties/AssemblyInfo.cs        |   72 +-
 OpenSim/Region/Examples/SimpleModule/README.txt    |   18 +-
 .../Region/Examples/SimpleModule/RegionModule.cs   |  228 ++--
 7 files changed, 969 insertions(+), 969 deletions(-)

diff --git a/OpenSim/Region/Examples/SimpleModule/ComplexObject.cs b/OpenSim/Region/Examples/SimpleModule/ComplexObject.cs
index 42f517c..9941304 100644
--- a/OpenSim/Region/Examples/SimpleModule/ComplexObject.cs
+++ b/OpenSim/Region/Examples/SimpleModule/ComplexObject.cs
@@ -1,137 +1,137 @@
-/*
-* Copyright (c) Contributors, http://opensimulator.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 libsecondlife;
-using OpenSim.Framework;
-using OpenSim.Region.Environment.Scenes;
-
-namespace OpenSim.Region.Examples.SimpleModule
-{
-    public class ComplexObject : SceneObjectGroup
-    {
-        private readonly LLQuaternion m_rotationDirection;
-
-        protected override bool InSceneBackup
-        {
-            get
-            {
-                return false;
-            }
-        }
-
-        private class RotatingWheel : SceneObjectPart
-        {
-            private readonly LLQuaternion m_rotationDirection;
-
-            public RotatingWheel()
-            {
-
-            }
-
-            public RotatingWheel(ulong regionHandle, SceneObjectGroup parent, LLUUID ownerID, uint localID,
-                                 LLVector3 groupPosition, LLVector3 offsetPosition, LLQuaternion rotationDirection)
-                : base(
-                    regionHandle, parent, ownerID, localID, PrimitiveBaseShape.Default, groupPosition, offsetPosition
-                    )
-            {
-                m_rotationDirection = rotationDirection;
-
-                Flags |= LLObject.ObjectFlags.Touch;
-            }
-
-            public override void UpdateMovement()
-            {
-                UpdateRotation(RotationOffset*m_rotationDirection);
-            }
-        }
-
-        public override void UpdateMovement()
-        {
-            UpdateGroupRotation(GroupRotation*m_rotationDirection);
-
-            base.UpdateMovement();
-        }
-
-        public ComplexObject()
-        {
-            
-        }
-
-        public ComplexObject(Scene scene, ulong regionHandle, LLUUID ownerID, uint localID, LLVector3 pos)
-            : base(scene, regionHandle, ownerID, localID, pos, PrimitiveBaseShape.Default)
-        {
-            m_rotationDirection = new LLQuaternion(0.05f, 0.1f, 0.15f);
-
-            AddPart(
-                new RotatingWheel(regionHandle, this, ownerID, scene.PrimIDAllocate(), pos, new LLVector3(0, 0, 0.75f),
-                                  new LLQuaternion(0.05f, 0, 0)));
-            AddPart(
-                new RotatingWheel(regionHandle, this, ownerID, scene.PrimIDAllocate(), pos, new LLVector3(0, 0, -0.75f),
-                                  new LLQuaternion(-0.05f, 0, 0)));
-
-            AddPart(
-                new RotatingWheel(regionHandle, this, ownerID, scene.PrimIDAllocate(), pos, new LLVector3(0, 0.75f, 0),
-                                  new LLQuaternion(0.5f, 0, 0.05f)));
-            AddPart(
-                new RotatingWheel(regionHandle, this, ownerID, scene.PrimIDAllocate(), pos, new LLVector3(0, -0.75f, 0),
-                                  new LLQuaternion(-0.5f, 0, -0.05f)));
-
-            AddPart(
-                new RotatingWheel(regionHandle, this, ownerID, scene.PrimIDAllocate(), pos, new LLVector3(0.75f, 0, 0),
-                                  new LLQuaternion(0, 0.5f, 0.05f)));
-            AddPart(
-                new RotatingWheel(regionHandle, this, ownerID, scene.PrimIDAllocate(), pos, new LLVector3(-0.75f, 0, 0),
-                                  new LLQuaternion(0, -0.5f, -0.05f)));
-
-            RootPart.Flags |= LLObject.ObjectFlags.Touch;
-
-            UpdateParentIDs();
-        }
-
-        public override void OnGrabPart(SceneObjectPart part, LLVector3 offsetPos, IClientAPI remoteClient)
-        {
-            m_parts.Remove(part.UUID);
-
-            remoteClient.SendKillObject(m_regionHandle, part.LocalId);
-            remoteClient.AddMoney(1);
-            remoteClient.SendChatMessage("Poof!", 1, AbsolutePosition, "Party Party", LLUUID.Zero);
-        }
-
-        public override void OnGrabGroup(LLVector3 offsetPos, IClientAPI remoteClient)
-        {
-            if (m_parts.Count == 1)
-            {
-                m_parts.Remove(m_rootPart.UUID);
-                m_scene.RemoveEntity(this);
-                remoteClient.SendKillObject(m_regionHandle, m_rootPart.LocalId);
-                remoteClient.AddMoney(50);
-                remoteClient.SendChatMessage("KABLAM!!!", 1, AbsolutePosition, "Groupie Groupie", LLUUID.Zero);
-            }
-        }
-    }
+/*
+* Copyright (c) Contributors, http://opensimulator.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 libsecondlife;
+using OpenSim.Framework;
+using OpenSim.Region.Environment.Scenes;
+
+namespace OpenSim.Region.Examples.SimpleModule
+{
+    public class ComplexObject : SceneObjectGroup
+    {
+        private readonly LLQuaternion m_rotationDirection;
+
+        protected override bool InSceneBackup
+        {
+            get
+            {
+                return false;
+            }
+        }
+
+        private class RotatingWheel : SceneObjectPart
+        {
+            private readonly LLQuaternion m_rotationDirection;
+
+            public RotatingWheel()
+            {
+
+            }
+
+            public RotatingWheel(ulong regionHandle, SceneObjectGroup parent, LLUUID ownerID, uint localID,
+                                 LLVector3 groupPosition, LLVector3 offsetPosition, LLQuaternion rotationDirection)
+                : base(
+                    regionHandle, parent, ownerID, localID, PrimitiveBaseShape.Default, groupPosition, offsetPosition
+                    )
+            {
+                m_rotationDirection = rotationDirection;
+
+                Flags |= LLObject.ObjectFlags.Touch;
+            }
+
+            public override void UpdateMovement()
+            {
+                UpdateRotation(RotationOffset*m_rotationDirection);
+            }
+        }
+
+        public override void UpdateMovement()
+        {
+            UpdateGroupRotation(GroupRotation*m_rotationDirection);
+
+            base.UpdateMovement();
+        }
+
+        public ComplexObject()
+        {
+            
+        }
+
+        public ComplexObject(Scene scene, ulong regionHandle, LLUUID ownerID, uint localID, LLVector3 pos)
+            : base(scene, regionHandle, ownerID, localID, pos, PrimitiveBaseShape.Default)
+        {
+            m_rotationDirection = new LLQuaternion(0.05f, 0.1f, 0.15f);
+
+            AddPart(
+                new RotatingWheel(regionHandle, this, ownerID, scene.PrimIDAllocate(), pos, new LLVector3(0, 0, 0.75f),
+                                  new LLQuaternion(0.05f, 0, 0)));
+            AddPart(
+                new RotatingWheel(regionHandle, this, ownerID, scene.PrimIDAllocate(), pos, new LLVector3(0, 0, -0.75f),
+                                  new LLQuaternion(-0.05f, 0, 0)));
+
+            AddPart(
+                new RotatingWheel(regionHandle, this, ownerID, scene.PrimIDAllocate(), pos, new LLVector3(0, 0.75f, 0),
+                                  new LLQuaternion(0.5f, 0, 0.05f)));
+            AddPart(
+                new RotatingWheel(regionHandle, this, ownerID, scene.PrimIDAllocate(), pos, new LLVector3(0, -0.75f, 0),
+                                  new LLQuaternion(-0.5f, 0, -0.05f)));
+
+            AddPart(
+                new RotatingWheel(regionHandle, this, ownerID, scene.PrimIDAllocate(), pos, new LLVector3(0.75f, 0, 0),
+                                  new LLQuaternion(0, 0.5f, 0.05f)));
+            AddPart(
+                new RotatingWheel(regionHandle, this, ownerID, scene.PrimIDAllocate(), pos, new LLVector3(-0.75f, 0, 0),
+                                  new LLQuaternion(0, -0.5f, -0.05f)));
+
+            RootPart.Flags |= LLObject.ObjectFlags.Touch;
+
+            UpdateParentIDs();
+        }
+
+        public override void OnGrabPart(SceneObjectPart part, LLVector3 offsetPos, IClientAPI remoteClient)
+        {
+            m_parts.Remove(part.UUID);
+
+            remoteClient.SendKillObject(m_regionHandle, part.LocalId);
+            remoteClient.AddMoney(1);
+            remoteClient.SendChatMessage("Poof!", 1, AbsolutePosition, "Party Party", LLUUID.Zero);
+        }
+
+        public override void OnGrabGroup(LLVector3 offsetPos, IClientAPI remoteClient)
+        {
+            if (m_parts.Count == 1)
+            {
+                m_parts.Remove(m_rootPart.UUID);
+                m_scene.RemoveEntity(this);
+                remoteClient.SendKillObject(m_regionHandle, m_rootPart.LocalId);
+                remoteClient.AddMoney(50);
+                remoteClient.SendChatMessage("KABLAM!!!", 1, AbsolutePosition, "Groupie Groupie", LLUUID.Zero);
+            }
+        }
+    }
 }
\ No newline at end of file
diff --git a/OpenSim/Region/Examples/SimpleModule/CpuCounterObject.cs b/OpenSim/Region/Examples/SimpleModule/CpuCounterObject.cs
index 75f289b..184c1b7 100644
--- a/OpenSim/Region/Examples/SimpleModule/CpuCounterObject.cs
+++ b/OpenSim/Region/Examples/SimpleModule/CpuCounterObject.cs
@@ -1,69 +1,69 @@
-/*
-* Copyright (c) Contributors, http://opensimulator.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.Diagnostics;
-using libsecondlife;
-using OpenSim.Framework;
-using OpenSim.Region.Environment.Scenes;
-
-namespace OpenSim.Region.Examples.SimpleModule
-{
-    public class CpuCounterObject : SceneObjectGroup
-    {
-        protected override bool InSceneBackup
-        {
-            get
-            {
-                return false;
-            }
-        }
-
-        private PerformanceCounter m_counter;
-
-        public CpuCounterObject(Scene world, ulong regionHandle, LLUUID ownerID, uint localID, LLVector3 pos)
-            : base(world, regionHandle, ownerID, localID, pos, PrimitiveBaseShape.Default)
-        {
-            String objectName = "Processor";
-            String counterName = "% Processor Time";
-            String instanceName = "_Total";
-
-            m_counter = new PerformanceCounter(objectName, counterName, instanceName);
-        }
-
-        public override void UpdateMovement()
-        {
-            float cpu = m_counter.NextValue()/40f;
-            LLVector3 size = new LLVector3(cpu, cpu, cpu);
-            
-            RootPart.Resize( size );
-
-            base.UpdateMovement();
-        }
-    }
+/*
+* Copyright (c) Contributors, http://opensimulator.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.Diagnostics;
+using libsecondlife;
+using OpenSim.Framework;
+using OpenSim.Region.Environment.Scenes;
+
+namespace OpenSim.Region.Examples.SimpleModule
+{
+    public class CpuCounterObject : SceneObjectGroup
+    {
+        protected override bool InSceneBackup
+        {
+            get
+            {
+                return false;
+            }
+        }
+
+        private PerformanceCounter m_counter;
+
+        public CpuCounterObject(Scene world, ulong regionHandle, LLUUID ownerID, uint localID, LLVector3 pos)
+            : base(world, regionHandle, ownerID, localID, pos, PrimitiveBaseShape.Default)
+        {
+            String objectName = "Processor";
+            String counterName = "% Processor Time";
+            String instanceName = "_Total";
+
+            m_counter = new PerformanceCounter(objectName, counterName, instanceName);
+        }
+
+        public override void UpdateMovement()
+        {
+            float cpu = m_counter.NextValue()/40f;
+            LLVector3 size = new LLVector3(cpu, cpu, cpu);
+            
+            RootPart.Resize( size );
+
+            base.UpdateMovement();
+        }
+    }
 }
\ No newline at end of file
diff --git a/OpenSim/Region/Examples/SimpleModule/FileSystemObject.cs b/OpenSim/Region/Examples/SimpleModule/FileSystemObject.cs
index 6e06c63..84e8fa5 100644
--- a/OpenSim/Region/Examples/SimpleModule/FileSystemObject.cs
+++ b/OpenSim/Region/Examples/SimpleModule/FileSystemObject.cs
@@ -1,53 +1,53 @@
-/*
-* Copyright (c) Contributors, http://opensimulator.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.IO;
-using libsecondlife;
-using OpenSim.Framework;
-using OpenSim.Region.Environment.Scenes;
-
-namespace OpenSim.Region.Examples.SimpleModule
-{
-    public class FileSystemObject : SceneObjectGroup
-    {
-        public FileSystemObject(Scene world, FileInfo fileInfo, LLVector3 pos)
-            : base(world, world.RegionInfo.RegionHandle, LLUUID.Zero, world.NextLocalId, pos, PrimitiveBaseShape.Default)
-        {
-            Text = fileInfo.Name;
-            ScheduleGroupForFullUpdate();
-        }
-
-        protected override bool InSceneBackup
-        {
-            get
-            {
-                return false;
-            }
-        }
-    }
+/*
+* Copyright (c) Contributors, http://opensimulator.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.IO;
+using libsecondlife;
+using OpenSim.Framework;
+using OpenSim.Region.Environment.Scenes;
+
+namespace OpenSim.Region.Examples.SimpleModule
+{
+    public class FileSystemObject : SceneObjectGroup
+    {
+        public FileSystemObject(Scene world, FileInfo fileInfo, LLVector3 pos)
+            : base(world, world.RegionInfo.RegionHandle, LLUUID.Zero, world.NextLocalId, pos, PrimitiveBaseShape.Default)
+        {
+            Text = fileInfo.Name;
+            ScheduleGroupForFullUpdate();
+        }
+
+        protected override bool InSceneBackup
+        {
+            get
+            {
+                return false;
+            }
+        }
+    }
 }
\ No newline at end of file
diff --git a/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs b/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs
index 38d999b..d0241f8 100644
--- a/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs
+++ b/OpenSim/Region/Examples/SimpleModule/MyNpcCharacter.cs
@@ -1,555 +1,555 @@
-/*
-* Copyright (c) Contributors, http://opensimulator.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.Net;
-using libsecondlife;
-using libsecondlife.Packets;
-using OpenSim.Framework;
-using OpenSim.Region.Environment.Scenes;
-
-namespace OpenSim.Region.Examples.SimpleModule
-{
-    public class MyNpcCharacter : IClientAPI
-    {
-        private uint movementFlag = 0;
-        private short flyState = 0;
-        private LLQuaternion bodyDirection = LLQuaternion.Identity;
-        private short count = 0;
-
-#pragma warning disable 67
-
-        public event Action<IClientAPI> OnLogout;
-        public event ObjectPermissions OnObjectPermissions;
-
-        public event MoneyTransferRequest OnMoneyTransferRequest;
-        public event Action<IClientAPI> OnConnectionClosed;
-
-        public event ImprovedInstantMessage OnInstantMessage;
-        public event ChatFromViewer OnChatFromViewer;
-        public event TextureRequest OnRequestTexture;
-        public event RezObject OnRezObject;
-        public event ModifyTerrain OnModifyTerrain;
-        public event SetAppearance OnSetAppearance;
-        public event AvatarNowWearing OnAvatarNowWearing;
-        public event RezSingleAttachmentFromInv OnRezSingleAttachmentFromInv;
-        public event ObjectAttach OnObjectAttach;
-        public event StartAnim OnStartAnim;
-        public event StopAnim OnStopAnim;
-        public event LinkObjects OnLinkObjects;
-        public event DelinkObjects OnDelinkObjects;
-        public event RequestMapBlocks OnRequestMapBlocks;
-        public event RequestMapName OnMapNameRequest;
-        public event TeleportLocationRequest OnTeleportLocationRequest;
-        public event DisconnectUser OnDisconnectUser;
-        public event RequestAvatarProperties OnRequestAvatarProperties;
-        public event SetAlwaysRun OnSetAlwaysRun;
-
-        public event GenericCall4 OnDeRezObject;
-        public event Action<IClientAPI> OnRegionHandShakeReply;
-        public event GenericCall2 OnRequestWearables;
-        public event GenericCall2 OnCompleteMovementToRegion;
-        public event UpdateAgent OnAgentUpdate;
-        public event AgentRequestSit OnAgentRequestSit;
-        public event AgentSit OnAgentSit;
-        public event AvatarPickerRequest OnAvatarPickerRequest;
-        public event Action<IClientAPI> OnRequestAvatarsData;
-        public event AddNewPrim OnAddPrim;
-        public event RequestGodlikePowers OnRequestGodlikePowers;
-        public event GodKickUser OnGodKickUser;
-        public event ObjectDuplicate OnObjectDuplicate;
-        public event UpdateVector OnGrabObject;
-        public event ObjectSelect OnDeGrabObject;
-        public event MoveObject OnGrabUpdate;
-        public event ViewerEffectEventHandler OnViewerEffect;
-
-        public event FetchInventory OnAgentDataUpdateRequest;
-        public event FetchInventory OnUserInfoRequest;
-        public event TeleportLocationRequest OnSetStartLocationRequest;
-
-        public event UpdateShape OnUpdatePrimShape;
-        public event ObjectExtraParams OnUpdateExtraParams;
-        public event RequestObjectPropertiesFamily OnRequestObjectPropertiesFamily;
-        public event ObjectSelect OnObjectSelect;
-        public event GenericCall7 OnObjectDescription;
-        public event GenericCall7 OnObjectName;
-        public event UpdatePrimFlags OnUpdatePrimFlags;
-        public event UpdatePrimTexture OnUpdatePrimTexture;
-        public event UpdateVector OnUpdatePrimGroupPosition;
-        public event UpdateVector OnUpdatePrimSinglePosition;
-        public event UpdatePrimRotation OnUpdatePrimGroupRotation;
-        public event UpdatePrimSingleRotation OnUpdatePrimSingleRotation;
-        public event UpdatePrimGroupRotation OnUpdatePrimGroupMouseRotation;
-        public event UpdateVector OnUpdatePrimScale;
-        public event StatusChange OnChildAgentStatus;
-        public event GenericCall2 OnStopMovement;
-        public event Action<LLUUID> OnRemoveAvatar;
-
-        public event CreateNewInventoryItem OnCreateNewInventoryItem;
-        public event CreateInventoryFolder OnCreateNewInventoryFolder;
-        public event UpdateInventoryFolder OnUpdateInventoryFolder;
-        public event MoveInventoryFolder OnMoveInventoryFolder;
-        public event RemoveInventoryFolder OnRemoveInventoryFolder;
-        public event RemoveInventoryItem OnRemoveInventoryItem;
-        public event FetchInventoryDescendents OnFetchInventoryDescendents;
-        public event PurgeInventoryDescendents OnPurgeInventoryDescendents;
-        public event FetchInventory OnFetchInventory;
-        public event RequestTaskInventory OnRequestTaskInventory;
-        public event UpdateInventoryItem OnUpdateInventoryItem;
-        public event CopyInventoryItem OnCopyInventoryItem;
-        public event MoveInventoryItem OnMoveInventoryItem;
-        public event UDPAssetUploadRequest OnAssetUploadRequest;
-        public event XferReceive OnXferReceive;
-        public event RequestXfer OnRequestXfer;
-        public event ConfirmXfer OnConfirmXfer;
-        public event RezScript OnRezScript;
-        public event UpdateTaskInventory OnUpdateTaskInventory;
-        public event RemoveTaskInventory OnRemoveTaskItem;
-        public event RequestAsset OnRequestAsset;
-
-        public event UUIDNameRequest OnNameFromUUIDRequest;
-
-        public event ParcelPropertiesRequest OnParcelPropertiesRequest;
-        public event ParcelDivideRequest OnParcelDivideRequest;
-        public event ParcelJoinRequest OnParcelJoinRequest;
-        public event ParcelPropertiesUpdateRequest OnParcelPropertiesUpdateRequest;
-
-        public event ParcelAccessListRequest OnParcelAccessListRequest;
-        public event ParcelAccessListUpdateRequest OnParcelAccessListUpdateRequest;
-        public event ParcelSelectObjects OnParcelSelectObjects;
-        public event ParcelObjectOwnerRequest OnParcelObjectOwnerRequest;
-        public event ObjectDeselect OnObjectDeselect;
-        public event EstateOwnerMessageRequest OnEstateOwnerMessage;
-        public event RegionInfoRequest OnRegionInfoRequest;
-        public event EstateCovenantRequest OnEstateCovenantRequest;
-
-        public event FriendActionDelegate OnApproveFriendRequest;
-        public event FriendActionDelegate OnDenyFriendRequest;
-        public event FriendshipTermination OnTerminateFriendship;
-        public event PacketStats OnPacketStats;
-        public event MoneyBalanceRequest OnMoneyBalanceRequest;
-        public event UpdateAvatarProperties OnUpdateAvatarProperties;
-
-
-#pragma warning restore 67
-
-        private LLUUID myID = LLUUID.Random();
-
-        public MyNpcCharacter(EventManager eventManager)
-        {
-            // startPos = new LLVector3(128, (float)(Util.RandomClass.NextDouble()*100), 2);
-            eventManager.OnFrame += Update;
-        }
-
-        private LLVector3 startPos = new LLVector3(128, 128, 2);
-
-        public virtual LLVector3 StartPos
-        {
-            get { return startPos; }
-            set { }
-        }
-
-        public virtual LLUUID AgentId
-        {
-            get { return myID; }
-        }
-
-        public LLUUID SessionId
-        {
-            get { return LLUUID.Zero; }
-        }
-
-        public LLUUID SecureSessionId
-        {
-            get { return LLUUID.Zero; }
-        }
-
-        public virtual string FirstName
-        {
-            get { return "Annoying"; }
-        }
-
-        private string lastName = "NPC" + Util.RandomClass.Next(1, 1000);
-
-        public virtual string LastName
-        {
-            get { return lastName; }
-        }
-
-        public virtual String Name
-        {
-            get { return FirstName + LastName; }
-        }
-
-
-        public virtual void OutPacket(Packet newPack, ThrottleOutPacketType packType)
-        {
-        }
-
-        public virtual void SendWearables(AvatarWearable[] wearables, int serial)
-        {
-        }
-
-        public virtual void SendAppearance(LLUUID agentID, byte[] visualParams, byte[] textureEntry)
-        {
-        }
-
-        public virtual void Kick(string message)
-        {
-        }
-
-        public virtual void SendStartPingCheck(byte seq)
-        {
-        }
-
-        public virtual void SendAvatarPickerReply(AvatarPickerReplyPacket response)
-        {
-        }
-
-        public virtual void SendAgentDataUpdate(LLUUID agentid, LLUUID activegroupid, string firstname, string lastname, ulong grouppowers, string groupname, string grouptitle)
-        {
-
-        }
-
-        public virtual void SendKillObject(ulong regionHandle, uint localID)
-        {
-        }
-
-        public virtual void SetChildAgentThrottle(byte[] throttle)
-        {
-        }
-        public byte[] GetThrottlesPacked(float multiplier)
-        {
-            return new byte[0];
-        }
-
-        
-        public virtual void SendAnimations(LLUUID[] animations, int[] seqs, LLUUID sourceAgentId)
-        {
-        }
-
-        public virtual void SendChatMessage(string message, byte type, LLVector3 fromPos, string fromName,
-                                            LLUUID fromAgentID)
-        {
-        }
-
-        public virtual void SendChatMessage(byte[] message, byte type, LLVector3 fromPos, string fromName,
-                                            LLUUID fromAgentID)
-        {
-        }
-
-        public virtual void SendInstantMessage(LLUUID fromAgent, LLUUID fromAgentSession, string message, LLUUID toAgent,
-                                               LLUUID imSessionID, string fromName, byte dialog, uint timeStamp)
-        {
-        }
-
-        public virtual void SendLayerData(float[] map)
-        {
-        }
-
-        public virtual void SendLayerData(int px, int py, float[] map)
-        {
-        }
-
-        public virtual void MoveAgentIntoRegion(RegionInfo regInfo, LLVector3 pos, LLVector3 look)
-        {
-        }
-
-        public virtual void InformClientOfNeighbour(ulong neighbourHandle, IPEndPoint neighbourExternalEndPoint)
-        {
-        }
-
-        public virtual AgentCircuitData RequestClientInfo()
-        {
-            return new AgentCircuitData();
-        }
-
-        public virtual void CrossRegion(ulong newRegionHandle, LLVector3 pos, LLVector3 lookAt,
-                                        IPEndPoint newRegionExternalEndPoint, string capsURL)
-        {
-        }
-
-        public virtual void SendMapBlock(List<MapBlockData> mapBlocks)
-        {
-        }
-
-        public virtual void SendLocalTeleport(LLVector3 position, LLVector3 lookAt, uint flags)
-        {
-        }
-
-        public virtual void SendRegionTeleport(ulong regionHandle, byte simAccess, IPEndPoint regionExternalEndPoint,
-                                               uint locationID, uint flags, string capsURL)
-        {
-        }
-
-        public virtual void SendTeleportFailed(string reason)
-        {
-        }
-
-        public virtual void SendTeleportLocationStart()
-        {
-        }
-
-        public virtual void SendMoneyBalance(LLUUID transaction, bool success, byte[] description, int balance)
-        {
-        }
-
-        public virtual void SendAvatarData(ulong regionHandle, string firstName, string lastName, LLUUID avatarID,
-                                           uint avatarLocalID, LLVector3 Pos, byte[] textureEntry, uint parentID)
-        {
-        }
-
-        public virtual void SendAvatarTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID,
-                                                  LLVector3 position, LLVector3 velocity, LLQuaternion rotation)
-        {
-        }
-
-        public virtual void SendCoarseLocationUpdate(List<LLVector3> CoarseLocations)
-        {
-        }
-
-        public virtual void AttachObject(uint localID, LLQuaternion rotation, byte attachPoint)
-        {
-        }
-
-        public virtual void SendDialog(string objectname, LLUUID objectID, LLUUID ownerID, string msg, LLUUID textureID, int ch, string[] buttonlabels)
-        {
-        }
-
-        public virtual void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID,
-                                                  PrimitiveBaseShape primShape, LLVector3 pos, uint flags,
-                                                  LLUUID objectID, LLUUID ownerID, string text, byte[] color,
-                                                  uint parentID,
-                                                  byte[] particleSystem, LLQuaternion rotation, byte clickAction)
-        {
-        }
-        public virtual void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID,
-                                                  PrimitiveBaseShape primShape, LLVector3 pos, uint flags,
-                                                  LLUUID objectID, LLUUID ownerID, string text, byte[] color,
-                                                  uint parentID,
-                                                  byte[] particleSystem, LLQuaternion rotation, byte clickAction, byte[] textureanimation)
-        {
-        }
-        public virtual void SendPrimTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID,
-                                                LLVector3 position, LLQuaternion rotation, byte state)
-        {
-        }
-
-        public virtual void SendPrimTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID,
-                                                LLVector3 position, LLQuaternion rotation, LLVector3 velocity,
-                                                LLVector3 rotationalvelocity)
-        {
-        }
-
-        public virtual void SendInventoryFolderDetails(LLUUID ownerID, LLUUID folderID,
-                                                       List<InventoryItemBase> items,
-                                                       List<InventoryFolderBase> folders,
-                                                       bool fetchFolders,
-                                                       bool fetchItems)
-        {
-        }
-
-        public virtual void SendInventoryItemDetails(LLUUID ownerID, InventoryItemBase item)
-        {
-        }
-
-        public virtual void SendInventoryItemCreateUpdate(InventoryItemBase Item)
-        {
-        }
-
-        public virtual void SendRemoveInventoryItem(LLUUID itemID)
-        {
-        }
-
-        public virtual void SendTaskInventory(LLUUID taskID, short serial, byte[] fileName)
-        {
-        }
-
-        public virtual void SendXferPacket(ulong xferID, uint packet, byte[] data)
-        {
-        }
-
-        public virtual void SendNameReply(LLUUID profileId, string firstname, string lastname)
-        {
-        }
-
-        public virtual void SendPreLoadSound(LLUUID objectID, LLUUID ownerID, LLUUID soundID)
-        {
-        }
-
-        public virtual void SendPlayAttachedSound(LLUUID soundID, LLUUID objectID, LLUUID ownerID, float gain,
-                                                  byte flags)
-        {
-        }
-
-        public void SendTriggeredSound(LLUUID soundID, LLUUID ownerID, LLUUID objectID, LLUUID parentID, ulong handle, LLVector3 position, float gain)
-        {
-        }
-
-        public void SendAlertMessage(string message)
-        {
-        }
-
-        public void SendAgentAlertMessage(string message, bool modal)
-        {
-        }
-
-        public void SendSystemAlertMessage(string message)
-        {
-        }
-
-        public void SendLoadURL(string objectname, LLUUID objectID, LLUUID ownerID, bool groupOwned, string message,
-                                string url)
-        {
-        }
-
-        public virtual void SendRegionHandshake(RegionInfo regionInfo)
-        {
-            if (OnRegionHandShakeReply != null)
-            {
-                OnRegionHandShakeReply(this);
-            }
-
-            if (OnCompleteMovementToRegion != null)
-            {
-                OnCompleteMovementToRegion();
-            }
-        }
-
-        private void Update()
-        {
-            if (OnAgentUpdate != null)
-            {
-                AgentUpdatePacket pack = new AgentUpdatePacket();
-                pack.AgentData.ControlFlags = movementFlag;
-                pack.AgentData.BodyRotation = bodyDirection;
-                OnAgentUpdate(this, pack);
-            }
-            if (flyState == 0)
-            {
-                movementFlag = (uint) AgentManager.ControlFlags.AGENT_CONTROL_FLY |
-                               (uint) AgentManager.ControlFlags.AGENT_CONTROL_UP_NEG;
-                flyState = 1;
-            }
-            else if (flyState == 1)
-            {
-                movementFlag = (uint) AgentManager.ControlFlags.AGENT_CONTROL_FLY |
-                               (uint) AgentManager.ControlFlags.AGENT_CONTROL_UP_POS;
-                flyState = 2;
-            }
-            else
-            {
-                movementFlag = (uint) AgentManager.ControlFlags.AGENT_CONTROL_FLY;
-                flyState = 0;
-            }
-
-            if (count >= 200)
-            {
-                if (OnChatFromViewer != null)
-                {
-                    ChatFromViewerArgs args = new ChatFromViewerArgs();
-                    args.Message = "Kinda quiet around here, isn't it?";
-                    args.Channel = 0;
-                    args.From = FirstName + " " + LastName;
-                    args.Position = new LLVector3(128, 128, 26);
-                    args.Sender = this;
-                    args.Type = ChatTypeEnum.Shout;
-
-                    OnChatFromViewer(this, args);
-                }
-                count = -1;
-            }
-
-            count++;
-        }
-
-        public bool AddMoney(int debit)
-        {
-            return false;
-        }
-
-        public void SendSunPos(LLVector3 sunPos, LLVector3 sunVel)
-        {
-        }
-
-        public void SendViewerTime(int phase)
-        {
-        }
-
-        public void SendAvatarProperties(LLUUID avatarID, string aboutText, string bornOn, string charterMember,
-                                         string flAbout, uint flags, LLUUID flImageID, LLUUID imageID, string profileURL,
-                                         LLUUID partnerID)
-        {
-        }
-
-        public void SetDebug(int newDebug)
-        {
-        }
-
-        public void InPacket(Packet NewPack)
-        {
-        }
-
-        public void Close(bool ShutdownCircuit)
-        {
-        }
-
-        public void Stop()
-        {
-        }
-
-        private uint m_circuitCode;
-
-        public uint CircuitCode
-        {
-            get { return m_circuitCode; }
-            set { m_circuitCode = value; }
-        }
-        public void SendBlueBoxMessage(LLUUID FromAvatarID, LLUUID fromSessionID, String FromAvatarName, String Message)
-        {
-
-        }
-        public void SendLogoutPacket()
-        {
-        }
-
-        public void Terminate()
-        {
-        }
-
-        public ClientInfo GetClientInfo()
-        {
-            return null;
-        }
-
-        public void SetClientInfo(ClientInfo info)
-        {
-        }
-    }
+/*
+* Copyright (c) Contributors, http://opensimulator.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.Net;
+using libsecondlife;
+using libsecondlife.Packets;
+using OpenSim.Framework;
+using OpenSim.Region.Environment.Scenes;
+
+namespace OpenSim.Region.Examples.SimpleModule
+{
+    public class MyNpcCharacter : IClientAPI
+    {
+        private uint movementFlag = 0;
+        private short flyState = 0;
+        private LLQuaternion bodyDirection = LLQuaternion.Identity;
+        private short count = 0;
+
+#pragma warning disable 67
+
+        public event Action<IClientAPI> OnLogout;
+        public event ObjectPermissions OnObjectPermissions;
+
+        public event MoneyTransferRequest OnMoneyTransferRequest;
+        public event Action<IClientAPI> OnConnectionClosed;
+
+        public event ImprovedInstantMessage OnInstantMessage;
+        public event ChatFromViewer OnChatFromViewer;
+        public event TextureRequest OnRequestTexture;
+        public event RezObject OnRezObject;
+        public event ModifyTerrain OnModifyTerrain;
+        public event SetAppearance OnSetAppearance;
+        public event AvatarNowWearing OnAvatarNowWearing;
+        public event RezSingleAttachmentFromInv OnRezSingleAttachmentFromInv;
+        public event ObjectAttach OnObjectAttach;
+        public event StartAnim OnStartAnim;
+        public event StopAnim OnStopAnim;
+        public event LinkObjects OnLinkObjects;
+        public event DelinkObjects OnDelinkObjects;
+        public event RequestMapBlocks OnRequestMapBlocks;
+        public event RequestMapName OnMapNameRequest;
+        public event TeleportLocationRequest OnTeleportLocationRequest;
+        public event DisconnectUser OnDisconnectUser;
+        public event RequestAvatarProperties OnRequestAvatarProperties;
+        public event SetAlwaysRun OnSetAlwaysRun;
+
+        public event GenericCall4 OnDeRezObject;
+        public event Action<IClientAPI> OnRegionHandShakeReply;
+        public event GenericCall2 OnRequestWearables;
+        public event GenericCall2 OnCompleteMovementToRegion;
+        public event UpdateAgent OnAgentUpdate;
+        public event AgentRequestSit OnAgentRequestSit;
+        public event AgentSit OnAgentSit;
+        public event AvatarPickerRequest OnAvatarPickerRequest;
+        public event Action<IClientAPI> OnRequestAvatarsData;
+        public event AddNewPrim OnAddPrim;
+        public event RequestGodlikePowers OnRequestGodlikePowers;
+        public event GodKickUser OnGodKickUser;
+        public event ObjectDuplicate OnObjectDuplicate;
+        public event UpdateVector OnGrabObject;
+        public event ObjectSelect OnDeGrabObject;
+        public event MoveObject OnGrabUpdate;
+        public event ViewerEffectEventHandler OnViewerEffect;
+
+        public event FetchInventory OnAgentDataUpdateRequest;
+        public event FetchInventory OnUserInfoRequest;
+        public event TeleportLocationRequest OnSetStartLocationRequest;
+
+        public event UpdateShape OnUpdatePrimShape;
+        public event ObjectExtraParams OnUpdateExtraParams;
+        public event RequestObjectPropertiesFamily OnRequestObjectPropertiesFamily;
+        public event ObjectSelect OnObjectSelect;
+        public event GenericCall7 OnObjectDescription;
+        public event GenericCall7 OnObjectName;
+        public event UpdatePrimFlags OnUpdatePrimFlags;
+        public event UpdatePrimTexture OnUpdatePrimTexture;
+        public event UpdateVector OnUpdatePrimGroupPosition;
+        public event UpdateVector OnUpdatePrimSinglePosition;
+        public event UpdatePrimRotation OnUpdatePrimGroupRotation;
+        public event UpdatePrimSingleRotation OnUpdatePrimSingleRotation;
+        public event UpdatePrimGroupRotation OnUpdatePrimGroupMouseRotation;
+        public event UpdateVector OnUpdatePrimScale;
+        public event StatusChange OnChildAgentStatus;
+        public event GenericCall2 OnStopMovement;
+        public event Action<LLUUID> OnRemoveAvatar;
+
+        public event CreateNewInventoryItem OnCreateNewInventoryItem;
+        public event CreateInventoryFolder OnCreateNewInventoryFolder;
+        public event UpdateInventoryFolder OnUpdateInventoryFolder;
+        public event MoveInventoryFolder OnMoveInventoryFolder;
+        public event RemoveInventoryFolder OnRemoveInventoryFolder;
+        public event RemoveInventoryItem OnRemoveInventoryItem;
+        public event FetchInventoryDescendents OnFetchInventoryDescendents;
+        public event PurgeInventoryDescendents OnPurgeInventoryDescendents;
+        public event FetchInventory OnFetchInventory;
+        public event RequestTaskInventory OnRequestTaskInventory;
+        public event UpdateInventoryItem OnUpdateInventoryItem;
+        public event CopyInventoryItem OnCopyInventoryItem;
+        public event MoveInventoryItem OnMoveInventoryItem;
+        public event UDPAssetUploadRequest OnAssetUploadRequest;
+        public event XferReceive OnXferReceive;
+        public event RequestXfer OnRequestXfer;
+        public event ConfirmXfer OnConfirmXfer;
+        public event RezScript OnRezScript;
+        public event UpdateTaskInventory OnUpdateTaskInventory;
+        public event RemoveTaskInventory OnRemoveTaskItem;
+        public event RequestAsset OnRequestAsset;
+
+        public event UUIDNameRequest OnNameFromUUIDRequest;
+
+        public event ParcelPropertiesRequest OnParcelPropertiesRequest;
+        public event ParcelDivideRequest OnParcelDivideRequest;
+        public event ParcelJoinRequest OnParcelJoinRequest;
+        public event ParcelPropertiesUpdateRequest OnParcelPropertiesUpdateRequest;
+
+        public event ParcelAccessListRequest OnParcelAccessListRequest;
+        public event ParcelAccessListUpdateRequest OnParcelAccessListUpdateRequest;
+        public event ParcelSelectObjects OnParcelSelectObjects;
+        public event ParcelObjectOwnerRequest OnParcelObjectOwnerRequest;
+        public event ObjectDeselect OnObjectDeselect;
+        public event EstateOwnerMessageRequest OnEstateOwnerMessage;
+        public event RegionInfoRequest OnRegionInfoRequest;
+        public event EstateCovenantRequest OnEstateCovenantRequest;
+
+        public event FriendActionDelegate OnApproveFriendRequest;
+        public event FriendActionDelegate OnDenyFriendRequest;
+        public event FriendshipTermination OnTerminateFriendship;
+        public event PacketStats OnPacketStats;
+        public event MoneyBalanceRequest OnMoneyBalanceRequest;
+        public event UpdateAvatarProperties OnUpdateAvatarProperties;
+
+
+#pragma warning restore 67
+
+        private LLUUID myID = LLUUID.Random();
+
+        public MyNpcCharacter(EventManager eventManager)
+        {
+            // startPos = new LLVector3(128, (float)(Util.RandomClass.NextDouble()*100), 2);
+            eventManager.OnFrame += Update;
+        }
+
+        private LLVector3 startPos = new LLVector3(128, 128, 2);
+
+        public virtual LLVector3 StartPos
+        {
+            get { return startPos; }
+            set { }
+        }
+
+        public virtual LLUUID AgentId
+        {
+            get { return myID; }
+        }
+
+        public LLUUID SessionId
+        {
+            get { return LLUUID.Zero; }
+        }
+
+        public LLUUID SecureSessionId
+        {
+            get { return LLUUID.Zero; }
+        }
+
+        public virtual string FirstName
+        {
+            get { return "Annoying"; }
+        }
+
+        private string lastName = "NPC" + Util.RandomClass.Next(1, 1000);
+
+        public virtual string LastName
+        {
+            get { return lastName; }
+        }
+
+        public virtual String Name
+        {
+            get { return FirstName + LastName; }
+        }
+
+
+        public virtual void OutPacket(Packet newPack, ThrottleOutPacketType packType)
+        {
+        }
+
+        public virtual void SendWearables(AvatarWearable[] wearables, int serial)
+        {
+        }
+
+        public virtual void SendAppearance(LLUUID agentID, byte[] visualParams, byte[] textureEntry)
+        {
+        }
+
+        public virtual void Kick(string message)
+        {
+        }
+
+        public virtual void SendStartPingCheck(byte seq)
+        {
+        }
+
+        public virtual void SendAvatarPickerReply(AvatarPickerReplyPacket response)
+        {
+        }
+
+        public virtual void SendAgentDataUpdate(LLUUID agentid, LLUUID activegroupid, string firstname, string lastname, ulong grouppowers, string groupname, string grouptitle)
+        {
+
+        }
+
+        public virtual void SendKillObject(ulong regionHandle, uint localID)
+        {
+        }
+
+        public virtual void SetChildAgentThrottle(byte[] throttle)
+        {
+        }
+        public byte[] GetThrottlesPacked(float multiplier)
+        {
+            return new byte[0];
+        }
+
+        
+        public virtual void SendAnimations(LLUUID[] animations, int[] seqs, LLUUID sourceAgentId)
+        {
+        }
+
+        public virtual void SendChatMessage(string message, byte type, LLVector3 fromPos, string fromName,
+                                            LLUUID fromAgentID)
+        {
+        }
+
+        public virtual void SendChatMessage(byte[] message, byte type, LLVector3 fromPos, string fromName,
+                                            LLUUID fromAgentID)
+        {
+        }
+
+        public virtual void SendInstantMessage(LLUUID fromAgent, LLUUID fromAgentSession, string message, LLUUID toAgent,
+                                               LLUUID imSessionID, string fromName, byte dialog, uint timeStamp)
+        {
+        }
+
+        public virtual void SendLayerData(float[] map)
+        {
+        }
+
+        public virtual void SendLayerData(int px, int py, float[] map)
+        {
+        }
+
+        public virtual void MoveAgentIntoRegion(RegionInfo regInfo, LLVector3 pos, LLVector3 look)
+        {
+        }
+
+        public virtual void InformClientOfNeighbour(ulong neighbourHandle, IPEndPoint neighbourExternalEndPoint)
+        {
+        }
+
+        public virtual AgentCircuitData RequestClientInfo()
+        {
+            return new AgentCircuitData();
+        }
+
+        public virtual void CrossRegion(ulong newRegionHandle, LLVector3 pos, LLVector3 lookAt,
+                                        IPEndPoint newRegionExternalEndPoint, string capsURL)
+        {
+        }
+
+        public virtual void SendMapBlock(List<MapBlockData> mapBlocks)
+        {
+        }
+
+        public virtual void SendLocalTeleport(LLVector3 position, LLVector3 lookAt, uint flags)
+        {
+        }
+
+        public virtual void SendRegionTeleport(ulong regionHandle, byte simAccess, IPEndPoint regionExternalEndPoint,
+                                               uint locationID, uint flags, string capsURL)
+        {
+        }
+
+        public virtual void SendTeleportFailed(string reason)
+        {
+        }
+
+        public virtual void SendTeleportLocationStart()
+        {
+        }
+
+        public virtual void SendMoneyBalance(LLUUID transaction, bool success, byte[] description, int balance)
+        {
+        }
+
+        public virtual void SendAvatarData(ulong regionHandle, string firstName, string lastName, LLUUID avatarID,
+                                           uint avatarLocalID, LLVector3 Pos, byte[] textureEntry, uint parentID)
+        {
+        }
+
+        public virtual void SendAvatarTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID,
+                                                  LLVector3 position, LLVector3 velocity, LLQuaternion rotation)
+        {
+        }
+
+        public virtual void SendCoarseLocationUpdate(List<LLVector3> CoarseLocations)
+        {
+        }
+
+        public virtual void AttachObject(uint localID, LLQuaternion rotation, byte attachPoint)
+        {
+        }
+
+        public virtual void SendDialog(string objectname, LLUUID objectID, LLUUID ownerID, string msg, LLUUID textureID, int ch, string[] buttonlabels)
+        {
+        }
+
+        public virtual void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID,
+                                                  PrimitiveBaseShape primShape, LLVector3 pos, uint flags,
+                                                  LLUUID objectID, LLUUID ownerID, string text, byte[] color,
+                                                  uint parentID,
+                                                  byte[] particleSystem, LLQuaternion rotation, byte clickAction)
+        {
+        }
+        public virtual void SendPrimitiveToClient(ulong regionHandle, ushort timeDilation, uint localID,
+                                                  PrimitiveBaseShape primShape, LLVector3 pos, uint flags,
+                                                  LLUUID objectID, LLUUID ownerID, string text, byte[] color,
+                                                  uint parentID,
+                                                  byte[] particleSystem, LLQuaternion rotation, byte clickAction, byte[] textureanimation)
+        {
+        }
+        public virtual void SendPrimTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID,
+                                                LLVector3 position, LLQuaternion rotation, byte state)
+        {
+        }
+
+        public virtual void SendPrimTerseUpdate(ulong regionHandle, ushort timeDilation, uint localID,
+                                                LLVector3 position, LLQuaternion rotation, LLVector3 velocity,
+                                                LLVector3 rotationalvelocity)
+        {
+        }
+
+        public virtual void SendInventoryFolderDetails(LLUUID ownerID, LLUUID folderID,
+                                                       List<InventoryItemBase> items,
+                                                       List<InventoryFolderBase> folders,
+                                                       bool fetchFolders,
+                                                       bool fetchItems)
+        {
+        }
+
+        public virtual void SendInventoryItemDetails(LLUUID ownerID, InventoryItemBase item)
+        {
+        }
+
+        public virtual void SendInventoryItemCreateUpdate(InventoryItemBase Item)
+        {
+        }
+
+        public virtual void SendRemoveInventoryItem(LLUUID itemID)
+        {
+        }
+
+        public virtual void SendTaskInventory(LLUUID taskID, short serial, byte[] fileName)
+        {
+        }
+
+        public virtual void SendXferPacket(ulong xferID, uint packet, byte[] data)
+        {
+        }
+
+        public virtual void SendNameReply(LLUUID profileId, string firstname, string lastname)
+        {
+        }
+
+        public virtual void SendPreLoadSound(LLUUID objectID, LLUUID ownerID, LLUUID soundID)
+        {
+        }
+
+        public virtual void SendPlayAttachedSound(LLUUID soundID, LLUUID objectID, LLUUID ownerID, float gain,
+                                                  byte flags)
+        {
+        }
+
+        public void SendTriggeredSound(LLUUID soundID, LLUUID ownerID, LLUUID objectID, LLUUID parentID, ulong handle, LLVector3 position, float gain)
+        {
+        }
+
+        public void SendAlertMessage(string message)
+        {
+        }
+
+        public void SendAgentAlertMessage(string message, bool modal)
+        {
+        }
+
+        public void SendSystemAlertMessage(string message)
+        {
+        }
+
+        public void SendLoadURL(string objectname, LLUUID objectID, LLUUID ownerID, bool groupOwned, string message,
+                                string url)
+        {
+        }
+
+        public virtual void SendRegionHandshake(RegionInfo regionInfo)
+        {
+            if (OnRegionHandShakeReply != null)
+            {
+                OnRegionHandShakeReply(this);
+            }
+
+            if (OnCompleteMovementToRegion != null)
+            {
+                OnCompleteMovementToRegion();
+            }
+        }
+
+        private void Update()
+        {
+            if (OnAgentUpdate != null)
+            {
+                AgentUpdatePacket pack = new AgentUpdatePacket();
+                pack.AgentData.ControlFlags = movementFlag;
+                pack.AgentData.BodyRotation = bodyDirection;
+                OnAgentUpdate(this, pack);
+            }
+            if (flyState == 0)
+            {
+                movementFlag = (uint) AgentManager.ControlFlags.AGENT_CONTROL_FLY |
+                               (uint) AgentManager.ControlFlags.AGENT_CONTROL_UP_NEG;
+                flyState = 1;
+            }
+            else if (flyState == 1)
+            {
+                movementFlag = (uint) AgentManager.ControlFlags.AGENT_CONTROL_FLY |
+                               (uint) AgentManager.ControlFlags.AGENT_CONTROL_UP_POS;
+                flyState = 2;
+            }
+            else
+            {
+                movementFlag = (uint) AgentManager.ControlFlags.AGENT_CONTROL_FLY;
+                flyState = 0;
+            }
+
+            if (count >= 200)
+            {
+                if (OnChatFromViewer != null)
+                {
+                    ChatFromViewerArgs args = new ChatFromViewerArgs();
+                    args.Message = "Kinda quiet around here, isn't it?";
+                    args.Channel = 0;
+                    args.From = FirstName + " " + LastName;
+                    args.Position = new LLVector3(128, 128, 26);
+                    args.Sender = this;
+                    args.Type = ChatTypeEnum.Shout;
+
+                    OnChatFromViewer(this, args);
+                }
+                count = -1;
+            }
+
+            count++;
+        }
+
+        public bool AddMoney(int debit)
+        {
+            return false;
+        }
+
+        public void SendSunPos(LLVector3 sunPos, LLVector3 sunVel)
+        {
+        }
+
+        public void SendViewerTime(int phase)
+        {
+        }
+
+        public void SendAvatarProperties(LLUUID avatarID, string aboutText, string bornOn, string charterMember,
+                                         string flAbout, uint flags, LLUUID flImageID, LLUUID imageID, string profileURL,
+                                         LLUUID partnerID)
+        {
+        }
+
+        public void SetDebug(int newDebug)
+        {
+        }
+
+        public void InPacket(Packet NewPack)
+        {
+        }
+
+        public void Close(bool ShutdownCircuit)
+        {
+        }
+
+        public void Stop()
+        {
+        }
+
+        private uint m_circuitCode;
+
+        public uint CircuitCode
+        {
+            get { return m_circuitCode; }
+            set { m_circuitCode = value; }
+        }
+        public void SendBlueBoxMessage(LLUUID FromAvatarID, LLUUID fromSessionID, String FromAvatarName, String Message)
+        {
+
+        }
+        public void SendLogoutPacket()
+        {
+        }
+
+        public void Terminate()
+        {
+        }
+
+        public ClientInfo GetClientInfo()
+        {
+            return null;
+        }
+
+        public void SetClientInfo(ClientInfo info)
+        {
+        }
+    }
 }
\ No newline at end of file
diff --git a/OpenSim/Region/Examples/SimpleModule/Properties/AssemblyInfo.cs b/OpenSim/Region/Examples/SimpleModule/Properties/AssemblyInfo.cs
index 67301c1..4a53612 100644
--- a/OpenSim/Region/Examples/SimpleModule/Properties/AssemblyInfo.cs
+++ b/OpenSim/Region/Examples/SimpleModule/Properties/AssemblyInfo.cs
@@ -1,36 +1,36 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following 
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("OpenSim.Region.Examples.SimpleModule")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("OpenSim.Region.Examples.SimpleModule")]
-[assembly: AssemblyCopyright("Copyright ©  2008")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible 
-// to COM components.  If you need to access a type in this assembly from 
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("f0caca77-7818-4a43-9200-0a8548009a05")]
-
-// Version information for an assembly consists of the following four values:
-//
-//      Major Version
-//      Minor Version 
-//      Build Number
-//      Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers 
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// General Information about an assembly is controlled through the following 
+// set of attributes. Change these attribute values to modify the information
+// associated with an assembly.
+[assembly: AssemblyTitle("OpenSim.Region.Examples.SimpleModule")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("OpenSim.Region.Examples.SimpleModule")]
+[assembly: AssemblyCopyright("Copyright ©  2008")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Setting ComVisible to false makes the types in this assembly not visible 
+// to COM components.  If you need to access a type in this assembly from 
+// COM, set the ComVisible attribute to true on that type.
+[assembly: ComVisible(false)]
+
+// The following GUID is for the ID of the typelib if this project is exposed to COM
+[assembly: Guid("f0caca77-7818-4a43-9200-0a8548009a05")]
+
+// Version information for an assembly consists of the following four values:
+//
+//      Major Version
+//      Minor Version 
+//      Build Number
+//      Revision
+//
+// You can specify all the values or you can default the Build and Revision Numbers 
+// by using the '*' as shown below:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/OpenSim/Region/Examples/SimpleModule/README.txt b/OpenSim/Region/Examples/SimpleModule/README.txt
index 8314a21..025e33d 100644
--- a/OpenSim/Region/Examples/SimpleModule/README.txt
+++ b/OpenSim/Region/Examples/SimpleModule/README.txt
@@ -1,9 +1,9 @@
-!!!IMPORTANT NOTE!!!
-
-This code snippet provided as an example of coding functional content with region modules.
-
-As of 13/3 2008 this module actually renders all regions within the instance unusable if enabled by dragging the dll from ./bin to global /bin.
-
-So, use at own peril and in dedicated instance.
-
-Peace.
+!!!IMPORTANT NOTE!!!
+
+This code snippet provided as an example of coding functional content with region modules.
+
+As of 13/3 2008 this module actually renders all regions within the instance unusable if enabled by dragging the dll from ./bin to global /bin.
+
+So, use at own peril and in dedicated instance.
+
+Peace.
diff --git a/OpenSim/Region/Examples/SimpleModule/RegionModule.cs b/OpenSim/Region/Examples/SimpleModule/RegionModule.cs
index 37cbef5..1159d25 100644
--- a/OpenSim/Region/Examples/SimpleModule/RegionModule.cs
+++ b/OpenSim/Region/Examples/SimpleModule/RegionModule.cs
@@ -1,114 +1,114 @@
-using System;
-using System.Collections.Generic;
-using System.IO;
-using System.Text;
-using libsecondlife;
-using Nini.Config;
-using OpenSim.Framework;
-using OpenSim.Region.Environment.Interfaces;
-using OpenSim.Region.Environment.Scenes;
-
-namespace OpenSim.Region.Examples.SimpleModule
-{
-    public class RegionModule : IRegionModule
-    {
-        #region IRegionModule Members
-
-        private Scene m_scene;
-
-
-        public void Initialise(Scene scene, IConfigSource source)
-        {
-            m_scene = scene;
-        }
-
-        public void PostInitialise()
-        {
-            RegionInfo regionInfo = m_scene.RegionInfo;
-
-            LLVector3 pos = new LLVector3(110, 129, 27);
-
-            AddCpuCounter(regionInfo, pos);
-            AddComplexObjects(regionInfo, pos);
-            AddAvatars();
-            AddFileSystemObjects();
-        }
-
-        private void AddFileSystemObjects()
-        {
-            DirectoryInfo dirInfo = new DirectoryInfo(".");
-
-            float x = 0;
-            float z = 0;
-
-            foreach (FileInfo fileInfo in dirInfo.GetFiles())
-            {
-                LLVector3 filePos = new LLVector3(100 + x, 129, 27 + z);
-                x = x + 2;
-                if (x > 50)
-                {
-                    x = 0;
-                    z = z + 2;
-                }
-
-                FileSystemObject fileObject = new FileSystemObject(m_scene, fileInfo, filePos);
-                m_scene.AddEntity(fileObject);
-            }
-        }
-
-        private void AddAvatars()
-        {
-            for (int i = 0; i < 2; i++)
-            {
-                MyNpcCharacter m_character = new MyNpcCharacter(m_scene.EventManager);
-                m_scene.AddNewClient(m_character, false);
-            }
-
-            List<ScenePresence> avatars = m_scene.GetAvatars();
-            foreach (ScenePresence avatar in avatars)
-            {
-                avatar.AbsolutePosition =
-                    new LLVector3((float)Util.RandomClass.Next(100, 200), (float)Util.RandomClass.Next(30, 200), 2);
-            }
-        }
-
-        private void AddComplexObjects(RegionInfo regionInfo, LLVector3 pos)
-        {
-            int objs = 3;
-
-            for (int i = 0; i < (objs*objs*objs); i++)
-            {
-                LLVector3 posOffset = new LLVector3((i % objs) * 4, ((i % (objs*objs)) / ( objs )) * 4, (i / (objs*objs)) * 4);
-                ComplexObject complexObject =
-                    new ComplexObject(m_scene, regionInfo.RegionHandle, LLUUID.Zero, m_scene.PrimIDAllocate(),
-                                      pos + posOffset);
-                m_scene.AddEntity(complexObject);
-            }
-        }
-
-        private void AddCpuCounter(RegionInfo regionInfo, LLVector3 pos)
-        {
-            SceneObjectGroup sceneObject =
-                new CpuCounterObject(m_scene, regionInfo.RegionHandle, LLUUID.Zero, m_scene.PrimIDAllocate(),
-                                     pos + new LLVector3(1f, 1f, 1f));
-            m_scene.AddEntity(sceneObject);
-        }
-
-        public void Close()
-        {
-            m_scene = null;
-        }
-
-        public string Name
-        {
-            get { return GetType().AssemblyQualifiedName; }
-        }
-
-        public bool IsSharedModule
-        {
-            get { return false; }
-        }
-
-        #endregion
-    }
-}
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Text;
+using libsecondlife;
+using Nini.Config;
+using OpenSim.Framework;
+using OpenSim.Region.Environment.Interfaces;
+using OpenSim.Region.Environment.Scenes;
+
+namespace OpenSim.Region.Examples.SimpleModule
+{
+    public class RegionModule : IRegionModule
+    {
+        #region IRegionModule Members
+
+        private Scene m_scene;
+
+
+        public void Initialise(Scene scene, IConfigSource source)
+        {
+            m_scene = scene;
+        }
+
+        public void PostInitialise()
+        {
+            RegionInfo regionInfo = m_scene.RegionInfo;
+
+            LLVector3 pos = new LLVector3(110, 129, 27);
+
+            AddCpuCounter(regionInfo, pos);
+            AddComplexObjects(regionInfo, pos);
+            AddAvatars();
+            AddFileSystemObjects();
+        }
+
+        private void AddFileSystemObjects()
+        {
+            DirectoryInfo dirInfo = new DirectoryInfo(".");
+
+            float x = 0;
+            float z = 0;
+
+            foreach (FileInfo fileInfo in dirInfo.GetFiles())
+            {
+                LLVector3 filePos = new LLVector3(100 + x, 129, 27 + z);
+                x = x + 2;
+                if (x > 50)
+                {
+                    x = 0;
+                    z = z + 2;
+                }
+
+                FileSystemObject fileObject = new FileSystemObject(m_scene, fileInfo, filePos);
+                m_scene.AddEntity(fileObject);
+            }
+        }
+
+        private void AddAvatars()
+        {
+            for (int i = 0; i < 2; i++)
+            {
+                MyNpcCharacter m_character = new MyNpcCharacter(m_scene.EventManager);
+                m_scene.AddNewClient(m_character, false);
+            }
+
+            List<ScenePresence> avatars = m_scene.GetAvatars();
+            foreach (ScenePresence avatar in avatars)
+            {
+                avatar.AbsolutePosition =
+                    new LLVector3((float)Util.RandomClass.Next(100, 200), (float)Util.RandomClass.Next(30, 200), 2);
+            }
+        }
+
+        private void AddComplexObjects(RegionInfo regionInfo, LLVector3 pos)
+        {
+            int objs = 3;
+
+            for (int i = 0; i < (objs*objs*objs); i++)
+            {
+                LLVector3 posOffset = new LLVector3((i % objs) * 4, ((i % (objs*objs)) / ( objs )) * 4, (i / (objs*objs)) * 4);
+                ComplexObject complexObject =
+                    new ComplexObject(m_scene, regionInfo.RegionHandle, LLUUID.Zero, m_scene.PrimIDAllocate(),
+                                      pos + posOffset);
+                m_scene.AddEntity(complexObject);
+            }
+        }
+
+        private void AddCpuCounter(RegionInfo regionInfo, LLVector3 pos)
+        {
+            SceneObjectGroup sceneObject =
+                new CpuCounterObject(m_scene, regionInfo.RegionHandle, LLUUID.Zero, m_scene.PrimIDAllocate(),
+                                     pos + new LLVector3(1f, 1f, 1f));
+            m_scene.AddEntity(sceneObject);
+        }
+
+        public void Close()
+        {
+            m_scene = null;
+        }
+
+        public string Name
+        {
+            get { return GetType().AssemblyQualifiedName; }
+        }
+
+        public bool IsSharedModule
+        {
+            get { return false; }
+        }
+
+        #endregion
+    }
+}
-- 
cgit v1.1