Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 10599 in orxonox.OLD for branches/cleanup/src/lib/collision_reaction


Ignore:
Timestamp:
Feb 24, 2007, 12:25:48 PM (17 years ago)
Author:
bottac
Message:

1st part of the collision bug fix.

BTW, if shouldn't have amarok (what a pity), try to
suspend/'wake up' orxonox (CTRL-Z / fg). ;-)

Location:
branches/cleanup/src/lib/collision_reaction
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/cleanup/src/lib/collision_reaction/cr_engine.h

    r10013 r10599  
    6262      CR_COLLISION_TYPE_AXIS_Z,            //!< collision on z axis
    6363      CR_COLLISION_TYPE_AXIS_Z_NEG,        //!< collision on negative z axis
     64      CR_COLLISION_TYPE_WAY,               //!< collision on the way from last to current position
    6465      CR_COLLISION_TYPE_OBB,               //!< object aligned bounding box collide
    6566
  • branches/cleanup/src/lib/collision_reaction/cr_physics_full_walk.cc

    r10013 r10599  
    163163
    164164
     165 case CoRe::CREngine::CR_COLLISION_TYPE_WAY:
     166          // calulate the height above ground
     167          height = collPos.len() - box->halfLength[1];
     168
     169
     170          // object is beneath the plane (ground)
     171          //         if(height >= 0.0f && height <= 0.0001f) break ;// Do nothing
     172          if( height < 0.0f  )
     173          {
     174            entity->shiftCoor(Vector(0.0f, -height + 0.5f, 0.0f));
     175            entity->setOnGround(true);
     176          }
     177          // object is already in the wall
     178          else if( ce->isInWall())
     179          {
     180            entity->setAbsCoor(entity->getLastAbsCoor());
     181            PRINTF(0)("ground collision: reset pos\n");
     182          }
     183          else
     184          {
     185            // entity is not on ground
     186            entity->setOnGround(false);
     187          }
     188          break;
     189
     190
    165191          /* collision in the Z-AXIS */
    166192        case CoRe::CREngine::CR_COLLISION_TYPE_AXIS_Z:
Note: See TracChangeset for help on using the changeset viewer.