Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
May 25, 2008, 11:08:19 PM (16 years ago)
Author:
scheusso
Message:

implemented some sort of buffer for the spaceship movements (makes the movements on the client smoother)

Location:
code/branches/network/src/orxonox/objects
Files:
13 edited

Legend:

Unmodified
Added
Removed
  • code/branches/network/src/orxonox/objects/Ambient.h

    r1293 r1425  
    4747            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
    4848            void setAmbientLight(const ColourValue& colour);
    49             bool create();
     49            virtual bool create();
    5050            void registerAllVariables();
    5151
  • code/branches/network/src/orxonox/objects/Explosion.cc

    r1421 r1425  
    8080    };
    8181   
    82     bool Explosion::create(){
    83       return WorldEntity::create();
    84     }
     82    /*bool Explosion::create(){
     83      if(!WorldEntity::create())
     84        return false;
     85      classID=this->getIdentifier()->getNetworkID();
     86    }*/
    8587
    8688    void Explosion::destroyObject()
  • code/branches/network/src/orxonox/objects/Explosion.h

    r1421 r1425  
    4343            virtual ~Explosion();
    4444            void destroyObject();
    45             bool create();
     45            virtual bool create(){return WorldEntity::create();}
    4646
    4747        private:
  • code/branches/network/src/orxonox/objects/Model.h

    r1293 r1425  
    4545            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
    4646            void setMesh(const std::string& meshname);
    47             bool create();
     47            virtual bool create();
    4848
    4949        protected:
  • code/branches/network/src/orxonox/objects/NPC.cc

    r1293 r1425  
    6767  }
    6868 
    69   bool NPC::create(){
    70     Model::create();
    71     return true;
    72   }
    7369
    7470  /**
  • code/branches/network/src/orxonox/objects/NPC.h

    r1293 r1425  
    5353      void setValues(Vector3 location, Vector3 speed, Vector3 acceleration, bool movable);
    5454      void registerAllVariables();
    55       bool create();
     55      virtual bool create(){return Model::create();}
    5656
    5757    private:
  • code/branches/network/src/orxonox/objects/Projectile.cc

    r1418 r1425  
    9191                if (this->getPosition().squaredDistance(it->getPosition()) <= (radius*radius))
    9292                {
    93                     new Explosion(this);
     93                    Explosion *exp = new Explosion(this);
     94                    exp->create();
    9495                    delete this;
    9596                    return;
  • code/branches/network/src/orxonox/objects/Projectile.h

    r1056 r1425  
    4646            void destroyObject();
    4747            virtual void tick(float dt);
     48            virtual bool create(){return WorldEntity::create();}
    4849
    4950        private:
  • code/branches/network/src/orxonox/objects/Skybox.h

    r1293 r1425  
    4747            void setSkybox(const std::string& skyboxname);
    4848           
    49             bool create();
     49            virtual bool create();
    5050            void registerAllVariables();
    5151            void setSkyboxSrc(const std::string &src);
  • code/branches/network/src/orxonox/objects/SpaceShip.cc

    r1413 r1425  
    7070      Iterator<SpaceShip> it;
    7171      for(it = ObjectList<SpaceShip>::start(); it; ++it){
    72         if((it)->server_ || ( network::Client::getSingleton() && network::Client::getSingleton()->getShipID()==it->objectID ) )
     72        if( (it)->myShip_ )
    7373          return *it;
    7474      }
     
    109109      mouseY_(0.0f),
    110110      emitterRate_(0.0f),
    111       server_(false)
     111      myShip_(false)
    112112    {
    113113        RegisterObject(SpaceShip);
     
    140140
    141141    bool SpaceShip::create(){
     142      if(!myShip_){
     143        if(network::Client::getSingleton() && objectID == network::Client::getSingleton()->getShipID())
     144          myShip_=true;
     145      }
    142146      if(Model::create())
    143147        this->init();
     
    299303        XMLPortParamLoadOnly(SpaceShip, "transDamp", setTransDamp, xmlelement, mode);
    300304        XMLPortParamLoadOnly(SpaceShip, "rotDamp", setRotDamp, xmlelement, mode);
    301         server_=true; // TODO: this is only a hack
     305        myShip_=true; // TODO: this is only a hack
    302306        SpaceShip::create();
    303307        getFocus();
     
    354358
    355359            Projectile *p = new Projectile(this);
     360            p->create();
    356361
    357362            p->setBacksync(true);
     
    439444            this->tt_->setRate(0);
    440445
    441         if( (network::Client::getSingleton() &&  network::Client::getSingleton()->getShipID() == objectID) || server_ )
     446        if( myShip_ )
    442447        {
    443448          COUT(4) << "steering our ship: " << objectID << std::endl;
  • code/branches/network/src/orxonox/objects/SpaceShip.h

    r1406 r1425  
    4949            SpaceShip();
    5050            ~SpaceShip();
    51             bool create();
     51            virtual bool create();
    5252            void registerAllVariables();
    5353            void init();
     
    8181            Vector3 getOrth();
    8282            Camera* getCamera();
     83           
     84            bool getMyShip(){return myShip_;}
    8385
    8486        private:
     
    135137
    136138            float emitterRate_;
    137             bool server_;
     139            bool myShip_;
    138140
    139141            static SpaceShip* instance_s;
  • code/branches/network/src/orxonox/objects/WorldEntity.cc

    r1360 r1425  
    153153      registerVar( (void*) &(this->bStatic_), sizeof(this->bStatic_), network::DATA, 0x3);
    154154      //register acceleration & momentum
    155       registerVar( (void*) &(this->getAcceleration().x), sizeof(this->getAcceleration().x), network::DATA, 0x3);
    156       registerVar( (void*) &(this->getAcceleration().y), sizeof(this->getAcceleration().y), network::DATA, 0x3);
    157       registerVar( (void*) &(this->getAcceleration().z), sizeof(this->getAcceleration().z), network::DATA, 0x3);
    158       registerVar( (void*) &(this->getMomentum()), sizeof(this->getMomentum()), network::DATA);
     155//       registerVar( (void*) &(this->getAcceleration().x), sizeof(this->getAcceleration().x), network::DATA, 0x2);
     156//       registerVar( (void*) &(this->getAcceleration().y), sizeof(this->getAcceleration().y), network::DATA, 0x2);
     157//       registerVar( (void*) &(this->getAcceleration().z), sizeof(this->getAcceleration().z), network::DATA, 0x2);
     158//       registerVar( (void*) &(this->getMomentum()), sizeof(this->getMomentum()), network::DATA, 0x2); // only backsync
    159159    }
    160160
  • code/branches/network/src/orxonox/objects/WorldEntity.h

    r1418 r1425  
    5353            virtual void loadParams(TiXmlElement* xmlElem);
    5454            virtual void XMLPort(Element& xmlelement, XMLPort::Mode mode);
    55             inline bool create(){ return Synchronisable::create(); }
     55            virtual inline bool create(){ return Synchronisable::create(); }
    5656
    5757            void attachWorldEntity(WorldEntity* entity);
Note: See TracChangeset for help on using the changeset viewer.