Update svn properties.

0.6.0-stable
Jeff Ames 2008-03-14 00:41:09 +00:00
parent 4e588c715d
commit 94c39c793a
7 changed files with 969 additions and 969 deletions

View File

@ -1,137 +1,137 @@
/* /*
* Copyright (c) Contributors, http://opensimulator.org/ * Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders. * See CONTRIBUTORS.TXT for a full list of copyright holders.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met: * modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright * * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer. * notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright * * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the * notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution. * documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSim Project nor the * * Neither the name of the OpenSim Project nor the
* names of its contributors may be used to endorse or promote products * names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission. * derived from this software without specific prior written permission.
* *
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * 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 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* *
*/ */
using libsecondlife; using libsecondlife;
using OpenSim.Framework; using OpenSim.Framework;
using OpenSim.Region.Environment.Scenes; using OpenSim.Region.Environment.Scenes;
namespace OpenSim.Region.Examples.SimpleModule namespace OpenSim.Region.Examples.SimpleModule
{ {
public class ComplexObject : SceneObjectGroup public class ComplexObject : SceneObjectGroup
{ {
private readonly LLQuaternion m_rotationDirection; private readonly LLQuaternion m_rotationDirection;
protected override bool InSceneBackup protected override bool InSceneBackup
{ {
get get
{ {
return false; return false;
} }
} }
private class RotatingWheel : SceneObjectPart private class RotatingWheel : SceneObjectPart
{ {
private readonly LLQuaternion m_rotationDirection; private readonly LLQuaternion m_rotationDirection;
public RotatingWheel() public RotatingWheel()
{ {
} }
public RotatingWheel(ulong regionHandle, SceneObjectGroup parent, LLUUID ownerID, uint localID, public RotatingWheel(ulong regionHandle, SceneObjectGroup parent, LLUUID ownerID, uint localID,
LLVector3 groupPosition, LLVector3 offsetPosition, LLQuaternion rotationDirection) LLVector3 groupPosition, LLVector3 offsetPosition, LLQuaternion rotationDirection)
: base( : base(
regionHandle, parent, ownerID, localID, PrimitiveBaseShape.Default, groupPosition, offsetPosition regionHandle, parent, ownerID, localID, PrimitiveBaseShape.Default, groupPosition, offsetPosition
) )
{ {
m_rotationDirection = rotationDirection; m_rotationDirection = rotationDirection;
Flags |= LLObject.ObjectFlags.Touch; Flags |= LLObject.ObjectFlags.Touch;
} }
public override void UpdateMovement() public override void UpdateMovement()
{ {
UpdateRotation(RotationOffset*m_rotationDirection); UpdateRotation(RotationOffset*m_rotationDirection);
} }
} }
public override void UpdateMovement() public override void UpdateMovement()
{ {
UpdateGroupRotation(GroupRotation*m_rotationDirection); UpdateGroupRotation(GroupRotation*m_rotationDirection);
base.UpdateMovement(); base.UpdateMovement();
} }
public ComplexObject() public ComplexObject()
{ {
} }
public ComplexObject(Scene scene, ulong regionHandle, LLUUID ownerID, uint localID, LLVector3 pos) public ComplexObject(Scene scene, ulong regionHandle, LLUUID ownerID, uint localID, LLVector3 pos)
: base(scene, regionHandle, ownerID, localID, pos, PrimitiveBaseShape.Default) : base(scene, regionHandle, ownerID, localID, pos, PrimitiveBaseShape.Default)
{ {
m_rotationDirection = new LLQuaternion(0.05f, 0.1f, 0.15f); m_rotationDirection = new LLQuaternion(0.05f, 0.1f, 0.15f);
AddPart( AddPart(
new RotatingWheel(regionHandle, this, ownerID, scene.PrimIDAllocate(), pos, new LLVector3(0, 0, 0.75f), new RotatingWheel(regionHandle, this, ownerID, scene.PrimIDAllocate(), pos, new LLVector3(0, 0, 0.75f),
new LLQuaternion(0.05f, 0, 0))); new LLQuaternion(0.05f, 0, 0)));
AddPart( AddPart(
new RotatingWheel(regionHandle, this, ownerID, scene.PrimIDAllocate(), pos, new LLVector3(0, 0, -0.75f), new RotatingWheel(regionHandle, this, ownerID, scene.PrimIDAllocate(), pos, new LLVector3(0, 0, -0.75f),
new LLQuaternion(-0.05f, 0, 0))); new LLQuaternion(-0.05f, 0, 0)));
AddPart( AddPart(
new RotatingWheel(regionHandle, this, ownerID, scene.PrimIDAllocate(), pos, new LLVector3(0, 0.75f, 0), new RotatingWheel(regionHandle, this, ownerID, scene.PrimIDAllocate(), pos, new LLVector3(0, 0.75f, 0),
new LLQuaternion(0.5f, 0, 0.05f))); new LLQuaternion(0.5f, 0, 0.05f)));
AddPart( AddPart(
new RotatingWheel(regionHandle, this, ownerID, scene.PrimIDAllocate(), pos, new LLVector3(0, -0.75f, 0), new RotatingWheel(regionHandle, this, ownerID, scene.PrimIDAllocate(), pos, new LLVector3(0, -0.75f, 0),
new LLQuaternion(-0.5f, 0, -0.05f))); new LLQuaternion(-0.5f, 0, -0.05f)));
AddPart( AddPart(
new RotatingWheel(regionHandle, this, ownerID, scene.PrimIDAllocate(), pos, new LLVector3(0.75f, 0, 0), new RotatingWheel(regionHandle, this, ownerID, scene.PrimIDAllocate(), pos, new LLVector3(0.75f, 0, 0),
new LLQuaternion(0, 0.5f, 0.05f))); new LLQuaternion(0, 0.5f, 0.05f)));
AddPart( AddPart(
new RotatingWheel(regionHandle, this, ownerID, scene.PrimIDAllocate(), pos, new LLVector3(-0.75f, 0, 0), new RotatingWheel(regionHandle, this, ownerID, scene.PrimIDAllocate(), pos, new LLVector3(-0.75f, 0, 0),
new LLQuaternion(0, -0.5f, -0.05f))); new LLQuaternion(0, -0.5f, -0.05f)));
RootPart.Flags |= LLObject.ObjectFlags.Touch; RootPart.Flags |= LLObject.ObjectFlags.Touch;
UpdateParentIDs(); UpdateParentIDs();
} }
public override void OnGrabPart(SceneObjectPart part, LLVector3 offsetPos, IClientAPI remoteClient) public override void OnGrabPart(SceneObjectPart part, LLVector3 offsetPos, IClientAPI remoteClient)
{ {
m_parts.Remove(part.UUID); m_parts.Remove(part.UUID);
remoteClient.SendKillObject(m_regionHandle, part.LocalId); remoteClient.SendKillObject(m_regionHandle, part.LocalId);
remoteClient.AddMoney(1); remoteClient.AddMoney(1);
remoteClient.SendChatMessage("Poof!", 1, AbsolutePosition, "Party Party", LLUUID.Zero); remoteClient.SendChatMessage("Poof!", 1, AbsolutePosition, "Party Party", LLUUID.Zero);
} }
public override void OnGrabGroup(LLVector3 offsetPos, IClientAPI remoteClient) public override void OnGrabGroup(LLVector3 offsetPos, IClientAPI remoteClient)
{ {
if (m_parts.Count == 1) if (m_parts.Count == 1)
{ {
m_parts.Remove(m_rootPart.UUID); m_parts.Remove(m_rootPart.UUID);
m_scene.RemoveEntity(this); m_scene.RemoveEntity(this);
remoteClient.SendKillObject(m_regionHandle, m_rootPart.LocalId); remoteClient.SendKillObject(m_regionHandle, m_rootPart.LocalId);
remoteClient.AddMoney(50); remoteClient.AddMoney(50);
remoteClient.SendChatMessage("KABLAM!!!", 1, AbsolutePosition, "Groupie Groupie", LLUUID.Zero); remoteClient.SendChatMessage("KABLAM!!!", 1, AbsolutePosition, "Groupie Groupie", LLUUID.Zero);
} }
} }
} }
} }

