Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Apr 28, 2011, 7:15:14 AM (14 years ago)
Author:
rgrieder
Message:

Merged kicklib2 branch back to trunk (includes former branches ois_update, mac_osx and kicklib).

Notes for updating

Linux:
You don't need an extra package for CEGUILua and Tolua, it's already shipped with CEGUI.
However you do need to make sure that the OgreRenderer is installed too with CEGUI 0.7 (may be a separate package).
Also, Orxonox now recognises if you install the CgProgramManager (a separate package available on newer Ubuntu on Debian systems).

Windows:
Download the new dependency packages versioned 6.0 and use these. If you have problems with that or if you don't like the in game console problem mentioned below, you can download the new 4.3 version of the packages (only available for Visual Studio 2005/2008).

Key new features:

  • *Support for Mac OS X*
  • Visual Studio 2010 support
  • Bullet library update to 2.77
  • OIS library update to 1.3
  • Support for CEGUI 0.7 —> Support for Arch Linux and even SuSE
  • Improved install target
  • Compiles now with GCC 4.6
  • Ogre Cg Shader plugin activated for Linux if available
  • And of course lots of bug fixes

There are also some regressions:

  • No support for CEGUI 0.5, Ogre 1.4 and boost 1.35 - 1.39 any more
  • In game console is not working in main menu for CEGUI 0.7
  • Tolua (just the C lib, not the application) and CEGUILua libraries are no longer in our repository. —> You will need to get these as well when compiling Orxonox
  • And of course lots of new bugs we don't yet know about
File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/trunk/src/external/bullet/LinearMath/btTransformUtil.h

    r5781 r8351  
    2222
    2323
    24 #define SIMDSQRT12 btScalar(0.7071067811865475244008443621048490)
    25 
    26 #define btRecipSqrt(x) ((btScalar)(btScalar(1.0)/btSqrt(btScalar(x))))          /* reciprocal square root */
    2724
    2825SIMD_FORCE_INLINE btVector3 btAabbSupport(const btVector3& halfExtents,const btVector3& supportDir)
     
    3431
    3532
    36 SIMD_FORCE_INLINE void btPlaneSpace1 (const btVector3& n, btVector3& p, btVector3& q)
    37 {
    38   if (btFabs(n.z()) > SIMDSQRT12) {
    39     // choose p in y-z plane
    40     btScalar a = n[1]*n[1] + n[2]*n[2];
    41     btScalar k = btRecipSqrt (a);
    42     p.setValue(0,-n[2]*k,n[1]*k);
    43     // set q = n x p
    44     q.setValue(a*k,-n[0]*p[2],n[0]*p[1]);
    45   }
    46   else {
    47     // choose p in x-y plane
    48     btScalar a = n.x()*n.x() + n.y()*n.y();
    49     btScalar k = btRecipSqrt (a);
    50     p.setValue(-n.y()*k,n.x()*k,0);
    51     // set q = n x p
    52     q.setValue(-n.z()*p.y(),n.z()*p.x(),a*k);
    53   }
    54 }
     33
    5534
    5635
     
    11897        static void calculateDiffAxisAngleQuaternion(const btQuaternion& orn0,const btQuaternion& orn1a,btVector3& axis,btScalar& angle)
    11998        {
    120                 btQuaternion orn1 = orn0.farthest(orn1a);
     99                btQuaternion orn1 = orn0.nearest(orn1a);
    121100                btQuaternion dorn = orn1 * orn0.inverse();
    122                 ///floating point inaccuracy can lead to w component > 1..., which breaks
    123                 dorn.normalize();
    124101                angle = dorn.getAngle();
    125102                axis = btVector3(dorn.x(),dorn.y(),dorn.z());
     
    210187                        btScalar maxAngularProjectedVelocity = angVelA.length() * m_boundingRadiusA + angVelB.length() * m_boundingRadiusB;
    211188                        btVector3 relLinVel = (linVelB-linVelA);
    212                         btScalar relLinVelocLength = (linVelB-linVelA).dot(m_separatingNormal);
     189                        btScalar relLinVelocLength = relLinVel.dot(m_separatingNormal);
    213190                        if (relLinVelocLength<0.f)
    214191                        {
     
    228205        void    initSeparatingDistance(const btVector3& separatingVector,btScalar separatingDistance,const btTransform& transA,const btTransform& transB)
    229206        {
    230                 m_separatingNormal = separatingVector;
    231207                m_separatingDistance = separatingDistance;
    232                
    233                 const btVector3& toPosA = transA.getOrigin();
    234                 const btVector3& toPosB = transB.getOrigin();
    235                 btQuaternion toOrnA = transA.getRotation();
    236                 btQuaternion toOrnB = transB.getRotation();
    237                 m_posA = toPosA;
    238                 m_posB = toPosB;
    239                 m_ornA = toOrnA;
    240                 m_ornB = toOrnB;
     208
     209                if (m_separatingDistance>0.f)
     210                {
     211                        m_separatingNormal = separatingVector;
     212                       
     213                        const btVector3& toPosA = transA.getOrigin();
     214                        const btVector3& toPosB = transB.getOrigin();
     215                        btQuaternion toOrnA = transA.getRotation();
     216                        btQuaternion toOrnB = transB.getRotation();
     217                        m_posA = toPosA;
     218                        m_posB = toPosB;
     219                        m_ornA = toOrnA;
     220                        m_ornB = toOrnB;
     221                }
    241222        }
    242223
Note: See TracChangeset for help on using the changeset viewer.