rendered paste bodyIndex: OpenSim.sln
===================================================================
--- OpenSim.sln (revision 762)
+++ OpenSim.sln (working copy)
@@ -1,5 +1,5 @@
Microsoft Visual Studio Solution File, Format Version 9.00
-# Visual Studio 2005
+# Visual C# Express 2005
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenSim.Terrain.BasicTerrain", "OpenSim.Terrain.BasicTerrain\OpenSim.Terrain.BasicTerrain.csproj", "{2270B8FE-0000-0000-0000-000000000000}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "OpenSim.Storage.LocalStorageBerkeleyDB", "OpenSim.Storage\LocalStorageBerkeleyDB\OpenSim.Storage.LocalStorageBerkeleyDB.csproj", "{EE9E5D96-0000-0000-0000-000000000000}"
Index: OpenSim.Physics/OdePlugin/OdePlugin.cs
===================================================================
--- OpenSim.Physics/OdePlugin/OdePlugin.cs (revision 762)
+++ OpenSim.Physics/OdePlugin/OdePlugin.cs (working copy)
@@ -182,7 +182,11 @@
{
for (int i = 0; i < 65536; i++)
{
- this._heightmap[i] = (double)heightMap[i];
+ // this._heightmap[i] = (double)heightMap[i];
+ // dbm (danx0r) -- heightmap x,y must be swapped for Ode (should fix ODE, but for now...)
+ int x = i & 0xff;
+ int y = i >> 8;
+ this._heightmap[i] = (double)heightMap[x * 256 + y];
}
IntPtr HeightmapData = d.GeomHeightfieldDataCreate();
d.GeomHeightfieldDataBuildDouble(HeightmapData, _heightmap, 0, 256, 256, 256, 256, 1.0f, 0.0f, 2.0f, 0);
@@ -335,7 +339,7 @@
d.Vector3 vec = d.BodyGetPosition(BoundingCapsule);
this._position.X = vec.X;
this._position.Y = vec.Y;
- this._position.Z = vec.Z;
+ this._position.Z = vec.Z+1.0f;
}
}