View File

@ -1,69 +1,69 @@
/* /*
* Copyright (c) Contributors, http://opensimulator.org/ * Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders. * See CONTRIBUTORS.TXT for a full list of copyright holders.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met: * modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright * * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer. * notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright * * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the * notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution. * documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSim Project nor the * * Neither the name of the OpenSim Project nor the
* names of its contributors may be used to endorse or promote products * names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission. * derived from this software without specific prior written permission.
* *
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * 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 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* *
*/ */
using System; using System;
using System.Diagnostics; using System.Diagnostics;
using libsecondlife; using libsecondlife;
using OpenSim.Framework; using OpenSim.Framework;
using OpenSim.Region.Environment.Scenes; using OpenSim.Region.Environment.Scenes;
namespace OpenSim.Region.Examples.SimpleModule namespace OpenSim.Region.Examples.SimpleModule
{ {
public class CpuCounterObject : SceneObjectGroup public class CpuCounterObject : SceneObjectGroup
{ {
protected override bool InSceneBackup protected override bool InSceneBackup
{ {
get get
{ {
return false; return false;
} }
} }
private PerformanceCounter m_counter; private PerformanceCounter m_counter;
public CpuCounterObject(Scene world, ulong regionHandle, LLUUID ownerID, uint localID, LLVector3 pos) public CpuCounterObject(Scene world, ulong regionHandle, LLUUID ownerID, uint localID, LLVector3 pos)
: base(world, regionHandle, ownerID, localID, pos, PrimitiveBaseShape.Default) : base(world, regionHandle, ownerID, localID, pos, PrimitiveBaseShape.Default)
{ {
String objectName = "Processor"; String objectName = "Processor";
String counterName = "% Processor Time"; String counterName = "% Processor Time";
String instanceName = "_Total"; String instanceName = "_Total";
m_counter = new PerformanceCounter(objectName, counterName, instanceName); m_counter = new PerformanceCounter(objectName, counterName, instanceName);
} }
public override void UpdateMovement() public override void UpdateMovement()
{ {
float cpu = m_counter.NextValue()/40f; float cpu = m_counter.NextValue()/40f;
LLVector3 size = new LLVector3(cpu, cpu, cpu); LLVector3 size = new LLVector3(cpu, cpu, cpu);
RootPart.Resize( size ); RootPart.Resize( size );
base.UpdateMovement(); base.UpdateMovement();
} }
} }
} }

