Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Apr 28, 2011, 7:15:14 AM (13 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/BulletCollision/CollisionDispatch/btSimulationIslandManager.cpp

    r5781 r8351  
     1
    12/*
    23Bullet Continuous Collision Detection and Physics Library
     
    4546       
    4647        {
     48                btOverlappingPairCache* pairCachePtr = colWorld->getPairCache();
     49                const int numOverlappingPairs = pairCachePtr->getNumOverlappingPairs();
     50                btBroadphasePair* pairPtr = pairCachePtr->getOverlappingPairArrayPtr();
    4751               
    48                 for (int i=0;i<colWorld->getPairCache()->getNumOverlappingPairs();i++)
    49                 {
    50                         btBroadphasePair* pairPtr = colWorld->getPairCache()->getOverlappingPairArrayPtr();
     52                for (int i=0;i<numOverlappingPairs;i++)
     53                {
    5154                        const btBroadphasePair& collisionPair = pairPtr[i];
    5255                        btCollisionObject* colObj0 = (btCollisionObject*)collisionPair.m_pProxy0->m_clientObject;
     
    6467}
    6568
    66 
     69#ifdef STATIC_SIMULATION_ISLAND_OPTIMIZATION
     70void   btSimulationIslandManager::updateActivationState(btCollisionWorld* colWorld,btDispatcher* dispatcher)
     71{
     72
     73        // put the index into m_controllers into m_tag   
     74        int index = 0;
     75        {
     76
     77                int i;
     78                for (i=0;i<colWorld->getCollisionObjectArray().size(); i++)
     79                {
     80                        btCollisionObject*   collisionObject= colWorld->getCollisionObjectArray()[i];
     81                        //Adding filtering here
     82                        if (!collisionObject->isStaticOrKinematicObject())
     83                        {
     84                                collisionObject->setIslandTag(index++);
     85                        }
     86                        collisionObject->setCompanionId(-1);
     87                        collisionObject->setHitFraction(btScalar(1.));
     88                }
     89        }
     90        // do the union find
     91
     92        initUnionFind( index );
     93
     94        findUnions(dispatcher,colWorld);
     95}
     96
     97void   btSimulationIslandManager::storeIslandActivationState(btCollisionWorld* colWorld)
     98{
     99        // put the islandId ('find' value) into m_tag   
     100        {
     101                int index = 0;
     102                int i;
     103                for (i=0;i<colWorld->getCollisionObjectArray().size();i++)
     104                {
     105                        btCollisionObject* collisionObject= colWorld->getCollisionObjectArray()[i];
     106                        if (!collisionObject->isStaticOrKinematicObject())
     107                        {
     108                                collisionObject->setIslandTag( m_unionFind.find(index) );
     109                                //Set the correct object offset in Collision Object Array
     110                                m_unionFind.getElement(index).m_sz = i;
     111                                collisionObject->setCompanionId(-1);
     112                                index++;
     113                        } else
     114                        {
     115                                collisionObject->setIslandTag(-1);
     116                                collisionObject->setCompanionId(-2);
     117                        }
     118                }
     119        }
     120}
     121
     122
     123#else //STATIC_SIMULATION_ISLAND_OPTIMIZATION
    67124void    btSimulationIslandManager::updateActivationState(btCollisionWorld* colWorld,btDispatcher* dispatcher)
    68125{
    69        
     126
    70127        initUnionFind( int (colWorld->getCollisionObjectArray().size()));
    71        
     128
    72129        // put the index into m_controllers into m_tag 
    73130        {
    74                
     131
    75132                int index = 0;
    76133                int i;
     
    82139                        collisionObject->setHitFraction(btScalar(1.));
    83140                        index++;
    84                        
     141
    85142                }
    86143        }
    87144        // do the union find
    88        
     145
    89146        findUnions(dispatcher,colWorld);
    90        
    91 
    92        
    93 }
    94 
    95 
    96 
     147}
    97148
    98149void    btSimulationIslandManager::storeIslandActivationState(btCollisionWorld* colWorld)
     
    100151        // put the islandId ('find' value) into m_tag   
    101152        {
    102                
    103                
     153
     154
    104155                int index = 0;
    105156                int i;
     
    120171        }
    121172}
     173
     174#endif //STATIC_SIMULATION_ISLAND_OPTIMIZATION
    122175
    123176inline  int     getIslandId(const btPersistentManifold* lhs)
Note: See TracChangeset for help on using the changeset viewer.