Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 6424 in orxonox.OLD for trunk/src/world_entities/power_ups


Ignore:
Timestamp:
Jan 7, 2006, 11:07:22 PM (18 years ago)
Author:
bensch
Message:

orxonox/trunk: merged the branche network back to the trunk
merged with command:
svn merge https://svn.orxonox.net/orxonox/branches/network . -r 6351:HEAD
no conflicts

Location:
trunk/src/world_entities/power_ups
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/world_entities/power_ups/laser_power_up.cc

    r6222 r6424  
    1919#include "factory.h"
    2020#include "state.h"
     21#include "network_game_manager.h"
    2122
    2223#include "primitive_model.h"
     
    118119}
    119120
     121int LaserPowerUp::writeBytes( const byte * data, int length, int sender )
     122{
     123  setRequestedSync( false );
     124  setIsOutOfSync( false );
     125
     126  SYNCHELP_READ_BEGIN();
     127
     128  SYNCHELP_READ_FKT( PowerUp::writeState );
     129
     130  return SYNCHELP_READ_N;
     131}
     132
     133
     134
     135int LaserPowerUp::readBytes( byte * data, int maxLength, int * reciever )
     136{
     137  if ( isOutOfSync() && !requestedSync() && this->getHostID()!=this->getOwner() )
     138  {
     139    (NetworkGameManager::getInstance())->sync( this->getUniqueID(), this->getOwner() );
     140    setRequestedSync( true );
     141  }
     142
     143  int rec = this->getRequestSync();
     144  if ( rec > 0 )
     145  {
     146    *reciever = rec;
     147
     148    SYNCHELP_WRITE_BEGIN();
     149
     150    SYNCHELP_WRITE_FKT( PowerUp::readState );
     151
     152    return SYNCHELP_WRITE_N;
     153  }
     154
     155  *reciever = 0;
     156  return 0;
     157}
     158
  • trunk/src/world_entities/power_ups/laser_power_up.h

    r5511 r6424  
    2323  virtual void draw() const;
    2424
     25  virtual int writeBytes(const byte* data, int length, int sender);
     26  virtual int readBytes(byte* data, int maxLength, int * reciever );
     27
    2528  private:
    2629   void init();
  • trunk/src/world_entities/power_ups/param_power_up.cc

    r6243 r6424  
    2525#include "factory.h"
    2626#include "load_param.h"
     27#include "network_game_manager.h"
    2728
    2829using namespace std;
     
    5354void ParamPowerUp::init()
    5455{
     56  this->setClassID(CL_PARAM_POWER_UP, "ParamPowerUp");
    5557  this->value = 0;
    5658  this->max_value = 0;
     
    6365  static_cast<PowerUp*>(this)->loadParams(root);
    6466  LoadParam(root, "type", this, ParamPowerUp, setType);
    65   if(root->FirstChildElement("value") != NULL) {
     67
     68  if( root != NULL && root->FirstChildElement("value") != NULL) {
     69
    6670    LoadParam(root, "value", this, ParamPowerUp, setValue);
    6771  }
     
    116120}
    117121
     122int ParamPowerUp::writeBytes( const byte * data, int length, int sender )
     123{
     124  setRequestedSync( false );
     125  setIsOutOfSync( false );
    118126
     127  SYNCHELP_READ_BEGIN();
     128
     129  SYNCHELP_READ_FKT( PowerUp::writeState );
     130
     131  int i;
     132  SYNCHELP_READ_INT( i );
     133  this->type = (EnumParamPowerUpType)i;
     134  SYNCHELP_READ_INT( this->value );
     135
     136  if ( this->value != 0 )
     137  {
     138    SYNCHELP_READ_INT( this->min_value );
     139    SYNCHELP_READ_INT( this->max_value );
     140  }
     141
     142  return SYNCHELP_READ_N;
     143}
     144
     145
     146
     147int ParamPowerUp::readBytes( byte * data, int maxLength, int * reciever )
     148{
     149  if ( isOutOfSync() && !requestedSync() && this->getHostID()!=this->getOwner() )
     150  {
     151    (NetworkGameManager::getInstance())->sync( this->getUniqueID(), this->getOwner() );
     152    setRequestedSync( true );
     153  }
     154
     155  int rec = this->getRequestSync();
     156  if ( rec > 0 )
     157  {
     158    *reciever = rec;
     159
     160    SYNCHELP_WRITE_BEGIN();
     161
     162    SYNCHELP_WRITE_FKT( PowerUp::readState );
     163
     164    int i = this->type;
     165    SYNCHELP_WRITE_INT( i );
     166    SYNCHELP_WRITE_INT( this->value );
     167
     168    if ( this->value != 0 )
     169    {
     170      SYNCHELP_WRITE_INT( this->min_value );
     171      SYNCHELP_WRITE_INT( this->max_value );
     172    }
     173
     174    return SYNCHELP_WRITE_N;
     175  }
     176
     177  *reciever = 0;
     178  return 0;
     179}
     180
  • trunk/src/world_entities/power_ups/param_power_up.h

    r6113 r6424  
    3030  int getValue();
    3131
     32  virtual int writeBytes(const byte* data, int length, int sender);
     33  virtual int readBytes(byte* data, int maxLength, int * reciever );
     34
    3235protected:
    3336  virtual void respawn();
  • trunk/src/world_entities/power_ups/power_up.cc

    r6282 r6424  
    2525PowerUp::PowerUp(float r, float g, float b)
    2626{
     27  this->setClassID(CL_POWER_UP, "PowerUp");
     28
    2729  this->respawnType = RESPAWN_NONE;
    2830/*  if(!PowerUp::sphereModel) {*/
     
    5254void PowerUp::collidesWith (WorldEntity* entity, const Vector& location)
    5355{
    54  if(entity->isA(CL_EXTENDABLE))
     56  if(entity->isA(CL_EXTENDABLE))
    5557  {
    5658    if(dynamic_cast<Extendable*>(entity)->pickup(this))
     
    9496}
    9597
     98/**
     99 * data copied in data will bee sent to another host
     100 * @param data pointer to data
     101 * @param maxLength max length of data
     102 * @return the number of bytes writen
     103 */
     104int PowerUp::readState( byte * data, int maxLength )
     105{
     106  SYNCHELP_WRITE_BEGIN();
     107  SYNCHELP_WRITE_FKT( WorldEntity::readState );
     108  return SYNCHELP_WRITE_N;
     109}
     110
     111/**
     112 * Writes data from network containing information about the state
     113 * @param data pointer to data
     114 * @param length length of data
     115 * @param sender hostID of sender
     116 */
     117int PowerUp::writeState( const byte * data, int length, int sender )
     118{
     119  SYNCHELP_READ_BEGIN();
     120  SYNCHELP_READ_FKT( WorldEntity::writeState );
     121  return SYNCHELP_READ_N;
     122}
     123
  • trunk/src/world_entities/power_ups/power_up.h

    r6282 r6424  
    2626  void setRespawnType(const char* type);
    2727
     28  int       writeState(const byte* data, int length, int sender);
     29  int       readState(byte* data, int maxLength );
     30
    2831protected:
    2932  PowerUp(float r, float g, float b);
  • trunk/src/world_entities/power_ups/turret_power_up.cc

    r6222 r6424  
    1818#include "turret_power_up.h"
    1919#include "factory.h"
     20#include "network_game_manager.h"
    2021#include "state.h"
    2122
     
    118119}
    119120
     121int TurretPowerUp::writeBytes( const byte * data, int length, int sender )
     122{
     123  setRequestedSync( false );
     124  setIsOutOfSync( false );
     125
     126  SYNCHELP_READ_BEGIN();
     127
     128  SYNCHELP_READ_FKT( PowerUp::writeState );
     129
     130  return SYNCHELP_READ_N;
     131}
     132
     133
     134
     135int TurretPowerUp::readBytes( byte * data, int maxLength, int * reciever )
     136{
     137  if ( isOutOfSync() && !requestedSync() && this->getHostID()!=this->getOwner() )
     138  {
     139    (NetworkGameManager::getInstance())->sync( this->getUniqueID(), this->getOwner() );
     140    setRequestedSync( true );
     141  }
     142
     143  int rec = this->getRequestSync();
     144  if ( rec > 0 )
     145  {
     146    *reciever = rec;
     147
     148    SYNCHELP_WRITE_BEGIN();
     149
     150    SYNCHELP_WRITE_FKT( PowerUp::readState );
     151
     152    return SYNCHELP_WRITE_N;
     153  }
     154
     155  *reciever = 0;
     156  return 0;
     157}
  • trunk/src/world_entities/power_ups/turret_power_up.h

    r5511 r6424  
    2323  virtual void draw() const;
    2424
     25  virtual int writeBytes(const byte* data, int length, int sender);
     26  virtual int readBytes(byte* data, int maxLength, int * reciever );
     27
    2528  private:
    2629   void init();
  • trunk/src/world_entities/power_ups/weapon_power_up.cc

    r6243 r6424  
    2020#include "state.h"
    2121#include "list.h"
     22#include "network_game_manager.h"
    2223
    2324#include "primitive_model.h"
     
    8586  this->weapon = dynamic_cast<Weapon*>(Factory::fabricate(name));
    8687}
     88
     89int WeaponPowerUp::writeBytes( const byte * data, int length, int sender )
     90{
     91  setRequestedSync( false );
     92  setIsOutOfSync( false );
     93
     94  SYNCHELP_READ_BEGIN();
     95
     96  SYNCHELP_READ_FKT( PowerUp::writeState );
     97
     98  //TODO: sync weapon class ( see loadParams )
     99
     100  return SYNCHELP_READ_N;
     101}
     102
     103
     104
     105int WeaponPowerUp::readBytes( byte * data, int maxLength, int * reciever )
     106{
     107  if ( isOutOfSync() && !requestedSync() && this->getHostID()!=this->getOwner() )
     108  {
     109    (NetworkGameManager::getInstance())->sync( this->getUniqueID(), this->getOwner() );
     110    setRequestedSync( true );
     111  }
     112
     113  int rec = this->getRequestSync();
     114  if ( rec > 0 )
     115  {
     116    *reciever = rec;
     117
     118    SYNCHELP_WRITE_BEGIN();
     119
     120    SYNCHELP_WRITE_FKT( PowerUp::readState );
     121
     122    //TODO: sync weapon class ( see loadParams )
     123
     124    return SYNCHELP_WRITE_N;
     125  }
     126
     127  *reciever = 0;
     128  return 0;
     129}
  • trunk/src/world_entities/power_ups/weapon_power_up.h

    r6113 r6424  
    2222  void setWeaponClass(const char* name);
    2323
     24  virtual int writeBytes(const byte* data, int length, int sender);
     25  virtual int readBytes(byte* data, int maxLength, int * reciever );
     26
    2427protected:
    2528  virtual void respawn();
Note: See TracChangeset for help on using the changeset viewer.