diff --git a/bin/Ode.NET.dll b/bin/Ode.NET.dll
index 40f15a596a..07261a02a8 100644
Binary files a/bin/Ode.NET.dll and b/bin/Ode.NET.dll differ
diff --git a/bin/ode.dll b/bin/ode.dll
index 6166ff8f7d..49dfe18528 100644
Binary files a/bin/ode.dll and b/bin/ode.dll differ
diff --git a/libraries/ode-0.9/build/vs2005/ode.vcproj b/libraries/ode-0.9/build/vs2005/ode.vcproj
index 147bb6fd3c..254ea21114 100644
--- a/libraries/ode-0.9/build/vs2005/ode.vcproj
+++ b/libraries/ode-0.9/build/vs2005/ode.vcproj
@@ -104,6 +104,7 @@
OutputDirectory="../../lib/ReleaseDLL"
IntermediateDirectory="obj/ode/ReleaseDLL"
ConfigurationType="2"
+ UseOfMFC="1"
CharacterSet="2"
>
-
@@ -250,12 +248,6 @@
-
-
@@ -314,9 +306,6 @@
-
@@ -326,12 +315,6 @@
-
-
@@ -342,674 +325,871 @@
+ RelativePath="..\..\include\ode\collision.h"
+ >
+ RelativePath="..\..\include\ode\collision_space.h"
+ >
+ RelativePath="..\..\include\ode\collision_trimesh.h"
+ >
+ RelativePath="..\..\include\ode\common.h"
+ >
+ RelativePath="..\..\include\ode\compatibility.h"
+ >
+ RelativePath="..\..\include\ode\config.h"
+ >
+ RelativePath="..\..\include\ode\contact.h"
+ >
+ RelativePath="..\..\include\ode\error.h"
+ >
+ RelativePath="..\..\include\ode\export-dif.h"
+ >
+ RelativePath="..\..\include\ode\mass.h"
+ >
+ RelativePath="..\..\include\ode\matrix.h"
+ >
+ RelativePath="..\..\include\ode\memory.h"
+ >
+ RelativePath="..\..\include\ode\misc.h"
+ >
+ RelativePath="..\..\include\ode\objects.h"
+ >
+ RelativePath="..\..\include\ode\ode.h"
+ >
+ RelativePath="..\..\include\ode\odecpp.h"
+ >
+ RelativePath="..\..\include\ode\odecpp_collision.h"
+ >
+ RelativePath="..\..\include\ode\odemath.h"
+ >
+ RelativePath="..\..\include\ode\rotation.h"
+ >
+ RelativePath="..\..\include\ode\timer.h"
+ >
+ RelativePath="..\..\ode\src\array.cpp"
+ >
+ RelativePath="..\..\ode\src\array.h"
+ >
+ RelativePath="..\..\ode\src\box.cpp"
+ >
+ RelativePath="..\..\ode\src\capsule.cpp"
+ >
+ RelativePath="..\..\ode\src\collision_cylinder_box.cpp"
+ >
+ RelativePath="..\..\ode\src\collision_cylinder_plane.cpp"
+ >
+ RelativePath="..\..\ode\src\collision_cylinder_sphere.cpp"
+ >
+ RelativePath="..\..\ode\src\collision_cylinder_trimesh.cpp"
+ >
+ RelativePath="..\..\ode\src\collision_kernel.cpp"
+ >
+ RelativePath="..\..\ode\src\collision_kernel.h"
+ >
+ RelativePath="..\..\ode\src\collision_quadtreespace.cpp"
+ >
+ RelativePath="..\..\ode\src\collision_space.cpp"
+ >
+ RelativePath="..\..\ode\src\collision_space_internal.h"
+ >
+ RelativePath="..\..\ode\src\collision_std.h"
+ >
+ RelativePath="..\..\ode\src\collision_transform.cpp"
+ >
+ RelativePath="..\..\ode\src\collision_transform.h"
+ >
+ RelativePath="..\..\ode\src\collision_trimesh_box.cpp"
+ >
+ RelativePath="..\..\ode\src\collision_trimesh_ccylinder.cpp"
+ >
+ RelativePath="..\..\ode\src\collision_trimesh_distance.cpp"
+ >
+ RelativePath="..\..\ode\src\collision_trimesh_gimpact.cpp"
+ >
+ RelativePath="..\..\ode\src\collision_trimesh_internal.h"
+ >
+ RelativePath="..\..\ode\src\collision_trimesh_opcode.cpp"
+ >
+ RelativePath="..\..\ode\src\collision_trimesh_plane.cpp"
+ >
+ RelativePath="..\..\ode\src\collision_trimesh_ray.cpp"
+ >
+ RelativePath="..\..\ode\src\collision_trimesh_sphere.cpp"
+ >
+ RelativePath="..\..\ode\src\collision_trimesh_trimesh.cpp"
+ >
+ RelativePath="..\..\ode\src\collision_trimesh_trimesh_new.cpp"
+ >
+ RelativePath="..\..\ode\src\collision_util.cpp"
+ >
+ RelativePath="..\..\ode\src\collision_util.h"
+ >
+ RelativePath="..\..\ode\src\convex.cpp"
+ >
+ RelativePath="..\..\ode\src\cylinder.cpp"
+ >
+ RelativePath="..\..\ode\src\error.cpp"
+ >
+ RelativePath="..\..\ode\src\export-dif.cpp"
+ >
+ RelativePath="..\..\ode\src\fastdot.c"
+ >
+ RelativePath="..\..\ode\src\fastldlt.c"
+ >
+ RelativePath="..\..\ode\src\fastlsolve.c"
+ >
+ RelativePath="..\..\ode\src\fastltsolve.c"
+ >
+ RelativePath="..\..\ode\src\heightfield.cpp"
+ >
+ RelativePath="..\..\ode\src\heightfield.h"
+ >
+ RelativePath="..\..\ode\src\joint.cpp"
+ >
+ RelativePath="..\..\ode\src\joint.h"
+ >
+ RelativePath="..\..\ode\src\lcp.cpp"
+ >
+ RelativePath="..\..\ode\src\lcp.h"
+ >
+ RelativePath="..\..\ode\src\mass.cpp"
+ >
+ RelativePath="..\..\ode\src\mat.cpp"
+ >
+ RelativePath="..\..\ode\src\mat.h"
+ >
+ RelativePath="..\..\ode\src\matrix.cpp"
+ >
+ RelativePath="..\..\ode\src\memory.cpp"
+ >
+ RelativePath="..\..\ode\src\misc.cpp"
+ >
+ RelativePath="..\..\ode\src\objects.h"
+ >
+ RelativePath="..\..\ode\src\obstack.cpp"
+ >
+ RelativePath="..\..\ode\src\obstack.h"
+ >
+ RelativePath="..\..\ode\src\ode.cpp"
+ >
+ RelativePath="..\..\ode\src\odemath.cpp"
+ >
+ RelativePath="..\..\ode\src\plane.cpp"
+ >
+ RelativePath="..\..\ode\src\quickstep.cpp"
+ >
+ RelativePath="..\..\ode\src\quickstep.h"
+ >
+ RelativePath="..\..\ode\src\ray.cpp"
+ >
+ RelativePath="..\..\ode\src\rotation.cpp"
+ >
+ RelativePath="..\..\ode\src\sphere.cpp"
+ >
+ RelativePath="..\..\ode\src\stack.h"
+ >
+ RelativePath="..\..\ode\src\step.cpp"
+ >
+ RelativePath="..\..\ode\src\step.h"
+ >
+ RelativePath="..\..\ode\src\stepfast.cpp"
+ >
+ RelativePath="..\..\ode\src\testing.cpp"
+ >
+ RelativePath="..\..\ode\src\testing.h"
+ >
+ RelativePath="..\..\ode\src\timer.cpp"
+ >
+ RelativePath="..\..\ode\src\util.cpp"
+ >
+ RelativePath="..\..\ode\src\util.h"
+ >
+ RelativePath="..\..\GIMPACT\include\GIMPACT\gim_boxpruning.h"
+ >
+ RelativePath="..\..\GIMPACT\include\GIMPACT\gim_contact.h"
+ >
+ RelativePath="..\..\GIMPACT\include\GIMPACT\gim_geometry.h"
+ >
+ RelativePath="..\..\GIMPACT\include\GIMPACT\gim_math.h"
+ >
+ RelativePath="..\..\GIMPACT\include\GIMPACT\gim_memory.h"
+ >
+ RelativePath="..\..\GIMPACT\include\GIMPACT\gim_radixsort.h"
+ >
+ RelativePath="..\..\GIMPACT\include\GIMPACT\gim_tri_capsule_collision.h"
+ >
+ RelativePath="..\..\GIMPACT\include\GIMPACT\gim_tri_collision.h"
+ >
+ RelativePath="..\..\GIMPACT\include\GIMPACT\gim_tri_sphere_collision.h"
+ >
+ RelativePath="..\..\GIMPACT\include\GIMPACT\gim_trimesh.h"
+ >
+ RelativePath="..\..\GIMPACT\include\GIMPACT\gimpact.h"
+ >
+ RelativePath="..\..\GIMPACT\src\gim_boxpruning.cpp"
+ >
+ RelativePath="..\..\GIMPACT\src\gim_contact.cpp"
+ >
+ RelativePath="..\..\GIMPACT\src\gim_math.cpp"
+ >
+ RelativePath="..\..\GIMPACT\src\gim_memory.cpp"
+ >
+ RelativePath="..\..\GIMPACT\src\gim_tri_tri_overlap.cpp"
+ >
+ RelativePath="..\..\GIMPACT\src\gim_trimesh.cpp"
+ >
+ RelativePath="..\..\GIMPACT\src\gim_trimesh_capsule_collision.cpp"
+ >
+ RelativePath="..\..\GIMPACT\src\gim_trimesh_ray_collision.cpp"
+ >
+ RelativePath="..\..\GIMPACT\src\gim_trimesh_sphere_collision.cpp"
+ >
+ RelativePath="..\..\GIMPACT\src\gim_trimesh_trimesh_collision.cpp"
+ >
+ RelativePath="..\..\GIMPACT\src\gimpact.cpp"
+ >
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ RelativePath="..\..\OPCODE\Ice\IceAABB.cpp"
+ >
+ RelativePath="..\..\OPCODE\Ice\IceAABB.h"
+ >
+ RelativePath="..\..\OPCODE\Ice\IceAxes.h"
+ >
+ RelativePath="..\..\OPCODE\Ice\IceBoundingSphere.h"
+ >
+ RelativePath="..\..\OPCODE\Ice\IceContainer.cpp"
+ >
+ RelativePath="..\..\OPCODE\Ice\IceContainer.h"
+ >
+ RelativePath="..\..\OPCODE\Ice\IceFPU.h"
+ >
+ RelativePath="..\..\OPCODE\Ice\IceHPoint.cpp"
+ >
+ RelativePath="..\..\OPCODE\Ice\IceHPoint.h"
+ >
+ RelativePath="..\..\OPCODE\Ice\IceIndexedTriangle.cpp"
+ >
+ RelativePath="..\..\OPCODE\Ice\IceIndexedTriangle.h"
+ >
+ RelativePath="..\..\OPCODE\Ice\IceLSS.h"
+ >
+ RelativePath="..\..\OPCODE\Ice\IceMatrix3x3.cpp"
+ >
+ RelativePath="..\..\OPCODE\Ice\IceMatrix3x3.h"
+ >
+ RelativePath="..\..\OPCODE\Ice\IceMatrix4x4.cpp"
+ >
+ RelativePath="..\..\OPCODE\Ice\IceMatrix4x4.h"
+ >
+ RelativePath="..\..\OPCODE\Ice\IceMemoryMacros.h"
+ >
+ RelativePath="..\..\OPCODE\Ice\IceOBB.cpp"
+ >
+ RelativePath="..\..\OPCODE\Ice\IceOBB.h"
+ >
+ RelativePath="..\..\OPCODE\Ice\IcePairs.h"
+ >
+ RelativePath="..\..\OPCODE\Ice\IcePlane.cpp"
+ >
+ RelativePath="..\..\OPCODE\Ice\IcePlane.h"
+ >
+ RelativePath="..\..\OPCODE\Ice\IcePoint.cpp"
+ >
+ RelativePath="..\..\OPCODE\Ice\IcePoint.h"
+ >
+ RelativePath="..\..\OPCODE\Ice\IcePreprocessor.h"
+ >
+ RelativePath="..\..\OPCODE\Ice\IceRandom.cpp"
+ >
+ RelativePath="..\..\OPCODE\Ice\IceRandom.h"
+ >
+ RelativePath="..\..\OPCODE\Ice\IceRay.cpp"
+ >
+ RelativePath="..\..\OPCODE\Ice\IceRay.h"
+ >
+ RelativePath="..\..\OPCODE\Ice\IceRevisitedRadix.cpp"
+ >
+ RelativePath="..\..\OPCODE\Ice\IceRevisitedRadix.h"
+ >
+ RelativePath="..\..\OPCODE\Ice\IceSegment.cpp"
+ >
+ RelativePath="..\..\OPCODE\Ice\IceSegment.h"
+ >
+ RelativePath="..\..\OPCODE\Ice\IceTriangle.cpp"
+ >
+ RelativePath="..\..\OPCODE\Ice\IceTriangle.h"
+ >
+ RelativePath="..\..\OPCODE\Ice\IceTriList.h"
+ >
+ RelativePath="..\..\OPCODE\Ice\IceTypes.h"
+ >
+ RelativePath="..\..\OPCODE\Ice\IceUtils.cpp"
+ >
+ RelativePath="..\..\OPCODE\Ice\IceUtils.h"
+ >
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/libraries/ode-0.9/contrib/Ode.NET/Ode.NET.sln b/libraries/ode-0.9/contrib/Ode.NET/Ode.NET.sln
new file mode 100755
index 0000000000..ecc6d9d9d3
--- /dev/null
+++ b/libraries/ode-0.9/contrib/Ode.NET/Ode.NET.sln
@@ -0,0 +1,21 @@
+Microsoft Visual Studio Solution File, Format Version 9.00
+# Visual Studio 2005
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ode.NET", "Ode/Ode.NET.csproj", "{637D89E7-AA43-EB43-9D2C-5210B740F36B}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {637D89E7-AA43-EB43-9D2C-5210B740F36B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {637D89E7-AA43-EB43-9D2C-5210B740F36B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {637D89E7-AA43-EB43-9D2C-5210B740F36B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {637D89E7-AA43-EB43-9D2C-5210B740F36B}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/libraries/ode-0.9/opensim_build_notes.txt b/libraries/ode-0.9/opensim_build_notes.txt
new file mode 100755
index 0000000000..b5708a0b5a
--- /dev/null
+++ b/libraries/ode-0.9/opensim_build_notes.txt
@@ -0,0 +1,27 @@
+source:
+http://downloads.sourceforge.net/opende/ode-src-0.9.zip
+
+changes:
+build/vs2005/ode.sln: Configuration Properties/General/Use Of MFC = "Use MFC in a Static Library"
+changed default configuration to release
+created contrib/Ode.NET/Ode.NET.sln using premake --target vs2005
+
+build:
+
+windows:
+compiler: Visual Studio 2005 Express
+build/vs2005/ode.sln
+build all
+copy lib/releasedll/ode.dll to trunk/bin
+
+compiler: Visual Studio 2005 Express
+contrib/Ode.NET
+Ode.NET.sln
+build all
+copy Ode/obj/Release/Ode.NET.dll to trunk/bin
+
+linux:
+configure --enable-shared
+make -k
+ignore the compile errors on drawstuff
+copy libode.so to bin