Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 6331 in orxonox.OLD for branches/network/src/world_entities


Ignore:
Timestamp:
Dec 29, 2005, 5:37:00 PM (18 years ago)
Author:
rennerc
Message:

synchronizeable: writeBytes now returns int
converter: converts now 0.0f without endless loop :D

Location:
branches/network/src/world_entities
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • branches/network/src/world_entities/skybox.cc

    r6328 r6331  
    220220}
    221221
    222 void SkyBox::writeBytes( const byte * data, int length, int sender )
     222int SkyBox::writeBytes( const byte * data, int length, int sender )
    223223{
    224224  setRequestedSync( false );
     
    226226
    227227  SYNCHELP_READ_BEGIN();
     228
     229  SYNCHELP_READ_FKT( WorldEntity::writeState );
     230
    228231  SYNCHELP_READ_FLOAT( size );
    229232  if ( textureName )
     
    239242  this->setTextureAndType( textureName, "jpg" );
    240243  this->rebuild();
     244
     245  return SYNCHELP_READ_N;
    241246}
    242247
     
    258263
    259264    SYNCHELP_WRITE_BEGIN();
     265
     266    SYNCHELP_WRITE_FKT( WorldEntity::readState );
     267
    260268    SYNCHELP_WRITE_FLOAT(this->size);
    261269    SYNCHELP_WRITE_STRING(this->textureName);
  • branches/network/src/world_entities/skybox.h

    r6328 r6331  
    4141                   const char* right, const char* front, const char* back);
    4242
    43   virtual void      writeBytes(const byte* data, int length, int sender);
     43  virtual int       writeBytes(const byte* data, int length, int sender);
    4444  virtual int       readBytes(byte* data, int maxLength, int * reciever);
    4545  virtual void      writeDebug() const;
  • branches/network/src/world_entities/terrain.cc

    r6291 r6331  
    319319}
    320320
    321 void Terrain::writeBytes( const byte * data, int length, int sender )
     321int Terrain::writeBytes( const byte * data, int length, int sender )
    322322{
    323323  setRequestedSync( false );
    324324  setIsOutOfSync( false );
    325325
    326   WorldEntity::writeState(data, length, sender);
     326  SYNCHELP_READ_BEGIN();
     327  SYNCHELP_READ_FKT( WorldEntity::writeState );
     328
     329  return SYNCHELP_READ_N;
    327330}
    328331
  • branches/network/src/world_entities/terrain.h

    r6277 r6331  
    3030  virtual ~Terrain();
    3131
    32   virtual void      writeBytes(const byte* data, int length, int sender);
     32  virtual int       writeBytes(const byte* data, int length, int sender);
    3333  virtual int       readBytes(byte* data, int maxLength, int * reciever);
    3434  virtual void      writeDebug() const;
  • branches/network/src/world_entities/weapons/ground_turret.cc

    r6142 r6331  
    1919
    2020#include "factory.h"
     21#include "network_game_manager.h"
    2122#include "load_param.h"
    2223
     
    168169
    169170}
     171
     172/**
     173 * Writes data from network containing information about the state
     174 * @param data pointer to data
     175 * @param length length of data
     176 * @param sender hostID of sender
     177 */
     178int GroundTurret::writeBytes( const byte * data, int length, int sender )
     179{
     180  setRequestedSync( false );
     181  setIsOutOfSync( false );
     182
     183  SYNCHELP_READ_BEGIN();
     184
     185  SYNCHELP_READ_FKT( WorldEntity::writeState );
     186
     187  return SYNCHELP_READ_N;
     188}
     189
     190/**
     191 * data copied in data will bee sent to another host
     192 * @param data pointer to data
     193 * @param maxLength max length of data
     194 * @return the number of bytes writen
     195 */
     196int GroundTurret::readBytes( byte * data, int maxLength, int * reciever )
     197{
     198  SYNCHELP_WRITE_BEGIN();
     199
     200  if ( isOutOfSync() && !requestedSync() && this->getHostID()!=this->getOwner() )
     201  {
     202    (NetworkGameManager::getInstance())->sync( this->getUniqueID(), this->getOwner() );
     203    setRequestedSync( true );
     204  }
     205
     206  int rec = this->getRequestSync();
     207  if ( rec > 0 )
     208  {
     209    *reciever = rec;
     210
     211    SYNCHELP_WRITE_FKT( WorldEntity::readState );
     212
     213  }
     214
     215  *reciever = 0;
     216  return SYNCHELP_WRITE_N;
     217}
  • branches/network/src/world_entities/weapons/ground_turret.h

    r5819 r6331  
    3030  virtual void collidesWith (WorldEntity* entity, const Vector& location);
    3131
     32  virtual int writeBytes(const byte* data, int length, int sender);
     33  virtual int readBytes(byte* data, int maxLength, int * reciever);
     34
    3235 private:
    3336   Weapon *left, *right;
  • branches/network/src/world_entities/world_entity.cc

    r6328 r6331  
    335335 * @param sender hostID of sender
    336336 */
    337 void WorldEntity::writeState( const byte * data, int length, int sender )
     337int WorldEntity::writeState( const byte * data, int length, int sender )
    338338{
    339339  char* modelFileName;
    340340  SYNCHELP_READ_BEGIN();
     341
     342  SYNCHELP_READ_FKT( PNode::writeState );
     343
    341344  SYNCHELP_READ_STRINGM( modelFileName );
    342345  //check if modelFileName is relative to datadir or absolute
     
    350353  }
    351354  delete[] modelFileName;
     355
     356  return SYNCHELP_READ_N;
    352357}
    353358
     
    361366{
    362367  SYNCHELP_WRITE_BEGIN();
     368
     369  SYNCHELP_WRITE_FKT( PNode::readState );
     370
    363371  SYNCHELP_WRITE_STRING( getModel( 0 )->getName() );
    364372  PRINTF(0)("%s\n", getModel( 0 )->getName());
  • branches/network/src/world_entities/world_entity.h

    r6293 r6331  
    7373  std::list<WorldEntity*>::iterator& getEntityIterator() { return this->objectListIterator; }
    7474
    75   virtual void      writeState(const byte* data, int length, int sender);
    76   virtual int       readState(byte* data, int maxLength );
     75  int       writeState(const byte* data, int length, int sender);
     76  int       readState(byte* data, int maxLength );
    7777 protected:
    7878  //  CharacterAttributes*    charAttr;         //!< the character attributes of a world_entity
Note: See TracChangeset for help on using the changeset viewer.