View File

@ -1,53 +1,53 @@
/* /*
* Copyright (c) Contributors, http://opensimulator.org/ * Copyright (c) Contributors, http://opensimulator.org/
* See CONTRIBUTORS.TXT for a full list of copyright holders. * See CONTRIBUTORS.TXT for a full list of copyright holders.
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met: * modification, are permitted provided that the following conditions are met:
* * Redistributions of source code must retain the above copyright * * Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer. * notice, this list of conditions and the following disclaimer.
* * Redistributions in binary form must reproduce the above copyright * * Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the * notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution. * documentation and/or other materials provided with the distribution.
* * Neither the name of the OpenSim Project nor the * * Neither the name of the OpenSim Project nor the
* names of its contributors may be used to endorse or promote products * names of its contributors may be used to endorse or promote products
* derived from this software without specific prior written permission. * derived from this software without specific prior written permission.
* *
* THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY
* EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY
* DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * 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 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
* *
*/ */
using System.IO; using System.IO;
using libsecondlife; using libsecondlife;
using OpenSim.Framework; using OpenSim.Framework;
using OpenSim.Region.Environment.Scenes; using OpenSim.Region.Environment.Scenes;
namespace OpenSim.Region.Examples.SimpleModule namespace OpenSim.Region.Examples.SimpleModule
{ {
public class FileSystemObject : SceneObjectGroup public class FileSystemObject : SceneObjectGroup
{ {
public FileSystemObject(Scene world, FileInfo fileInfo, LLVector3 pos) public FileSystemObject(Scene world, FileInfo fileInfo, LLVector3 pos)
: base(world, world.RegionInfo.RegionHandle, LLUUID.Zero, world.NextLocalId, pos, PrimitiveBaseShape.Default) : base(world, world.RegionInfo.RegionHandle, LLUUID.Zero, world.NextLocalId, pos, PrimitiveBaseShape.Default)
{ {
Text = fileInfo.Name; Text = fileInfo.Name;
ScheduleGroupForFullUpdate(); ScheduleGroupForFullUpdate();
} }
protected override bool InSceneBackup protected override bool InSceneBackup
{ {
get get
{ {
return false; return false;
} }
} }
} }
} }

