Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Dec 13, 2008, 2:55:13 PM (15 years ago)
Author:
landauf
Message:
  • deatheffect (explosion) of Pawns works on client and server (creator of the effects can't be the Pawn itself because it will be destroyed on the client before synchronizing the effects)
  • fixed a small initialization error in Shader
  • fixed a bug in the resynchronization of already deleted MovableEntities
  • ExplosionChunk only recalculates it's velocity on the Master
File:
1 edited

Legend:

Unmodified
Added
Removed
  • code/branches/objecthierarchy2/src/network/Synchronisable.cc

    r2171 r2422  
    8585    for(it = ObjectList<Synchronisable>::begin(); it!=ObjectList<Synchronisable>::end(); ++it){
    8686      if( it->getObjectID()==this->objectID )
    87         assert(*it==this || (it->objectID==OBJECTID_UNKNOWN && it->objectMode_==0x0));
     87        if(!(*it==this || (it->objectID==OBJECTID_UNKNOWN && it->objectMode_==0x0)))
     88        {
     89            COUT(1) << "Assertion failed: *it==this || (it->objectID==OBJECTID_UNKNOWN && it->objectMode_==0x0)" << std::endl;
     90            COUT(1) << "Possible reason for this error: Client created a synchronized object without the Server's approval." << std::endl;
     91            abort();
     92        }
    8893    }
    8994#endif
     
    177182
    178183    Identifier* id = ClassByID(header->classID);
     184    if (!id)
     185    {
     186        COUT(1) << "Assertion failed: id" << std::endl;
     187        COUT(1) << "Possible reason for this error: Client received a synchronizable object whose class has no factory." << std::endl;
     188        abort();
     189    }
    179190    assert(id);
    180191    BaseObject* creator = 0;
Note: See TracChangeset for help on using the changeset viewer.