From 8820cbfb13318c1d367e0fc76864bb4c28fa0487 Mon Sep 17 00:00:00 2001 From: gareth <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 @@ <attribute type="AssemblyCopyrightAttribute" value="Copyright © OGS development team 2007"/> </attributes> </asminfo> + + <nant> + <buildfiles> + <include name="**/default.build" /> + <exclude name="${project::get-buildfile-path()}" /> + </buildfiles> + </nant> + <csc target="exe" output="bin/OpenSim.exe" debug="${debug}" verbose="true" warninglevel="4"> <references basedir="bin/" failonempty="true"> <include name="System" /> 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 <organization> 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 <copyright holder> ``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 <copyright holder> 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 @@ +<?xml version="1.0"?> + <project name="OpenSim-Plugins" default="build" basedir="."> + <description>Builds opensim plugins</description> + <property name="debug" value="true" overwrite="false" /> + + <target name="clean" description="remove all generated files"> + <delete file="../../bin/plugins/*.dll" failonerror="false" /> + </target> + + <target name="svnupdate" description="updates to latest SVN"> + <exec program="svn"> + <arg value="update" /> + </exec> + </target> + + <target name="upgrade" description="updates from SVN and then builds" depends="clean,svnupdate,build"> + + </target> + + <target name="build" description="compiles the source code"> + + <csc target="library" output="../../bin/plugins/physics.dll" debug="${debug}" verbose="true" warninglevel="4"> + <references basedir="../../bin/" failonempty="true"> + <include name="System" /> + <include name="System.Data" /> + <include name="System.Xml" /> + <include name="Axiom.MathLib.dll" /> + <include name="libsecondlife.dll" /> + <include name="log4net.dll" /> + <include name="Db4objects.Db4o.dll" /> + <include name="world.dll" /> + </references> + <sources basedir="."> + <include name="PhysicsEngine.cs" /> + </sources> + </csc> + </target> +</project> 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 @@ +<?xml version="1.0"?> + <project name="OpenSim-world" default="build" basedir="."> + <description>Builds opensim world library</description> + <property name="debug" value="true" overwrite="false" /> + + <target name="clean" description="remove all generated files"> + <delete file="../../bin/world.dll" failonerror="false" /> + </target> + + <target name="svnupdate" description="updates to latest SVN"> + <exec program="svn"> + <arg value="update" /> + </exec> + </target> + + <target name="upgrade" description="updates from SVN and then builds" depends="clean,svnupdate,build"> + + </target> + + <target name="build" description="compiles the source code"> + + <csc target="library" output="../../bin/world.dll" debug="${debug}" verbose="true" warninglevel="4"> + <references basedir="../../bin/" failonempty="true"> + <include name="System" /> + <include name="System.Data" /> + <include name="System.Xml" /> + <include name="Axiom.MathLib.dll" /> + <include name="libsecondlife.dll" /> + <include name="log4net.dll" /> + <include name="Db4objects.Db4o.dll" /> + </references> + <sources basedir="."> + <include name="*.cs" /> + <include name="types/*.cs" /> + </sources> + </csc> + </target> +</project> 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