Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 10114 in orxonox.OLD for trunk/src/lib/network


Ignore:
Timestamp:
Dec 19, 2006, 11:55:26 PM (18 years ago)
Author:
patrick
Message:

merged network back to trunk

Location:
trunk/src/lib/network
Files:
9 edited
4 copied

Legend:

Unmodified
Added
Removed
  • trunk/src/lib/network/Makefile.am

    r9656 r10114  
    4343                      synchronizeable_var/synchronizeable_uint.cc \
    4444                      synchronizeable_var/synchronizeable_ip.cc \
     45                      synchronizeable_var/synchronizeable_classid.cc \
     46                      synchronizeable_var/synchronizeable_classid_list.cc \
    4547                      \
    4648                      ip.cc
     
    9496                synchronizeable_var/synchronizeable_uint.h \
    9597                synchronizeable_var/synchronizeable_ip.h \
     98                synchronizeable_var/synchronizeable_classid.h \
     99                synchronizeable_var/synchronizeable_classid_list.h \
    96100                \
    97101                ip.h
  • trunk/src/lib/network/handshake.cc

    r9869 r10114  
    2222#include "debug.h"
    2323
     24#include "synchronizeable_var/synchronizeable_classid_list.h"
     25
     26std::map< std::string, int >* Handshake::classIdList = NULL;
    2427
    2528ObjectListDefinition(Handshake);
     
    3235  this->registerObject(this, Handshake::_objectList);
    3336
     37  if ( !Handshake::classIdList )
     38  {
     39    //TODO who else?
     40    if ( SharedNetworkData::getInstance()->isMasterServer() )
     41    {
     42      Handshake::classIdList = ObjectListBase::createStrToId();
     43    }
     44    else
     45    {
     46      Handshake::classIdList = new std::map< std::string, int >();
     47    }
     48  }
    3449
    3550  // register all variable handlers
     
    5267  registerVar( new SynchronizeableIP( &this->proxy2, &this->proxy2, "proxy server 2", PERMISSION_MASTER_SERVER ) );
    5368  registerVar( new SynchronizeableInt( &this->redirectProxy, &this->redirectProxy, "proxy server redirection flag", PERMISSION_MASTER_SERVER ) );
     69 
     70  registerVar( new SynchronizeableClassIDList( Handshake::classIdList, Handshake::classIdList, "classId List", PERMISSION_MASTER_SERVER ) );
    5471
    5572
  • trunk/src/lib/network/handshake.h

    r9869 r10114  
    113113    int                errorString_handler;                   //!< handshake error string handler
    114114    int                candel_id;                             //!< handshake deletion handler
    115     int                nodeType;                              //!, the type of the network node
     115    int                nodeType;                              //!< the type of the network node
    116116
    117117    int                redirectProxy;                         //!< true if the client should reconnect to a proxy server
    118118    IP                 proxy1;                               //!< ip address of the first proxy (0.0.0.0 of not available)
    119119    IP                 proxy2;                               //!< ip address of the second proxy (0.0.0.0 of not available)
     120   
     121    static std::map< std::string, int >* classIdList;
     122  public:
     123    std::map< std::string, int >* getClassIdList(){ return classIdList; }
    120124};
    121125
  • trunk/src/lib/network/message_manager.cc

    r9869 r10114  
    242242    assert( i + messageLength <= length );
    243243    // make sure there is a message handler for this message type
     244    //if ( !( messageHandlerMap.find( (MessageType)messageType ) != messageHandlerMap.end()) )
     245    //{
     246//          PRINTF(0)("messagetype: %d\n", messageType);
     247//          this->objectList().debugAll( 0 );
     248//    }
     249   
    244250    assert( messageHandlerMap.find( (MessageType)messageType ) != messageHandlerMap.end());
    245251
  • trunk/src/lib/network/network_game_manager.cc

    r9869 r10114  
    111111  playable.loadMD2Texture( playableTexture );
    112112  playable.setTeam(team);
    113   playable.loadModel( playableModel, 100.0f );
     113  playable.loadModel( playableModel, playableScale );
    114114  playable.setOwner( userId );
    115115  playable.setUniqueID( SharedNetworkData::getInstance()->getNewUniqueID() );
  • trunk/src/lib/network/network_stream.cc

    r9869 r10114  
    128128
    129129  this->bRedirect = false;
     130  this->bSoftRedirect = false;
    130131
    131132  this->currentState = 0;
     
    716717              // init the new message manager
    717718              MessageManager::getInstance()->setUniqueID( it->second.handshake->getMessageManagerId() );
     719              ObjectListBase::replaceIDMap( *(it->second.handshake->getClassIdList()) );
    718720            }
    719721
     
    966968
    967969      // if handshake not finished only sync handshake
    968       if ( peer->second.handshake && Handshake::staticClassID() != sync.getLeafClassID())
     970      if ( peer->second.handshake && Handshake::staticClassID() != sync.getClassID() )
    969971        continue;
    970972
     
    972974      if ( ( SharedNetworkData::getInstance()->isMasterServer() ||
    973975             SharedNetworkData::getInstance()->isProxyServerActive() &&  peer->second.isClient())
    974              && Handshake::staticClassID() == sync.getLeafClassID() && sync.getUniqueID() != peer->second.userId )
     976             && Handshake::staticClassID() == sync.getClassID() && sync.getUniqueID() != peer->second.userId )
    975977        continue;
    976978
    977979      /* list of synchronizeables that will never be synchronized over the network: */
    978980      // do not sync null parent
    979       if ( NullParent::staticClassID() == sync.getLeafClassID())
     981      if ( NullParent::staticClassID() == sync.getClassID())
    980982        continue;
    981983
    982984
    983       assert( sync.getLeafClassID() != 0);
     985      assert( sync.getClassID() != 0);
    984986
    985987      assert( offset + INTSIZE <= UDP_PACKET_SIZE );
     
    11881190          if( NullParent::staticClassID() == leafClassId || Synchronizeable::staticClassID() == leafClassId || NetworkGameManager::staticClassID() == leafClassId)
    11891191          {
    1190             PRINTF(1)("Don't create Object with ID %x, ignored!\n", (int)leafClassId);
     1192            PRINTF(0)("Don't create Object with ID %d, ignored!\n", (int)leafClassId);
    11911193            offset += syncDataLength;
    11921194            continue;
    11931195          }
    11941196          else
    1195             ; /// FIXME CLASS_ID :: b = Factory::fabricate( leafClassId );
    1196 
     1197                  b = Factory::fabricate( ObjectListBase::retrieveIdentity( leafClassId ) );
     1198         
    11971199          if ( !b )
    11981200          {
    1199             PRINTF(1)("Could not fabricate Object with classID %x\n", leafClassId);
     1201            PRINTF(1)("Could not fabricate Object with classID %d\n", leafClassId);
    12001202            offset += syncDataLength;
    12011203            continue;
     
    12081210            sync->setSynchronized(true);
    12091211
    1210             PRINTF(0)("Fabricated %s with id %d\n", sync->getClassCName(), sync->getUniqueID());
     1212            PRINTF(1)("Fabricated %s with id %d\n", sync->getClassCName(), sync->getUniqueID());
    12111213          }
    12121214          else
    12131215          {
    1214             PRINTF(1)("Class with ID %x is not a synchronizeable!\n", (int)leafClassId);
     1216            PRINTF(1)("Class with ID %d is not a synchronizeable!\n", (int)leafClassId);
    12151217            delete b;
    12161218            offset += syncDataLength;
  • trunk/src/lib/network/peer_info.h

    r9656 r10114  
    3636    int                 userId;                  //!< id of this network node
    3737    int                 nodeType;                //!< type of this network node
    38     IP                  ip;                      //!> the ip address of this network node
     38    IP                  ip;                      //!< the ip address of this network node
    3939
    4040    NetworkSocket *     socket;                  //!< socket connecting to this node
  • trunk/src/lib/network/player_stats.cc

    r9869 r10114  
    3030#include "shell_command.h"
    3131
    32 #include "class_id_DEPRECATED.h"
    33 
    34 ObjectListDefinitionID(PlayerStats, CL_PLAYER_STATS);
     32
     33
     34ObjectListDefinition(PlayerStats);
    3535CREATE_FACTORY(PlayerStats);
    3636
  • trunk/src/lib/network/synchronizeable.cc

    r9869 r10114  
    3030
    3131#include "converter.h"
     32
     33#include "synchronizeable_var/synchronizeable_classid.h"
    3234
    3335
     
    5658  /* make sure loadClassId is first synced var because this is read by networkStream */
    5759  assert( syncVarList.size() == 0 );
    58   mLeafClassId = this->registerVarId( new SynchronizeableInt( (int*)&this->getLeafClassID(), (int*)&this->getLeafClassID(), "leafClassId", PERMISSION_MASTER_SERVER) );
     60  assert( this->getClassID() == this->objectList().id() );
     61 
     62  mLeafClassId = this->registerVarId( new SynchronizeableClassID( this, "leafClassId", PERMISSION_MASTER_SERVER) );
    5963
    6064  this->registerVar( new SynchronizeableInt( &this->owner, &this->owner, "owner", PERMISSION_MASTER_SERVER ) );
     
    267271//       PRINTF(0)("sending %s %d\n", (*it)->getName().c_str(), n);
    268272
    269 //       if( this->isA(CL_PLAYABLE))
     273//       if( this->isA( Playable::staticClassID() ))
    270274//       {
    271275//         PRINTF(0)("ms: %i, ps: %i, c: %i, sender: %i, reciever: %i, owner: %i, perm: (ow %i, ms %i, s %i, a %i)\n",
     
    453457      //(*it)->debug();
    454458
    455 //       if( this->isA(CL_PLAYABLE))
     459//       if( this->isA(Playable::staticClassID()))
    456460//       {
    457461//         PRINTF(0)("ms: %i, ps: %i, c: %i, sender: %i, reciever: %i, owner: %i, perm: (ow %i, ms %i, s %i, a %i)\n",
Note: See TracChangeset for help on using the changeset viewer.