File diff suppressed because it is too large Load Diff

View File

@ -1,36 +1,36 @@
using System.Reflection; using System.Reflection;
using System.Runtime.CompilerServices; using System.Runtime.CompilerServices;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following // General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information // set of attributes. Change these attribute values to modify the information
// associated with an assembly. // associated with an assembly.
[assembly: AssemblyTitle("OpenSim.Region.Examples.SimpleModule")] [assembly: AssemblyTitle("OpenSim.Region.Examples.SimpleModule")]
[assembly: AssemblyDescription("")] [assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")] [assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")] [assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("OpenSim.Region.Examples.SimpleModule")] [assembly: AssemblyProduct("OpenSim.Region.Examples.SimpleModule")]
[assembly: AssemblyCopyright("Copyright © 2008")] [assembly: AssemblyCopyright("Copyright © 2008")]
[assembly: AssemblyTrademark("")] [assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")] [assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible // 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 // to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type. // COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)] [assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM // The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("f0caca77-7818-4a43-9200-0a8548009a05")] [assembly: Guid("f0caca77-7818-4a43-9200-0a8548009a05")]
// Version information for an assembly consists of the following four values: // Version information for an assembly consists of the following four values:
// //
// Major Version // Major Version
// Minor Version // Minor Version
// Build Number // Build Number
// Revision // Revision
// //
// You can specify all the values or you can default the Build and Revision Numbers // You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below: // by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")] // [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")] [assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")] [assembly: AssemblyFileVersion("1.0.0.0")]

View File

@ -1,9 +1,9 @@
!!!IMPORTANT NOTE!!! !!!IMPORTANT NOTE!!!
This code snippet provided as an example of coding functional content with region modules. 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. 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. So, use at own peril and in dedicated instance.
Peace. Peace.

View File

@ -1,114 +1,114 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO; using System.IO;
using System.Text; using System.Text;
using libsecondlife; using libsecondlife;
using Nini.Config; using Nini.Config;
using OpenSim.Framework; using OpenSim.Framework;
using OpenSim.Region.Environment.Interfaces; using OpenSim.Region.Environment.Interfaces;
using OpenSim.Region.Environment.Scenes; using OpenSim.Region.Environment.Scenes;
namespace OpenSim.Region.Examples.SimpleModule namespace OpenSim.Region.Examples.SimpleModule
{ {
public class RegionModule : IRegionModule public class RegionModule : IRegionModule
{ {
#region IRegionModule Members #region IRegionModule Members
private Scene m_scene; private Scene m_scene;
public void Initialise(Scene scene, IConfigSource source) public void Initialise(Scene scene, IConfigSource source)
{ {
m_scene = scene; m_scene = scene;
} }
public void PostInitialise() public void PostInitialise()
{ {
RegionInfo regionInfo = m_scene.RegionInfo; RegionInfo regionInfo = m_scene.RegionInfo;
LLVector3 pos = new LLVector3(110, 129, 27); LLVector3 pos = new LLVector3(110, 129, 27);
AddCpuCounter(regionInfo, pos); AddCpuCounter(regionInfo, pos);
AddComplexObjects(regionInfo, pos); AddComplexObjects(regionInfo, pos);
AddAvatars(); AddAvatars();
AddFileSystemObjects(); AddFileSystemObjects();
} }
private void AddFileSystemObjects() private void AddFileSystemObjects()
{ {
DirectoryInfo dirInfo = new DirectoryInfo("."); DirectoryInfo dirInfo = new DirectoryInfo(".");
float x = 0; float x = 0;
float z = 0; float z = 0;
foreach (FileInfo fileInfo in dirInfo.GetFiles()) foreach (FileInfo fileInfo in dirInfo.GetFiles())
{ {
LLVector3 filePos = new LLVector3(100 + x, 129, 27 + z); LLVector3 filePos = new LLVector3(100 + x, 129, 27 + z);
x = x + 2; x = x + 2;
if (x > 50) if (x > 50)
{ {
x = 0; x = 0;
z = z + 2; z = z + 2;
} }
FileSystemObject fileObject = new FileSystemObject(m_scene, fileInfo, filePos); FileSystemObject fileObject = new FileSystemObject(m_scene, fileInfo, filePos);
m_scene.AddEntity(fileObject); m_scene.AddEntity(fileObject);
} }
} }
private void AddAvatars() private void AddAvatars()
{ {
for (int i = 0; i < 2; i++) for (int i = 0; i < 2; i++)
{ {
MyNpcCharacter m_character = new MyNpcCharacter(m_scene.EventManager); MyNpcCharacter m_character = new MyNpcCharacter(m_scene.EventManager);
m_scene.AddNewClient(m_character, false); m_scene.AddNewClient(m_character, false);
} }
List<ScenePresence> avatars = m_scene.GetAvatars(); List<ScenePresence> avatars = m_scene.GetAvatars();
foreach (ScenePresence avatar in avatars) foreach (ScenePresence avatar in avatars)
{ {
avatar.AbsolutePosition = avatar.AbsolutePosition =
new LLVector3((float)Util.RandomClass.Next(100, 200), (float)Util.RandomClass.Next(30, 200), 2); new LLVector3((float)Util.RandomClass.Next(100, 200), (float)Util.RandomClass.Next(30, 200), 2);
} }
} }
private void AddComplexObjects(RegionInfo regionInfo, LLVector3 pos) private void AddComplexObjects(RegionInfo regionInfo, LLVector3 pos)
{ {
int objs = 3; int objs = 3;
for (int i = 0; i < (objs*objs*objs); i++) 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); LLVector3 posOffset = new LLVector3((i % objs) * 4, ((i % (objs*objs)) / ( objs )) * 4, (i / (objs*objs)) * 4);
ComplexObject complexObject = ComplexObject complexObject =
new ComplexObject(m_scene, regionInfo.RegionHandle, LLUUID.Zero, m_scene.PrimIDAllocate(), new ComplexObject(m_scene, regionInfo.RegionHandle, LLUUID.Zero, m_scene.PrimIDAllocate(),
pos + posOffset); pos + posOffset);
m_scene.AddEntity(complexObject); m_scene.AddEntity(complexObject);
} }
} }
private void AddCpuCounter(RegionInfo regionInfo, LLVector3 pos) private void AddCpuCounter(RegionInfo regionInfo, LLVector3 pos)
{ {
SceneObjectGroup sceneObject = SceneObjectGroup sceneObject =
new CpuCounterObject(m_scene, regionInfo.RegionHandle, LLUUID.Zero, m_scene.PrimIDAllocate(), new CpuCounterObject(m_scene, regionInfo.RegionHandle, LLUUID.Zero, m_scene.PrimIDAllocate(),
pos + new LLVector3(1f, 1f, 1f)); pos + new LLVector3(1f, 1f, 1f));
m_scene.AddEntity(sceneObject); m_scene.AddEntity(sceneObject);
} }
public void Close() public void Close()
{ {
m_scene = null; m_scene = null;
} }
public string Name public string Name
{ {
get { return GetType().AssemblyQualifiedName; } get { return GetType().AssemblyQualifiedName; }
} }
public bool IsSharedModule public bool IsSharedModule
{ {
get { return false; } get { return false; }
} }
#endregion #endregion
} }
} }