From 8820cbfb13318c1d367e0fc76864bb4c28fa0487 Mon Sep 17 00:00:00 2001 From: gareth Date: Fri, 2 Mar 2007 18:53:53 +0000 Subject: [PATCH] Imported the broken code --- opensim.build | 8 ++++ src/OpenSimClient.cs | 3 ++ src/plugins/PhysicsEngine.cs | 66 +++++++++++++++++++++++++++++++ src/plugins/default.build | 38 ++++++++++++++++++ src/world/Entity.cs | 4 +- src/world/default.build | 38 ++++++++++++++++++ src/{ => world}/types/BitPack.cs | 0 src/{ => world}/types/Mesh.cs | 0 src/{ => world}/types/Triangle.cs | 0 9 files changed, 155 insertions(+), 2 deletions(-) create mode 100644 src/plugins/PhysicsEngine.cs create mode 100644 src/plugins/default.build create mode 100644 src/world/default.build rename src/{ => world}/types/BitPack.cs (100%) rename src/{ => world}/types/Mesh.cs (100%) rename src/{ => world}/types/Triangle.cs (100%) diff --git a/opensim.build b/opensim.build index e2bf6338ff..871c46c4dd 100644 --- a/opensim.build +++ b/opensim.build @@ -37,6 +37,14 @@ + + + + + + + + diff --git a/src/OpenSimClient.cs b/src/OpenSimClient.cs index 83d859941f..f090863d76 100644 --- a/src/OpenSimClient.cs +++ b/src/OpenSimClient.cs @@ -150,6 +150,9 @@ namespace OpenSim Thread AssetLoaderThread = new Thread(new ThreadStart(AssetLoader)); AssetLoaderThread.Start(); break; + case PacketType.AgentUpdate: + ClientAvatar.HandleUpdate((AgentUpdatePacket)Pack); + break; } } diff --git a/src/plugins/PhysicsEngine.cs b/src/plugins/PhysicsEngine.cs new file mode 100644 index 0000000000..a8f71933a6 --- /dev/null +++ b/src/plugins/PhysicsEngine.cs @@ -0,0 +1,66 @@ +/* +Copyright (c) OpenSim project, http://osgrid.org/ + + +* All rights reserved. +* +* 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 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 ``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 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.Text; +using System.Threading; +using System.Collections; +using System.Collections.Generic; +using libsecondlife; +using libsecondlife.Packets; +using OpenSim.world; + +namespace OpenSim +{ + public class Physics_Simulation { + private OpenWim.world.World simworld; // The world we are simulating + private Thread PhysicsEngine; + + public Physics_Simulation(OpenSim.world.World physical_world) { + this.simworld = physical_world; + + // PUT CODE TO INIT PHYSICS ENGINE HERE + + PhysicsEngine = new Thread(new ThreadStart(PhysicsThread)); + PhysicsEngine.Start(); + } + + public void Iterate() { + // PUT CODE TO RUN A STEP OF THE SIMULATION HERE + } + + public void PhysicsThread() { + Console.WriteLine("Physics_Simulation:PhysicsThread() - Starting thread"); + while(true) { + this.Iterate(); + simworld.Update(); + } + } + } +} diff --git a/src/plugins/default.build b/src/plugins/default.build new file mode 100644 index 0000000000..fc8caebb41 --- /dev/null +++ b/src/plugins/default.build @@ -0,0 +1,38 @@ + + + Builds opensim plugins + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/world/Entity.cs b/src/world/Entity.cs index ab07fd60cb..9f32892550 100644 --- a/src/world/Entity.cs +++ b/src/world/Entity.cs @@ -9,7 +9,7 @@ namespace OpenSim.world public class Entity { protected libsecondlife.LLUUID uuid; - protected Vector3 position; + protected libsecondlife.LLVector3 position; protected Vector3 velocity; protected Quaternion rotation; protected string name; @@ -18,7 +18,7 @@ namespace OpenSim.world public Entity() { uuid = new libsecondlife.LLUUID(); - position = new Vector3(); + position = new libsecondlife.LLVector3(); velocity = new Vector3(); rotation = new Quaternion(); name = "(basic entity)"; diff --git a/src/world/default.build b/src/world/default.build new file mode 100644 index 0000000000..4d4d3069aa --- /dev/null +++ b/src/world/default.build @@ -0,0 +1,38 @@ + + + Builds opensim world library + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/types/BitPack.cs b/src/world/types/BitPack.cs similarity index 100% rename from src/types/BitPack.cs rename to src/world/types/BitPack.cs diff --git a/src/types/Mesh.cs b/src/world/types/Mesh.cs similarity index 100% rename from src/types/Mesh.cs rename to src/world/types/Mesh.cs diff --git a/src/types/Triangle.cs b/src/world/types/Triangle.cs similarity index 100% rename from src/types/Triangle.cs rename to src/world/types/Triangle.cs