diff options
author | Kitto Flora | 2010-09-06 21:45:07 +0000 |
---|---|---|
committer | Kitto Flora | 2010-09-06 21:45:07 +0000 |
commit | c719e016ed9bfbb56fd8c571b9b7b9622bcef566 (patch) | |
tree | edb19549fc6f6966ac2c56d18a3d875fc56a6281 /OpenSim/Region | |
parent | Merge branch 'careminster-presence-refactor' of ssh://3dhosting.de/var/git/ca... (diff) | |
download | opensim-SC-c719e016ed9bfbb56fd8c571b9b7b9622bcef566.zip opensim-SC-c719e016ed9bfbb56fd8c571b9b7b9622bcef566.tar.gz opensim-SC-c719e016ed9bfbb56fd8c571b9b7b9622bcef566.tar.bz2 opensim-SC-c719e016ed9bfbb56fd8c571b9b7b9622bcef566.tar.xz |
Falling animation fix, comment out instrumentation.
Diffstat (limited to '')
4 files changed, 90 insertions, 50 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs b/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs index 99d9564..9658e11 100644 --- a/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs +++ b/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs | |||
@@ -61,6 +61,8 @@ namespace OpenSim.Region.Framework.Scenes.Animation | |||
61 | public bool m_jumping = false; // Add for jumping | 61 | public bool m_jumping = false; // Add for jumping |
62 | public float m_jumpVelocity = 0f; // Add for jumping | 62 | public float m_jumpVelocity = 0f; // Add for jumping |
63 | private int m_landing = 0; // Add for jumping | 63 | private int m_landing = 0; // Add for jumping |
64 | public bool m_falling = false; // Add for falling | ||
65 | private float m_fallHeight; // Add for falling | ||
64 | 66 | ||
65 | /// <value> | 67 | /// <value> |
66 | /// The scene presence that this animator applies to | 68 | /// The scene presence that this animator applies to |
@@ -118,7 +120,9 @@ namespace OpenSim.Region.Framework.Scenes.Animation | |||
118 | 120 | ||
119 | public void ResetAnimations() | 121 | public void ResetAnimations() |
120 | { | 122 | { |
123 | Console.WriteLine("ResetA............."); | ||
121 | m_animations.Clear(); | 124 | m_animations.Clear(); |
125 | TrySetMovementAnimation("STAND"); | ||
122 | } | 126 | } |
123 | 127 | ||
124 | /// <summary> | 128 | /// <summary> |
@@ -145,7 +149,8 @@ namespace OpenSim.Region.Framework.Scenes.Animation | |||
145 | public string GetMovementAnimation() | 149 | public string GetMovementAnimation() |
146 | { | 150 | { |
147 | //Console.WriteLine("GMA-------"); //## | 151 | //Console.WriteLine("GMA-------"); //## |
148 | const float FALL_DELAY = 0.33f; | 152 | //#@ const float FALL_DELAY = 0.33f; |
153 | const float FALL_DELAY = 800f; //## mS | ||
149 | //rm for jumping const float PREJUMP_DELAY = 0.25f; | 154 | //rm for jumping const float PREJUMP_DELAY = 0.25f; |
150 | const float PREJUMP_DELAY = 200f; // mS add for jumping | 155 | const float PREJUMP_DELAY = 200f; // mS add for jumping |
151 | const float JUMP_PERIOD = 800f; // mS add for jumping | 156 | const float JUMP_PERIOD = 800f; // mS add for jumping |
@@ -191,9 +196,11 @@ namespace OpenSim.Region.Framework.Scenes.Animation | |||
191 | { | 196 | { |
192 | m_animTickFall = 0; | 197 | m_animTickFall = 0; |
193 | m_animTickJump = 0; | 198 | m_animTickJump = 0; |
194 | m_jumping = false; //add for jumping flag | 199 | m_jumping = false; //add for jumping |
195 | m_jumpVelocity = 0f; //add for jumping flag | 200 | m_falling = true; //add for falling |
201 | m_jumpVelocity = 0f; //add for jumping | ||
196 | actor.Selected = false; //add for jumping flag | 202 | actor.Selected = false; //add for jumping flag |
203 | m_fallHeight = actor.Position.Z; // save latest flying height | ||
197 | 204 | ||
198 | if (move.X != 0f || move.Y != 0f) | 205 | if (move.X != 0f || move.Y != 0f) |
199 | { | 206 | { |
@@ -205,8 +212,11 @@ namespace OpenSim.Region.Framework.Scenes.Animation | |||
205 | } | 212 | } |
206 | else if (move.Z < 0f) | 213 | else if (move.Z < 0f) |
207 | { | 214 | { |
208 | if (actor != null && actor.IsColliding) | 215 | if (actor != null && actor.IsColliding) |
216 | { //## | ||
217 | //Console.WriteLine("LAND FLYING"); // ## | ||
209 | return "LAND"; | 218 | return "LAND"; |
219 | } //# | ||
210 | else | 220 | else |
211 | return "HOVER_DOWN"; | 221 | return "HOVER_DOWN"; |
212 | } | 222 | } |
@@ -223,19 +233,25 @@ namespace OpenSim.Region.Framework.Scenes.Animation | |||
223 | // rm for jumping if (actor == null || !actor.IsColliding) | 233 | // rm for jumping if (actor == null || !actor.IsColliding) |
224 | if ((actor == null || !actor.IsColliding) && !m_jumping) // add for jumping | 234 | if ((actor == null || !actor.IsColliding) && !m_jumping) // add for jumping |
225 | { | 235 | { |
226 | //Console.WriteLine("FFL"); //## | 236 | // rm float fallElapsed = (float)(Environment.TickCount - m_animTickFall) / 1000f; |
227 | float fallElapsed = (float)(Environment.TickCount - m_animTickFall) / 1000f; | 237 | float fallElapsed = (float)(Environment.TickCount - m_animTickFall); // add, in mS |
228 | float fallVelocity = (actor != null) ? actor.Velocity.Z : 0.0f; | 238 | float fallVelocity = (actor != null) ? actor.Velocity.Z : 0.0f; |
239 | //Console.WriteLine("falling t={0} v={1}", fallElapsed, fallVelocity); //## | ||
229 | 240 | ||
230 | if (m_animTickFall == 0 || (fallElapsed > FALL_DELAY && fallVelocity >= 0.0f)) | 241 | // rm for fall if (m_animTickFall == 0 || (fallElapsed > FALL_DELAY && fallVelocity >= 0.0f)) |
242 | if (!m_jumping && (fallVelocity < -3.0f) ) m_falling = true; // add for falling and jumping | ||
243 | |||
244 | if (m_animTickFall == 0 || (fallVelocity >= 0.0f)) // add for jumping | ||
245 | // not falling yet or going up | ||
231 | { | 246 | { |
232 | // Just started falling | 247 | // reset start of fall time |
233 | m_animTickFall = Environment.TickCount; | 248 | m_animTickFall = Environment.TickCount; |
234 | } | 249 | } |
235 | // else if (!jumping && fallElapsed > FALL_DELAY) | 250 | // else if (!jumping && fallElapsed > FALL_DELAY) |
236 | else if (!m_jumping && fallElapsed > FALL_DELAY) // add for jumping | 251 | else if (!m_jumping && (fallElapsed > FALL_DELAY) && (fallVelocity < -3.0f) ) // add for falling and jumping |
237 | { | 252 | { |
238 | // Falling long enough to trigger the animation | 253 | // Falling long enough to trigger the animation |
254 | //Console.WriteLine("FALLDOWN"); //## | ||
239 | return "FALLDOWN"; | 255 | return "FALLDOWN"; |
240 | } | 256 | } |
241 | 257 | ||
@@ -247,7 +263,6 @@ namespace OpenSim.Region.Framework.Scenes.Animation | |||
247 | 263 | ||
248 | #region Jumping // section added for jumping... | 264 | #region Jumping // section added for jumping... |
249 | 265 | ||
250 | Vector3 vj = Vector3.Zero; | ||
251 | int jumptime; | 266 | int jumptime; |
252 | jumptime = Environment.TickCount - m_animTickJump; | 267 | jumptime = Environment.TickCount - m_animTickJump; |
253 | 268 | ||
@@ -258,12 +273,10 @@ namespace OpenSim.Region.Framework.Scenes.Animation | |||
258 | // Start jumping, prejump | 273 | // Start jumping, prejump |
259 | m_animTickFall = 0; | 274 | m_animTickFall = 0; |
260 | m_jumping = true; | 275 | m_jumping = true; |
276 | m_falling = false; | ||
261 | actor.Selected = true; // borrowed for jmping flag | 277 | actor.Selected = true; // borrowed for jmping flag |
262 | m_animTickJump = Environment.TickCount; | 278 | m_animTickJump = Environment.TickCount; |
263 | vj.Z = 0.35f; | 279 | m_jumpVelocity = 0.35f; |
264 | m_jumpVelocity = 0.35f; | ||
265 | vj += actor.Velocity; | ||
266 | // #@ actor.Velocity = vj; | ||
267 | return "PREJUMP"; | 280 | return "PREJUMP"; |
268 | } | 281 | } |
269 | 282 | ||
@@ -274,8 +287,9 @@ m_jumpVelocity = 0.35f; | |||
274 | //Console.WriteLine("LA {0}", jumptime); //## | 287 | //Console.WriteLine("LA {0}", jumptime); //## |
275 | // end jumping | 288 | // end jumping |
276 | m_jumping = false; | 289 | m_jumping = false; |
290 | m_falling = false; | ||
277 | actor.Selected = false; // borrowed for jumping flag | 291 | actor.Selected = false; // borrowed for jumping flag |
278 | m_jumpVelocity = 0f; | 292 | m_jumpVelocity = 0f; |
279 | m_animTickFall = Environment.TickCount; | 293 | m_animTickFall = Environment.TickCount; |
280 | return "LAND"; | 294 | return "LAND"; |
281 | } | 295 | } |
@@ -283,10 +297,7 @@ m_jumpVelocity = 0f; | |||
283 | { | 297 | { |
284 | //Console.WriteLine("JD {0}", jumptime); //## | 298 | //Console.WriteLine("JD {0}", jumptime); //## |
285 | // jump down | 299 | // jump down |
286 | vj = actor.Velocity; | 300 | m_jumpVelocity = 0f; |
287 | vj.Z = 0f; | ||
288 | m_jumpVelocity = 0f; | ||
289 | // #@ actor.Velocity = vj; | ||
290 | return "JUMP"; | 301 | return "JUMP"; |
291 | } | 302 | } |
292 | else if (jumptime > PREJUMP_DELAY) | 303 | else if (jumptime > PREJUMP_DELAY) |
@@ -294,11 +305,7 @@ m_jumpVelocity = 0f; | |||
294 | //Console.WriteLine("JU {0}", jumptime); //## | 305 | //Console.WriteLine("JU {0}", jumptime); //## |
295 | // jump up | 306 | // jump up |
296 | m_jumping = true; | 307 | m_jumping = true; |
297 | vj.Z = 10f; | 308 | m_jumpVelocity = 10f; |
298 | m_jumpVelocity = 10f; | ||
299 | vj.X = actor.Velocity.X; | ||
300 | vj.Y = actor.Velocity.Y; | ||
301 | // #@ actor.Velocity = vj; | ||
302 | return "JUMP"; | 309 | return "JUMP"; |
303 | } | 310 | } |
304 | } | 311 | } |
@@ -309,29 +316,37 @@ m_jumpVelocity = 10f; | |||
309 | 316 | ||
310 | if (m_movementAnimation == "FALLDOWN") | 317 | if (m_movementAnimation == "FALLDOWN") |
311 | { | 318 | { |
319 | m_falling = false; | ||
312 | m_animTickFall = Environment.TickCount; | 320 | m_animTickFall = Environment.TickCount; |
313 | |||
314 | // TODO: SOFT_LAND support | 321 | // TODO: SOFT_LAND support |
315 | return "LAND"; | 322 | float fallHeight = m_fallHeight - actor.Position.Z; |
323 | //Console.WriteLine("Hit from {0}", fallHeight); //## | ||
324 | if (fallHeight > 15.0f) // add for falling | ||
325 | return "STANDUP"; | ||
326 | else if (fallHeight > 8.0f) // add for falling | ||
327 | return "SOFT_LAND"; // add for falling | ||
328 | else // add for falling | ||
329 | return "LAND"; // add for falling | ||
316 | } | 330 | } |
317 | else if (m_movementAnimation == "LAND") | ||
318 | { | ||
319 | // rm jumping float landElapsed = (float)(Environment.TickCount - m_animTickFall) / 1000f; | 331 | // rm jumping float landElapsed = (float)(Environment.TickCount - m_animTickFall) / 1000f; |
320 | int landElapsed = Environment.TickCount - m_animTickFall; // add for jumping | ||
321 | // rm jumping if ((m_animTickFall != 0) && (landElapsed <= FALL_DELAY)) | 332 | // rm jumping if ((m_animTickFall != 0) && (landElapsed <= FALL_DELAY)) |
322 | /* Try change ## | 333 | // rm for landing return "LAND"; |
323 | if ((m_animTickFall != 0) && (landElapsed <= 500)) // add for jumping | 334 | else if ((m_movementAnimation == "LAND") || (m_movementAnimation == "SOFT_LAND") || (m_movementAnimation == "STANDUP")) |
324 | return "LAND"; | 335 | { |
325 | */ | 336 | int landElapsed = Environment.TickCount - m_animTickFall; // add for jumping |
326 | // NB if this is set too long a weird anim reset from some place prevents STAND from being sent to client | 337 | int limit = 1000; // add for jumping |
327 | if ((m_animTickFall != 0) && (landElapsed <= 300)) // add for jumping | 338 | if(m_movementAnimation == "LAND") limit = 350; // add for jumping |
339 | // NB if the above is set too long a weird anim reset from some place prevents STAND from being sent to client | ||
340 | |||
341 | if ((m_animTickFall != 0) && (landElapsed <= limit)) // add for jumping | ||
328 | { | 342 | { |
329 | //Console.WriteLine("LAND"); //## | 343 | //Console.WriteLine("Lelapse {0}", m_movementAnimation); //## |
330 | return "LAND"; | 344 | return m_movementAnimation; |
331 | } | 345 | } |
332 | else | 346 | else |
333 | { | 347 | { |
334 | //Console.WriteLine("STAND"); //## | 348 | //Console.WriteLine("end/STAND"); //## |
349 | m_fallHeight = actor.Position.Z; // save latest flying height | ||
335 | return "STAND"; | 350 | return "STAND"; |
336 | } | 351 | } |
337 | } | 352 | } |
@@ -369,6 +384,8 @@ m_jumpVelocity = 10f; | |||
369 | // next section moved outside paren. and realigned for jumping | 384 | // next section moved outside paren. and realigned for jumping |
370 | if (move.X != 0f || move.Y != 0f) | 385 | if (move.X != 0f || move.Y != 0f) |
371 | { | 386 | { |
387 | m_fallHeight = actor.Position.Z; // save latest flying height | ||
388 | m_falling = false; // Add for falling | ||
372 | // Walking / crouchwalking / running | 389 | // Walking / crouchwalking / running |
373 | if (move.Z < 0f) | 390 | if (move.Z < 0f) |
374 | return "CROUCHWALK"; | 391 | return "CROUCHWALK"; |
@@ -380,6 +397,7 @@ m_jumpVelocity = 10f; | |||
380 | // rm for jumping else | 397 | // rm for jumping else |
381 | else if (!m_jumping) // add for jumping | 398 | else if (!m_jumping) // add for jumping |
382 | { | 399 | { |
400 | m_falling = false; // Add for falling | ||
383 | // Not walking | 401 | // Not walking |
384 | if (move.Z < 0f) | 402 | if (move.Z < 0f) |
385 | return "CROUCH"; | 403 | return "CROUCH"; |
@@ -389,6 +407,7 @@ m_jumpVelocity = 10f; | |||
389 | // end section realign for jumping | 407 | // end section realign for jumping |
390 | #endregion Ground Movement | 408 | #endregion Ground Movement |
391 | 409 | ||
410 | m_falling = false; // Add for falling | ||
392 | return m_movementAnimation; | 411 | return m_movementAnimation; |
393 | } | 412 | } |
394 | 413 | ||
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 2ed00a0..faf6354 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -2568,9 +2568,11 @@ namespace OpenSim.Region.Framework.Scenes | |||
2568 | 2568 | ||
2569 | if (actor != null) | 2569 | if (actor != null) |
2570 | { | 2570 | { |
2571 | if (actor.Flying) | 2571 | // rm falling if (actor.Flying) |
2572 | if ((actor.Flying) || Animator.m_falling) // add for falling lateral speed | ||
2572 | { | 2573 | { |
2573 | direc *= 4.0f; | 2574 | // rm speed mod direc *= 4.0f; |
2575 | direc *= 5.2f; // for speed mod | ||
2574 | //bool controlland = (((m_AgentControlFlags & (uint)AgentManager.ControlFlags.AGENT_CONTROL_UP_NEG) != 0) || ((m_AgentControlFlags & (uint)AgentManager.ControlFlags.AGENT_CONTROL_NUDGE_UP_NEG) != 0)); | 2576 | //bool controlland = (((m_AgentControlFlags & (uint)AgentManager.ControlFlags.AGENT_CONTROL_UP_NEG) != 0) || ((m_AgentControlFlags & (uint)AgentManager.ControlFlags.AGENT_CONTROL_NUDGE_UP_NEG) != 0)); |
2575 | //bool colliding = (m_physicsActor.IsColliding==true); | 2577 | //bool colliding = (m_physicsActor.IsColliding==true); |
2576 | //if (controlland) | 2578 | //if (controlland) |
diff --git a/OpenSim/Region/Physics/ChOdePlugin/ODECharacter.cs b/OpenSim/Region/Physics/ChOdePlugin/ODECharacter.cs index 0c79aa6..ae63cfa 100644 --- a/OpenSim/Region/Physics/ChOdePlugin/ODECharacter.cs +++ b/OpenSim/Region/Physics/ChOdePlugin/ODECharacter.cs | |||
@@ -269,7 +269,10 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
269 | /// </summary> | 269 | /// </summary> |
270 | public override bool IsColliding | 270 | public override bool IsColliding |
271 | { | 271 | { |
272 | get { return m_iscolliding; } | 272 | //#@ get { return m_iscolliding; } |
273 | get { //## | ||
274 | //Console.WriteLine(">>>>>>>>>>>> IC get = {0}", m_iscolliding); //## | ||
275 | return m_iscolliding; } //## | ||
273 | set | 276 | set |
274 | { | 277 | { |
275 | int i; | 278 | int i; |
@@ -307,6 +310,7 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
307 | { | 310 | { |
308 | m_iscolliding = true; | 311 | m_iscolliding = true; |
309 | } | 312 | } |
313 | // ## Console.WriteLine("IC SET = {0} t{1} f{2} i {3}", value, truecount, falsecount, m_iscolliding); | ||
310 | if (m_wascolliding != m_iscolliding) | 314 | if (m_wascolliding != m_iscolliding) |
311 | { | 315 | { |
312 | //base.SendCollisionUpdate(new CollisionEventUpdate()); | 316 | //base.SendCollisionUpdate(new CollisionEventUpdate()); |
@@ -589,7 +593,7 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
589 | Shell = d.CreateCapsule(_parent_scene.space, CAPSULE_RADIUS, CAPSULE_LENGTH); | 593 | Shell = d.CreateCapsule(_parent_scene.space, CAPSULE_RADIUS, CAPSULE_LENGTH); |
590 | _parent_scene.geom_name_map[Shell] = m_name; | 594 | _parent_scene.geom_name_map[Shell] = m_name; |
591 | _parent_scene.actor_name_map[Shell] = (PhysicsActor)this; | 595 | _parent_scene.actor_name_map[Shell] = (PhysicsActor)this; |
592 | //Console.WriteLine("**** Create {2} Dicts: actor={0} name={1}", _parent_scene.actor_name_map.Count, _parent_scene.geom_name_map.Count, m_name); | 596 | Console.WriteLine("**** Create {2} Dicts: actor={0} name={1} height={3} rad={4}", _parent_scene.actor_name_map.Count, _parent_scene.geom_name_map.Count, m_name, CAPSULE_LENGTH, CAPSULE_RADIUS); |
593 | 597 | ||
594 | d.GeomSetCategoryBits(Shell, (int)m_collisionCategories); | 598 | d.GeomSetCategoryBits(Shell, (int)m_collisionCategories); |
595 | d.GeomSetCollideBits(Shell, (int)m_collisionFlags); | 599 | d.GeomSetCollideBits(Shell, (int)m_collisionFlags); |
@@ -857,7 +861,9 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
857 | { | 861 | { |
858 | m_pidControllerActive = false; | 862 | m_pidControllerActive = false; |
859 | force *= 100f; | 863 | force *= 100f; |
860 | doForce(force); | 864 | //Console.WriteLine("DF 1"); // ## |
865 | if (!force.ApproxEquals(Vector3.Zero, 0.01f)) | ||
866 | doForce(force); | ||
861 | // If uncommented, things get pushed off world | 867 | // If uncommented, things get pushed off world |
862 | // | 868 | // |
863 | // m_log.Debug("Push!"); | 869 | // m_log.Debug("Push!"); |
@@ -896,7 +902,8 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
896 | d.BodyAddForce(Body, force.X, force.Y, force.Z); | 902 | d.BodyAddForce(Body, force.X, force.Y, force.Z); |
897 | //d.BodySetRotation(Body, ref m_StandUpRotation); | 903 | //d.BodySetRotation(Body, ref m_StandUpRotation); |
898 | //standupStraight(); | 904 | //standupStraight(); |
899 | 905 | d.Vector3 vel = d.BodyGetLinearVel(Body); //## | |
906 | //Console.WriteLine("AvVel <{0},{1},{2}>", vel.X, vel.Y, vel.Z); //## | ||
900 | } | 907 | } |
901 | } | 908 | } |
902 | 909 | ||
@@ -1103,12 +1110,14 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
1103 | } | 1110 | } |
1104 | if (vec.IsFinite()) | 1111 | if (vec.IsFinite()) |
1105 | { | 1112 | { |
1106 | if (!vec.ApproxEquals(Vector3.Zero, 0.01f)) | 1113 | if (!vec.ApproxEquals(Vector3.Zero, 0.02f)) // 0.01 allows 0.002 !! |
1107 | { | 1114 | { |
1115 | //Console.WriteLine("DF 2"); // ## | ||
1116 | |||
1108 | doForce(vec); | 1117 | doForce(vec); |
1109 | if (!_zeroFlag) | 1118 | if (!_zeroFlag) |
1110 | { | 1119 | { |
1111 | AlignAvatarTiltWithCurrentDirectionOfMovement(vec); | 1120 | // AlignAvatarTiltWithCurrentDirectionOfMovement(vec); |
1112 | } | 1121 | } |
1113 | } | 1122 | } |
1114 | } | 1123 | } |
diff --git a/OpenSim/Region/Physics/ChOdePlugin/OdePlugin.cs b/OpenSim/Region/Physics/ChOdePlugin/OdePlugin.cs index ab084fd..86f9893 100644 --- a/OpenSim/Region/Physics/ChOdePlugin/OdePlugin.cs +++ b/OpenSim/Region/Physics/ChOdePlugin/OdePlugin.cs | |||
@@ -713,7 +713,7 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
713 | 713 | ||
714 | // Test if we're colliding a geom with a space. | 714 | // Test if we're colliding a geom with a space. |
715 | // If so we have to drill down into the space recursively | 715 | // If so we have to drill down into the space recursively |
716 | 716 | //Console.WriteLine("near -----------"); //## | |
717 | if (d.GeomIsSpace(g1) || d.GeomIsSpace(g2)) | 717 | if (d.GeomIsSpace(g1) || d.GeomIsSpace(g2)) |
718 | { | 718 | { |
719 | if (g1 == IntPtr.Zero || g2 == IntPtr.Zero) | 719 | if (g1 == IntPtr.Zero || g2 == IntPtr.Zero) |
@@ -844,11 +844,21 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
844 | // Testing if the collision is at the feet of the avatar | 844 | // Testing if the collision is at the feet of the avatar |
845 | 845 | ||
846 | //m_log.DebugFormat("[PHYSICS]: {0} - {1} - {2} - {3}", curContact.pos.Z, p2.Position.Z, (p2.Position.Z - curContact.pos.Z), (p2.Size.Z * 0.6f)); | 846 | //m_log.DebugFormat("[PHYSICS]: {0} - {1} - {2} - {3}", curContact.pos.Z, p2.Position.Z, (p2.Position.Z - curContact.pos.Z), (p2.Size.Z * 0.6f)); |
847 | if ((p2.Position.Z - curContact.pos.Z) > (p2.Size.Z * 0.6f)) | 847 | //#@ if ((p2.Position.Z - curContact.pos.Z) > (p2.Size.Z * 0.6f)) |
848 | p2.IsColliding = true; | 848 | //#@ p2.IsColliding = true; |
849 | } | 849 | if ((p2.Position.Z - curContact.pos.Z) > (p2.Size.Z * 0.6f)){ //## |
850 | //Console.WriteLine("AvColl 1 {0} - {1} - {2} - {3}", //## | ||
851 | // curContact.pos.Z, p2.Position.Z, (p2.Position.Z - curContact.pos.Z), (p2.Size.Z * 0.6f)); //## | ||
852 | p2.IsColliding = true; //## | ||
853 | }else{ | ||
854 | //Console.WriteLine("AvColl 2 {0} - {1} - {2} - {3}", //## | ||
855 | // curContact.pos.Z, p2.Position.Z, (p2.Position.Z - curContact.pos.Z), (p2.Size.Z * 0.6f)); //## | ||
856 | |||
857 | } //## | ||
858 | } | ||
850 | else | 859 | else |
851 | { | 860 | { |
861 | //Console.WriteLine("AvColl 3 {0}", p2.PhysicsActorType); //## | ||
852 | p2.IsColliding = true; | 862 | p2.IsColliding = true; |
853 | } | 863 | } |
854 | 864 | ||